組織内のインスタンスのためにパッチ適用を設定する - AWS Systems Manager

組織内のインスタンスのためにパッチ適用を設定する

AWS Systems Manager の一機能である Quick Setup を使用すると、Patch Manager を利用したパッチポリシーを作成できます。パッチポリシーは、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスなどのマネージドノードに自動的にパッチを適用するときに使用するスケジュールとベースラインを定義します。単一のパッチポリシー設定を使用して、組織内の複数の AWS リージョン のすべてのアカウントにパッチを定義するか、選択したアカウントとリージョンのみに適用するか、単一のアカウントとリージョンのペアに適用するかを定義できます。パッチポリシーの詳細については、「Quick Setup パッチポリシーの使用」を参照してください。

前提条件

Quick Setup を使用してノードのパッチポリシーを定義するには、そのノードがマネージドノードである必要があります。ノードの管理方法の詳細については、「AWS Systems Manager のセットアップ」を参照してください。

重要

パッチコンプライアンスのスキャン方法 – Systems Manager では、パッチコンプライアンスに関してマネージドノードをスキャンするいくつかの方法がサポートされています。これらの方法を一度に複数実施した場合、表示されるパッチコンプライアンス情報は常に最新のスキャンの結果です。以前のスキャンの結果は上書きされます。スキャン方法によって異なるパッチベースラインと異なる承認ルールが使用されている場合、パッチコンプライアンス情報が予期せず変化する可能性があります。詳細については、「パッチコンプライアンスデータに対する意図しない上書きの回避」を参照してください。

関連付けコンプライアンスステータスとパッチポリシー – Quick Setup パッチポリシーの下にあるマネージドノードのパッチステータスは、そのノードの State Manager 関連付け実行ステータスと一致します。関連付け実行ステータスが Compliant の場合、マネージドノードのパッチステータスも Compliant とマークされます。関連付け実行ステータスが Non-Compliant の場合、マネージドノードのパッチステータスも Non-Compliant とマークされます。

パッチポリシー設定がサポートされているリージョン

Quick Setup でのパッチポリシー設定は、現在、次のリージョンでサポートされています。

  • 米国東部 (オハイオ) (us-east-2)

  • 米国東部 (バージニア北部) (us-east-1)

  • 米国西部 (北カリフォルニア) (us-west-1)

  • 米国西部 (オレゴン) (us-west-2)

  • アジアパシフィック (ムンバイ) (ap-south-1)

  • アジアパシフィック (ソウル) (ap-northeast-2)

  • アジアパシフィック (シンガポール) (ap-southeast-1)

  • アジアパシフィック (シドニー) (ap-southeast-2)

  • アジアパシフィック (東京) (ap-northeast-1)

  • カナダ (中部) (ca-central-1)

  • ヨーロッパ (フランクフルト) (eu-central-1)

  • 欧州 (アイルランド) (eu-west-1)

  • ヨーロッパ (ロンドン) (eu-west-2)

  • 欧州 (パリ) (eu-west-3)

  • 欧州 (ストックホルム) (eu-north-1)

  • 南米 (サンパウロ) (sa-east-1)

パッチポリシー S3 バケットの許可

パッチポリシーを作成すると、Quick Setup は baseline_overrides.json という名前のファイルを含む Amazon S3 バケットを作成します。このファイルには、パッチポリシー用に指定したパッチベースラインに関する情報が保存されます。

S3 バケットの名前は、aws-quicksetup-patchpolicy-account-id-quick-setup-configuration-id の形式で付けられます。

例: aws-quicksetup-patchpolicy-123456789012-abcde

組織のパッチポリシーを作成している場合、バケットは組織の管理アカウントに作成されます。

AWS Identity and Access Management (IAM) ポリシーを使用して、この S3 バケットにアクセスするための許可を他の AWS リソースに提供する必要がある場合は、次の 2 つのユースケースが参考になります。

いずれの場合でも必要な許可ポリシーは、以下のセクション「Quick Setup S3 バケットのポリシー許可」にあります。

