3
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 1 year has passed since last update.

[OCI]プライベート・エンドポイント構成のAutonomous DatabaseのDatabase Actionsにインターネットから接続する

Last updated at Posted at 2022-12-21

はじめに

プライベート・エンドポイントで構成されているAutonomous DatabaseのDatabase Actionsにインターネット側からアクセスしたいというご要望があったので、ロード・バランサを使用して実現する方法を検証してみました。

全体像はこちらのような構成になります。
スクリーンショット 2022-12-21 18.26.14.png

1. ネットワークの構成

・VCNの作成
スクリーンショット 2022-12-21 9.31.49.png
名前:ADB-OAC-VCN
IPv4 CIDR blocks:10.0.0.0/16
スクリーンショット 2022-12-21 9.32.52.png
VCN「ADB-OAC-VCN」が作成されました。
スクリーンショット 2022-12-21 9.33.16.png

・インターネット・ゲートウェイの作成
VCNの詳細画面の左側にあるリソース欄の「インターネット・ゲートウェイ」をクリックします。
スクリーンショット 2022-12-21 9.39.08.png
「インターネット・ゲートウェイの作成」をクリックします。
スクリーンショット 2022-12-21 9.41.08.png

名前に「InternetGateway1」と入力し、「インターネット・ゲートウェイの作成」をクリックします。
スクリーンショット 2022-12-21 9.42.36.png
インターネット・ゲートウェイ「InternetGateway1」が作成されました。
スクリーンショット 2022-12-21 9.44.06.png

・ルート表の作成
VCNの詳細画面の左側にあるリソース欄の「ルート表」をクリックします。
スクリーンショット 2022-12-21 9.47.28.png
まず始めにロード・バランサを配置するサブネットに適用するルート表「RT_Public_Subnet_LB_ADB」を作成します。
「ルート表の作成」をクリックします。
スクリーンショット 2022-12-21 9.49.03.png

項目
名前 RT_Public_Subnet_LB_ADB

ルート・ルール:

項目
ターゲット・タイプ インターネット・ゲートウェイ
CIDRブロック 0.0.0.0/0
ターゲット・インターネット・ゲートウェイ InternetGateway1

スクリーンショット 2022-12-21 9.51.30.png
ルート表「RT_Public_Subnet_LB_ADB」が作成されました。
スクリーンショット 2022-12-21 9.54.38.png
次にAutonomous Databaseを配置するサブネットに適用するルート表「RT_Public_Subnet_ADB」を作成します。
「ルート表の作成」をクリックします。
スクリーンショット 2022-12-21 9.54.38のコピー.png
ここでは名前のみ入力して、「作成」をクリックします。

項目
名前 RT_Private_Subnet_ADB
ルート・ルール なし

スクリーンショット 2022-12-21 9.56.40.png
ルート表「RT_Public_Subnet_ADB」が作成されました。
スクリーンショット 2022-12-21 9.57.27.png

・セキュリティ・リストの作成
VCNの詳細画面の左側にあるリソース欄の「セキュリティ・リスト」をクリックします。
スクリーンショット 2022-12-21 9.59.22.png
まず始めにロード・バランサを配置するサブネットに適用するセキュリティ・リスト「SL_Public_Subnet_LB_ADB」を作成します。
「セキュリティ・リストの作成」をクリックします。
スクリーンショット 2022-12-21 10.00.26のコピー.png

項目
名前 SL_Public_Subnet_LB_ADB

スクリーンショット 2022-12-21 10.03.55.png
イングレス・ルール:

項目
ステートレス チェックをオフ
ソース・タイプ CIDR
ソースCIDR 0.0.0.0/0
IPプロトコル TCP
ソース・ポート範囲 空白のまま
宛先ポート範囲 443

スクリーンショット 2022-12-21 10.07.02.png
エグレス・ルール:

項目
ステートレス チェックをオフ
宛先タイプ CIDR
宛先CIDR 0.0.0.0/0
IPプロトコル すべてのプロトコル

スクリーンショット 2022-12-21 10.07.36.png
入力が完了したら、「セキュリティ・リストの作成」をクリックします。

