AWS EC2竞价型实例PHP在发出点击请求时添加标签

我希望能够通过PHP进行现场请求时包含一个标签。 在创建按需实例时,您可以创建该实例,然后使用它的实例来执行以下操作:

$ec2->create_tags($instance_id, array(
      array('Key' => 'Name', 'Value' => 'MyTestMachine'),
    ));

但是,在发布竞价时,实例不会立即启动,因此您必须创建一个监视器标记来处理此问题......除非您可以在请求阶段添加标记。 我还没有找到任何文件来显示它会如何或看起来像它是否存在?


答案是,除非实际创建实例,否则不能分配标签。 为了标记这一点,我使用了一个监听器守护进程来观察新实例并在启动后标记它们。


对于未来的人来说,如果没有听众,可以寻找解决方案:

通过在用户数据中向CLI中添加标签请求,您也可以在创建实例标签后创建实例标签。 这在EC2实例上作为启动时的脚本在许多EC2默认AMI上执行(默认情况下也安装了CLI)。

要做到这一点(使用库存图片):

  • 创建一个有权在EC2上创建标签的IAM 角色
  • 在现场实例请求中,指定角色。
  • 在您的专色实例请求用户数据中,包含创建标签CLI命令(对于Linux - 如果您使用的是Windows,则也可以使用powershell进行等效)。 您会看到有一个内联命令从EC2元数据服务中获取实例ID:

    #!/bin/bash
    aws ec2 create-tags --resources `wget -q -O - http://169.254.169.254/latest/meta-data/instance-id` --tags Key=somekey1,Value=somevalue1 Key=somekey2,Value=somevalue2
    
  • 如果您使用CLI或SDK进行现场请求,则可能需要将上面的用户数据编码为base64。 AWS Web控制台可以为您做到这一点。

    而已!

    链接地址: http://www.djcxy.com/p/67161.html

    上一篇: AWS EC2 Spot Instance PHP add tag when making spot request

    下一篇: How to detect smooth curves in matlab