ケース 1: マネージドノードで、Quick Setup によって提供されるインスタンスプロファイルまたはサービスロールではなく、独自のインスタンスプロファイルまたはサービスロールを使用する

パッチポリシー設定には、[インスタンスにアタッチされている既存のインスタンスプロファイルに必要な IAM ポリシーを追加] オプションが含まれています。

このオプションを選択せずに、このパッチポリシーを使用してマネージドノードにパッチを Quick Setup に適用する場合は、次が実装されていることを確認する必要があります。

  • IAM 管理ポリシー AmazonSSMManagedInstanceCore は、マネージドノードに Systems Manager 許可を付与するために使用される IAM インスタンスプロファイルまたは IAM サービスロールにアタッチする必要があります。

  • パッチポリシーバケットにアクセスするための許可を、インラインポリシーとして IAM インスタンスプロファイルまたは IAM サービスロールに追加する必要があります。前掲のコードサンプルで示されているとおり、すべての aws-quicksetup-patchpolicy バケット、または組織もしくはアカウント用に作成された特定のバケットのみに対するワイルドカードアクセスを提供できます。

  • IAM インスタンスプロファイルまたは IAM サービスロールは次に示すキーと値のペアを使用してタグ付けする必要があります。

    Key: QSConfigId-quick-setup-configuration-id, Value: quick-setup-configuration-id

    quick-setup-configuration-id は、パッチポリシー設定の作成に使用される AWS CloudFormation スタックに適用されるパラメータの値を表します。この ID を取得するには、次の手順を実行します。

    1. https://console.aws.amazon.com/cloudformation で AWS CloudFormation コンソール を開きます。

    2. パッチポリシーの作成に使用されるスタックの名前を選択します。名前は StackSet-AWS-QuickSetup-PatchPolicy-LA-q4bkg-52cd2f06-d0f9-499e-9818-d887cEXAMPLE などの形式です。

    3. [パラメータ] タブを選択します。

    4. [パラメータ] リストの [キー] 列で、[QSConfigurationId] を探します。その行の [値] の列で、abcde のような設定 ID を探します。

      この例では、タグをインスタンスプロファイルまたはサービスロールに適用する場合、キーは QSConfigId-abcde、値は abcde です。

IAM ロールにタグを追加する方法については、「IAM ユーザーガイド」の「IAM ロールのタグ付け」と「インスタンスプロファイルのタグの管理」(AWS CLI または AWS API) を参照してください。

ケース 2: VPC エンドポイントを使用して Systems Manager に接続する

VPC エンドポイントを使用して Systems Manager に接続する場合は、S3 の VPC エンドポイントポリシーで Quick Setup パッチポリシー S3 バケットに対するアクセスを許可する必要があります。

S3 の VPC エンドポイントポリシーに対する許可の追加については、「Amazon S3 ユーザーガイド」の「バケットポリシーを使用した VPC エンドポイントからのアクセスコントロール」を参照してください。

Quick Setup S3 バケットのポリシー許可

すべての aws-quicksetup-patchpolicy バケット、または組織もしくはアカウント用に作成された特定のバケットのみに対するワイルドカードアクセスを提供できます。以下で説明する 2 つのケースのために必要な許可を付与するには、いずれかの形式を使用します。

All patch policy buckets
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AccessToAllPatchPolicyRelatedBuckets", "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::aws-quicksetup-patchpolicy-*" } ] }
Specific patch policy bucket
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AccessToMyPatchPolicyRelatedBucket", "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::aws-quicksetup-patchpolicy-account-id-quick-setup-configuration-id"Footnote callout 1 to explain a line in a JSON policy } ] }

1パッチポリシー設定が作成されたら、S3 コンソールでバケットの完全な名前を確認できます。例: aws-quicksetup-patchpolicy-123456789012-abcde

パッチポリシー操作におけるランダムパッチベースライン ID

