Oracle Cloud: 온프레미스에서 VPN으로 Load Balancer를 통해 Public IP 인스턴스에 액세스해 보았습니다.

Load Balancer는 IP Adress가 도착하면 Backend Set에 등록할 수 있습니다.
NAT Gateway 또는 Service Gateway를 사용하면 Private Subnet 내에 있는 인스턴스에서 Public IP 인스턴스에 액세스할 수 있으므로 이번에는 Private Load Balancer를 사용하여 온프레미스에서 VPN을 사용하여 Public IP 인스턴스에 액세스해 보겠습니다. 합니다.

■ 구성 개요



Public 서비스인 Autonomous Database에 액세스해 봅니다.
그러나 Autonomous Database는 호스트 이름으로 액세스해야 하며 IP Address를 지정한 액세스는 IP 주소가 변동될 수 있으므로 Certify(동작 보증)는 되지 않지만 시도해 보겠습니다. .



■ Autonomous Transaction Processing Databases (ATP) 작성 및 확인



●ATP 작성



ATP 화면에서 Create ATransaction Processing Database 버튼을 클릭하고 다음과 같은 정보를 입력하여 생성합니다.


● 클라이언트 자격 증명 (Oracle Wallet) 다운로드



데이터베이스 연결은 암호화되어 있으며 WALLET 자격 증명을 사용하여 연결합니다.
ADW에서는 zip화된 연결 정보를 포함한 파일을 다운로드하고 이 zip을 사용하여 연결합니다.

① 작성한 ADW의 페이지로 이동하여 「DB Connection」을 클릭


② 「Database Connection」화면에서 「Download」를 클릭하여 WALLET 자격증명(Wallet_~.zip)을 다운로드


●ATP hostname 확인



다운로드한 월렛 자격 증명(Wallet_~.zip)에 있는 tnsnames.ora에서 ATP의 IP 주소를 확인합니다.

①WALLET 자격증명(Wallet_~.zip) 해동
[oracle@test-Inst01 ~]$ unzip Wallet_ATP001.zip
Archive:  Wallet_ATP001.zip
  inflating: cwallet.sso
  inflating: tnsnames.ora
  inflating: truststore.jks
  inflating: ojdbc.properties
  inflating: sqlnet.ora
  inflating: ewallet.p12
  inflating: keystore.jks

②tnsnames.ora 확인
호스트와 CN의 이름 확인
[oracle@test-Inst01 ~]$ cat tnsnames.ora
        ・・・
        atp001_high = (description= (address=(protocol=tcps)(port=1522)(host=adb.test.oraclecloud.com))(connect_data=(service_name=p36dah33ehxmnrf_atp001_high.atp.oraclecloud.com))(security=(ssl_server_cert_dn=
                "CN=adwc.test.oraclecloud.com,OU=Oracle BMCS US,O=Oracle Corporation,L=Redwood City,ST=California,C=US"))   )
        ・・・

●ATP IP Address 확인



OCI의 호스트에서 tnsnames.ora의 host와 CN의 이름에서 3 개의 IP 주소를 확인하십시오.
이 3개의 주소를 LoadBalancer의 Buckend Set에 등록합니다.
[opc@oci-Inst01 ~]$ nslookup adb.test.oraclecloud.com
        Server:     169.254.169.254
        Address:    169.254.169.254#53

        Non-authoritative answer:
        adb.test.oraclecloud.com    canonical name = adwc.test.oraclecloud.com.
        Name:   adwc.test.oraclecloud.com
        Address: 100.100.100.101
        Name:   adwc.test.oraclecloud.com
        Address: 100.100.100.102
        Name:   adwc.test.oraclecloud.com
        Address: 100.100.100.103

●NAT Gateway 작성



Private Load Barancer가 VCN 내에서 ATP에 액세스할 수 있도록 NAT Gateway 또는 Service Gateway를 생성

●Routing Table 설정



VCN 내에서 만든 NAT 게이트웨이를 통해 ATP의 세 주소에 액세스하도록 구성


●Security List 설정



