8
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Oracle Cloud:オンプレミスからVPNでLoad Balancer経由でPublic IPのインスタンスにアクセスしてみてみた

Last updated at Posted at 2019-02-24

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(動作保証)はされませんが、やってみてみます。

NW構成_Qiita用2.png

#■Autonomous Transaction Processing Databases (ATP)作成と確認

##●ATP作成
ATP画面で[Create ATransaction Processing Database]ボタンをクリックし、以下のような情報を入力して作成します。
02.png

##●クライアント資格証明(Oracle Wallet)のダウンロード

データベース接続は暗号化されており、WALLETの資格証明を使用して接続します。
ADWでは、zip化された接続情報含めたファイルをダウンロードし、このzipを使用して接続します。

①作成したADWのページに移動し、「DB Connection」をクリック
03.png

②「Database Connection」画面で、「Download」をクリックし、WALLETの資格証明(Wallet_〜.zip)をダウンロード
06.png

##●ATP hostname確認
DownloadしたWALLETの資格証明(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確認
hostと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 Addressを確認
この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を作成

##●Routeing Table設定
VCN内から作成したNAT Gatewayを通してATPの3つのアドレスへアクセスするように設定
01.png

##●Security List 設定
Public IPのATPへアクセスできるようにEgress Rouleを設定
01.png

#■ 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

01_IP変更.png

##●Backend Sets Health確認
Backend Setが登録されATPと疎通できていることを確認

03.png

#■オンプレミス側:Client設定
オンプレミス側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へ接続確認します

##●Internetに接続できないことを確認

[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

8
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?