前回の記事で記載漏れ。
ユーザーデータにNameタグを自動で付与するスクリプトがあったが、あのEC2インスタンスはIAMロールを割り当てて、AWSリソースに権限を与えている。
IAMロールの中には、カスタムで作成したIAMポリシーや、事前にAWSで用意されたマネージドIAMポリシーを包含させている。これにより、AWSのリソースを安全に設定するようにしている。
※IAMユーザーのシークレットキーなどを利用させずに、AWSリソースにアクセスできる権限を与えている。ベストプラクティス通りのよくあるやり方。
そんなわけで、AWSリソースであるEC2のタグを編集するIAMポリシーを作成する。
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:CreateTags"
],
"Resource": [
"arn:aws:ec2:ap-northeast-*:AWSAccountID:*/*"
],
"Effect": "Allow"
}
]
}
AWSAccountIDの部分は実際のAWSアカウントIDを記載する。このIAMポリシーを作成する。IAMポリシー作成したら、このIAMポリシーを、IAMロールにアタッチする。
あとはEC2インスタンスに、IAMロールを割り当てる。起動テンプレートなどでも、事前にIAMロールを指定できるので、事前に指定し、ユーザーデータも前回の記事で書いたスクリプトを指定しておくと、自動でタグ名を付与してくれる。
余談
時間がたつとどれだけメモを残していても設定したことを忘れる。やっぱり記事にして備忘として残すのは、早いうちがいい。