【问题标题】:How to access EC2 instance metadata service? From outside EC2如何访问 EC2 实例元数据服务?从 EC2 外部
【发布时间】:2020-04-26 14:22:21
【问题描述】:

AWS 云手表的配置如下:

awslogs.conf

[/var/log/messages]
datetime_format = %b %d %H:%M:%S
file = /var/log/messages
buffer_duration = 2500
log_group_name = /var/log/messages
log_stream_name = {cluster}{instance_id}

以下脚本与--userdata 选项一起用于aws ec2 命令:

userdata.sh

# Above agentlogs.conf file is copied to /etc/awslogs/awslogs.conf in AWS EC2 instance


# Configure cloudwatch  config file
cat > /etc/cloudwatch-logs.ini <<EOF
[/var/log/messages]
datetime_format = %b %d %H:%M:%S
file = /var/log/messages
buffer_duration = 2500
log_stream_name = {cluster}{instance_id}
initial_position = start_of_file
log_group_name = /var/log/messages
EOF

从此脚本启动 EC2(在 EC2 外部运行):

spin_up_ec2.sh

# Using AWS CLI,  we spin up EC2 instance using userdata.sh, 
# Using metadata service How to read values of {cluster} & {instance_id} syntax, shown above:

aws logs describe-log-streams --log-group-name /var/log/messages --log-stream-name-prefix <grab_cluster_name_value><grab_instance_id_value> --region us-east-1

spin_up_ec2.sh 位于 EC2 外部、同一 VPC 内、不同子网中。那么,不确定如何使用 EC2 元数据服务?

EC2 在私有子网中运行。

{cluster} 值类似于clust1

{instance_id} 值类似于i-1a52627268bc


1)

shell 脚本 (spin_up_ec2.sh) 客户端如何与 EC2 元数据服务通信,以检索 {cluster}{instance_id} 的值?

2)

在公共子网中启动 EC2 有用吗?与元数据服务对话

【问题讨论】:

  • 在脚本中使用 instance_id 之前,您是否尝试过打印该值?
  • @bdcloud 这行得通吗?在我的用户数据脚本中...echo {instance_id} 因为 {...} 不是 shell 语法
  • @bdcloud 您认为{instance_id} 应该显示什么值?
  • 你是如何从用户数据中解析这个实例ID的?
  • @bdcloud 查询已更新为我们尝试读取 {instance_id} 的方式

标签: amazon-web-services amazon-ec2 aws-cli amazon-cloudwatch amazon-cloudwatchlogs


【解决方案1】:

Amazon EC2 实例元数据在实例之外可用。

您可以对 AWS 服务进行 API 调用以获取类似信息(例如检索 EC2 实例所在的子网)。

【讨论】:

  • 您将如何使用 APi 方法检索特定实例 id 值的集群名称?
  • @overexchange 你提到的cluster是什么?它不是通常与 Amazon EC2 实例关联的字段吗?
  • 你是对的。 EC2 元数据服务将没有cluster 信息。它可能只有instance_id。不是吗?
  • 如何通过API调用AWS服务获取instance_id
  • 您可以选择AWS SDK 作为您的首选语言。例如,在 Python 中,您可以调用 describe_instances() 来获取 Amazon EC2 实例的列表。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-14
  • 2012-03-10
  • 2019-02-28
  • 2020-04-04
  • 1970-01-01
  • 1970-01-01
  • 2018-04-18
相关资源
最近更新 更多