0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWSパッチマネージャーとCloudFormation_前編

Posted at

はじめに

前回はQuick Setupからパッチポリシーを作成して
Windows Serverにパッチ適用を行った

今回は、あえてパッチポリシーを使わずに
従来手法に則ってWindows Serverにパッチ適用を行う

なぜ従来手法にこだわるのか?

Quick Setup の開始方法によると、Quick Setupを使うためには
いくつかのロールを作成する必要があり
これらのロールが、まあまあ強力な権限を持っているため
ともすると組織のレギュレーションに合致しないことがあるため

image.png

平たく言うと、簡便な手法(パッチポリシーを使う方法)は所属組織が許さないので
手間はかかるが所属組織にとやかく言われない従来手法を試してみよう、というお話である

従来手法と新手法の違い

パッチポリシーとのその他の違いに書かれている通り

項目 従来手法 新手法
パッチグループ 必要/パッチグループに属するように複数のノードをタグ付けし、そのパッチグループに使用するパッチベースラインを指定できる。パッチグループがない場合、Patch Manager では、OS の種類に対する現在のデフォルトのパッチベースラインを使用してパッチが適用される。 不要/パッチポリシーに統合された
Configure patching 有り/パッチを適用するノード、パッチ適用スケジュール、およびパッチ適用オペレーションのデフォルトを指定 無し/パッチポリシーに統合された
コンプライアンス情報 無し 有り/パッチ適用ポリシーの設定に従ってマネージドノードのコンプライアンスをスキャンすると、コンプライアンスデータが利用可能

とりあえずCloudFormationに突っ込む

先人によるこちらのテンプレートをそのまま突っ込んでみたら、エラーなくリソースが生成された
Amazon Linux2向けで、TestPGというタグが付いているグループが対象とのこと

生成されたリソースを確認していく

AWS::SSM::PatchBaseline

ベースライン名、説明、オペレーティングシステムがテンプレート通りであることがわかる

Description: "AmazonLinux2PatchBaseline create by CloudFormation"
Name: AmazonLinux2PatchBaseline
OperatingSystem: AMAZON_LINUX_2

image.png

さらに詳細ページをみる
パッチグループが指定通りであることがわかる

  PatchGroups:
    - "TestPG"

また、PatchFilterGroupとしてSecurityグループとBugFixグループの2つがあることがわかる

    Properties:
      ApprovalRules:
        PatchRules:
          - ApproveAfterDays: 7
            PatchFilterGroup:
              PatchFilters:
                - Key: CLASSIFICATION
                  Values:
                    - Security
                - Key: SEVERITY
                  Values:
                    - Important
                    - Critical
          - ApproveAfterDays: 7
            PatchFilterGroup:
              PatchFilters:
                - Key: CLASSIFICATION
                  Values:
                    - Bugfix

image.png

タグは勝手にCloudFormationが付けたものだろう

image.png

パッチグループ

パッチグループを参照すると、逆にパッチベースラインへのリンクが辿れる

image.png

AWS::SSM::MaintenanceWindow

cron式がわからないのでcopilotに聞いたところ「このCron式は「毎週土曜日の18時0分」にジョブが実行されることを意味します」とのこと

image.png

メンテナンスウィンドウの説明では、確かに毎週土曜18時になっているようだ

image.png

AWS::SSM::MaintenanceWindowTarget

メンテナンスターゲットは、パッチグループのタグがTestPGであること

image.png

image.png

AWS::SSM::MaintenanceWindowTask

AWS-RunPatchBaselineを走らせる

元記事にも書いてあるとおり

パッチマネージャーによるパッチ適用とは、Run CommandによってSSMドキュメントAWS-RunPatchBaselineを実行することを指す

ということ

image.png

image.png

さて、本題です

ここまでは先人の記事をとりあえずやってみて、AWSのリソースをGUIで確認したまで。
本題として、今回はWindowsサーバ向けにやってみる

・・・が、すでに記事が長くなったので
前編と後編に分けよう

後編に続く!

リファレンス

AWS Systems Manager resource type reference

参考

糸冬了!!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?