आप स्थानीय स्क्रिप्ट में EC2 टैग डाउनलोड करने के लिए इस स्क्रिप्ट को अपने क्लाउड-इनिट उपयोगकर्ता डेटा में जोड़ सकते हैं :
#!/bin/sh
INSTANCE_ID=`wget -qO- http://instance-data/latest/meta-data/instance-id`
REGION=`wget -qO- http://instance-data/latest/meta-data/placement/availability-zone | sed 's/.$//'`
aws ec2 describe-tags --region $REGION --filter "Name=resource-id,Values=$INSTANCE_ID" --output=text | sed -r 's/TAGS\t(.*)\t.*\t.*\t(.*)/\1="\2"/' > /etc/ec2-tags
आप एडब्ल्यूएस CLI उपकरण आपके सिस्टम पर स्थापित की जरूरत है: या तो आप उन्हें एक साथ स्थापित कर सकते हैं packagesअनुभाग एक क्लाउड-कॉन्फ़िग फ़ाइल में स्क्रिप्ट से पहले, एक एएमआई का उपयोग करें कि उन्हें पहले से ही शामिल है, या एक जोड़ने aptया yumस्क्रिप्ट की शुरुआत में आदेश।
EC2 टैग का उपयोग करने के लिए आपको अपनी उदाहरण IAM भूमिका में इस तरह की नीति की आवश्यकता होती है:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1409309287000",
"Effect": "Allow",
"Action": [
"ec2:DescribeTags"
],
"Resource": [
"*"
]
}
]
}
उदाहरण का EC2 टैग /etc/ec2-tagsइस प्रारूप में उपलब्ध होगा :
FOO="Bar"
Name="EC2 tags with cloud-init"
. /etc/ec2-tagsउदाहरण के लिए, आप शेल स्क्रिप्ट में फ़ाइल को शामिल कर सकते हैं :
#!/bin/sh
. /etc/ec2-tags
echo $Name
उदाहरण के प्रारंभ के दौरान टैग डाउनलोड किए जाते हैं, इसलिए वे बाद के परिवर्तनों को प्रतिबिंबित नहीं करेंगे।
पटकथा और IAM नीति itaifrenkel के उत्तर पर आधारित है।