データソース作成時にPrivateLink接続タイプを選択した場合は、事前にAWS PrivateLinkを設定する必要があります。本記事では、AWS PrivateLinkの設定方法について説明します。
前提条件
Aurora MySQLデータベースクラスタが作成済みであること。詳細については、AWSのドキュメントを参照してください。
用語解説
PrivateLink:拡張性と高可用性を備えた技術で、VPCと対応するAWSサービス間でセキュアな接続を確立できます。PrivateLinkの詳細については、AWSのドキュメントを参照してください。
ターゲットグループ:ネットワークロードバランシングエンジンのターゲットグループは、受信したリクエストを1つまたは複数の登録済みターゲットにルーティングするために使用されます。
ネットワークロードバランシングエンジン:ターゲットグループ作成時に指定したプロトコルとポートを使用し、受信トラフィックをサービスに配分するロードバランシャーです。
エンドポイントサービス:サービス提供者として、サービス利用者がエンドポイントサービスに接続できるように、エンドポイントサービスを作成できます。
動画チュートリアル
Aurora MySQLデータベースインスタンスのIPアドレスの取得
AWSコンソールにログインし、作成済みのターゲットAurora MySQLデータベースインスタンスを見つけます。
ターゲットインスタンス名をクリックし、Connectivity & securityタブでエンドポイント名をコピーします。
Aurora MySQLデータベースインスタンスがパブリックアクセスを許可している場合は、パブリックネットワークに接続可能な任意のデバイスで以下のコマンドを実行し、インスタンスのIPアドレスを取得します。
// <example.example-region.rds.amazonaws.com> を前の手順でコピーしたエンドポイント名に置き換えてください。 nslookup <example.example-region.rds.amazonaws.com>実行結果の例は次のとおりです:
// ... Name: example.example-region.rds.amazonaws.com Address: xxx.xxx.xxx.1 //...Network Interfacesページに移動し、検索ボックスで前の手順で取得したアドレスを検索して、対応するプライベートIPv4アドレスを見つけます。
前の手順で取得したプライベートIPv4アドレスをコピーします。ターゲットグループ作成時に、このアドレスをCreate target groupステップで使用する必要があります。
ターゲットグループの作成
AWSコンソールにログインし、Target groupsページに移動します。
ページの右上隅にあるCreate target groupをクリックします。
Basic configurationエリアで以下の設定を完了します。
パラメータ説明Choose a target type IP addressesを選択します。 Target group name ターゲットグループ名を入力します。 Protocol TCPを選択します。 Port 3306を入力します。 IP address type IPv4を選択します。 Nextをクリックします。
IPアドレスエリアの設定を完了します。
Step 1: Choose a networkで、NetworkドロップダウンリストからAurora MySQLデータベースインスタンスが属するVPCを選択します。
Step 2: Specify IPs and define portsで、IPv4 addressに前述で取得したAurora MySQLデータベースインスタンスのIPアドレスを入力します。
Include as pending belowをクリックします。
Review targetsエリアで設定を確認し、問題がなければCreate target groupをクリックします。
ネットワークロードバランサの作成
AWSコンソールにログインし、Load balancersページに移動します。
Create load balancerをクリックします。
Select load balancer typeページで、Network Load Balancerの下のCreateをクリックします。
ビジネスニーズに基づいて、Basic configurationおよびNetwork mappingエリアの設定を完了します。
Listeners and routingエリアで以下の設定を完了します。
パラメータ説明Protocol リスナープロトコル。TCPを選択します。 Port 3306を選択します。 Default Action 上記Create target groupステップで作成されたターゲットグループを選択します。 ページ下部までスクロールし、Create load balancerをクリックしてネットワークロードバランサを作成します。
Load balancersページに戻り、先ほど作成したネットワークロードバランサを選択し、Actions > Edit load balancer attributesをクリックします。
Edit load balancer attributesページのTarget selection configurationエリアで、Cross-zone load balancingを有効にし、Save changesをクリックします。
エンドポイントサービスの作成
AWSコンソールにログインし、Endpoint Servicesページに移動します。
ページの右上隅にあるCreate endpoint serviceをクリックします。
Create endpoint serviceページで、以下の設定を完了します。
パラメータ説明Name - optional エンドポイントサービス名を入力します。 Load balancer type Networkを選択します。 Available load balancers 上記のネットワークロードバランサの作成手順で作成したネットワークロードバランサを選択します。ページに利用可能なロードバランサが表示されない場合は、作成したロードバランサの状態が**アクティブ**に変わるまで待ってから、ページを更新してください。 Additional settingsセクションで、以下の設定を完了します。
パラメータ説明Require acceptance for endpoint - Acceptance requiredを選択した場合、PrivateLink接続を初めて試みる際、OceanBase CloudコンソールはAWSコンソールでエンドポイント接続リクエストを受け入れるよう促します。
- Acceptance requiredを選択しない場合、このプロンプトは表示されません。
Enable private DNS name このオプションは選択しないでください。 Supported IP address types IPv4を選択します。 Createをクリックします。
アカウントが作成したエンドポイントサービスにアクセスできるようにします。
Endpoint servicesページで、先ほど作成したエンドポイントサービスを選択します。
Allow principalsタブをクリックし、そのタブ内のAllow principalsボタンをクリックします。
Principals to addエリアで、権限を付与するアカウントのARNを入力します。
権限を付与するアカウントのARNを取得するには、OceanBase Cloudコンソールにログインし、オンライン評価タスクを作成する際に接続タイプとしてPrivateLinkを選択します。コンソールで
arn:aws:iam::aws-account-id:<type>/<id>形式のARN情報をコピーできます。オンライン評価タスクの作成に関する詳細は、オンライン評価の実行を参照してください。Allow principalsをクリックします。
エンドポイントサービスの使用
エンドポイントサービスを作成した後、その名前をコピーし、オンライン評価タスク作成ページの Amazon Cloud > PrivateLink > 接続情報 に入力します。データベースのオンライン互換性評価の実行方法については、オンライン評価の実行を参照してください。
エンドポイントサービス名を取得する手順は以下のとおりです:
AWSコンソールにログインし、Endpoint Servicesページに移動します。
作成したばかりのエンドポイントサービスを選択します。
Detailsタブで、Service nameの下にあるエンドポイントサービス名をコピーします。