6

実行するスクリプト ブロックを含む UserData ブロックを使用する AWS CloudFormation テンプレートがあるとします。次に例を示します。

"UserData": {
    "Fn::Base64": {
        "Fn::Join": [
            "",
            [
                "#!/bin/bash\n",
                "apt-get update\n",
                "apt-get -y upgrade\n",
            ]
        ]
    }
}

インスタンスが作成された後、

  1. このスクリプト ブロックはどこかに保存されて実行されると思いますか?
  2. その場合、EC2 インスタンスのどこでこのスクリプトを見つけることができますか?
  3. スタックが正常に作成された後、AWS はこの一時スクリプトを削除しますか?

彼らがドキュメントで言及しているのを見つけることができませんでした。

ありがとう

4

3 に答える 3

4

/var/lib/cloud/data/scripts/フォルダー内

于 2014-09-05T11:05:02.670 に答える
4

インスタンスのユーザー データは、インスタンスの任意のプロセスで利用でき、次の場所で取得できます。

http://169.254.169.254/latest/user-data

DNS 名「instance-data」はその IP アドレスに解決されるため、DNS が稼働していると信頼できる場合は、覚えやすい次の名前を使用することもできます。

http://instance-data/latest/user-data

アマゾンのドキュメントは次のとおりです。

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html

于 2013-11-01T04:41:03.693 に答える
3
  1. このスクリプト ブロックはどこかに保存されて実行されると思いますか?

はい、Cloudfomration は、「UserData」ブロック内に送信したユーザーデータを保存します。

  1. その場合、EC2 インスタンスのどこでこのスクリプトを見つけることができますか?

/var/lib/cloud/instance/userdata.txt Userdata @と Userdata ログ @を見つけることができます/var/log/cloud-init-output.log

  1. スタックが正常に作成された後、AWS はこの一時スクリプトを削除しますか? いいえ、スタックが作成された後、AWS はユーザーデータ スクリプトを削除しません。デバッグ目的で使用できます。

参考までに: カスタム AMI を使用すると、元のインスタンスのユーザーデータと現在のユーザーデータも で確認できます/var/lib/cloud/instances/*。AWS はユーザーデータの履歴を削除していないようです。

これが基本的な理解に役立つことを願っています。

于 2017-03-09T12:50:51.577 に答える