AWS Glue での「SubnetId において、VPC S3 エンドポイントの検証に失敗しました」というエラーをトラブルシューティングする方法を教えてください。

所要時間2分
0

AWS Glue ジョブまたは AWS Glue クローラーが、「SubnetId において、VPC S3 エンドポイントの検証に失敗しました」というエラーで失敗します。

簡単な説明

「SubnetId において、VPC S3 エンドポイントの検証に失敗しました」というエラーは、次の条件に当てはまる場合に発生します。

AWS Glue は、AWS Glue 接続のサブネットに、データソースと Amazon S3 に接続するためのエラスティックネットワークインターフェイスを作成します。エラスティックネットワークインターフェイスには、そのサブネット内の IP アドレス範囲からプライベート IP アドレスが割り当てられます。パブリック IP アドレスがないため、AWS Glue はインターネットを使用してデータソースや VPC 内の Amazon S3 に直接接続することはできません。詳細については、「データストアへのネットワークアクセスを設定する」を参照してください。

解決策

ルートテーブルに Amazon S3 VPC ゲートウェイエンドポイントまたは NAT ゲートウェイへのルートが含まれるように、AWS Glue 接続のサブネットを設定します。詳細については、「エラー: VPC の subnetId に S3 エンドポイントまたは NAT ゲートウェイが見つかりませんでした」を参照してください。

AWS Glue ジョブがパブリックインターネットにアクセスする必要がある場合は、サブネットが NAT ゲートウェイで設定されていることを確認してください。

S3 VPC ゲートウェイエンドポイントを設定する

次の手順を実行します。

  1. Amazon VPC コンソールを開きます。
  2. ナビゲーションペインで [エンドポイント] を選択します。
  3. [エンドポイントを作成] を選択します。
  4. [サービス名]com.amazonaws.us-east-1.s3 を選択します。
    注: us-east-1 は、お使いの AWS リージョンに置き換えます。
  5. [タイプ] 列で [ゲートウェイ] を選択します。
  6. [VPC] で、エンドポイントを作成する VPC を選択します。
    注: [ルートテーブルの設定] には、S3 VPC エンドポイントへのルートが自動的に追加されます。
  7. [ポリシー] は、デフォルトオプションの [フルアクセス] のままにします。
  8. [エンドポイントを作成] を選択します。

詳細については、「ゲートウェイエンドポイント」を参照してください。

リソースベースのポリシーを使用する場合は、AWS Glue ジョブまたはクローラーの AWS Identity and Access Management (IAM) ロールが、必要な S3 リソースにアクセスできるようにしてください。

NAT ゲートウェイを設定する

NAT ゲートウェイをセットアップする前に、Elastic IP アドレスを割り当てる必要があります。

また、AWS Glue 接続に使用する VPC には、1 つ以上のパブリックサブネットが必要です。詳細については、「例: プライベートサブネットと NAT にサーバーを配置したVPC」を参照してください。

次の手順を実行します。

  1. Amazon VPC コンソールを開きます。
  2. ナビゲーションペインで [NAT ゲートウェイ] を選択します。
  3. [NAT ゲートウェイの作成] を選択します。
  4. [名前] に作成するゲートウェイの名前を入力します。
  5. [サブネット] では、AWS Glue 接続で指定した VPC のパブリックサブネットを選択します。
  6. [接続タイプ] は、デフォルトオプション [パブリック] のままにします。
  7. [NAT ゲートウェイの作成] を選択します。

ゲートウェイを設定したら、AWS Glue 接続のサブネットに関連付けられているルートテーブルを変更します。次に、NAT ゲートウェイにルートを追加します。

次の手順を実行します。

  1. ナビゲーションペインで [ルートテーブル] を選択します。
  2. 変更するサブネットに関連付けられているルートテーブルを選択します。
  3. [アクション] を選択してから **[ルートの編集]**を選択します。
  4. [ルートの編集] ページで、[ルートを追加] を選択します。
  5. すべてのサブネットトラフィックを NAT ゲートウェイに送信するように、新しいルートを設定します。
    [送信先]0.0.0.0/0 と入力します。
    [ターゲット][NAT ゲートウェイ] を選択し、お使いの NAT ゲートウェイを選択します。
  6. [変更を保存] を選択します。
  7. AWS Glue 接続をテストします。
  8. AWS Glue ジョブまたは AWS Glue クローラーを再度実行してください。
AWS公式
AWS公式更新しました 3ヶ月前