Amazon ec2 AWS:创建EC2实例时用户数据和元数据标记之间的差异

Amazon ec2 AWS:创建EC2实例时用户数据和元数据标记之间的差异,amazon-ec2,amazon-web-services,metadata,Amazon Ec2,Amazon Web Services,Metadata,AmazonEC2实例可以使用“用户数据”(一个长字符串)或元数据标记(许多键/值对)创建 这两者有什么区别?为什么这两个系统并行存在 特别是,我希望在启动时将某些自定义数据(即一个连接字符串和两个资源URL)传递给EC2机器,以便它可以自行配置。据推测,这些数据最好以三对键/值的形式发送?根据文档页面,亚马逊提供的元数据和用户指定的用户数据: AmazonEC2实例可以访问特定于实例的元数据以及启动实例时提供的数据 您可以使用此数据构建更通用的AMI,这些AMI可以通过启动时提供的配置文件进行

AmazonEC2实例可以使用“用户数据”(一个长字符串)或元数据标记(许多键/值对)创建

这两者有什么区别?为什么这两个系统并行存在

特别是,我希望在启动时将某些自定义数据(即一个连接字符串和两个资源URL)传递给EC2机器,以便它可以自行配置。据推测,这些数据最好以三对键/值的形式发送?

根据文档页面,亚马逊提供的元数据和用户指定的用户数据:

AmazonEC2实例可以访问特定于实例的元数据以及启动实例时提供的数据

您可以使用此数据构建更通用的AMI,这些AMI可以通过启动时提供的配置文件进行修改。例如,如果您为各种小型企业运行web服务器,它们都可以使用相同的AMI,并从启动时指定的AmazonS3存储桶中检索内容。要随时添加新客户,只需为客户创建一个bucket,添加他们的内容,然后启动您的AMI

实例元数据是用于配置或管理正在运行的实例的数据。例如,主机名、事件和安全组

用户指定的用户数据,例如,您添加了一个新的bucked,其唯一的bucked名称将成为用户数据的一部分


来源:

是。将元数据视为实例可用的只读数据。数据中的链接向您展示了一种简单的机制,您可以通过该机制从实例中检索元数据。用户数据写入实例,也可以通过相同的API访问,但在启用cloudinit的AMI上使用时,通常以可执行脚本的形式(如shebang中指定的bash、perl、php等)出现。