[AWS][Ruby] EC2インスタンスなどのリソースにtagを追加する方法

AWSのRuby SDK version3での話。

Gemfileに下記を追加して、

gem 'aws-sdk-ec2'

create_tag methodを呼べば良い。Resouceで各リソースのID系を入れればうまくやってくれそう。

  def add_tag
    begin
      resp = _client.create_tags({
        resources: [
          self.instance_id
        ],
        tags: [
          {
            key: "UserId",
            value: "#{self.user.id}",
          },
        ],
      });
      logger.debug resp
      true
    rescue => error
      logger.error error.inspect
      false
    end
  end

  private
    def _client
      @client ||= Aws::EC2::Client.new(region: "ap-northeast-1") 
    end

Related Posts