読者です 読者をやめる 読者になる 読者になる

aws memo

AWS関連の備忘録 (※本ブログの内容は個人的見解であり、所属組織及び企業の意見を代弁するものではありません。1年以上古いエントリは疑ってかかってください)

連続するIPアドレスで複数台のインスタンスを起動する〜追加EBSも添えて〜

172.16.11.101〜 17216.11.120 まで、連続したIPアドレス群でインスタンス起動したいとうような事があります(hostsファイル必要なアレとか)。一緒にEBSをががっと付けたい時もあります。CLIでやった時のメモ。

 

まずはEBS構成。Block Device Mappingを指定した bdmapping.json を用意。

[
  {

    "DeviceName": "/dev/sdb",
    "Ebs": {
      "VolumeSize": 100,
      "DeleteOnTermination": true,
      "VolumeType": "gp2"
    }
  },
  {
    "DeviceName": "/dev/sdc",
    "Ebs": {
      "VolumeSize": 100,
      "DeleteOnTermination": true,
      "VolumeType": "io1",
      "Iops": 3000
    }
  }
]

上記だと、 /dev/sdbに 100GBの汎用SSD EBS  を、/dev/sdcに 100GB 3000IOPSの PIOPS EBSをアタッチする指定。

 

で、以下の様な感じで実行する。

for IP in `seq 101 120`
do
  aws ec2 run-instances \
    --region us-west-2 \
    --image-id ami-xxxxxx \
    --security-group-ids sg-yyyyyyy \
    --key-name id_rsa \
    --instance-type c4.8xlarge \
    --placement GroupName=C4 \
    --subnet-id subnet-zzzzzzz \
    --block-device-mappings file://bdmapping.json \
    --private-ip-address 172.16.11.$IP

done

上記例だと、 172.16.11.101〜172.16.11.120までの20台の C4.8xlargeを、 Placement Group名 C4 内に起動する事になる。