Amazon S3 バケットで「cp」コマンドまたは「sync」コマンドを実行したときの接続エラーをトラブルシューティングする方法を教えてください。

所要時間2分
0

Amazon Simple Storage Service (Amazon S3) バケットで「cp」 コマンドまたは「sync」コマンドを実行したいのですが、エラーが発生します。

簡単な説明

AWS コマンドラインインターフェイス (AWS CLI)で cp コマンドまたは sync コマンドを実行するには、マシンを正しい Amazon S3 エンドポイントに接続する必要があります。そうしないと、サービスをエンドポイント URL に接続できないか、接続がタイムアウトになったことを知らせるメッセージとともにエラーが発生します。エラーに応じて、関連するトラブルシューティング手順に従ってください。

「Could not connect to the endpoint URL」エラー

  • 正しい AWS リージョンと Amazon S3 エンドポイントが使用されているかを確認します。
  • あなたの DNS で S3 エンドポイントを解決できるかを確認します。

「Connect timeout on endpoint URL」エラー:

  • ネットワークが S3 エンドポイントに接続できることを確認します。
  • Amazon Elastic Compute Cloud (Amazon EC2) インスタンスの場合は、仮想プライベートクラウド (VPC) の設定を確認します。

**注: **AWS CLI コマンドの実行中にエラーが発生した場合は、使用している AWS CLI が最新バージョンであることを確認してください

解決策

使用している AWS リージョンと Amazon S3 エンドポイントが正しいことを確認する

AWS CLI でコマンドを実行すると、デフォルトの AWS リージョンの S3 エンドポイントに API リクエストが送信されます。または、リージョンを指定すると、API リクエストはリージョン固有の S3 エンドポイントに送信されます。その後、リクエストは AWS CLI によってバケットのリージョン S3 エンドポイントにリダイレクトされます。

指定したリージョンやエンドポイントに入力ミスやエラーがあると、「Could not connect to the endpoint URL」エラーが表示されることがあります。たとえば、次のコマンドを実行すると、エンドポイント名に e が余分にあるため、エラーが発生します。

aws s3 cp filename s3://DOC-EXAMPLE-BUCKET/ --endpoint-url https://s3-acceleratee.amazonaws.com

cp コマンドまたは sync コマンドを実行する前に、関連するリージョンS3 エンドポイントが正しいことを確認してください。

**注: **Amazon S3 転送アクセラレーションを使用している場合は、エンドポイント名の「Amazon S3 Transfer Acceleration を使用した高速かつ安全なファイル転送の設定」を参照してください。

DNS が S3 エンドポイントで解決できることを確認する

DNS が Amazon S3 エンドポイントで解決できることは、nslookuppingなどの DNS クエリツールで確認します。次の例では nslookup を使用しています:

nslookup s3.amazonaws.com

次の例では、DNS が S3 エンドポイントで解決されることを ping で確認しています。

ping s3.amazonaws.com

DNS で S3 エンドポイントに解決できない場合は、DNS 設定のトラブルシューティングを行います。Amazon Route 53 が DNS プロバイダーの場合は、「Amazon Route 53 のトラブルシューティング」を参照してください。

あなたのネットワークを S3 エンドポイントに接続できるかを確認する

Amazon S3 トラフィックに使用しているポートの Amazon S3 エンドポイントへのトラフィックが、あなたのネットワークのファイアウォールで許可されていることを確認します。

たとえば、次の telnet コマンドでは、ポート 443 の ap-southeast-2 リージョナル S3 エンドポイントへの接続がテストされます。

telnet s3.ap-southeast-2.amazonaws.com 443

**注: **リージョナルエンドポイントとポート (443 または 80) をあなたのユースケースの値に置き換えます。

EC2 インスタンスの場合は、VPC 設定を確認します

EC2 インスタンスでこのエラーが表示される場合は、VPC 設定を確認してください。EC2 インスタンスがパブリックサブネットにある場合は、以下の条件を確認してください。

EC2 インスタンスがプライベートサブネットにある場合は、以下の条件を確認してください。

  • サブネットのルートテーブルにネットワークアドレス変換 (NAT) ゲートウェイが関連付けられているかどうかを確認します。S3 エンドポイントに到達するためのインターネットパスが NAT ゲートウェイによってプロビジョニングされます。
  • Amazon S3 に VPC エンドポイントを使用する場合は、AWS CLI 設定ファイルに正しいリージョンが存在することを確認します。Amazon S3 の VPC エンドポイントはリージョン固有です。VPC エンドポイントが別のリージョンにあるときに --region us-west-1sync コマンドを実行すると、CLI は https://s3.us-west-1.amazonaws.com にアクセスします。その結果、「Could not connect to the endpoint URL」というエラーが表示されます。
AWS公式
AWS公式更新しました 8ヶ月前
コメントはありません

関連するコンテンツ