動的セットについて

動的セットを使用して、OS管理ハブ内の特定の属性に基づいてインスタンスを編成します。動的セットを使用すると、環境の特定のセグメントを管理し、更新ジョブを実行し、レポートを実行できます。

動的セットとは何ですか。

動的セットは、事前定義された基準に基づいてメンバーを自動的に含むインスタンスのコレクションです。インスタンスを手動で追加するかわりに、動的セットを作成するときに、属性(タグ、OSバージョン、場所など)を使用して基準を定義します。OS管理ハブは、これらのルールを継続的に評価し、インスタンスまたはその属性の変更に応じてセットを更新します。動的セットは柔軟なメンバーシップを提供します。複数のコンパートメントとその子を含めることで、更新またはパッチのために環境の特定のセグメントを簡単にターゲット設定できます。

セット・メンバーの識別方法

  1. ルールの定義: メンバーシップの条件を指定します(テナンシ内にFinanceタグを持つすべてのインスタンスなど)。動的セット・メンバーは、複数のコンパートメントにまたがることができます。

  2. 自動評価: OS管理ハブは環境をスキャンし、基準に一致するインスタンスをセットに追加します。

  3. 継続的監視: サービスは、次の方法でセット・メンバーシップを最新の状態に保ちます。

    • 条件を満たす新規インスタンスの追加。
    • 一致しなくなったインスタンスを削除します。
    • 照合条件を更新した場合のメンバーシップの調整。
ノート

スケジュールされたジョブで動的セットを使用する場合、ターゲット・インスタンスは、ジョブの作成時ではなく実行時に識別されます。つまり、セット・メンバーは、スケジュール済ジョブの作成時と実行時の間に変更できます。

動的セットとグループの違い

主な違いは、メンバーの識別方法と柔軟性です。

ダイナミックセット グループ

メンバーは、ルールに基づいて自動的に識別されます。

メンバーは手動で追加または削除されます。

異なるOSおよびアーキテクチャ(Oracle Linux 9、Windows Server 2022など)を持つインスタンスを含めることができます。

すべてのメンバーは、同じOSおよびアーキテクチャ(Oracle Linux 9 x86_64など)を共有する必要があります。

インスタンスは、他の動的セットまたはグループに属することができます。

インスタンスは1つのグループに所属できます。

動的セットとグループの併用

動的セットとグループを結合して、ソフトウェアとパッチの管理を合理化します。インスタンスは1つのグループに所属できますが、1つ以上の動的セットにも所属できます。このアプローチにより、管理者は次のことを実行できます。

  • グループを使用して、グループ・マニフェストを使用してソフトウェア・ソースをアタッチすることで、ソフトウェアの可用性を管理します。
  • 動的グループを使用して、環境の特定のセグメントを更新用にターゲット指定します。

管理者は、グループと動的セットの両方を使用することで、ソフトウェア・コンテンツの可用性を正確に制御し、環境全体でステージングされたパッチ・ロールアウトを管理できます。例: ステージングされたデプロイメントでの月次パッチ・ロールアウトを参照してください。

すべてのアクションがすべてのメンバーに適用されるわけではありません

動的セットには、OSとアーキテクチャが混在するインスタンスを含めることができます。そのため、特定のアクション(パッケージのインストールなど)がセットのすべてのメンバーに適用されないことがあります。たとえば、特定のOracle Linuxパッケージをインストールするジョブを作成できます。この場合、アクションがOSと互換性がないため、Windowsインスタンスはスキップされます。「ジョブの理解」も参照してください。

必要なポリシー

動的セットには、ユーザーのインスタンスをリストする機能が必要です。動的セットを使用する前に、必要なポリシーを構成します。OS管理ハブ・ポリシーの手動作成を参照してください

コンパートメント・レベルのポリシー

OCIでは、動的セットに、指定されたコンパートメント内のすべてのインスタンスをリストします:

Allow any-user to inspect instances in compartment compartment_name where request.principal.type='osmh-dynamic-sets'

オンプレミス・インストールの場合は、指定したコンパートメント内のすべての管理エージェントを動的セットにリストします:

Allow any-user to inspect management-agents in compartment compartment_name where request.principal.type='osmh-dynamic-sets'
テナンシ・レベルのポリシー

OCIでは、動的セットによって、指定されたテナンシ内のすべてのインスタンスがリストされます:

Allow any-user to inspect instances in tenancy where request.principal.type='osmh-dynamic-sets'

