1

私はクラスタAWS ECSを持っており、ユーザのアクセスを容易にするために、私はOpsWorksを使ってsshの機能を利用しています。オートスケーリンググループとECS IAMで作成されたEC2インスタンスをOpsWorksスタックに追加する方法はありますか?

#!/bin/bash 
# This works just fine! 
echo ECS_CLUSTER=my-cluster-name >> /etc/ecs/ecs.config 
# Given AWS CLI is not installed by default 
yum install -y awscli 
# This is copied and pasted from the OpsWorks' Register Instance Wizard 
aws opsworks register --infrastructure-class ec2 --region us-east-1 --stack-id aaa-bbb-ccc-ddd --local 

:インスタンスが終了し、何らかの理由で、私は特定のLaunch Configurationを使用するEC2 Auto Scaling Groupに頼っていて、そこに私はUser Dataフィールドで次のように設定しても、常に最新のスタックを維持するためには、デバッグのために私は場所にset -xをしましたし、ここでの登録作業の前にすべてのコマンドを与えられた特定のコマンドの出力についての関連ログです:

+ aws opsworks register --use-instance-profile --infrastructure-class ec2 --region us-east-1 --stack-id aaa-bbb-ccc-ddd --override-hostname abcdefgh --local 
    % Total % Received % Xferd Average Speed Time Time  Time Current 
           Dload Upload Total Spent Left Speed 

    0  0 0  0 0  0  0  0 --:--:-- --:--:-- --:--:--  0 
100 7800k 100 7800k 0  0 12.3M  0 --:--:-- --:--:-- --:--:-- 12.3M 
opsworks-init: Initializing AWS OpsWorks environment 
opsworks-init: Checking if OS is supported 
opsworks-init: Running on supported OS 
opsworks-init: Setup motd 
opsworks-init: Executing: ln -sf --backup /etc/motd.opsworks-static /etc/motd 
opsworks-init: Using assets bucket from environment: 'opsworks-instance-assets-us-east-1.s3.amazonaws.com'. 
opsworks-init: Installing Ruby for the agent 
opsworks-init: Executing: /tmp/opsworks-agent-installer.ggXxYyMmBBH/opsworks-agent-installer/opsworks-agent/bin/installer_wrapper.sh -r -R opsworks-instance-assets-us-east-1.s3.amazonaws.com 

私がここに持った印象は、私は思いますので、この最後のコマンドは黙って失敗しているということです登録がもう少し冗長であることを期待してください その後。

すべてのIAMロールとセキュリティグループが改訂され、すべての外観が明確で、ブートログに明示的なエラーが表示されていないことを確認した後、インスタンスはまったく登録されません。私はすでにこのAuto Scaling AWS OpsWorks instancesガイド以下試みたが、でも、このコードを下にそこから抽出された(そして多くのバリエーションを試した後)には登録されませんしました:

#!/bin/bash 
sed -i'' -e 's/.*requiretty.*//' /etc/sudoers 
pip install --upgrade awscli 
/usr/bin/aws opsworks register --use-instance-profile --infrastructure-class ec2 --region us-east-1 --stack-id aaa-bbb-ccc-ddd --override-hostname $(tr -cd 'a-z' < /dev/urandom |head -c8) --local 

私が登録するために不足していることができるものを上の任意の手がかりを新しいインスタンスをOpsWorksスタックに追加しますか?

ありがとうございます!

答えて

2

私は同様の問題があったとopsworksエージェントのバージョン更新:

Stack->スタック設定 - >編集 - > OpsWorksエージェントのバージョン - >を使用する最新バージョン この後

を少し変化、すべてが完全に働いた

+1

ありがとう!!その解決策は私の問題を解決しました! – fagiani

関連する問題