クラウドベンダーがAWSであるデータソースまたはデータ移行タスクを作成する際に、エンドポイントの接続方式を選択した場合、事前に設定が必要です。本ドキュメントでは、その設定方法について説明します。
前提条件
対応する種類のデータベースインスタンスが作成済みであり、そのインスタンスのユーザーVPCにおける接続アドレスを取得済みであること。例えば、MySQLインスタンスは通常、単一のアドレスペア address:port であり、Kafkaインスタンスは複数のアドレスペア(broker_address1:broker_port1、broker_address2:broker_port2 など)を持つ場合があります。
Amazon MSK クラスタが作成され、キーが関連付けられていること。詳細については、Amazon MSKクラスタのSASL/SCRAM認証の設定 をご参照ください。
エンドポイントサービスに関連付けられたロードバランシングサービスや仮想サーバーなどのリソースでセキュリティグループ設定が有効になっている場合、OceanBase Cloud データソースに属するプライベートネットワークアドレスを対応するセキュリティグループに追加する必要があります。詳細については、プライベートネットワークアドレスのネットワークセグメント説明 をご参照ください。
用語説明
プライベート接続:高可用性を備えたスケーラブルな技術であり、VPCをサポートされているAWSサービスにプライベートに接続できます。独自のVPCエンドポイントサービス(プライベート接続によってサポート)を作成し、他のサービスがお客様のサービスにアクセスできるようにサポートできます。
ターゲットグループ: ネットワークロードバランサーのターゲットグループであり、1つまたは複数の登録済みターゲットにリクエストをルーティングするために使用されます。
ネットワークロードバランサー:ターゲットグループの作成時に指定したプロトコルとポート番号を使用して、サービス利用者から受信したリクエストをサービスにルーティングします。
エンドポイントサービス:VPC内の独自のアプリケーションまたはサービスです。他のAWSプリンシパルは、自身のVPCからお客様のエンドポイントサービスへのエンドポイントを作成できます。AWSプライベート接続を使用する必要がある場合は、VPCでサービス用のVPCエンドポイントを作成してください。
インスタンスのIPアドレスの取得
MySQL データベースインスタンスのタイプには、Aurora MySQL、RDS MySQL、およびセルフマネージドMySQLが含まれます。
Oracle データベースインスタンスのタイプには、RDS Oracle およびセルフマネージドOracleが含まれます。
OceanBase データベースインスタンスのタイプには、フラッグシップ版インスタンス、クラスタインスタンス(分析型)、およびセルフマネージドデータベースが含まれます。本ドキュメントでは、セルフマネージドデータベースのIPアドレスの取得方法のみを説明します。実際の状況に応じて、対応するタイプのIPアドレスを取得してください。
Kafka インスタンスのタイプには、クラウドインスタンスKafka およびセルフマネージドKafkaが含まれます。
PostgreSQL データベースインスタンスのタイプには、Aurora PostgreSQL、RDS PostgreSQL、およびセルフマネージドPostgreSQLが含まれます。
TiDB データベースインスタンスのタイプは、現在セルフマネージドTiDBのみをサポートしています。
Aurora MySQL/PostgreSQL インスタンスのIPアドレスの取得
Amazon RDS コンソールの Databases ページにログインします。
対象のAurora MySQL/PostgreSQLデータベースインスタンス名をクリックし、接続とセキュリティ タブで、エンドポイント名 をコピーします。
Aurora MySQL/PostgreSQLデータベースインスタンスがパブリックネットワークアクセスを許可している場合、パブリックネットワークに接続可能な任意のデバイスで以下のコマンドを実行して、インスタンスの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コンソール にログインし、検索ボックスで、前のステップで取得したパブリックIPアドレスを検索して、対応する プライマリプライベートIPv4アドレス を見つけます。
取得した プライマリプライベートIPv4アドレス をコピーします。このアドレスは、ターゲットグループの作成 ステップで使用されます。
RDS MySQL/Oracle/PostgreSQL インスタンスのIPアドレスの取得
Amazon RDS コンソールの Databases ページにログインします。
対象のRDS MySQL/Oracle/PostgreSQLデータベースインスタンス名をクリックし、接続とセキュリティ タブで、エンドポイント をコピーします。
RDS MySQL/Oracle/PostgreSQLデータベースインスタンスがパブリックネットワークアクセスを許可している場合、パブリックネットワークに接続可能な任意のデバイスで以下のコマンドを実行して、インスタンスの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コンソール にログインし、検索ボックスで、前のステップで取得したパブリックIPアドレスを検索して、対応する プライマリプライベートIPv4アドレス を見つけます。
取得した プライマリプライベートIPv4アドレス をコピーします。このアドレスは、ターゲットグループの作成 ステップで使用されます。
Kafka 接続情報の取得とNginxの設定
Amazon MSK コンソールにログインします。
クラスタ ページで、対象のクラスタ名をクリックし、クラスタの詳細ページに移動します。
クラスタ概要 の右上隅で、クライアント情報の表示 をクリックします。
クライアント情報の表示 ページで、SASL/SCRAM プライベートエンドポイントの コピー アイコンをクリックすると、Kafka接続情報を取得できます。
EC2 Instance Connect を使用してインスタンスに接続します。
以下のコマンドを実行してNginxをインストールします。
amazon-linux-extras install nginx1 yum install nginx-mod-stream/etc/nginx/nginx.confの設定を変更します。load_module '/usr/lib64/nginx/modules/ngx_stream_module.so'; user nginx; worker_processes auto; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } stream { # 各Serverは1つのKafka Bootstrap Server接続アドレスに対応します server { listen 19092; proxy_pass b-2.omskafkaxxxx.vqn998.c11.kafka.us-east-1.amazonaws.com:9096; proxy_timeout 60s; } server { listen 19093; proxy_pass b-1.omskafkaxxxx.vqn998.c11.kafka.us-east-1.amazonaws.com:9096; proxy_timeout 60s; } }注意
Nginxは
ngx_stream_moduleをサポートしている必要があります。Nginxの
proxy_timeoutを60秒以上に設定することをお勧めします。
設定変更後、Nginxを起動します。
systemctl enable nginx systemctl start nginx
セルフマネージドMySQL/Oracle/OceanBase/PostgreSQL/TiDB インスタンスのIPアドレスの取得
EC2 コンソールの インスタンス ページにログインします。
インスタンス ページで、作成したセルフマネージドデータベースインスタンスの インスタンスID をクリックします。
インスタンスの詳細ページで、取得した プライベートIPv4アドレス をコピーします。このアドレスは、ターゲットグループの作成 ステップで使用されます。
ターゲットグループの作成
AWS コンソールの ターゲットグループ ページにログインします。
ページ右上隅の ターゲットグループの作成 をクリックします。
グループの詳細を指定 ページで、各パラメータを設定します。
パラメータ説明ターゲットタイプを選択 IPアドレス を選択します。 ターゲットグループ名 命名規則に従って、ターゲットグループの名前をカスタマイズしてください。 プロトコル TCP を選択します。 ポート 対応するポート番号を入力します。Kafkaインスタンスの場合は、対応するNginxポートを選択します。 IPアドレスタイプ IPv4 を選択します。 次へ をクリックします。
ターゲットの登録 ページの IPアドレス 領域で、各パラメータを設定します。
パラメータ説明ネットワークを選択 ネットワーク ドロップダウンリストから、MySQLデータベースインスタンスが存在するVPCを選択します。 IPを指定してポートを定義 VPCサブネットのIPv4アドレスを入力 テキストボックスに、データベースインスタンスのIPアドレスを入力します。 ポート 対応するポート番号を入力します。Kafkaインスタンスの場合は、対応するNginxポートを選択します。 以下の保留中の項目を含める をクリックします。
ターゲットの登録 ページの ターゲットの確認 領域で、グループに含めるIPターゲットの設定に誤りがないことを確認した後、ターゲットグループの作成 をクリックします。
ネットワークロードバランサーの作成
ネットワークロードバランサー タイプのロードバランサーを作成します。
詳細については、ネットワークロードバランサの作成 をご参照ください。
ネットワークロードバランサーの作成 ページで、各パラメータを設定します。
以下のパラメータは本ドキュメントの内容に従って設定する必要があることに注意してください。その他のパラメータに強制要件はありません。
基本設定 領域の モード は 内部 を選択する必要があり、IPアドレスタイプ は IPv4 を選択する必要があります。
ネットワークマッピング 領域で、VPC ドロップダウンリストからMySQLデータソースが存在するVPCを選択し、マッピング は通常すべて選択しますが、実際の状況に応じて、少なくとも1つのアベイラビリティーゾーンと1つのサブネットを選択することもできます。
セキュリティグループ 領域では、セキュリティグループをネットワークロードバランサーに関連付けることができますが、ここでは、どのセキュリティグループも選択しないことをお勧めします。セキュリティグループの詳細については、ネットワークロードバランサーのセキュリティグループ をご参照ください。
説明
ネットワークロードバランサーのセキュリティグループを関連付けた場合、バックエンドマウントポートへのアクセスを許可する必要があります。
Kafkaインスタンス用にネットワークロードバランサーを作成する際は、セキュリティグループを選択しないでください。
リスナーとルーティング 領域の各パラメータの設定は以下のとおりです。
パラメータ説明プロトコル リスナープロトコルで、TCP を選択します。 ポート 対応するポート番号を選択します。 デフォルトアクション ドロップダウンリストから、ターゲットグループの作成 ステップで作成したターゲットグループを選択します。
作成が成功したら、ロードバランサー ページに戻り、作成したネットワークロードバランサーをチェックします。
ロードバランサー ページ右上隅の アクション > ロードバランサー属性の編集 をクリックします。
ロードバランサー属性の編集 ページの ロードバランサーターゲット選択ポリシー 領域で、クロスゾーンロードバランシングを有効にする を選択し、変更を保存 をクリックします。
エンドポイントサービスの作成
AWS コンソールの エンドポイントサービス ページにログインします。
ページ右上隅の エンドポイントサービスの作成 をクリックします。
エンドポイントサービスの作成 ページで、各パラメータを設定します。
パラメータ説明名前 エンドポイントサービスの名前をカスタマイズしてください。 ロードバランサータイプ ネットワーク を選択します。 利用可能なロードバランサー ネットワークロードバランサーの作成 ステップで作成したロードバランサーを選択します。
説明
ページに表示されない場合は、ロードバランサーのステータスがActiveになるまで待ってから、ページを更新して選択してください。その他の設定 領域で、各パラメータを設定します。
パラメータ説明エンドポイントを使用するために承認が必要(オプション) サービス利用者からのリクエストに手動での二次処理が必要かどうか。 - 承認が必要 をチェックした場合、データ移行サービスが初めてプライベート接続にアクセスする際に、AWSコンソールで受信したエンドポイント接続リクエストに対して エンドポイント接続リクエストを承認 操作を行うよう求められます。
- 承認が必要 をチェックしなかった場合、データ移行サービスが初めてプライベート接続にアクセスする際にプロンプトは表示されません。
プライベートDNS名を有効にする ここでは、個人のドメイン名を有効にしないでください。 サポートされるIPアドレスタイプ IPv4 を選択します。 作成 をクリックし、エンドポイントサービスの作成を完了します。
作成したエンドポイントサービスにアクセスする必要があるアカウントに権限を付与します。
エンドポイントサービス ページで、作成したエンドポイントサービスをチェックします。
ページ下部の プリンシパルを許可 タブをクリックします。
プリンシパルを許可 タブ右上隅の プリンシパルを許可 をクリックします。
データソースまたはデータ移行タスクに権限を付与する必要があるアカウントを取得します。
OB Cloudデータベースコンソール の新規データソースまたはデータ移行タスクページで 接続タイプ を エンドポイント に選択した後、ページに表示される、権限付与が必要なアカウント(形式は
arn:aws:iam::aws-account-id:<type>/<id>)をコピーします。新規データソースの詳細については、データソースの作成 をご参照ください。新規タスクの詳細については、データ移行 モジュールの対応するタイプの新規データ移行タスクドキュメントをご参照ください。プリンシパルを許可 ページの 追加するプリンシパル 領域で、権限付与が必要なアカウントを入力し、プリンシパルを許可 をクリックします。
権限付与が完了すると、作成されたエンドポイントサービスは、権限付与されたアカウントから参照可能になります。
エンドポイントサービスの使用
エンドポイントサービスを作成した後、サービス名 をコピーし、新規データソースまたはデータ移行タスクページの サービス名 > AWS > エンドポイント に入力する必要があります。新規データソースの詳細については、データソースの作成 をご参照ください。新規タスクの詳細については、データ移行 モジュールの対応するタイプの新規データ移行タスクドキュメントをご参照ください。
サービス名をコピーする操作手順は以下のとおりです。
AWS コンソールの エンドポイントサービス ページにログインします。
対象のエンドポイントサービスをチェックします。
ページ下部の 詳細 領域で、サービス名 のコピーアイコンをクリックします。