python - 如何处理我的 t3a 实例上的存储?
问题描述
我对 aws 很陌生,boto3
而且我不了解 ec2 实例上的存储方面。
假设我有一个t3a
使用 python 以编程方式创建的实例,如下所示:
instance = ec2.create_instances(
ImageId=AMIS[instance_region],
MinCount=1,
MaxCount=1,
Placement={
'AvailabilityZone':'%sa'%instance_region
},
InstanceType=instance_type,
KeyName='ec2-keypair-api',
NetworkInterfaces=[{'DeviceIndex': 0, 'AssociatePublicIpAddress': True, 'Groups': [SECURITY_GROUPS[instance_region]]}]
)
我的实例中有默认存储吗?我需要附加 EBS 卷吗?如果是这样,考虑到上述情况如何做?
任何帮助将不胜感激。
解决方案
当你尝试你的代码时发生了什么?它是否创建了实例?您将能够在 ec2 仪表板上看到您的实例及其配置。
并非所有实例都使用相同的存储类型,但 t3a 是 EBS,可以使用以下内容在 create_instances 方法中进行配置:
BlockDeviceMappings=[
{
'DeviceName': 'string',
'VirtualName': 'string',
'Ebs': {
'DeleteOnTermination': True|False,
'Iops': 123,
'SnapshotId': 'string',
'VolumeSize': 123,
'VolumeType': 'standard'|'io1'|'io2'|'gp2'|'sc1'|'st1'|'gp3',
'KmsKeyId': 'string',
'Throughput': 123,
'OutpostArn': 'string',
'Encrypted': True|False
},
'NoDevice': 'string'
},
]
如果您通过控制台手动创建 t3a 实例,您将看到使用的默认值。我已经有一段时间没有这样做了,但是您会看到可以在 boto3 代码中使用哪些参数。
有关更多详细信息,请参阅文档:https ://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2.html
推荐阅读
- java - 如何在 Eclipse rcp 中以声明方式设置全局动作处理程序?
- tensorflow - 如何在不重新训练之前的 tensorflow 课程的情况下在其他课程上训练模型?
- php - 从对象的数组中调用每个值
- php - 从终端运行 shell 脚本有效,但从 PHP shell_exec 运行时无效
- python - 无法保留内存块,在 python 中导入 json 错误
- stripe-payments - 为什么只保存在源中而不是卡片中的条带卡?
- mysql - 导入脚本时未选择数据库
- java - 后增量替换
- css - CSS 规则没有被其他规则覆盖
- java - How to check the value of th:utext in thymeleaf page