AWS の Amazon EC2 におけるインスタンスの操作の表記が「起動、開始、再起動、停止、休止、終了」、またインスタンスの状態の表記が「実行中、保留中、シャットダウン中、停止中、停止済み、終了済み」と日本語では大変分かりづらくなっているので、その違いについて整理する。
インスタンスの操作
Amazon EC2 のインスタンスの操作は、以下の7つの表記が存在する。
日本語表記 | 英語表記 |
---|---|
インスタンスを起動 | Launch instaces |
テンプレートからインスタンスを起動 | Launch instance from template |
インスタンスを開始 | Start instance |
インスタンスを再起動 | Reboot instance |
インスタンスを停止 | Stop instance |
インスタンスを休止 | Hibernate instance |
インスタンスを終了 | Terminate instance |
違いの要約
「起動」と「開始」
表記 | 内容 |
---|---|
起動 (Launch) | 新規のインスタンスの作成とその起動。 |
開始 (Start) | 既存の「停止済み」のインスタンスの起動。 |
「停止」と「休止」と「終了」
表記 | 内容 |
---|---|
停止 (Stop) | インスタンスのシャットダウン。 |
休止 (Hibernate) | インスタンスのサスペンド。メモリも保存される。 |
終了 (Terminate) | インスタンスの削除。起動や接続は不可能。 |
「再起動」と「停止/開始」と「休止/開始」
表記 | 内容 |
---|---|
再起動 (Reboot) | |
停止/開始 (Stop/Start) | |
休止/開始 (Hibernate/Start) |
起動 (Launch)
インスタンス起動ウィザード
起動テンプレート
既存インスタンス
AWS Marketplace インスタンス
開始 (Start)
再起動 (Reboot)
停止 (Stop)
休止 (Hibernate)
終了 (Terminate)
インスタンスのライフサイクル
インスタンスのライフサイクル - Amazon Elastic Compute Cloud
インスタンスの状態
日本語表記 | 英語表記 | 値 | 課金 | 説明 |
---|---|---|---|---|
実行中 | Running | running | ◯ | インスタンスが起動済み |
保留中 | Pending | pending | × | インスタンスの起動中 |
シャットダウン中 | Shutting Down | shutting-down | × | インスタンスの削除(Terminate)中 |
停止中 | Stopping | stopping | △ | インスタンスのシャットダウン(Stop)またはサスペンド(Hibernate)中 |
停止済み | Stopped | stopped | × | インスタンスがシャットダウン(Stop)済み |
終了済み | Terminated | terminated | × | インスタンスが削除済み |
大変紛らわしいが、ここでの日本語表記の [シャットダウン中] および [終了済み] はいずれも「インスタンスの削除」を意味する。
インスタンスの状態が「停止中(Stopping)」の場合、停止(Stop)準備中なら課金されないが、休止(Hibernate)準備中だと課金対象となる。
終了保護の設定
停止 (Stop) と終了 (Terminate) を取り違えて Amazon EC2 インスタンスを誤って削除(終了)しないようにするために、インスタンスの「終了保護」を有効にできる。
DisableApiTermination
属性は、インスタンスがコンソール、CLI、または API を使用して終了できるかどうかを制御し、デフォルトでは無効 (false
) になっている。 1
AWS マネジメントコンソールで変更する
AWS マネジメントコンソールでインスタンスの終了保護を有効にするには、一覧からインスタンスを選択してから、[アクション] または右クリック > [インスタンスの設定] > [終了保護を変更] の順に選択する。
「終了保護を変更」画面に切り替わったら [有効化] にチェックをいれて [保存] ボタンを押下する。
AWS CLI で変更する
AWS コマンドラインインターフェイス (CLI) でインスタンスの終了保護を有効にするには modify-instance-attribute
コマンド ([v2][v1]) を使用する。
起動中のインスタンスの一覧
aws ec2 describe-instances \
--filters Name=instance-state-name,Values=running \
--output table \
--query 'Reservations[*].Instances[].{
AvailabilityZone: Placement.AvailabilityZone,
ID: InstanceId,
Name: Tags[?Key==`Name`] | [0].Value,
State: State.Name,
Type: InstanceType
}'
結果
------------------------------------------------------------------------------------------
| DescribeInstances |
+------------------+-----------------------+--------------------+----------+-------------+
| AvailabilityZone | ID | Name | State | Type |
+------------------+-----------------------+--------------------+----------+-------------+
| ap-northeast-1a | i-xxxxxxxxxxxxxxxxx | project-dev-app | running | t2.micro |
+------------------+-----------------------+--------------------+----------+-------------+
インスタンスの終了保護設定値の確認
aws ec2 describe-instance-attribute \
--instance-id i-xxxxxxxxxxxxxxxxx \
--attribute disableApiTermination
結果
{
"InstanceId": "i-xxxxxxxxxxxxxxxxx",
"DisableApiTermination": {
"Value": false
}
}
インスタンスの終了保護設定値の変更
aws ec2 modify-instance-attribute \
--instance-id=i-xxxxxxxxxxxxxxxxx \
--disable-api-termination
設定値の変更の確認
aws ec2 describe-instance-attribute \
--instance-id i-xxxxxxxxxxxxxxxxx \
--attribute disableApiTermination
結果
{
"InstanceId": "i-xxxxxxxxxxxxxxxxx",
"DisableApiTermination": {
"Value": true
}
}
disableApiTermination
属性は1文字目が小文字でないと認識しないので注意。
-
デフォルトでは、Amazon EC2 コンソール、コマンドラインインターフェイス、または API を使用して、インスタンスを終了できます。Amazon EC2 を使用してインスタンスを誤って終了できないようにするには、インスタンスの削除保護を有効にできます。
- 削除保護の有効化 - インスタンスの終了 - Amazon Elastic Compute Cloud - docs.aws.amazon.com ↩DisableApiTermination
属性は、インスタンスがコンソール、CLI、または API を使用して終了できるかどうかを制御します。デフォルトでは、インスタンスの削除保護は無効になっています。インスタンスが実行中またはインスタンスが停止中に、インスタンスを起動する際に、この属性の値を設定できます (Amazon EBS-backed インスタンスの場合)。