7

サーバー インスタンスを生成する amazon の自動スケーリング グループがあります。

私の aws-cli 設定は次のとおりです。

[default]
s3 =
    signature_version = s3v4
    addressing_style = path
region = eu-central-1

私の ecs-agent 設定は、インスタンスの起動時に aws-cli を使用して s3 から読み取られ、次のようになります。

ECS_CLUSTER=cluster-mongodb
ECS_ENGINE_AUTH_TYPE=dockercfg
ECS_ENGINE_AUTH_DATA={"domain.com":{"auth":"bsaewfgvewgf23g9hv3","email":""}}

悲しいことに、生成されたインスタンスの ecs-agent は、クラスター「cluster-mongodb」に登録する代わりに、常に 10 秒後に再起動します。

エラーログは次のとおりです。

2016-02-05T14:40:47Z [INFO] Starting Agent: Amazon ECS Agent - v1.7.1 (007985c)
2016-02-05T14:40:47Z [INFO] Loading configuration
2016-02-05T14:40:47Z [INFO] Checkpointing is enabled. Attempting to load state
2016-02-05T14:40:47Z [INFO] Loading state! module="statemanager"
2016-02-05T14:40:47Z [INFO] Detected Docker versions [1.17 1.18 1.19 1.20]
2016-02-05T14:40:47Z [INFO] Registering Instance with ECS
2016-02-05T14:41:07Z [ERROR] Could not register module="api client" err="RequestError: send request failed
caused by: Post https://ecs.eu-central-1.amazonaws.com/: net/http: request canceled while waiting for connection"
2016-02-05T14:41:07Z [ERROR] Error registering: RequestError: send request failed
caused by: Post https://ecs.eu-central-1.amazonaws.com/: net/http: request canceled while waiting for connection

誰かがこれを見たことがありますか?これは、セキュリティ グループ/LB 構成の混乱に関連している可能性がありますか?

前もって感謝します

[編集]解決策を見つけました:

サブネットが正しいルート テーブルに登録されているかどうかを確認します (vpc -> ルート テーブル)。私の場合、それは間違っていました。

さらに、インスタンスには Autoscaling グループの起動構成によって割り当てられたパブリック IP が必要でしたが、それは私のセットアップにとって特別なものでした。

4

3 に答える 3

11

ecs.eu-central-1.amazonaws.comこのメッセージは、インスタンスがエンドポイントに対して HTTPS POST を実行できないことを示しています。

セキュリティ グループや VPC 設定で、ECS エンドポイントへのアウトバウンド HTTPS が許可されていることを確認してください。

コマンドラインを使用して、インスタンスからエンドポイントへのエンドポイント接続を確認できます。

curl https://ecs.eu-central-1.amazonaws.com

次のようなメッセージが返されます。

<MissingAuthenticationTokenException>
  <Message>Missing Authentication Token</Message>
</MissingAuthenticationTokenException>
于 2016-02-05T15:06:00.260 に答える