オンプレミス・インストールの場合は、指定したテナンシ内のすべての管理エージェントを動的セットにリストします:

Allow any-user to inspect management-agents in tenancy where request.principal.type='osmh-dynamic-sets'

照合ルール条件

照合ルール条件を使用して、動的セットに含めるインスタンスを識別します。ルール条件のない動的セットには、コンパートメント内のすべてのインスタンスが含まれます。

'Match any'と'Match all'の違い

動的セットを作成する場合は、OS管理ハブによるルール条件の評価方法を指定します。オプションは次のとおりです。

  • 任意の条件に一致: ルール条件の少なくとも1つに一致するインスタンスが含まれます。論理OR (条件1 OR条件2 OR条件3など)のように動作するため、広い範囲を持つセットを定義する場合に使用します。
  • すべての条件に一致: 定義されたすべての条件を満たすインスタンスが含まれます。論理的なAND (条件1 AND条件2 AND条件3など)のように動作するため、狭いスコープを持つセットを定義し、狭いスコープを持つセットを定義する場合に使用します。

条件

可能な一致条件は次のとおりです。

  • タグ: 特定のタグに基づくインスタンスが含まれます。OCIインスタンスの場合、これはコンピュート・インスタンスのタグです。オンプレミス・インスタンスまたはサードパーティ・クラウド・インスタンスの場合、これは管理エージェント・リソースのタグです。

    • OCIインスタンスの場合、コンピュート・インスタンスのタグが評価されます。
    • オンプレミス・インスタンスまたはサードパーティ・クラウド・インスタンスの場合、管理エージェント・リソースのタグが評価されます。
  • OSバージョン: 指定したOSバージョンを実行しているインスタンスが含まれます。
  • アーキテクチャ: 指定されたハードウェア・アーキテクチャを持つインスタンスが含まれます。
  • 場所: 指定した場所にインスタンスが含まれます。
  • ステータス: 指定した操作状態にあるインスタンスが含まれます。
  • グループ: 指定されたグループのメンバーであるインスタンスが含まれます。
  • 再起動ステータス: 指定した再起動状態にあるインスタンスが含まれます。
  • インスタンス名: 指定された名前を持つインスタンスが含まれます。
    • インスタンスを含めるには、名前が正確に一致している必要があります。ワイルドカードは使用できません。

例: ステージングされたデプロイメントでの月次パッチ・ロールアウト

Oracle Linux 8インスタンスとOracle Linux 9インスタンスが混在する環境では、一般的なシナリオ(月次パッチ更新頻度)について考えてみます。管理者は、Oracle Linux 8とOracle Linux 9の両方の最新のパッチを含むカスタム・ソフトウェア・ソースを毎月準備します。目標は、これらのパッチをより一般的に適用する前に、検証のためにインスタンスの小さなサブセットにデプロイすることです。これは、動的セットおよびグループを使用して実行できます。

  1. グループ編成: 管理者は2つのグループを作成します。1つはOracle Linux 8インスタンス用、もう1つはOracle Linux 9インスタンス用です。これらのグループにより、適切なパッチが適切なOSバージョンに関連付けられていることが保証されます。
  2. インスタンスを分類するためのタグ付け: 管理者はタグを使用してフリートをセグメント化します:

    • Oracle Linux 8およびOracle Linux 9インスタンスの小規模なサブセットには、初期テスト用の「パイロット」インスタンスとしてタグ付けされています。
    • 残りのインスタンスは、より広範なデプロイメントのために本番インスタンスとしてタグ付けされます。
  3. 動的セットの作成: 管理者は、次の2つの動的セットを作成します。

    • 1つのセットには、すべてのパイロット・インスタンス(Oracle Linux 8とOracle Linux 9の両方)が含まれます。
    • もう1つのセットには、すべての本番インスタンス(Oracle Linux 8とOracle Linux 9の両方)が含まれます。
  4. パッチ・デプロイメント: 月次カスタム・ソフトウェア・ソースを準備した後、管理者はそれらをOracle Linux 8およびOracle Linux 9グループにアタッチし、パッチをフリート全体で使用できるようにします。

  5. ステージングされたロールアウト: 管理者は月ごとのパッチを段階的に適用します。

    • 管理者は、「パイロット」動的セットに対して更新ジョブを実行し、テスト・インスタンスにパッチを適用します。
    • 安定性を検証した後、管理者は「本番」動的セットに対して別の更新ジョブを実行し、ロールアウトを完了します。