Patch について


一連の Compute Engine VM インスタンス全体に OS のパッチを適用するには、Patch を使用します。長時間実行される VM では、欠陥や脆弱性から保護するために定期的にシステムを更新する必要があります。

Patch 機能には次の 2 つの主要コンポーネントがあります。

  • パッチ コンプライアンス レポート。Windows および Linux ディストリビューションの VM インスタンスのパッチ ステータスに関する分析情報を提供します。分析情報のほかに、VM インスタンスの推奨も見ることができます。
  • パッチデプロイ。オペレーティング システムとソフトウェア パッチの更新プロセスを自動化します。パッチデプロイは、パッチジョブをスケジュールします。パッチジョブは VM インスタンス全体で実行され、パッチを適用します

利点

Patch サービスでは、次のプロセスを柔軟に行うことができます。

  • パッチ承認を作成します。特定のオペレーティング システムに適用できるすべてのアップデートから、システムに適用するパッチを選択できます。
  • 柔軟なスケジュール設定を行います。パッチの更新を実行するタイミング(1 回限りのスケジュールと定期的なスケジュール)を選択できます。
  • 高度なパッチの構成設定を適用します。パッチの適用前や適用後のスクリプトなどの構成を追加して、パッチをカスタマイズできます。
  • これらのパッチジョブや更新を一元管理できます。Patch ダッシュボードを使用して、パッチジョブとコンプライアンス ステータスのモニタリングとレポート作成ができます。

料金

料金については、VM Manager の料金をご覧ください。

Patch の仕組み

Patch 機能を使用するには、OS Config API を設定し、OS Config エージェントをインストールする必要があります。詳しい手順については、VM Manager の設定をご覧ください。OS Config サービスによって使用中の環境でのパッチ管理が可能となり、OS Config エージェントが各オペレーティング システムの更新メカニズムを利用してパッチを適用します。アップデートは、パッケージ リポジトリ(ディストリビューション ソース パッケージとも呼ばれます)またはオペレーティング システムのローカル リポジトリから取得されます。

パッチの適用には、以下のアップデート ツールが使用されます。

  • Red Hat Enterprise Linux(RHEL)、Rocky Linux、CentOS - yum upgrade
  • Debian と Ubuntu - apt upgrade
  • SUSE Linux Enterprise Server(SLES) - zypper update
  • Windows - Windows Update Agent

パッチとパッケージのソース

VM Manager で Patch 機能を使用するには、VM がパッケージの更新またはパッチにアクセスできる必要があります。Patch サービスでは、パッケージの更新やパッチはホストされず、保守もされません。また、VM が更新にアクセスできないこともあります。たとえば、VM でパブリック IP を使用していない場合、またはプライベート VPC ネットワークを使用している場合などです。このようなシナリオでは、更新またはパッチへのアクセスを許可するための追加の手順が必要になります。次のオプションを検討してください。

  • 独自のローカル リポジトリまたは Windows Server Update Service をホストして、パッチ ベースラインを完全に制御することをおすすめします。
  • また、Cloud NAT または他のプロキシ サービスを使用して、VM で外部更新ソースを利用できるようにすることもできます。

パッチ管理は、パッチデプロイとパッチ コンプライアンスという 2 つのサービスで構成されます。各サービスについて、以下のセクションで説明します。

パッチデプロイの概要

VM Manager API(OS Config API)を呼び出すとパッチのデプロイが開始されます。これを行うには、Google Cloud コンソール、Google Cloud CLI、または API の直接呼び出しを使用します。次に VM Manager API は、ターゲット VM 上で実行されている OS Config エージェントに、パッチを開始するように通知します。

OS Config エージェントは、各ディストリビューションで利用できるパッチ管理ツールを使用して、各 VM にパッチを適用します。たとえば、Ubuntu VM では apt ユーティリティ ツールを使用します。ユーティリティ ツールは、オペレーティング システムのディストリビューション ソースからアップデート(パッチ)を取得します。パッチ適用が進むと、OS Config エージェントは進行状況を VM Manager API に報告します。

パッチ コンプライアンスの概要

