前提条件:
-
MongoDB インスタンスが Amazon VPC 内にある場合は、トラフィックがパブリックインターネットを経由することなく、AWS Glue ジョブが MongoDB インスタンスと通信できるように Amazon VPC を設定します。
Amazon VPC で、AWS Glue がジョブの実行中に使用する [VPC]、[サブネット]、および [セキュリティグループ] を特定または作成します。さらに、MongoDB インスタンスとこの場所の間のネットワークトラフィックを許可するように Amazon VPC が設定されているようにする必要があります。ネットワークレイアウトに基づいて、セキュリティグループルール、ネットワーク ACL、NAT ゲートウェイ、およびピアリング接続の変更が必要になる場合があります。
MongoDB に対する接続を設定するには:
必要に応じて、AWS Secrets Manager で、MongoDB 認証情報を使用してシークレットを作成します。Secrets Manager でシークレットを作成するには、AWS Secrets Manager ドキュメントの「AWS Secrets Manager シークレットを作成する」にあるチュートリアルに従ってください。シークレットを作成したら、次のステップのためにシークレット名
secretName
を保存しておきます。-
[key/value ペア] を選択する際に、
mongodbUser
という値を持つキーusername
のペアを作成します。[key/value ペア] を選択する際に、
mongodbPass
という値を持つキーpassword
のペアを作成します。
-
AWS Glue コンソールで、「AWS Glue 接続の追加」にあるステップに従って接続を作成します。接続を作成したら、将来的に AWS Glue で使用するために、接続名
connectionName
を維持します。[接続タイプ] を選択する際には、[MongoDB] または [MongoDB Atlas] を選択します。
-
[MongoDB URL] または [MongoDB Atlas URL] を選択する場合は、MongoDB インスタンスのホスト名を入力します。
MongoDB URL は、
mongodb://
の形式で指定されます。mongoHost
:mongoPort
/mongoDBname
MongoDB Atlas URL は、
mongodb+srv://
の形式で指定されます。mongoHost
:mongoPort
/mongoDBname
接続にデフォルトのデータベースを指定する場合、
mongoDBname
はオプションです。 Secrets Manager シークレットを作成することを選択した場合は、AWS Secrets Manager の [認証情報タイプ] を選択します。
その後、[AWS シークレット] で
secretName
を入力します。-
[ユーザー名とパスワード] を入力することを選択した場合は、
mongodbUser
およびmongodbPass
を入力します。
-
次の状況では、追加の設定が必要になる場合があります。
-
Amazon VPC の AWS でホストされている MongoDB インスタンスの場合
-
MongoDB セキュリティ認証情報を定義する AWS Glue 接続に、Amazon VPC 接続に関する情報を提供する必要があります。接続を作成または更新する際に、[ネットワークオプション] で [VPC]、[サブネット]、および [セキュリティグループ] を設定します。
-
-
AWS Glue MongoDB 接続を作成した後、AWS Glue ジョブを実行する前に次のステップを実行する必要があります。
-
ビジュアルエディタで AWS Glue ジョブを使用する場合、ジョブが MongoDB に接続できるように Amazon VPC の接続に関する情報を入力する必要があります。Amazon VPC 内の適切な場所を特定し、それを AWS Glue MongoDB 接続に提供します。
Secrets Manager シークレットを作成することを選択した場合は、AWS Glue ジョブに関連付けられた IAM ロールに
secretName
を読み取るための許可を付与します。