ゲートウェイの Amazon VPC エンドポイントの接続に関する問題をトラブルシューティングするにはどうすればよいですか?

所要時間2分
0

ゲートウェイの Amazon Virtual Private Cloud (Amazon VPC) エンドポイントの接続に関する問題をトラブルシューティングしたいと考えています。

簡単な説明

ゲートウェイ VPC エンドポイントを使用すると、Amazon VPC から Amazon Simple Storage Service (Amazon S3) と Amazon DynamoDB にプライベートに接続できます。ゲートウェイ VPC エンドポイントの接続の問題は、接続を許可するネットワークアクセスまたはセキュリティルールが原因である可能性があります。

接続に関する問題をトラブルシューティングするには、Reachability Analyzer を使用します。さらに、以下の設定を確認します:

  • AWS リージョンの設定
  • DNS 解決
  • サブネットルートテーブル設定
  • セキュリティグループ
  • ネットワークアクセスコントロールリスト (ネットワーク ACL) ルール
  • Amazon VPC エンドポイントポリシー
  • Amazon S3 バケットポリシー
  • AWS Identity and Access Management (IAM) ポリシー
  • ゲートウェイエンドポイント上のトラフィックフロー

解決策

**注:**AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI エラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

Reachability Analyzer を使用する

Reachability Analyzer を使用して、ソースとゲートウェイエンドポイント間の接続の問題をトラブルシューティングします。詳細については、「Amazon VPC Reachability Analyzer を使用して Amazon VPC リソースの接続に関する問題をトラブルシューティングするにはどうすればよいですか?」をご覧ください。

リージョンの設定を確認する

ゲートウェイエンドポイントは、作成されたリージョンでのみ使用できます。Amazon S3 バケットまたは DynamoDB テーブルと同じリージョンにゲートウェイエンドポイントを作成してください。バケットのリージョンを確認するには、get-bucket-location AWS CLI コマンドを実行します。

SDK を使用してゲートウェイエンドポイントからサービスにアクセスする場合は、リージョンを確認してください。また、リージョンがサービスリソースと同じ場所に設定されていることを確認してください。例えば、Boto3 には Config オブジェクトを使用し、AWS CLI には aws configure を使用します。

**注:**リクエストが誤った地域に送信されると、タイムアウトになったり、インターネット経由でサービスにアクセスしたりする可能性があります。これは、ソースサブネットに設定されているルートテーブルによって異なります。

DNS 解決を確認する

Amazon VPC の DNS 設定を確認します。Amazon VPC で DNS 解決を有効化する必要があります。独自の DNS サーバーを使用する場合は、AWS サービスへの DNS リクエストが、AWS が保持する IP アドレスに解決されることを確認してください。

サブネットルートテーブルの設定を確認する

ルートテーブルの設定を確認しますゲートウェイ VPC エンドポイントを使用する Amazon S3 と DynamoDB へのルートがあることを確認します。

セキュリティグループを確認する

Amazon S3 と DynamoDB への接続を開始するソースに関連付けられているセキュリティグループを確認します。使用可能なアウトバウンドルールが Amazon S3 または DynamoDB へのトラフィックを許可していることを確認します。セキュリティグループにデフォルトのアウトバウンドルールよりも厳しいルールがある場合は、次のいずれかを確認します。

  • ゲートウェイの Amazon VPC エンドポイントに関連付けられているプレフィックスリストの ID へのトラフィックを許可するアウトバウンドルールがある。
  • サービス固有の CIDR ブロック (IP アドレス範囲) が宛先にある。サービス固有の CIDR ブロックがない場合、サービス固有の CIDR ブロックを追加することはできません。AWS ではプレフィックスリストの IP アドレス範囲を管理しているため、サービスが提供するプレフィックスリスト ID を使用することをお勧めします。

特定のリージョンの Amazon S3 と DynamoDB のパブリック IP CIDR を表示するには、AWS CLI の describe-prefix-lists コマンドを実行します。example-Region は、使用しているリージョンに置き換えてください。

aws ec2 describe-prefix-lists --region <example-Region>

ネットワーク ACL ルールを確認する

サブネットネットワーク ACL は、リージョン内の Amazon S3 または DynamoDB サービス CIDR へのインバウンドおよびアウトバウンドの TCP 接続を許可する必要があります。ネットワーク ACL ルールをチェックして、以下を確認します:

  • インバウンドルールビューで、エフェメラル TCP ポート 1024 ~ 65535 でアクセスしようとしているサービスからのインバウンド戻りトラフィックがルールで許可されていることを確認します。
  • アウトバウンドルールビューで、ルールが HTTPS のサービス CIDR ブロック (IPアドレス範囲) へのトラフィックを許可していることを確認します。

**注:**デフォルトでは、ネットワーク ACL はすべてのインバウンドとアウトバウンドの IPv4 および IPv6 トラフィックを許可します。ネットワーク ACL ルールでトラフィックが制限されている場合は、ゲートウェイエンドポイントが作成されたサービスの CIDR ブロックを指定します。サービス IP アドレスが変更された場合の通知を設定し、スクリプトを使用してネットワーク ACL ルールを自動的に更新することをお勧めします。詳細については、「Amazon S3 の IP アドレスの変更を確認するために通知を受けるにはどうすればよいですか ?」を参照してください。

Amazon VPC エンドポイントポリシーを確認する

Amazon VPC エンドポイントポリシーを確認します。カスタムエンドポイントポリシーを使用する場合は、エンドポイントに関連付けられているポリシーが、サービスに対してアクションを実行するためのアクセスを許可していることを確認してください。デフォルトのエンドポイントポリシーでは、サービスへのフルアクセスが許可されます。詳細については、「Control access to VPC endpoints using endpoint policies」を参照してください。

Amazon S3 バケットポリシーを確認する

Amazon S3 バケットポリシーを確認し、バケットポリシーがゲートウェイ Amazon VPC エンドポイントと Amazon VPC からのアクセスを許可していることを確認します。詳細については、「Control access using bucket policies」を参照してください。

**注:**バケットポリシーでは、Amazon VPC 内のインスタンスに関連付けられている特定のパブリック IP アドレスまたは Elastic IP アドレスからのアクセスのみを制限できます。また、インスタンスに関連付けられているプライベート IP アドレスに基づいてアクセスを制限できます。詳細については、「特定の IP アドレスに基づくアクセス管理」を参照してください。

プロキシサーバーを使用する場合は、サーバー経由の Amazon VPC 接続が許可されていることを確認します。Amazon S3 にプロキシサーバーを使用しない場合は、次のコマンドを実行して、バケットにアクセスするときにプロキシサーバーをバイパスします。example-Region は、使用しているリージョンに置き換えてください。

export no_proxy = mybucket.s3.<example-Region>.amazonaws.com

IAM ポリシーを確認する

IAM ポリシーを確認し、IAM ユーザーまたはロールの関連ユーザーに Amazon S3 へのアクセスに必要な権限があることを確認します。詳細については、「How to restrict Amazon S3 bucket access to a specific IAM role」と「ユーザーポリシーを使用したバケットへのアクセスの制御」を参照してください。

ゲートウェイエンドポイント上のトラフィックフローを確認する

トラフィックがゲートウェイエンドポイントまたはインターフェイスエンドポイントを経由しているかどうかを確認するには、「Amazon S3 のトラフィックが、ゲートウェイ VPC エンドポイントまたはインターフェイス VPC エンドポイントを通過しているのを確認するにはどうすればよいですか?」を参照してください。

関連情報

AWS リソースのアクセス管理

AWS公式
AWS公式更新しました 6ヶ月前
コメントはありません

関連するコンテンツ