VM に VM Manager を設定すると、VM で次の処理が行われます。

  • OS Config エージェントは定期的(約 10 分ごと)に OS インベントリ データを報告します。
  • パッチ コンプライアンス バックエンドは、このデータを定期的に読み取り、OS ディストリビューションから取得したパッケージ メタデータと相互参照して保存します。
  • Google Cloud コンソールはパッチ コンプライアンス データを取得し、この情報をコンソールに表示します。

パッチ コンプライアンス データの生成方法

パッチ コンプライアンス バックエンドは、定期的に次のタスクを行います。

  1. VM 上の OS インベントリ データから収集されたレポートを読み取ります。
  2. 各オペレーティング システムの脆弱性ソースから分類データをスキャンし、そのデータを重大度の降順で並べ替えます。

    次の表は、各オペレーティング システムで使用される脆弱性のソースをまとめたものです。

    OS 脆弱性ソース パッケージ
    RHEL と CentOS https://access.redhat.com/security/data
    Debian https://security-tracker.debian.org/tracker
    Ubuntu https://launchpad.net/ubuntu-cve-tracker
    SLES なし

    SLES では、パッチ コンプライアンス レポートはサポートされていません。

    Rocky Linux なし

    Rocky Linux では、パッチ コンプライアンス レポートがサポートされています。ただし、重大度に基づく脆弱性データの分類は利用できません。

    Windows 脆弱性ソース パッケージは Windows では使用できません。

    パッチ コンプライアンス バックエンドは、Windows Update Agent API から分類データを取得します。

  3. この分類(脆弱性ソースから取得)を Google のパッチ コンプライアンス ステータスにマッピングします。

    次の表に、Google のパッチ コンプライアンス ステータスの生成に使用するマッピング システムの概要を示します。

    ディストリビューション ソースのカテゴリ Google のパッチ コンプライアンス ステータス
    • 重大
    • 緊急
    • WINDOWS_CRITICAL_UPDATE
    重大(赤)
    • 重要
    • WINDOWS_SECURITY_UPDATE
    重要 / セキュリティ(オレンジ)
    • その他
    その他(黄)
    • アップデートなし
    最新(緑)

  4. 利用可能なアップデートごとに最も重大度の高いデータを選択し、Google Cloud コンソール ダッシュボードのページに表示します。VM の詳細ページで、VM で利用可能なすべてのアップデートを見ることもできます。

たとえば、RHEL 7 VM の OS インベントリ データに次のパッケージ データがあるとします。

  • パッケージ名: package1
  • インストール バージョン: 1.4
  • アップデート バージョン: 2.0

パッチ コンプライアンス バックエンドは、ソース ディストリビューションから分類データをスキャンし、次の情報を取得します。

  • バージョン 1.5 => 重大、CVE-001 を修正
  • バージョン 1.8 => 低、CVE-002 を修正
  • バージョン 1.9 => 低、CVE-003 を修正

次に、Google Cloud Console ダッシュボードで、Critical アップデートが利用可能な VM のリストに、この RHEL 7 VM が追加されます。この VM の詳細を確認すると、3 つの CVE(CVE-001、CVE-002、CVE-003)で利用可能な 1 つの Critical アップデート(バージョン 2.0)が表示されます。

同時パッチ適用

パッチジョブを開始すると、サービスは指定されたインスタンス フィルタを使用して、パッチを適用する特定のインスタンスを決定します。インスタンス フィルタを使用すると、多数のインスタンスに同時にパッチを適用できます。このフィルタリングは、ジョブがスケジュールされた後、パッチジョブが環境の変更を考慮し始めるときに実行されます。

定期パッチ適用

パッチ実行のタイミングには、オンデマンド、事前のスケジュール、定期的なスケジュール構成があります。進行中のパッチジョブをすぐに停止する必要がある場合は、キャンセルすることもできます。

パッチのメンテナンスの時間枠を設定するには、頻度と期間を指定してパッチデプロイを作成します。期間を指定してパッチジョブをスケジュールすると、パッチ適用タスクが指定されたメンテナンスの時間枠外で開始することはなくなります。

