1

こちらの手順に従って、 AWS ECSクラスターにインスタンスを追加しようとしています。

だから私:

  1. 自動スケーリングされたインスタンスの自動スケーリング起動構成を作成しました ( AMI : ami-a28476c2 us-west-2 )
  2. インスタンスは問題なく自動スケール グループから起動しますdefaultが、ドキュメントに記載されているように ECS クラスターに参加することはありません。
  3. インスタンスに ssh し、ログを cat すると、次のように表示されます。

    [ec2-user@ip-172-31-47-157 ~]$ 猫 /var/log/ecs/ecs-init.log.2016-05-10-03 2016-05-10T03:31:21Z [情報] pre-start 2016-05-10T03:31:22Z [INFO] start 2016-05-10T03:31:22Z [INFO] 削除する既存のエージェント コンテナがありません。2016-05-10T03:31:22Z [INFO] Amazon EC2 Container Service Agent を開始しています 2016-05-10T03:31:23Z [エラー] エージェントを開始できませんでした: API エラー (500): コンテナーを開始できませんresolv.conf: そのようなファイルまたはディレクトリはありません

が見つからないため、ECS エージェントが失敗しているよう/etc/resolv.confです。ドキュメントを逐語的にフォローしているので、これがなぜなのかわかりません。

過去にこれを試した人はいますか?これをデバッグする方法がわかりません。

4

1 に答える 1

2

私はこれを解決しました。このページのヘルプを使用すると、何か (原因がわからない) がインスタンスをファイアウォールで保護していることがわかりました。

自動スケーリングの起動構成で、user-dataセクションに次のコードを追加しました。

#!/bin/bash
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
echo "nameserver 8.8.4.4" | sudo tee -a /etc/resolv.conf

これにより、不足しているファイル ( /etc/resolv.conf) が作成され、インスタンスに Google DNS サーバー (おそらく任意の DNS サーバー) を使用するように指示されます。

そして今、すべてがうまく機能しています。

于 2016-05-10T12:00:28.047 に答える