セキュリティ・リスト「SL_Public_Subnet_LB_ADB」が作成されました。
スクリーンショット 2022-12-21 10.08.02.png
次にAutonomous Databaseを配置するサブネットに適用するセキュリティ・リスト「SL_Private_Subnet_ADB」を作成します。
「セキュリティ・リストの作成」をクリックします。
スクリーンショット 2022-12-21 10.08.02のコピー.png

項目
名前 SL_Private_Subnet_ADB

スクリーンショット 2022-12-21 10.17.37.png
イングレス・ルール:

項目
ステートレス チェックをオフ
ソース・タイプ CIDR
ソースCIDR 10.0.10.0/24
IPプロトコル TCP
ソース・ポート範囲 空白のまま
宛先ポート範囲 443

スクリーンショット 2022-12-21 11.23.35.png
エグレス・ルール:

項目
ステートレス チェックをオフ
宛先タイプ CIDR
宛先 0.0.0.0/0
IPプロトコル すべてのプロトコル

スクリーンショット 2022-12-21 10.17.09.png
入力が完了したら、「セキュリティ・リストの作成」をクリックします。

セキュリティ・リスト「SL_Public_Subnet_ADB」が作成されました。
スクリーンショット 2022-12-21 10.19.38.png

・サブネットの作成
VCNの詳細画面の左側にあるリソース欄の「サブネット」をクリックします。
スクリーンショット 2022-12-21 10.23.02.png
まず始めにロード・バランサを配置するサブネット「Public_Subnet_LB_ADB」を作成します。
「サブネットの作成」をクリックします。
スクリーンショット 2022-12-21 10.25.00.png

項目
名前 Public_Subnet_LB_ADB
サブネット・タイプ リージョナル
IPv4 CIDR Block 10.0.10.0/24

スクリーンショット 2022-12-21 10.27.13.png

項目
ルート表 RT_Public_Subnet_LB_ADB
サブネット・アクセス パブリック・サブネット
このSUBNETでDNSホスト名を使用 チェックをオン
DHCPオプション Default DHCP Options for ADB-OAC-VCN
セキュリティ・リスト RT_Public_Subnet_LB_ADB

スクリーンショット 2022-12-21 10.28.48.png
入力が完了したら、「サブネットの作成」をクリックします。

サブネット「Public_Subnet_LB_ADB」が作成されました。
スクリーンショット 2022-12-21 10.30.36.png
次にAutonomous Databaseを配置するサブネット「Public_Subnet_ADB」を作成します。
「サブネットの作成」をクリックします。
スクリーンショット 2022-12-21 10.30.36のコピー.png

項目
名前 Private_Subnet_ADB
サブネット・タイプ リージョナル
IPv4 CIDR Block 10.0.1.0/24

スクリーンショット 2022-12-21 10.34.16.png

項目
ルート表 RT_Private_Subnet_ADB
サブネット・アクセス プライベート・サブネット
このSUBNETでDNSホスト名を使用 チェックをオン
DHCPオプション Default DHCP Options for ADB-OAC-VCN
セキュリティ・リスト RT_Private_Subnet_ADB

スクリーンショット 2022-12-21 10.36.33.png
入力が完了したら、「サブネットの作成」をクリックします。|

サブネット「Public_Subnet_ADB」が作成されました。
スクリーンショット 2022-12-21 10.38.04.png

以上で、ネットワークの準備が整いました。

2. Autonomous Databaseの作成