また、特定の時間に完了するパッチデプロイを作成して、パッチのインストール期限を遵守させることもできます。この日付までにターゲット VM にパッチが適用されない場合、スケジュール設定されたデプロイがこの日にパッチのインストールを開始します。VM にすでにパッチが適用されている場合、パッチの前後にスクリプトが指定されているか、再起動が要求されていない限り、VM では何も行われません。

パッチジョブの内容

パッチジョブを VM 上で実行すると、オペレーティング システムに対応する更新の組み合わせが適用されます。あるいは、特定のアップデートやパッケージを選択することもできます。また Windows オペレーティング システムの場合は、更新する KB ID を指定することもできます。

パッチジョブを使用して、その特定のディストリビューションの標準パッケージとしてインストールされている Google エージェントを更新することもできます。そのディストリビューションの更新ツールを使用して、利用可能なパッケージを照会します。たとえば、Ubuntu オペレーティング システムで使用可能な Google エージェントを表示するには、apt list --installed | grep -P 'google' を実行します。

Windows

Windows オペレーティング システムの場合は、すべての更新を適用するか、次の更新から選択することができます。

  • 定義の更新
  • ドライバの更新
  • 機能パックの更新
  • セキュリティに関する更新
  • ツールの更新

RHEL/Rocky/CentOS

Red Hat Enterprise Linux、Rocky Linux、CentOS オペレーティング システムの場合は、すべての更新を適用するか、次の更新から選択できます。

  • システムの更新
  • セキュリティに関する更新

Debian / Ubuntu

Debian システムと Ubuntu システムの場合は、すべての更新を適用するか、次の更新から選択することができます。

  • ディストリビューションの更新
  • パッケージ マネージャーの更新

SUSE

SUSE Enterprise Linux Server(SLES)と openSUSE オペレーティング システムの場合は、すべての更新を適用するか、次の更新から選択することができます。

  • システム パッケージの更新
  • Zypper パッチ(特定のバグの修正とセキュリティの修正)

VM のパッチの概要にアクセスする

VM のパッチの概要を表示するには、次の方法があります。

  • 組織またはフォルダ内のすべての VM のパッチ概要情報を表示するには、Google Cloud コンソールの Patch ダッシュボードを使用します。VM のパッチの概要を表示するをご覧ください。

  • パッチジョブのステータスを表示するには、Google Cloud コンソールの [Patch ジョブ] ページを使用します。Google Cloud CLI または OS Config API も使用できます。詳細については、パッチジョブを管理するをご覧ください。

OS パッケージの更新や脆弱性レポートなど、その他の情報を表示するには、オペレーティング システムの詳細の表示をご覧ください。

Patch ダッシュボード

Google Cloud コンソールでは、ダッシュボードを使用して VM インスタンスのパッチ コンプライアンスをモニタリングできます。

Patch ページに移動

Patch ダッシュボード。

Patch ダッシュボードについて

オペレーティング システムの概要

このセクションには、VM の合計数がオペレーティングシステム別に表示されます。このリストに VM を表示するには、OS Config エージェントがインストールされ、OS Inventory Management が有効になっている必要があります。

VM 数のカード。

VM のオペレーティング システムが No data として表示されている場合は、次のいずれかに該当する可能性があります。

  • VM が応答していない。
  • OS Config エージェントがインストールされていない。
  • OS Inventory Management が有効になっていない。
  • オペレーティング システムがサポートされていない。サポート対象のオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。

パッチのコンプライアンス ステータス

OS 別のカード。

このセクションには、各 VM のコンプライアンス ステータスの詳細がオペレーティング システム別に表示されます。

コンプライアンス ステータスは、主に次の 4 つのカテゴリに分類されます。

  • 重大: VM に重大な更新があることを意味します。
  • 重要またはセキュリティ: VM に重要な更新やセキュリティ更新があることを意味します。
  • その他: VM に利用可能な更新がありますが、いずれも重要な更新やセキュリティ更新には分類されません。
  • 最新: VM に利用可能な更新がないことを意味します。

次のステップ