JDBC リソース用のクロスアカウントの AWS Glue ジョブを設定するにはどうすればよいですか?

所要時間2分
0

2 つのJDBCデータストア間でデータを移動できる AWS Glue ジョブを設定したいと考えています。ただし、それぞれのデータストアは別々の AWS アカウントに存在しています。

簡単な説明

異なる AWS アカウントの AWS Glue データストア間でデータ移動を許可するには、クロスアカウント AWS Glue 接続を設定する必要があります。

クロスアカウントの AWS Glue 接続を設定するには、次のいずれかの方法を使用します。

解決策

VPC ピアリングを使用する

プライベートな設定で Amazon Relational Database Service (Amazon RDS) DB インスタンスを使用する場合は、VPC ピアリングを使用してクロスアカウント接続を設定します。

: JDBC URL でクロスアカウント JDBC データベースのホスト名を指定する必要がある場合は、[ VPC ピアリング接続の DNS 解決] を有効にします。このオプションをオンにしないと、指定されたホスト名を解決できないため、AWS Glue 接続が失敗します。プライベート IP アドレスのみを渡しても接続は失敗しません。詳細については、「 VPC ピアリング接続の DNS 解決を有効にする」を参照してください。

1.    アカウント A とアカウント B 間で VPC ピアリングを作成します。

  • VPC の準備 - 両方の VPC は同じ AWS アカウントに属しているか、AWS Organizations の異なるアカウントに属している必要があります。VPC は同じ AWS リージョンにあり、一意の IP アドレススペースを持つ必要があります。
  • VPC ピアリング接続の要求 - アカウント A の VPC とピアリングしたいアカウント B の VPC から VPC ダッシュボードを開き、[ ピアリング接続]を選択し、[ VPC ピアリング接続の作成] を選択します。アカウント A の VPC を選択し、VPC ピアリング接続を設定します。
  • ピアリングリクエストの承認 - アカウント A の所有者はピアリングリクエストの E メール通知を受け取ります。リクエストを承認するには、アカウント A の所有者がアカウントにログインして、VPC ダッシュボードに移動する必要があります。
  • ピア VPC へのルートの追加 - ピアリング接続を確立した後、VPC のサブネットのルートテーブルにピア VPC への ルート を追加します。このルートには、ピア VPC の IP アドレス範囲が指定されます。
  • 接続のテスト - 接続をテストするために、各 VPC でインスタンスを起動します。インスタンスがプライベート IP アドレスを使用して相互に通信できることを確認します。

**注:**VPC ピアリング接続をセキュアにするために、ネットワークアクセスコントロールリスト (ACL) またはセキュリティグループを使用して VPC 間のトラフィックを制限してください。また、VPC ピアリング接続では、異なる VPC のインスタンスが相互にパブリック IP アドレスを使用して通信することはできません。

2.    AWS Glue 接続を作成します。AWS Glue Studio で、[ 接続を作成] を選択します。必要な [ 接続プロパティ ] と [ 接続アクセス ] の詳細をすべて追加し、[ 接続の作成] を選択します。

3.    Amazon RDS セキュリティグループで、AWS Glue サブネットの IPV4 CIDR を許可するインバウンドルールにルールを追加します。

NAT ゲートウェイを使用する

このメソッドを使用して、パブリックにアクセス可能でパブリック IPV4 アドレスがアタッチされている JDBC リソースに接続して読み取ることができます。これを行うには、アカウント A の NAT ゲートウェイがある AWS Glue プライベートサブネットとの JDBC 接続を作成します。

: データソースへの VPC トラフィックを送信するには、NAT ゲートウェイがインターネットゲートウェイにトラフィックをルーティングする機能が必要です。

1.    AWS Glue 接続を作成します。AWS Glue Studio で、[ 接続を作成] を選択します。必要な [ 接続プロパティ ] と [ 接続アクセス ] の詳細をすべて追加し、[ 接続の作成] を選択します。

2.    データベースセキュリティグループの Ingress ルールで、データベースの対応するポートにアカウント A の NAT ゲートウェイの Elastic IP アドレスを許可します。Amazon RDS の場合は、3306 を使用します。Amazon Redshift の場合は、5439を使用し、Amazon RDS for PostgreSQL の場合は 5432を使用します。

3.    アカウント A とアカウント B の設定が完了したら、接続をテストします。接続が成功した場合、AWS Glueで抽出、変換、ロード (ETL) ジョブを実行します。

JDBC データソースにアクセスできるか確認する

AWS Glue 接続のサブネットから JDBC データソースにアクセスできるか確認します。接続で使用するのと同じサブネットとセキュリティグループに SSH アクセス権を持つ Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを起動します。次に、SSH を使用してインスタンスに接続し、次のコマンドを実行して接続をテストします。

$ dig hostname
$ nc -zv hostname port

関連情報

AWS Glue の ETL の接続タイプとオプション

VPC 内の JDBC データストアへの接続

AWS公式
AWS公式更新しました 1年前