【问题标题】:linux curl command that can check the aws ec2 instance status check - 2/2 checks passed可以检查 aws ec2 实例状态检查的 linux curl 命令 - 2/2 检查通过
【发布时间】:2018-10-31 16:57:02
【问题描述】:

如何使用 bash curl 命令检查远程 aws ec2 实例状态,以便评估响应以确定服务器在 cloud-init 过程中是否可以使用?但是,远程 EC2 实例的 IP 地址是预定义的。

当 EC2 实例可供使用时,AWS 控制台将显示“通过了 2/2 检查”,但我想在不使用 AWS CLI 的情况下以编程方式确定这一点。

【问题讨论】:

    标签: bash amazon-web-services curl amazon-ec2 cloud-init


    【解决方案1】:

    如果您使用 bash,AWS CLI 无疑是最好的方法:describe-instance-status — AWS CLI

    如果您要以编程方式执行此操作,您可以这样做。 (你没有提到你的首选语言,所以这里是 Python。)

    import boto3
    
    client = boto3.client('ec2', region_name='ap-southeast-2')
    
    response = client.describe_instance_status(InstanceIds=['i-0c9c9b95b3523afdc'])
    
    print ([(i['InstanceId'], i['SystemStatus']['Status']) for i in response['InstanceStatuses']])
    

    【讨论】:

      【解决方案2】:

      正如约翰所说; CLI 是实现它的最简洁和最简单的方法。其他任何东西都是黑客。

      使用 curl 您可以轻松检索 EC2 实例的完整元数据。但这不会给出 ec2 的运行时状态。请参考https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html..

      可能的黑客攻击可能是:在该 EC2 上运行 apache/nginx.. 并在该 apache/nginx 的测试页面上 curl。一旦 Ec2 启动;你的 apache/nginx 也会启动,你会得到 HTTP 响应 200。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-07-18
        • 1970-01-01
        • 2017-02-28
        • 2021-07-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多