コンソールメニューから「Autonomous Database」に移動します。
スクリーンショット 2022-12-21 10.46.33.png
「Autonomous Databaseの作成」をクリックします。
スクリーンショット 2022-12-21 10.46.51のコピー.png
表示名:任意(ここではMyADB)
データベース名:任意(ここではmyadb)
スクリーンショット 2022-12-21 10.51.50.png
お好みの構成を選択します。
スクリーンショット 2022-12-21 10.48.29.png
adminユーザのパスワードを入力します。
スクリーンショット 2022-12-21 10.49.12.png
「ネットワーク・アクセスの選択」セクションは以下のように入力します。
アクセス・タイプ:「プライベート・エンドポイント・アクセスのみ」
仮想クラウド・ネットワーク:ADB-OAC-VCN
サブネット:Private_Subnet_ADB
ホスト名:myadb
ネットワーク・セキュリティ・グループ:指定しない
スクリーンショット 2022-12-21 10.49.50.png
全ての項目の入力が完了したら、「Autonomous Databaseの作成」をクリックします。
スクリーンショット 2022-12-21 10.51.10.png
Autonomous Databaseのプロビジョニングが始まります。
スクリーンショット 2022-12-21 10.54.52.png
数分待つと、作成したAutonomous Database「MyADB」が使用可能になります。
スクリーンショット 2022-12-21 10.55.42.png
「MyADB」の詳細画面の「データベース・アクション」をクリックします。
スクリーンショット 2022-12-21 10.55.42のコピー.png
プライベート・エンドポイントで構成されているAutonomous DatabaseはVCN内からのみアクセスが可能な旨が表示されます。
スクリーンショット 2022-12-21 10.57.13.png
アクセスURLの「表示」をクリックしてURLを表示し、コピーしてメモしておきます。
スクリーンショット 2022-12-21 10.57.23.png
「MyADB」の詳細画面の「ネットワーク」セクションにある「プライベート・エンドポイントIP」と「プライベート・エンドポイントURL」をコピーしてメモしておきます。
スクリーンショット 2022-12-21 10.58.01.png

3. パブリックIPアドレスの予約

ロード・バランサにアタッチするためのパブリックIPアドレスを予約します。
これは必須ではありませんが、ロード・バランサに予約済みパブリックIPをアタッチして使用することで、ロード・バランサを一度削除して再作成した場合でも、同じパブリックIPアドレスを使用してアクセスすることが可能になります。

コンソールメニューから「予約済パブリックIP」に移動します。
スクリーンショット 2022-12-21 11.14.55.png
「パブリックIPアドレスの予約」をクリックします。
スクリーンショット 2022-12-21 11.15.29.png
予約済みパブリックIPアドレス名:PublicIP-LB-ADB
IPアドレスのソース:Oracle
スクリーンショット 2022-12-21 11.17.08.png
予約済みパブリックIP「PublicIP-LB-ADB」が作成されました。
スクリーンショット 2022-12-21 11.18.38.png

4. ロード・バランサの作成

