私はクラスタ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
スタックに追加しますか?
ありがとうございます!
ありがとう!!その解決策は私の問題を解決しました! – fagiani