Fleet ManagerをKMS暗号化を有効化して使う
Systems Managerの機能であるFleet Managerを使うと、EC2上のファイルシステムの情報をみたり、パフォーマンスの状態を確認できます。一部の機能はEC2とユーザー間をKMSによる暗号化をしないと使えません。暗号化を行い、ファイルのプレビューとパフォーマンスカウンターを使ってみました。
EC2を作成し、ファイルシステムをプレビューする
パブリックサブネットにAmazon Linux 2を起動し、IAMロールを付与します。IAMロールにはAmazonSSMManagedInstanceCoreポリシーを付与します。このポリシーは、AWS Systems Managerサービスコア機能を使うために必要です。
Systems Managerコンソールのフリートマネージャーを選ぶと、作成したEC2が表示されます。
ファイルシステムを選ぶと、EC2のファイルシステムを確認できます。
ファイルの内容を表示することもできます。例えば、/var/log/messagesを選びアクション>テキストとしてプレビューできますが、特に設定をしていない状況では、エラーが発生しプレビューできません。セッション設定でKMS暗号を有効化します。
セッション設定でKMS暗号を有効化する
セッションマネージャー>設定を見ると、KMS暗号が無効になっています。
今回はKMSを作成しました。キーのタイプは対称。キーマテリアルオリジンはKMS。キー管理者とキーの使用アクセスはなしとしました。
作成したカスタマー管理型のキーのキーポリシーを見ると、「"AWS": "arn:aws:iam:: AccountID:root"」に権限があります。このAWSアカウント内のIAMユーザーとIAMロールは、IAMポリシーで許可されている場合にキーを使えることになります。
KMS暗号を有効にしたら、もう一度テキストとしてプレビューを試してみると、「エラー - フリートマネージャーはセッションを開始できません。」というエラーが発生します。EC2のIAMロールにキーを使う権限がないためです。
キーを利用するためのIAMポリシーを作成する
以下をKMS-Decrypt-policyポリシーとして作成し、EC2に割り当てたIAMロールに追加しました。ResourceにはキーのARNを指定します。
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:region:AccountID:key/1234567a-1234-1234-b123-ae12345a1b23" ] } }
messagesをプレビューすると表示されました。テールファイルを有効にすると、リアルタイムに閲覧できます。
パフォーマンスカウンターもKMS暗号化の設定を行うと、閲覧できるようになります。過去60秒間のCPU 使用率、ディスクの入出力、ネットワークトラフィック、メモリ使用量を確認できます。
おわりに
Fleet ManagerをKMS暗号化を有効化して使ってみました。なにかあったときにAWSコンソールからファイルをプレビューしたり、パフォーマンスカウンターを確認できると便利かと思います。KMSのキー作成やポリシー設定は簡単にできるので、試してみていただければと思います。
検証環境
- Amazon Linux 2 AMI (HVM), SSD Volume Type - ami-0be2609ba883822ec