コンソールメニューから「ロード・バランサ」に移動します。
スクリーンショット 2022-12-21 11.13.17.png
「ロードバランサの作成」をクリックします。
スクリーンショット 2022-12-21 11.13.38.png
「ロード・バランサの作成」をクリックします。
スクリーンショット 2022-12-21 11.14.02.png
ロード・バランサ名:LB_for_ADB
可視性タイプ:パブリック
パブリックIPアドレスの割当て:予約済IPアドレス
既存の予約済みIPアドレスの選択:チェックをオン
予約済IPアドレス:PublicIP-LB-ADB
スクリーンショット 2022-12-21 11.29.32.png
お好みの帯域幅を入力します。
スクリーンショット 2022-12-21 11.30.46.png
仮想クラウド・ネットワーク:ADB-OAC-VCN
サブネット:Public_Subnet_LB_ADB
入力が完了したら、「次」をクリックします。
スクリーンショット 2022-12-21 11.31.19.png
ロード・バランシング・ポリシーの指定:重み付けラウンド・ロビン
ここではバックエンドは追加しません。(IPアドレス指定によるバックエンドの追加ができないため)
スクリーンショット 2022-12-21 11.34.21.png
ヘルス・チェック・ポリシー
プロトコル:TCP
ポート:443
その他の項目はデフォルトのまま
スクリーンショット 2022-12-21 11.35.05.png
「拡張オプションの表示」をクリックします。
スクリーンショット 2022-12-21 11.35.18.png
「バックエンド・セット名」タブ
バックエンド・セット名:BS_LB_for_ADB
スクリーンショット 2022-12-21 11.36.01.png
「セキュリティ・リスト」タブ
「ロード・バランサの作成後にセキュリティ・リスト・ルールを手動で構成します」を選択
スクリーンショット 2022-12-21 11.36.12.png
「次」をクリックします。
スクリーンショット 2022-12-21 13.11.08.png
リスナー名:listener_LB_for_ADB
トラフィックのタイプ:TCP
モニターするポート:443
スクリーンショット 2022-12-21 11.38.09.png
必要に応じて、ロギングの設定を行います。
入力が完了したら、「送信」をクリックして、ロード・バランサを作成します。
スクリーンショット 2022-12-21 11.39.04.png
ロード・バランサ「LB_for_ADB」のプロビジョニングが始まります。
スクリーンショット 2022-12-21 11.40.20.png
少し待つと、ロード・バランサ「LB_for_ADB」がアクティブになります。
バックエンドを登録していないため、警告が出ていますが問題ありません。
スクリーンショット 2022-12-21 11.42.57.png
ロード・バランサのの詳細画面の左側にあるリソース欄の「バックエンド・セット」をクリックします。
スクリーンショット 2022-12-21 11.43.25.png
バックエンドセット名「BS_LB_for_ADB」をクリックします。
スクリーンショット 2022-12-21 11.44.34.png
「バックエンドの追加」をクリックします。
スクリーンショット 2022-12-21 11.45.30.png
IPアドレス:Autonomous Databaseの詳細画面で確認したプライベート・エンドポイントIP
ポート:443
重み:1
入力が完了したら、「追加」をクリックします。
スクリーンショット 2022-12-21 11.46.34.png
「閉じる」をクリックします。
スクリーンショット 2022-12-21 11.46.50.png
バックエンドにAutonomous Databaseが追加され、少し待つとバックエンドのヘルスが「OK」になります。
スクリーンショット 2022-12-21 11.48.55.png
バックエンド・セットの全体的なヘルスも「OK」になりました。
スクリーンショット 2022-12-21 11.49.13.png
画面上部の「ロード・バランサ詳細」のリンクをクリックして、ロード・バランサの詳細画面に移動します。
スクリーンショット 2022-12-21 11.49.30.png
ロード・バランサの全体的なヘルスも「OK」になっていることが確認できました。
スクリーンショット 2022-12-21 16.09.34.png

5. 動作確認

ブラウザのアドレス欄に以下のURLを入力して、Database Actionsにアクセスしてみます。

https://LB_for_ADBのIPアドレス/ords/sql-developer
スクリーンショット 2022-12-21 13.30.52.png
おっと、セキュリティリスクありと警告が表示されました。
スクリーンショット 2022-12-21 11.52.46.png
詳細情報を確認すると、IPアドレスで接続しているために、サーバの証明書内の情報とホスト名が一致しないために警告が表示されているようです。
スクリーンショット 2022-12-21 11.53.31.png
ここで「危険性を承知で続行」をクリックしてもDatabase Actionsにアクセスできますが、今回はクライアントのhostsファイルにエントリーを追加して対処します。

私はクライアントとしてMacを使用しているため、/etc/hostsに以下のような行を追加します。
ロードバランサのパブリックIP Autonomous Databaseのプライベート・エンドポイントURL
今回の例では、以下のようになります。
12x.xxx.xxx.x90 myadb.adb.ca-toronto-1.oraclecloud.com

では、hostsに追加したホスト名を使用して、Datababase Actionsにアクセスしてみます。
スクリーンショット 2022-12-21 13.41.31.png
Database Actionsのサインイン画面が表示されました。
スクリーンショット 2022-12-21 13.41.00.png
ユーザ名に「admin」を入力して「次」をクリックします。
スクリーンショット 2022-12-21 12.05.09.png
パスワードにadminユーザのパスワードを入力して「サインイン」をクリックします。
スクリーンショット 2022-12-21 12.05.26.png
Database Actionsにアクセスできました。
スクリーンショット 2022-12-21 12.05.43.png

まとめ

ロード・バランサを使用して、プライベート・エンドポイントで構成されているAutonomous DatabaseのDatabase Actionsにアクセスすることができました。
めでたし、めでたし。

3
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
3
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?