[英]How to set tags for AWS EC2 instance in boto3
我是Boto3
,想創建一個 VPC、子網和一些 ec2 實例。 基本架構是擁有一個 VPC、2 個不同可用區(us-east-1a 和 b)內的 2 個子網,並應用一個允許SSH
和ping
的安全組。
我的問題是如何為每個資源指定附加選項。 Python SDK(與Javadoc
工作方式不同)沒有顯示所需的參數和示例選項,所以我很困惑。
如何為資源指定tags
? (例如 ec2 實例)。 我需要設置name
、 owner
等。
instances2 = ec2.create_instances(ImageId='ami-095575c1a372d21db', InstanceType='t2.micro', MaxCount=1, MinCount=1, NetworkInterfaces=[{'SubnetId': subnet2.id, 'DeviceIndex': 0, 'AssociatePublicIpAddress': True, 'Groups': [sec_group.group_id]}])
instances2[0].wait_until_running()
print(instances1[0].id)
您需要將'ResourceType'
設置為'instance'
的TagSpecifications
參數:
TagSpecifications=[
{
'ResourceType': 'instance',
'Tags': [
{
'Key': 'name',
'Value': 'foobar'
},
{
'Key': 'owner',
'Value': 'me'
},
]
},
],
它在文檔中,但您確實需要知道您在尋找什么......
以下適用於 python 3.7 和 boto3 1.12.39
AMI = os.environ['AMI']
INSTANCE_TYPE = os.environ['INSTANCE_TYPE']
KEY_NAME = os.environ['KEY_NAME']
SUBNET_ID = os.environ['SUBNET_ID']
TAG_SPEC = [
{
"ResourceType":"instance",
"Tags": [
{
"Key": "Name",
"Value": "EC2_INSTANCE_TEST_AUTOGENERATED"
}
]
}
]
ec2 = boto3.resource('ec2')
instance = ec2.create_instances(
ImageId = AMI,
InstanceType = INSTANCE_TYPE,
KeyName = KEY_NAME,
SubnetId = SUBNET_ID,
TagSpecifications = TAG_SPEC,
MaxCount = 1,
MinCount = 1
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.