Help us understand the problem. What is going on with this article?

AWSリソース作成と同時にタグ付けする

More than 1 year has passed since last update.

リソース作成後にわざわざIDを拾ってきてタグ付けするのが面倒だったので、CLIコマンドをくっ付けました。

つかいかた

ec2_create_subnet.shの中でec2_create_subnet.shをロードしてます。
必要な変数は呼び出す側(ec2_create_subnet.sh)で定義します。

引数1に文字列「exe」を渡すと実行します。
それ以外の文字列を渡すと、Dry-runで実行します。

Nameタグ付け

ec2_create_name_tag.sh
#!/bin/bash

ec2CreateNameTag(){
    aws ec2 create-tags \
     --resources ${RESOURCE_ID} \
     --tags "Key=Name,Value=${TAGS_VALUE}"
}

Subnet作成

ec2_create_subnet.sh
#!/bin/bash
source ./ec2_create_name_tag.sh
AZ_VALUE="a"
REGION_NAME="ap-northeast-1"
AVAILABILITY_ZONE="${REGION_NAME}${AZ_VALUE}"
CIDR="1.2.3.240/28"
VPC_ID="vpc-00aa0aa000aa00000"
DRY_OR_NOT=""
TAGS_VALUE="subnet-nameTagValue${AZ_VALUE^}"
if [ -n "$1" ];
then
    if [ "exe" = "$1" ];
    then
        DRY_OR_NOT="--no-dry-run"
    else
        DRY_OR_NOT="--dry-run"
    fi
else
    echo "Argument1 is required."
    exit 9
fi  
RESOURCE_ID=`aws ec2 create-subnet \
 --availability-zone ${AVAILABILITY_ZONE} \
 --cidr-block ${CIDR} \
 --vpc-id ${VPC_ID} \
 ${DRY_OR_NOT} | jq -r '.Subnet.SubnetId'`
if [ $? -eq 0 ];
then
    echo "Subnet ID: ${RESOURCE_ID}"
    ec2CreateNameTag
else
    echo "Create subnet is failed."
fi

...CloudFormation使おう

CloudFormation使いました

create_subnet_backendA.json
{
    "AWSTemplateFormatVersion" : "2010-09-09",
    "Resources":{
        "subnetBackendA": {
            "Type": "AWS::EC2::Subnet",
            "Properties": {
                "VpcId": "vpc-00aa0aa000aa00000",
                "CidrBlock": "1.2.3.240/28",
                "AvailabilityZone": "ap-northeast-1a",
                "Tags": [{"Key": "Name", "Value": "subnet-nameTagValueA"}]
            }
        }
    }
}
iwase10moya
成果があったらお知らせするところ。
techfun
Tech FunはITの力で世界を豊かにする総合サービス企業です。 IT研修スクール「TechFun.jp(https://techfun.jp/)」、eラーニングプラットフォーム「StudySmile(https://studysmile.com/)」のほか、ミャンマーオフショア開発、スマートフォンアプリ開発、Webシステム開発、SIサービスを展開しています。
https://www.techfun.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away