このページでは、従来の OS ゲストポリシーについて説明します。
OS ゲストポリシーを使用すると、VM インスタンス(VM)に一貫した構成(望ましい状態とソフトウェア)をデプロイ、クエリ、維持できます。Compute Engine では、ゲストポリシーを使用して VM のソフトウェア構成の整合性を維持する必要があります。
ゲストポリシーを作成するには、ゲストポリシーを作成するをご覧ください。
概要
ゲストポリシーは、必要なパッケージ、パッケージ リポジトリ、ソフトウェア構成などの設定を含むリソースです。これらの設定を適用する VM も、ゲストポリシーで指定します。
ゲストポリシーを使用して、次のタスクを行うことができます。
- ソフトウェア パッケージをインストール、削除、自動更新する。
- ソフトウェア パッケージ リポジトリを構成する。
- ソフトウェア レシピを使用してソフトウェアをインストールする。
主な用語
- パッケージ: dpkg、rpm などのソフトウェア パッケージ。
- パッケージ リポジトリ: インストール可能なソフトウェア パッケージを格納するリポジトリ。
ソフトウェア レシピ: ゲスト オペレーティング システム用のパッケージ化されていないソフトウェアをインストールするための一連の手順。ソフトウェア レシピを使用すると、VM でのソフトウェアのインストール手順を指定できます。これらの手順には、次のような追加のステップが含まれます。
- ファイルのダウンロード
- zip、tar などのアーカイブの解凍
- ソフトウェアを構成するために必要なコマンドまたはスクリプトの実行
従来のソフトウェア パッケージとして提供されていないソフトウェアをインストールする場合や、インストール引数や手順を追加する必要があるパッケージには、ソフトウェア レシピが理想的な手段となります。
料金
料金については、VM Manager の料金をご覧ください。
ゲストポリシーの仕組み
プロジェクトまたは特定の VM インスタンスを対象としたゲストポリシーを設定し、OS Config エージェントをインストールすると、OS Config エージェントが VM 上で実行され、ゲストポリシーの指定に従ってその VM を目標とする状態に維持します。OS Config エージェントは初回実行時に構成を適用します。その後、10 分ごとにサービスをポーリングして構成のずれを修正します。
OS Config エージェントは、標準のシステム パッケージ マネージャーを使用して、必要に応じて変更を適用します。Linux では、これは apt install
や yum install
などのシステム パッケージ マネージャーを実行してパッケージをインストールすることを意味します。
たとえば、接頭辞 test-
を持つ、プロジェクト内のすべてのインスタンスに Cloud Monitoring エージェントをインストールするようにポリシーを設定できます。詳しくは、ゲストポリシーの yaml ファイルまたは JSON ファイルを構成するをご覧ください。
構成管理サービスが割り当ての競合を処理する方法
ゲストポリシーは既存の VM と将来実行される VM に適用されるため、構成管理サービスはゲストポリシーの作成プロセス中に、現在競合があるか、あるいは将来競合が発生する可能性があるかを確認します。
構成管理サービスは、競合する構成が同じ VM に割り当てられないようにするために、互いに競合すると思われる 2 つのポリシーのうち、後者のポリシーを拒否します。
たとえば、次のポリシーがあるとします。
- ポリシー A では、
color=red
というラベルが設定されたすべての VM インスタンスにパッケージfoo
がインストールされます。 - ポリシー B では、名前の接頭辞が
dev-
となっているすべてのインスタンスからパッケージfoo
が削除されます。
dev-instance
という名前のインスタンスを作成してラベル color=red
を設定すると、競合するポリシーが作成されます。この問題を軽減するために、構成管理サービスは policy B
の作成を制限します。