Amazon S3 データソースでの Amazon VPC の使用
このトピックでは、Amazon VPC を介して Amazon S3 コネクタを使用して、Amazon S3 バケットに接続する方法を示すステップバイステップの例を示します。この例では、既存の S3 バケットから開始することを前提としています。この例をテストするには、S3 バケットにドキュメントをいくつかアップロードすることをお勧めします。
Amazon VPC を介して Amazon S3 バケットに Amazon Kendra を接続できます。そのためには、Amazon S3 データソースコネクタを作成するときに Amazon VPC サブネットと Amazon VPC セキュリティグループを指定する必要があります。
重要
Amazon Kendra Amazon S3 コネクタが Amazon S3 バケットにアクセスできるように、仮想プライベートクラウド (VPC) に Amazon S3 エンドポイントが割り当てられていることを確認してください。
Amazon Kendra が Amazon VPC を通じて Amazon S3 バケットからドキュメントを同期するようにするには、次の手順を実行する必要があります。
-
Amazon VPC の Amazon S3 エンドポイントを設定します。Amazon S3 エンドポイントの設定方法の詳細については、AWS PrivateLink ガイドの「Amazon S3 のゲートウェイエンドポイント」を参照してください。
-
(省略可) Amazon S3 バケットポリシーをチェックして、Amazon Kendra に割り当てた仮想プライベートクラウド (VPC) から Amazon S3 バケットにアクセス可能であることを確認します。詳細については、「Amazon S3 ユーザーガイド」の「バケットポリシーを使用した VPC エンドポイントからのアクセスコントロール」を参照してください。
ステップ
ステップ 1: Amazon VPC を設定する
Amazon Kendra で後で使用するための、Amazon S3 ゲートウェイエンドポイントを持つプライベートサブネットとセキュリティグループを含む、VPC ネットワークを作成します。
プライベートサブネット、S3 エンドポイント、セキュリティグループを使用して VPC を設定するには
-
AWS マネジメントコンソール にサインインして、Amazon VPC で https://console.aws.amazon.com/vpc/
コンソールを開きます。 -
Amazon Kendra が使用するプライベートサブネットと S3 エンドポイントを持つ VPC を作成します。
ナビゲーションペインで [VPC]、[VPC を作成] の順に選択します。
-
[Resources to create] (作成するリソース) で、[VPC and more] (VPC など) を選択します。
-
[Name タグ] で、[自動生成] を有効にし、「
kendra-s3-example」と入力します。 -
[IPv4/IPv6 CIDR ブロック] は、デフォルト値のままにしておきます。
-
[アベイラビリティゾーン (AZ) の数] には、数字の 1 を選択します。
-
[AZ のカスタマイズ] を選択し、[第 1 アベイラビリティーゾーンリスト] からアベイラビリティーゾーンを選択します。
Amazon Kendra は、特定のアベイラビリティーゾーンのみをサポートしています。
-
[パブリックサブネットの数] には、数字の 0 を選択します。
-
[プライベートサブネットの数] には、数字の 1 を選択します。
-
[NAT ゲートウェイ] には、[なし] を選択します。
-
[VPC エンドポイント] には、[Amazon S3 ゲートウェイ] を選択します。
-
残りの値はデフォルト設定のままにしておきます。
-
[VPC の作成] を選択します。
[VPC を作成] ワークフローが終了するまで待ちます。次に、[VPC を表示] を選択して、先ほど作成した VPC を確認します。
これで、パブリックインターネットにアクセスできないプライベートサブネットを持つ VPC ネットワークが作成されました。
-
-
Amazon S3 エンドポイントの VPC エンドポイント ID をコピーします。
-
ナビゲーションペインで、[Endpoints] (エンドポイント) を選択します。
-
[エンドポイント] リストで、VPC と一緒に作成した Amazon S3 エンドポイント
kendra-s3-example-vpce-s3を見つけます。 -
VPC エンドポイント ID を書きとめておきます。
これで、サブネットを介して Amazon S3 バケットにアクセスするための、Amazon S3 ゲートウェイエンドポイントが作成されました。
-
-
Amazon Kendra で使用するセキュリティグループを作成します。
-
ナビゲーションペインで、[セキュリティグループ]、次に [セキュリティグループの作成] を選択します。
-
[Security group name] (セキュリティグループ名) に
s3-data-source-security-groupと入力します。 -
Amazon VPC リストから VPC を選択します。
-
[インバウンドルール] と [アウトバウンドルール] は、デフォルトのままにしておきます。
-
[セキュリティグループの作成] を選択してください。
これで、VPC セキュリティグループが作成されました。
-
コネクタの設定プロセスの際に、作成したサブネットとセキュリティグループを Amazon Kendra Amazon S3 データソースコネクタに割り当てます。
(オプション) ステップ 2: Amazon S3 バケットポリシーを設定する
このオプションのステップでは、Amazon Kendra に割り当てた VPC からのみ Amazon S3 バケットにアクセスできるように、Amazon S3 バケットポリシーを設定する方法について説明します。
Amazon Kendra では、Amazon S3 バケットへのアクセスに IAM ロールが使用されるため、Amazon S3 バケットポリシーを設定する必要がありません。ただし、パブリックインターネットからの Amazon S3 バケットへのアクセスを制限する既存のポリシーを持つ Amazon S3 バケットを使用して Amazon S3 コネクタを設定する場合は、バケットポリシーを作成しておくと便利です。
Amazon S3 バケットポリシーを設定するには
-
で Amazon S3 コンソールを開きますhttps://console.aws.amazon.com/s3/
-
ナビゲーションペインで、[バケット] を選択します。
-
Amazon Kendra と同期させる Amazon S3 バケットの名前を選択します。
-
[アクセス許可] タブを選択し、[バケットポリシー] まで下にスクロールして、[編集] をクリックします。
-
バケットポリシーを追加または変更して、作成した VPC エンドポイントからのアクセスのみを許可します。
以下は、バケットポリシーの例です。
とbucket-nameを、前にメモした Amazon S3 バケット名と Amazon S3 エンドポイント ID に置き換えます。vpce-id -
[変更を保存] を選択します。
これで、S3 バケットが、作成した特定の VPC からのみアクセスできるようになりました。
ステップ 3: テスト用 Amazon S3 データソースコネクタを作成する
Amazon VPC の設定をテストするための、Amazon S3 コネクタを作成します。次に、「Amazon S3」で説明されている手順に従って、作成した VPC で設定します。
Amazon VPC の設定値については、この例で作成した値を選択します。
-
Amazon VPC(VPC) —
kendra-s3-example-vpc -
サブネット –
kendra-s3-example-subnet-private1-[availability zone] -
セキュリティグループ –
s3-data-source-security-group
コネクタの作成が完了するまで待ちます。Amazon S3 コネクタが作成されたら、[今すぐ同期] を選択して同期を開始します。
Amazon S3 バケット内のドキュメントの数によって、同期の完了には、数分から数時間かかる場合があります。この例をテストするには、S3 バケットにほんのいくつかのドキュメントをアップロードすることをお勧めします。設定が正しい場合は、最終的に [同期ステータス] が [完了] と表示されます。
エラーが発生した場合は、「Amazon VPC 接続のトラブルシューティング」を参照してください。