Shiva が
S3 バケットと VPC 間の接続問題の
トラブルシューティングをお手伝いします

Shiva_S3_Thumbnail

Amazon Virtual Private Cloud (Amazon VPC) の Amazon Elastic Compute Cloud (Amazon EC2) インスタンスから Amazon Simple Storage Service (Amazon S3) バケットへの接続にゲートウェイエンドポイントを使用していますが、動作しません。この解決方法を教えてください。

ネットワークアクセスまたは Amazon VPC から Amazon S3 への接続を許可するセキュリティルールが原因で、ゲートウェイ VPC エンドポイントとの接続問題が発生している場合があります。次のリソースと構成を確認して、接続問題を診断しトラブルシューティングしてください。

VPC での DNS 設定

重要: VPC で DNS 解決が有効になっている必要があります (「ゲートウェイエンドポイントの制限」を参照)。独自の DNS サーバーを使用している場合は、AWS のサービスへの DNS リクエストが AWS 維持の IP アドレスに解決されることを確認してください。

  1. [Amazon VPC console] にサインインします。
  2. ナビゲーションペインで、[Virtual Private Cloud] の下にある [Your VPCs] を選択します。
  3. リソースリストで、S3 接続問題がある Amazon VPC を選択します。
  4. [Summary] ビューで、必ず [DNS resolution] を [yes] に設定してください。「VPC の DNS サポートを更新する」をご覧ください。

ルートテーブルを Amazon S3 に設定する

  1. [Amazon VPC console] にサインインします。
  2. ナビゲーションペインで、[Virtual Private Cloud] の下にある [Route Tables] を選択します。
  3. S3 接続問題がある VPC サブネットに関連付けられているルートテーブルを選択します。
  4. [Routes] ビューを選択します。
  5. ゲートウェイ VPC エンドポイントを使用する、Amazon S3 へのルートがあることを確認します。「ゲートウェイエンドポイントのルーティング」をご覧ください。

セキュリティグループのアウトバウンドルール

  1. [Amazon EC2 console] にサインインします。
  2. ナビゲーションペインで、[Network & Security] の下にある [Security Groups] を選択します。
  3. リソースリストで、Amazon S3 への接続に使用しているインスタンスに関連付けられているセキュリティグループを選択します。
  4. [Outbound] ビューで、利用可能なアウトバウンドルールで Amazon S3 へのトラフィックが許可されていることを確認します。

デフォルトのアウトバウンドルールはすべてのアウトバウンドトラフィックを許可します。セキュリティグループにデフォルトのアウトバウンドルールがなく、より制限が厳しいルールが適用されている場合は、次のアウトバウンドルールのうちいずれかを必ず追加します。

ネットワーク ACL ルール

  1. [Amazon VPC console] にサインインします。
  2. ナビゲーションペインの [Security] で、[Network ACLs] を選択します。
  3. リソースリストで、S3 接続問題がある VPC サブネットに関連付けられているネットワーク ACL を選択します。
  4. [Inbound Rules] ビューで、エフェメラル TCP ポート 1024-65535 の Amazon S3 からのインバウンドリターントラフィックが、ルールにより許可されていることを確認します。
  5. [Outbound Rules] ビューで、Amazon S3 へのトラフィックが、ルールにより許可されていることを確認します。

注意: デフォルトでは、ネットワーク ACL によりすべてのインバウンドおよびアウトバウンドの IPv4 トラフィックと、IPv6 トラフィック (該当する場合) が許可されます。ネットワーク ACL ルールでトラフィックを制限する場合は、S3 に CIDR ブロック (IP アドレス範囲) を指定する必要があります。

ゲートウェイ VPC エンドポイントポリシー

  1. [Amazon VPC console] にサインインします。
  2. ナビゲーションペインで、[Virtual Private Cloud] の下にある [Endpoints] を選択します。
  3. リソースリストで、S3 接続問題がある VPC サブネットに関連付けられているエンドポイントを選択します。
  4. [Policy] ビューを選択します。
  5. エンドポイントポリシーを確認してください。ポリシーにより、接続問題の影響を受ける S3 バケットまたは IAM ユーザーへのアクセスがブロックされているかどうかを確認します。ポリシーを編集して、S3 バケットまたは IAM ユーザーへのアクセスを有効にします。「Amazon S3 のエンドポイントポリシーの使用」をご覧ください。

S3 バケットポリシー

  1. [Amazon S3 console] にサインインします。
  2. 接続問題がある S3 バケットを選択します。
  3. [Permissions] ビューを選択します。
  4. [バケットポリシー] を選択します。
  5. バケットポリシーにより、接続を希望するゲートウェイ VPC エンドポイントと VPC からのアクセスが許可されていることを確認してください。ポリシーを編集して、ゲートウェイ VPC エンドポイントと VPC からのアクセスを有効にします。「Amazon S3 バケットポリシーの使用」をご覧ください。

注意: バケットポリシーは、Amazon VPC のインスタンスに関連付けられた、特定のパブリック IP アドレスや Elastic IP アドレスからのアクセスのみを制限できます。インスタンスに関連付けられたプライベート IP アドレスに基づくアクセスは制限できません。「特定の IP アドレスへのアクセスの制限」をご覧ください。

プロキシサーバーを使用する場合、必ず VPC 接続を許可してください。S3 にプロキシサーバーを使用しない場合、S3 バケットにアクセスする際に次のコマンドを使用してプロキシサーバーを迂回します。

export no_proxy = mybucket.s3-us-west-2.amazonaws.com

IAM ポリシー

  1. AWS IAM コンソールにサインインします。
  2. インスタンスから S3 バケットへのアクセスに使用する IAM ユーザーかロールを選択します。
  3. [Routes (ルート)] ビューを選択します。
  4. IAM ユーザーまたはロールに関連付けられたユーザーに、Amazon S3 にアクセスするための適切なアクセス許可があることを確認します。「特定の IAM ロールへの Amazon S3 バケットのアクセスを制限する方法」および「チュートリアル例: ユーザーポリシーを使用したバケットへのアクセスの制御」をご覧ください。

AWS CLI 構成

必ず AWS コマンドラインインターフェース (AWS CLI) を構成し、デフォルトの AWS リージョンを設定してください。デフォルトのリージョン名を指定するには、aws configure コマンドを使用します。

デフォルトのリージョンを指定しない場合や、デフォルトのリージョンを上書きする場合は、必ず各 AWS CLI コマンドで --region オプションを設定します。


このページは役に立ちましたか? はい | いいえ

AWS サポート ナレッジ センターに戻る

サポートが必要ですか? AWS サポートセンターをご覧ください。

公開日: 2017 年 12 月 14 日

更新日: 2018 年 08 月 31 日