連続する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.$IPdone
上記例だと、 172.16.11.101〜172.16.11.120までの20台の C4.8xlargeを、 Placement Group名 C4 内に起動する事になる。
Spot Fleetで複数AZ指定ができるようになった
ので、メモ。
Spot fleet launches Spot instances in the lowest priced Availability Zone
本日(2015年7月24日)からSpotフリートの機能にて、spot fleet launch specificationで指定した複数のVPCサブネットもしくはAZの中で最も安いAZにSpotインスタンスを起動するようになりました。以前は、複数サブネットの中で最安値のサブネットに起動したい場合には、自分自身で最安値のAZを決定し、Spotフリートリクエストを実行する必要がありました
ということで、spot fleet launch specificationの記載方法の自由度が増しました。
設定例(spot.json)
ここでは、 C3.8xlargeかCC2.8xlargeを、subnet-aaaaaa (AZ-a)か subnet-bbbbbb(AZ-b)の組み合わせ4パターンのうち、最安値のパターンで、10台、$0.50で入札する、といった例。
{
"SpotPrice": "0.50",
"TargetCapacity": 10,
"IamFleetRole": "arn:aws:iam::111111111111:role/SpotFleet",
"LaunchSpecifications": [
{
"ImageId": "ami-xxxxxxx",
"InstanceType": "cc2.8xlarge",
"SubnetId": "subnet-aaaaaaaa"
},
{
"ImageId": "ami-xxxxxxx",
"InstanceType": "cc2.8xlarge",
"SubnetId": "subnet-bbbbbbbb"
},
{
"ImageId": "ami-xxxxxxx",
"InstanceType": "c3.8xlarge",
"SubnetId": "subnet-aaaaaaaa"
},
{
"ImageId": "ami-xxxxxxx",
"InstanceType": "c3.8xlarge",
"SubnetId": "subnet-bbbbbbbb"
}
]
}
実行
aws ec2 request-spot-fleet --region ap-northeast-1 \
--spot-fleet-request-config file://spot.json
Request時点で最安値のゾーン・タイプが10台 spot requestとして入札される。