パッチポリシーのパッチ適用操作では AWS-RunPatchBaseline SSM Command ドキュメントの BaselineOverride パラメータを使用します。

パッチポリシー以外のパッチ適用に AWS-RunPatchBaseline を使用する場合、BaselineOverride を使用して、操作中に使用するパッチベースラインのうち、指定したデフォルトとは異なるリストを指定できます。このリストは baseline_overrides.json という名前のファイルに作成し、所有している Amazon S3 バケットに手動で追加します (「BaselineOverride パラメータの使用」を参照)。

ただし、パッチポリシーに基づくパッチ操作の場合、Systems Manager は自動的に S3 バケットを作成し、そこに baseline_overrides.json ファイルを追加します。その後、(Run Command を使用して) Quick Setup がパッチ適用操作機能を実行するたびに、システムはパッチベースラインごとにランダム ID を生成します。この ID はパッチポリシーのパッチ適用操作ごとに異なり、この ID の示すパッチベースラインが、アカウントに保存されたりアクセスされたりすることはありません。

そのため、設定で選択したパッチベースラインの ID はパッチ適用ログに表示されません。これは、AWS のマネージドパッチベースラインと選択したカスタムパッチベースラインの両方に当てはまります。代わりに、ログに記録されるベースライン ID は、その特定のパッチ適用操作で生成されたベースライン ID です。

さらに、ランダム ID で生成されたパッチベースラインについて、Patch Manager に詳細を表示しようとすると、システムはそのパッチベースラインが存在しないと通知します。この動作は正常であり、無視してもかまいません。

パッチポリシーの作成

パッチポリシーを作成するには、Systems Manager コンソールで次のタスクを実行します。

