こんにちは、Reoです。
フリーランスのインフラエンジニアとして働きながら、学習サービス「InfraDojo(インフラ道場)」を運営しています。
「EC2は、使い終わったら停止すればいい?」
「終了すると、保存したファイルも消える?」
混ざりやすいのが、EC2本体の状態と、データを保存するEBSの扱いです。
今回は、違いを整理してから、AWS CLIで現在の設定を確認します。
停止は再び起動できる。終了はできない
この記事では、ルートボリュームにEBSを使うEC2を対象にします。
EBSは、EC2に接続して使うデータの保存領域です。
| 操作 | EC2本体 | 接続されたEBS |
|---|---|---|
| 停止 | あとから起動できる | 保持される |
| 終了 | 同じインスタンスを再び起動できない | 削除設定に従う |
この違いは、EC2の状態ごとの仕様で確認できます。
なお、通常の停止では、メモリ上の内容は保持されません。EBSとは別の「インスタンスストア」にあるデータも失われます。
終了時にEBSが消えるかは、設定で決まる
確認する項目は、**DeleteOnTermination**です。
| 値 | インスタンス終了時の動作 |
|---|---|
true |
そのEBSボリュームを削除する |
false |
そのEBSボリュームを残す |
これは、ボリュームごとの設定です。
「データ用だから残るはず」と推測せず、実際の値を確認しましょう。EBSの保持・削除の仕様
残ったEBSを使ってデータを取り出せる場合はありますが、終了したEC2自体を元に戻す操作とは異なります。
1.確認する環境を用意する
以下を前提に進めます。
- 認証設定済みのAWS CLI v2とBash
- 閲覧できる既存のEBS-backed EC2
-
ec2:DescribeInstancesの実行権限
今回は、情報を取得するコマンドだけを使います。
リージョンとインスタンスIDを、自分の環境に合わせて指定してください。
lesson_region=ap-northeast-1
instance_id=i-0123456789abcdef0
IDは説明用です。東京以外のリージョンなら、lesson_regionも変更します。
2.EC2の現在の状態を見る
describe-instancesで状態を取得します。
aws ec2 describe-instances \
--region "$lesson_region" \
--instance-ids "$instance_id" \
--query 'Reservations[].Instances[].State.Name' \
--output text \
--no-cli-pager
出力例です。
running
主な状態は、次のように読み取れます。
-
running:実行中 -
stopped:停止済み -
terminated:終了済み
操作の途中では、stoppingやshutting-downなどが表示されることもあります。
3.EBSの削除設定を見る
同じEC2について、接続されたボリュームの情報を取り出します。
aws ec2 describe-instances \
--region "$lesson_region" \
--instance-ids "$instance_id" \
--query 'Reservations[].Instances[].BlockDeviceMappings[].{Device:DeviceName,Volume:Ebs.VolumeId,DeleteOnTermination:Ebs.DeleteOnTermination}' \
--output json \
--no-cli-pager
出力例です。
[
{
"Device": "/dev/xvda",
"Volume": "vol-0123456789abcdef0",
"DeleteOnTermination": true
},
{
"Device": "/dev/sdf",
"Volume": "vol-0fedcba9876543210",
"DeleteOnTermination": false
}
]
この例では、インスタンスを終了すると、
- 一つ目のEBSは削除される
- 二つ目のEBSは残る
という設定です。
同じEC2に付いていても、結果が分かれる点に注目してください。
停止したら、料金も全部止まる?
停止済みのEC2では、インスタンスの実行料金は発生しません。
ただし、保持しているEBSなど、別のリソースの料金は残ります。終了後に残したEBSも同様です。
「EC2を停止した」と「関連リソースの料金がなくなった」は別の確認です。 状態と課金の関係
学習環境を片付けるときも、EC2本体と保存領域を分けて見てみましょう。
AWSの設定と、Linuxの操作をつなげよう
EBSに保存されたデータを扱う場面では、EC2の中でファイルを読んだり、保存領域の使用状況を確認したりします。
AWS側の構成に加えて、Linuxの基本操作にも慣れておくと、調べる対象を整理しやすくなります。
自分が運営するInfraDojoでは、ブラウザ上の学習用シミュレーターでLinuxの基本操作を練習できます。
「何が残り、何が変わるのか」を確かめながら、理解を積み重ねていきましょう。
▼ InfraDojo(インフラ道場)
