Python脚本是否可以“识别”它在哪个EC2实例上运行?

yn

假设我的脚本在名为的EC2实例上运行,ec2-test1并且与名为:的S3存储桶通信s3-bucket-test1,但是在运行脚本时,ec2-test2它可以识别当前在其上运行的EC2实例,并将目录更改为reference s3-bucket-test2有没有办法做到这一点?我知道您可以使用内部路径,os.path.dirname(os.path.realpath(__file__))但是想知道是否有办法对Python中的EC2实例名称执行类似的操作?

你好

使用以下Boto3获取当前实例名称。警告:不包括异常处理。

import boto3
import os

def get_inst_name():
  # Get Instance ID from EC2 Instance Metadata
  inst_id = os.popen("curl -s http://169.254.169.254/latest/meta-data/instance-id").read()

  # Get EC2 instance object
  ec2 = boto3.resource('ec2')
  inst = ec2.Instance(inst_id)

  # Obtain tags associated with the EC2 instance object
  for tags in inst.tags:
    if tags["Key"] == 'Name':
      #print tags["Value"]
      return tags["Value"]
  • 从元数据服务器获取实例ID
  • 使用实例ID查询Boto3资源

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

安排启动EC2实例并在其中运行python脚本

如何识别脚本是否在tty上运行?

是否可以在正在运行的EC2实例上启用CloudWatch?

是否可以在EC2实例上使用安全组来阻止国家/地区IP?

是否可以在EC2实例上执行AWS CLI命令而无需在EC2上放置AWS凭证?

如何知道我的脚本在哪个Python实例上运行?

在AWS ec2实例(ubuntu)上运行JMeter测试

如何使用AWS CLI在多个EC2实例上运行Shell脚本?

如何从Lambda访问在EC2实例上运行的MySQL?

如何在AWS EC2实例(ubuntu)上运行python脚本?

是否可以在ec2实例中使用CSS

Rails / Capistrano:检查sidekiq是否在EC2实例上运行

在AWS上的现有EC2实例中运行Python脚本

运行脚本的EC2实例上位于S3中的EMR日志在哪里?

通过AWS Lambda在EC2实例上执行python脚本

是否可以根据时间表通过python脚本修补ec2实例?

卓:是否有任何自定义规则来检查EC2实例是否在旧实例类型上运行?

是否可以更改EC2实例区域?

是否可以选择一个程序实例应在哪个X显示器上运行?

使python脚本在Amazon EC2上永久运行

在哪里可以找到有关我在ec2上拥有的实例的信息

在运行Tomcat的EC2实例上终止HTTPS

如何识别我的 python 程序在哪个节点上运行?

是否可以使用 node.js sdk 从 EC2 运行实例创建启动配置?

是否可以用不同的 AMI 替换 EC2 实例上的 AMI?

选择哪个 AWS EC2 实例?

运行 python 项目的 EC2 实例上的 HTTPS

如何找出 MSK(托管 kafka)在哪个 EC2 实例上运行?

如何使用 Web 界面触发 ec2 实例并运行 python 脚本?