2017-05-08 9 views
-1

によって入力されたユーザデータを実行していない:EC2は、私は私のEC2インスタンスに対して次のユーザデータを持っているboto3

user_data = """#!/usr/bin/env bash 
wget -O <>.pem '{}' 
sudo apt-get -y update 
sudo apt-get install -y python-pip git awscli 
sudo pip install boto markupsafe boto3 ansible python-dateutil futures 
git clone https://<user>:<repo>.git 
ssh-keyscan -H github.com >> ~/.ssh/known_hosts 
chmod 400 <>.pem 
""".format(url) 

インスタンスは、次のboto3コマンドを使用して起動されます。

instances = ec2.create_instances(ImageId=ubuntu_image, MinCount=1, MaxCount=1, InstanceType='m3.medium', \ 
           KeyName=keyname, SubnetId='<>', SecurityGroupIds=['sg-<>'], 
           UserData=user_data) 

しかし、私はsshを起動し、インスタンスが起動されたら、クローンされたリポジトリは見つかりません。

また、私はimport ansibleをPythonシェルの内部で実行すると、「モジュールが見つかりません」というエラーが表示されます。つまり、userdataが実行されていません。

どこが間違っていましたか?

答えて

1

SSHをインスタンスに追加し、次にcURLなどのツールを使用してユーザーデータを取得します。

curl http://169.254.169.254/latest/user-data

チェックする別の場所には、ロギングを追加/var/log

-1

にログファイルをされるかもしれない、私は問題を解決する助けました。明らかに、pip install ansibleはいくつかのエラーを投げているので、スクリプトはそこで停止し、後続のタスクは実行されていません。

私はそれを底に移動し、問題なく動作します。

PS:wgetまたはダウンロードまたは複製するすべてのファイルが/で、/home/ubuntu/ではなくルートディレクトリに追加されます。 [これを理解するにはlocate pemファイルになければならなかった]

関連する問題