目次
ハイブリッドクラウドコンサルティング部の榊原です。AWS re:Invent 2023まであと1週間となりワクワクしています。re:Invent記事は現地参加のため数本だす予定です。ぜひ楽しみにしていただけたらと思います。さて、今回は2023年11月15日に追加されたEBSのスナップショットロック機能について軽く解説していきます。公式ドキュメントも追加されていました。
EBSスナップショットロックとは
名前の通り、EBSスナップショットを偶発的、あるいは悪意のある削除から保護する機能です。
スナップショットロックを有効にする際、知っておくべきポイントは以下の通りです。
・二つのロックモードがあり、Compliance modeではクーリングオフ期間を設定可
・追加料金はかからない
・IAM権限が必要。
また、今回のアップデートに合わせて下記三つの権限が追加されましたのでまとめます。
ec2:LockSnapshot | スナップショットをロックする |
ec2:UnlockSnapshot | スナップショットをアンロックする |
ec2:DescribeLockedSnapshots | スナップショットロックの設定状況を確認する |
二つのスナップショットロックモード
どちらもEBSスナップショットの削除を防ぐモードですが、細かく違いがあります。
そちらを解説していきます。
Governance mode
ロック有効化後、適切なIAM権限を持つユーザであれば、ロックを無効化したり、ロックモードをCompliance modeに変えたり、ロックをかける期間を変えられます。
Compliance mode
ロックの有効化時に、クーリングオフ期間も同時に設定します。クーリングオフ期間中は権限をもつユーザに限り、スナップショットのロック解除やロックモードの変更等が可能です。クーリングオフ期間は1時間から72時間の間で設定可能です。期間経過後はロック期間の延長以外の操作が出来なくなります。ロック期間の経過を待たねばなりません。本当にどうしても消したくないものがある場合はこちらの方がよさそうです。
設定手順
設定画面の確認
実際に設定を行う前に一通り設定画面を確認します。AWSのコンソール画面を見てみると、「スナップショットの設定」という項目が追加されていました。今回はまだ何も設定していないので、「ロックされていません」と出ていますね。さて、設定自体は「アクション」>「スナップショットの設定」>「スナップショットロックの管理」の順に押下して行います。
画面が切り替わります。ガバナンスモードだとロックする期間(Lock duration)を設定するだけですね。今日から1日~100年の間ロックするか、指定の年月日までロックするかのどちらかで設定可能です。この期間を過ぎると自動でロックが解除されます。
一方コンプライアンスモードの設定はどうでしょう。ガバナンスモードの設定に加えてクーリングオフ期間の設定が出現します。ここは値を入れなくても設定可能ですが、その場合即時にスナップショットロックがかかってしまうのでご注意ください。
ガバナンスモードの設定
画面確認が済んだので実際にスナップショットロックを設定します。まずガバナンスモードを設定します。今日から1日をロック期間とします。設定時は推定有効期間が分単位まで出ます。
設定後、コンソール画面にロックモード、ロック日時、ロック有効期限が表示されます。
この状態でスナップショットを削除しようとしたら、「ロックされているから削除できない」と表示されます。想定通りに動いています。
再度スナップショットロックの画面へ行くと以下のようになります。モードも変えられますし、ロックの解除もできそうですね。今回はロックを解除します。
ロック解除後、スクショは省略しますが無事削除までできるようになりました。
コンプライアンスモードの設定
今度はコンプライアンスモードを設定します。クーリングオフ期間は敢えて設定せず、実際にロック解除やモード変更が出来なくなるかを確認してみます。
設定が完了しました。
さて、この状態でスナップショットロック設定画面にいきます。するとロックモードの解除、変更が出来なくなっています。クーリングオフ期間は今回敢えて設定していないので、ロック期間が終わるまではスナップショットロックはかかったままとなります。
この後、同様にスナップショットを削除しようとしましたが、削除はできない状態となっていました。以上で検証は完了です。
最後に
今回は新規追加されたスナップショットロック機能の基本説明と検証を行いました。設定自体は簡単なうえ、追加コストもかからないのでEC2インスタンスの削除保護みたく積極的に設定するとよさそうです。この記事がどなたかの参考になれば幸いです。ここまでお読みいただきありがとうございました。