Quick Setup でパッチポリシーを作成するには
  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

    組織に対してパッチ適用をセットアップする場合は、その組織の管理アカウントにサインインしていることを確認してください。委任管理者アカウントまたはメンバーアカウントを使用してポリシーをセットアップすることはできません。

  2. ナビゲーションペインで、Quick Setup を選択します。

  3. [Patch Manager] (パッチマネージャー) で、[Create] (作成) を選択します。

    ヒント

    アカウントにすでに 1 つ以上の設定がある場合は、まず[設定] セクションで [ライブラリ] タブまたは [作成] ボタンを選択し、カードを表示します。

  4. [Configuration name] (設定名) に、パッチポリシーを識別するための名前を入力します。

  5. [Scanning and installation] (スキャンとインストール) セクションの [Patch operation] (パッチオペレーション) で、パッチポリシーでは、指定したターゲットを [Scan] (スキャン) するか、指定したターゲットにパッチを [Scan and install] (スキャンとインストール) するかを選択します。

  6. [Scanning schedule] (スキャンのスケジュール) で、[Use recommended defaults] (推奨される既定値を使用) または [Custom scan schedule] (カスタムスキャンスケジュール) を選択します。デフォルトのスキャンスケジュールでは、毎日 UTC 午前 1:00 にターゲットをスキャンします。

    • [Custom scan schedule] (カスタムスキャンスケジュール) を選択した場合は、[Scanning frequency] (スキャンの頻度) を選択します。

    • [Daily] (毎日) を選択した場合は、ターゲットをスキャンする時刻を UTC で入力します。

    • [Custom CRON Expression] (カスタム CRON 式) を選択した場合は、スケジュールを [CRON expression] (CRON 式) として入力します。Systems Manager 用の CRON 式の形式については、「リファレンス: Systems Manager の Cron 式および rate 式」を参照してください。

      また、[Wait to scan targets until first CRON interval] (最初の CRON 間隔が経過してからターゲットをスキャンする) を選択します。デフォルトでは、Patch Manager はノードがターゲットになるとすぐにスキャンします。

  7. [Scan and install] (スキャンとインストール) を選択した場合は、指定したターゲットにパッチをインストールするときに使用する [Installation schedule] (インストールスケジュール) を選択します。[Use recommended defaults] (推奨される既定値を使用) を選択すると、Patch Manager では毎週日曜日の午前 2 時 (UTC) にパッチがインストールされます。

    • [Custom install schedule] (カスタムインストールスケジュール) を選択した場合は、[Installation Frequency] (インストールの頻度) を選択します。

    • [Daily] (毎日) を選択した場合は、ターゲットに更新をインストールする時刻を UTC で入力します。

    • [Custom CRON expression] (カスタム CRON 式) を選択した場合は、スケジュールを [CRON expression] (CRON 式) として入力します。Systems Manager 用の CRON 式の形式については、「リファレンス: Systems Manager の Cron 式および rate 式」を参照してください。

      また、[Wait to install updates until first CRON interval] (最初の CRON 間隔が経過してから更新をインストールする) をオフにすると、ノードがターゲットになったらすぐに更新がインストールされます。デフォルトでは、Patch Manager は最初の CRON 間隔が経過してから更新をインストールします。

    • [Reboot if needed] (必要に応じて再起動) を選択すると、パッチのインストール後にノードが再起動されます。インストール後に再起動することをお勧めしますが、その間使用できなくなることが問題になる可能性があります。

  8. [Patch baseline] (パッチベースライン) セクションで、ターゲットをスキャンして更新するときに使用するパッチベースラインを選択します。

    デフォルトでは、Patch Manager は定義済みのパッチベースラインを使用します。詳細については、「事前定義されたパッチベースラインについて」を参照してください。

    [Custom patch baseline] (カスタムパッチベースライン) を選択した場合は、事前定義された AWS パッチベースラインを使用したくないオペレーティングシステム用に選択したパッチベースラインを変更します。

    注記

    VPC エンドポイントを使用して Systems Manager に接続する場合は、S3 の VPC エンドポイントポリシーでこの S3 バケットへのアクセスが許可されていることを確認してください。詳細については、「パッチポリシー S3 バケットの許可」を参照してください。

    重要

    Quick Setup でパッチポリシー設定を使用している場合、カスタムパッチベースラインに加えた更新は 1 時間に 1 回 Quick Setup と同期されます。

    パッチポリシーで参照されていたカスタムパッチベースラインを削除すると、Quick Setup のそのパッチポリシーについての [Configuration details] (設定の詳細) ページにバナーが表示されます。バナーには、パッチポリシーが既に存在しないパッチベースラインを参照していること、およびそれ以降のパッチ適用オペレーションができないことが示されます。この場合は、Quick Setup の [Configurations] (設定) ページに戻り、Patch Manager 設定を選択し、[Actions] (アクション)、[Edit configuration] (設定を編集) を選択します。削除されたパッチベースライン名が強調表示されます。影響を受けるオペレーティングシステム用の新しいパッチベースラインを選択する必要があります。

  9. (オプション) [Patching log storage] (ログストレージにパッチ適用) セクションで、[Write output to S3 bucket] (出力を S3 バケットに書き込む) を選択し、パッチ適用オペレーションログを Amazon S3 バケットに保存します。

    注記

    組織のパッチポリシーを設定する場合、組織の管理アカウントには、少なくともこのバケットに対する読み取り専用アクセス許可が必要です。ポリシーに含まれるすべての組織ユニットには、バケットへの書き込みアクセス権が必要です。他のアカウントへのアクセス権をバケットに付与する方法については、「Amazon Simple Storage Service ユーザーガイド」の「例 2: バケット所有者がクロスアカウントのバケットのアクセス許可を付与する」を参照してください。

  10. [S3 を参照] をクリックして、パッチログ出力を保存するバケットを選択します。管理アカウントには、このバケットへの読み取りアクセス権が必要です。[Targets] (ターゲット) セクションで設定された管理アカウント以外のアカウントとターゲットはすべて、ログ記録用に指定された S3 バケットへの書き込みアクセス権を持っている必要があります。

  11. [Targets] (ターゲット) セクションで、次のいずれかを選択して、このパッチポリシーオペレーションのアカウントとリージョンを指定します。

    注記

    1 つのアカウントで作業している場合、組織や組織単位 (OU) を使用するオプションは利用できません。この設定をアカウント内のすべての AWS リージョン に適用するか、選択したリージョンのみに適用するかを選択できます。

    • [Entire organization] (組織全体) – 組織内のすべてのアカウントとリージョン。

    • [Custom] (カスタム) – 指定した OU とリージョンのみ。

      • [Target OUs] (ターゲット OU) セクションで、パッチポリシーをセットアップする OU を選択します。

      • [Target Regions] (ターゲットリージョン) セクションで、パッチポリシーを適用するリージョンを選択します。

    • [Current account] (現在のアカウント) – 現在サインインしているアカウント内の指定したリージョンのみがターゲットになります。以下のうちのひとつを選択します。

      • [Current Region] (現在のリージョン) – コンソールで選択したリージョン内のマネージドノードのみがターゲットになります。

      • [Choose Regions] (リージョンを選択) – パッチポリシーを適用する個々のリージョンを選択します。

  12. [Choose how you want to target instances] (インスタンスをどのようにターゲットにするかを選択) で、次のいずれかを選択して、パッチを適用するノードを指定します。

    • [All managed nodes] (すべての管理対象ノード) – 選択した OU とリージョンのすべてのマネージドノード。

    • [Specify the resource group] (リソースグループを指定) – 関連するリソースをターゲットにするリソースグループの名前をリストから選択します。

      注記

      現在、リソースグループの選択は、単一アカウント構成でのみサポートされています。複数のアカウントのリソースにパッチを適用するには、別のターゲットオプションを選択します。

    • [Specify a node tag] (ノードタグを指定) – 指定したキーと値のペアでタグ付けされたノードのみに、ターゲットにしたすべてのアカウントとリージョンでパッチが適用されます。

    • [Manual] (手動) – 指定されたすべてのアカウントとリージョンのマネージドノードをリストから手動で選択します。

      注記

      現在、このオプションは Amazon EC2 インスタンスのみをサポートしています。

  13. [Rate control] (レート制御) セクションで、以下を行います。

    • [Concurrency] (同時実行数) に、パッチポリシーを同時に実行するノードの数または割合を入力します。

    • [Error threshold] (エラーのしきい値) を入力します。エラーが発生したノードの数または割合がこの値を超えると、パッチポリシーはエラーになります。

  14. (オプション) [インスタンスにアタッチされている既存のインスタンスプロファイルに必要な IAM ポリシーを追加する] チェックボックスを選択します。

    この選択により、この Quick Setup 設定で作成された IAM ポリシーを、既にインスタンスプロファイルがアタッチされているノード (EC2 インスタンス) またはサービスロールがアタッチされているノード (ハイブリッドアクティベーションノード) に適用します。このオプションは、マネージドノードに既にインスタンスプロファイルまたはサービスロールがアタッチされているが、Systems Manager の操作に必要なすべての許可が含まれていない場合にこの選択をお勧めします。

    ここで選択した内容は、このパッチポリシー設定が適用されるアカウントとリージョンに後で作成されるマネージドノードに適用されます。

    重要

    このチェックボックスをオフにして、このパッチポリシーを使用してマネージドノードにパッチを Quick Setup に適用する場合は、次を実行する必要があります。

    パッチポリシー用に作成された S3 バケットにアクセスするための許可を IAM インスタンスプロファイルまたは IAM サービスロールに追加する

    IAM インスタンスプロファイルまたは IAM サービスロールに特定の key-value ペアをタグ付けします。

    詳細については、ケース 1: マネージドノードで、Quick Setup によって提供されるインスタンスプロファイルまたはサービスロールではなく、独自のインスタンスプロファイルまたはサービスロールを使用する を参照してください。

  15. [Create] (作成) を選択します。

    パッチポリシーの作成後にパッチ適用ステータスを確認するには、Quick Setup ページから設定にアクセスします。