【AWS】EBS最適化オプションはCLIだと指定必須
こんにちは、隊長@音楽家兼エンジニア#今日はエンジニアです。
先日、AWS Solution Architect Professionalに一発合格しました。
基準スレスレ過ぎて試験中は落ちたとばかり思ってましたが、合格できてよかったです。
サービスの名前を知っていても、業界年数が浅すぎて選択肢の用語が分からなさすぎて焦りました。こればっかりは都度勉強するしかないかな…
ということでこれからは、少しずつAWSの小ネタ・TIPS的なものを書き溜めていこうと思います。
記念すべき初回は、EC2のAMI展開をテストしていた時に見つけたTIPSです。
本題
GUI(AWSマネジメントコンソール)でEC2を起動すると、EBS最適化がデフォルトで有効になっているインスタンスタイプがあります。
参考:
Amazon EBS 最適化インスタンス
ただし、CLIで起動すると上記GUIでデフォルト有効のインスタンスであったとしても最適化が無効の状態で起動してしまいます。
【GUI】
作成結果
[root@test tmp]# aws ec2 describe-instances --instance-id i-xxxxxxxxxxxxxx
"InstanceType": "m5.2xlarge",
"EbsOptimized": true,
【CLI】
コマンド
aws ec2 run-instances \
--image-id {ami-id} \
--instance-type m5.2xlarge \
--security-group-ids {sg-id} \
--key-name {keypair-name} \
--subnet-id {subnet-id} \
--region ap-northeast-1 \
作成結果
[root@test tmp]# aws ec2 describe-instances --instance-id i-yyyyyyyyyyyyyyy
"InstanceType": "m5.2xlarge",
"EbsOptimized": false,
対策
aws ec2 run-instancesに--ebs-optimizedオプションをつけてあげればいいだけです。
AWS CLIのCommand Reference見るとデフォルトで無効、って記載ありますね。
--ebs-optimized | --no-ebs-optimized (boolean)
Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.
Default: false