AWS-RunPatchBaseline で InstallOverrideList パラメータを使用してみた
はじめに
テクニカルサポートの 片方 です。
異なる環境間で同じパッチを適⽤したい場合に便利な機能として、AWS-RunPatchBaseline で InstallOverrideList オプションを使⽤した方法をやってみました。
InstallOverrideList について説明すると、AWS Systems Manager の Patch Manager で提供されるオプションで、通常のパッチベースラインに追加または上書きして、特定のパッチをインスタンスに適用することができます。これにより、既定のパッチベースラインに含まれていない特定のパッチを適用するなど、より柔軟なパッチ管理が可能になります。
やってみた
以下を参考に実施しました。マネージドノードの方法については省かせていただきます。
先ずは S3 バケットを作成します。
その後に、パッチインストールリストとして YAML 形式で作成を行い、対象バケットへアップロードします。
例:test-override-list.yaml
今回は Amazon Linux 2023 で試したいと思います。なお、OS により記述方法は異なることに注意してください。
パッチインストールリスト例
patches:
-
id: 'kernel.x86_64'
-
id: 'httpd.x86_64'
-
id: 'bind-utils.x86_64'
AWS-RunPatchBaseline 実行時に S3 バケットへアクセスします。
そのため、EC2 インスタンスに関連付けられている IAM ロールに該当 S3 バケットへアクセスするための権限を付与します。
ポリシー例
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::your-bucket-name",
"arn:aws:s3:::your-bucket-name/*"
]
}
]
}
test-override-list.yaml というファイルで、作成した S3 バケットへアップロードします。
アップロード完了したら、対象ファイルの S3 URI をコピーします。
SSM のマネジメントコンソール画面へ移動を行い、ドキュメント: AWS-RunPatchBaseline を選択します。
その後、右上の「コマンドを実行する」をクリックします。
Install Override List 欄に先ほどコピーした S3 URI を記入します。
ご自身の環境に合わせて、ターゲットを選択します。
今回は他オプション設定を行わずに「実行」します。
Run Command が実行され、成功しました!
こちらの実行はパッチマネージャーのダッシュボード、パッチポリシーに基づかないオペレーションより確認することが可能です。
本ブログが参考になれば幸いです。
参考資料
- AWS Systems ManagerPatch Manager 編
- AWS-RunPatchBaseline または AWS-RunPatchBaselineAssociation で InstallOverrideList パラメータを使用するサンプルシナリオ - AWS Systems Manager
- AWS-RunPatchBaseline SSM ドキュメントについて - AWS Systems Manager
アノテーション株式会社について
アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。