VPC エンドポイントを使用して Amazon S3 データストアをクロールする - AWS Glue

VPC エンドポイントを使用して Amazon S3 データストアをクロールする

セキュリティ、監査、またはコントロールの目的で、Amazon Virtual Private Cloud 環境 (Amazon VPC) を介してのみ Amazon S3 データストアまたは Amazon S3 backed データカタログテーブルにアクセスできるようにしたいことがあります。このトピックでは、Network 接続タイプを使用して VPC エンドポイントで Amazon S3 データストアまたは Amazon S3 backed データカタログテーブルへの接続を作成およびテストする方法について説明します。

データストアでクローラーを実行するには、次のタスクを実行します。

前提条件

Amazon Virtual Private Cloud 環境 (Amazon VPC) を介してアクセスされるように Amazon S3 データストアまたは Amazon S3 backed データカタログテーブルを設定するための前提条件を満たしていることを確認します。

  • 設定済みの VPC。例: vpc-01685961063b0d84b。詳細については、Amazon VPC ユーザーガイドの「Amazon VPC の使用を開始する」を参照してください。

  • VPC にアタッチされた Amazon S3 エンドポイント。例: vpc-01685961063b0d84b。詳細については、Amazon VPC ユーザーガイドの「Amazon S3 におけるエンドポイント」を参照してください。

    
                            VPC にアタッチされた Amazon S3 エンドポイントの例。
  • VPC エンドポイントを指すルートエントリ。例えば、VPC エンドポイント (vpce-0ec5da4d265227786) で使用されるルートテーブルの vpce-0ec5da4d265227786。

    
                            VPC エンドポイントを指すルートエントリの例。
  • VPC にアタッチされたネットワーク ACL により、トラフィックが可能になります。

  • VPC にアタッチされたセキュリティグループにより、トラフィックが可能になります。

Amazon S3 への接続を作成する

通常、これらのリソースは、パブリックインターネット経由でアクセスできないように、Amazon Virtual Private Cloud (Amazon VPC) 内に作成します。デフォルトでは、AWS Glue は VPC 内のリソースにアクセスできません。AWS Glue が VPC 内のリソースにアクセスできるようにするには、VPC サブネット ID やセキュリティグループ ID など、追加の VPC 固有設定情報を指定する必要があります。Network 接続を作成するには、次の情報を指定することが必要です。

  • VPC ID

  • VPC 内のサブネット

  • セキュリティグループ

Network 接続をセットアップするには

  1. AWS Glue コンソールのナビゲーションペインで、[Add connection] (接続の追加) をクリックします。

  2. 接続名を入力し、接続タイプとして、[Network] (ネットワーク) を選択します。[Next] を選択します。

    
                            接続タイプの選択。
  3. VPC、サブネット、およびセキュリティグループの情報を設定します。

    • VPC: データストアを含む VPC 名を選択します。

    • サブネット: VPC 内のサブネットを選択します。

    • セキュリティグループ: VPC 内のデータストアへのアクセスを許可する 1 つ以上のセキュリティグループを選択します。

    
                            接続タイプの選択。
  4. [Next] を選択します。

  5. 接続情報を確認し、[Finish] (完了) をクリックします。

    
                            接続タイプの選択。

Amazon S3 への接続をテストする

Network 接続を作成したら、VPC エンドポイントの Amazon S3 データストアへの接続をテストできます。

接続のテスト時に、次のエラーが発生することがあります。

  • INTERNET CONNECTION ERROR (インターネット接続エラー): インターネット接続に問題があることを示します。

  • INVALID BUCKET ERROR (無効なバケットエラー): Amazon S3 バケットに問題があることを示します。

  • S3 CONNECTION ERROR (S3 接続エラー): Amazon S3 への接続に失敗したことを示します。

  • INVALID CONNECTION TYPE (無効な接続タイプ): 接続タイプが想定される NETWORK という値でないことを示します。

  • INVALID CONNECTION TEST TYPE (無効な接続テストタイプ): ネットワーク接続テストのタイプに問題があることを示します。

  • INVALID TARGET (無効なターゲット): Amazon S3 バケットが正しく指定されていないことを示します。

Network 接続をテストするには

  1. AWS Glue コンソールで [Network] (ネットワーク) 接続を選択します。

  2. [Test connection] (接続のテスト) を選択します。

  3. 前のステップで作成した IAM ロールを選択し、Amazon S3 バケットを指定します。

  4. テストを開始するには、[Test connection] (接続のテスト) をクリックします。結果を表示するには少し時間がかかることがあります。


                    接続のテスト

エラーが発生した場合は、次のチェックを行います。

  • 選択したロールに正しい権限が与えられている。

  • 正しい Amazon S3 バケットが指定されている。

  • セキュリティグループとネットワーク ACL により、必要な着信トラフィックと発信トラフィックが許可されている。

  • 指定した VPC が、Amazon S3 VPC エンドポイントに接続されている。

接続のテストに成功したら、クローラーを作成できます。

Amazon S3 データストアのクローラーを作成する

これで、作成した Network 接続を指定したクローラーを作成できます。クローラーの作成についての詳細については、「AWS Glue コンソールでのクローラーの使用」を参照してください。

  1. AWS Glue コンソールのナビゲーションペインで [Crawlers] (クローラー) を選択します。

  2. [Add crawler (クローラーの追加) ] を選択します。

  3. クローラーの名前を指定して、[Next] (次へ) をクリックします。

  4. データソースを要求されたら、[S3] (S3) を選択し、Amazon S3 バケットプレフィックスと前に作成した接続を指定します。

    
                            接続のテスト
  5. 必要に応じて、同じネットワーク接続に別のデータストアを追加します。

  6. IAM ロールを選択します。IAM ロールでは、AWS Glue サービスと Amazon S3 バケットへのアクセスが許可されている必要があります。詳しくは、「AWS Glue コンソールでのクローラーの使用 」を参照してください。

    
                            接続のテスト
  7. クローラーのスケジュールを定義します。

  8. Data Catalog の既存のデータベースを選択するか、新しいデータベースエントリを作成します。

    
                            接続のテスト
  9. 残りのセットアップを完了します。

Amazon S3 backed データカタログテーブルのクローラーを作成する

これで、作成した Network 接続とカタログソースタイプを指定するクローラーを作成できます。クローラーの作成についての詳細については、「AWS Glue コンソールでのクローラーの使用」を参照してください。

  1. AWS Glue コンソールのナビゲーションペインで [Crawlers] (クローラー) を選択します。

  2. [Add crawler (クローラーの追加) ] を選択します。

  3. クローラーの名前を指定して、[Next] (次へ) をクリックします。

  4. クローラーソースタイプを要求されたら、[既存のカタログテーブル] を選択し、使用可能なテーブルのリストからクロールする既存のカタログテーブルを指定します。

    
                            クローラーソースタイプの選択。
  5. IAM ロールを選択します。IAM ロールでは、AWS Glue サービスと Amazon S3 バケットへのアクセスが許可されている必要があります。詳しくは、「AWS Glue コンソールでのクローラーの使用 」を参照してください。

  6. クローラーのスケジュールを定義します。

  7. Data Catalog の既存のデータベースを選択するか、新しいデータベースエントリを作成します。

  8. 残りのセットアップを完了し、ステップを確認します。

    
                            クローラーソースタイプの選択。

クローラーの実行

クローラーを実行します。


                    オンデマンドでのクローラーの実行。

トラブルシューティング

VPC ゲートウェイを使用した Amazon S3 バケットに関するトラブルシューティングについては、「ゲートウェイ VPC エンドポイントを使用して S3 バケットに接続できないのはなぜですか」を参照してください。