Public IP의 ATP에 액세스할 수 있도록 Egress Roule 구성


■ Private Load Balancer 생성



●Private Load Balancer 작성



Load Balancer 화면에서 [Create Load Balancer] 버튼을 클릭하고 다음 정보를 입력하여 생성
・Listener Information
    - Protocol:TCP
    - PORT:1522

・Backend Set Information
    - Private or Public IP Address: ATPの3つのIP Addressを登録
    - Port:1522



●Backend Sets Health 확인



Backend Set가 등록되어 ATP와 소통할 수 있는지 확인



■온프레미스측:Client 설정



온프레미스 클라이언트에 Load Balancer를 통해 ATP에 액세스하기 위해 Load Blancer의 IP Address를 ATP 호스트 이름으로 액세스할 수 있도록 구성

● /etc/hosts 설정



/etc/hosts로 Load Blancer IP Address를 ATP 호스트 이름으로 설정
    [oracle@test-Inst01 ~]$ cat /etc/hosts
            10.0.0.8 adb.test.oraclecloud.com adwc.test.oraclecloud.com

●ping 접속 확인



ATP 호스트 이름으로 Load Blancer에 소통할 수 있는지 확인
    [oracle@test-Inst01 ~]$ ping adwc.test.oraclecloud.com -c 3
            PING adb.test.oraclecloud.com (10.0.0.8) 56(84) bytes of data.
            64 bytes from adb.test.oraclecloud.com (10.0.0.8): icmp_seq=1 ttl=62 time=53.1 ms
            64 bytes from adb.test.oraclecloud.com (10.0.0.8): icmp_seq=2 ttl=62 time=53.2 ms
            64 bytes from adb.test.oraclecloud.com (10.0.0.8): icmp_seq=3 ttl=62 time=53.1 ms

            --- adb.test.oraclecloud.com ping statistics ---
            3 packets transmitted, 3 received, 0% packet loss, time 2002ms
            rtt min/avg/max/mdev = 53.166/53.185/53.212/0.189 ms

    [oracle@test-Inst01 ~]$ ping adb.test.oraclecloud.com -c 3
            PING adb.test.oraclecloud.com (10.0.0.8) 56(84) bytes of data.
            64 bytes from adb.test.oraclecloud.com (10.0.0.8): icmp_seq=1 ttl=62 time=54.2 ms
            64 bytes from adb.test.oraclecloud.com (10.0.0.8): icmp_seq=2 ttl=62 time=54.2 ms
            64 bytes from adb.test.oraclecloud.com (10.0.0.8): icmp_seq=3 ttl=62 time=54.3 ms

            --- adb.test.oraclecloud.com ping statistics ---
            3 packets transmitted, 3 received, 0% packet loss, time 2002ms
            rtt min/avg/max/mdev = 54.251/54.284/54.329/0.193 ms

■ATP 연결 테스트



OnP의 Client에 SQLcl을 설정하여 ATP에 연결 확인

● 인터넷에 연결할 수 없는지 확인


[oracle@test-Inst01 ~]$ ping google.com
    PING google.com (172.217.20.78) 56(84) bytes of data.
    ^C
    --- google.com ping statistics ---
    8 packets transmitted, 0 received, 100% packet loss, time 7151ms

●ATP 접속 확인


        [oracle@test-Inst01 ~]$ ~/oracle/sqlcl/bin/sql /nolog

        SQLcl: 火 2 19 13:30:14 2019のリリース18.4 Production

        Copyright (c) 1982, 2019, Oracle.  All rights reserved.


        SQL> set cloudconfig /home/opc/oracle/Wallet_ATP001.zip
        操作は正常に完了しました。
        操作は正常に完了しました。
        Using temp directory:/tmp/oracle_cloud_config3565512044165054504

        SQL> connect ADMIN@ATP001_HIGH
        パスワード (**********?) ********************
        接続しました.

        SQL> select NAME from v$pdbs;

        NAME
        ---------------------------------------------
        TEST_ATP001

좋은 웹페이지 즐겨찾기