AWSラーニング(五)-EC2がCLI経由でamazon s3に接続する際のタイムアウトの問題


この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。

最初に書く

  協栄情報の陸です。AWSの初心者です。この記事は、日々の学習と発生した問題を記録するために使用されます。記事の中に問題を解決するには遅すぎる場所があるかもしれませんが、解決策を知った後、問題に解決策を追加しますので、ご安心ください。

初めに

  以下は、本日、CLIエクササイズでamazon S3へのEC2接続を行っている際に遭遇した接続タイムアウトの問題です。
  具体的には:EC2にSSH接続した後、amazon S3を操作する許可があるかどうかを確認。 コマンドを入力した後、マシンは長い時間のために接続し、約3分後にプロンプトが表示するためにポップアップがありません。
具体的には以下のようなアクションがあります。

EC2を作成

  EC2を作成してインスタンスにSSHで接続するまでの流れをテキスト化したものです。 正確なグラフの手順については、前回の記事を参照してください。
https://cloud5.jp/aws-ec2-learning-4
S3権限でEC2を作成する
amazon S3を操作する権限を持ったEC2インスタンスを作成します。
EC2を作成し、rolを選択する際にとりあえずnoneを選択します。
作成したら、EC2にamazon S3を操作する権限を持ったIAMのロールを与え、「ロールの作成」を選択し、EC2サービスを選択し、「S3ポリシー」を検索します。 その上のチェックボックスにチェックを入れ、Create Doneを選択します。 EC2の画面に戻り、EC2インスタンスにロールを付与します。
EC2に接続するためのSSHクライアント
まずダウンロードしたキーペアの場所を見つけ、キーペアに権限を与え、最後にEC2インスタンスをリンクします。

S3への接続と遭遇した問題

  まずはAWSを利用しているかどうかの確認です。コマンドラインウィンドウで : aws s3 ls と入力すると、通常は以下のような画面が表示され、設定を求められます。

  しかし、私のマシン側では、次のようなプロンプトが表示されました。

解決策

  最初に関連情報を確認したところ、VPCのターミナルノードに問題があるのではないかという意見があったので、その方が出してくれた解決策(s3のターミナルノードの追加)に沿って修正してみたのですが、結局うまくいきませんでした。 最後に、いくつか公式の解決策を確認したところ、以前、他の演習をしているときにデフォルトのACLのインバウンドルールを変更していて、それを変更し直さなかったために、VPCのネットワークACLの設定に問題があり、アクセスがタイミングアウトし続けていたことが判明しました。

グラフィック

変更したいEC2の例を選択し、[詳細]オプションのVPC IDをクリックします。

VPCサービス画面でVPCを選択し、デフォルトのVPCにチェックを入れ、[詳細]画面でACLを選択します。

インバウンドルールを選択し、デフォルトの[送信元]を元の[送信元]に戻します。

デフォルトの設定に変更しても正常に設定できます。

Amazon s3の設定と運用

aws configure と入力して設定します。 IAMユーザーのアクセスキーIDとパスワードを入力し、オプションの地域を入力し、あなたのamazon s3の利用可能な地域とEC2インスタンスが同じ場所である場合は、直接それをスキップし、デフォルトの出力形式はjsonを選択することができますが、それをスキップすることもできます。

設定が完了したら、amazon S3上でいくつかの操作を行いますが、ここではローカルtxtファイルを作成し、上記のamazon S3にアップロードします。

まとめ

  今日はEC2とamazon S3を接続するエクササイズをしたのですが、途中でタイムアウト問題に遭遇しましたが、情報を確認して修正したら問題が見つかりました。 今日の問題集を見ていると、公式の問題集ガイドには多くの問題が載っていますが、詳しくは書かれていないかもしれませんが、公式ガイドを繰り返し熟考することで、読み解くことができ、理解することができます。

Last modified: 2024-02-02

Author