ジョブや処理のターゲットを定義することで、この処理を実行する必要のないノードで処理が実行されるのを防ぐことができます。Grain(グレイン)、Glob(グロブ)、List(リスト)、または Compound(複合)を使用して、ターゲットを整理することができます。
ターゲットについて
ターゲットは 1 つ以上の Salt マスター上に構成されるミニオンのグループで、これに対してジョブの Salt コマンドが適用されます。ターゲットには、環境内の Salt マスターに接続されているミニオンを含めることができます。Salt マスターもミニオンのように管理でき、ミニオン サービスを実行している場合はターゲットにすることができます。
ミニオン ワークスペースにジョブのターゲットを作成することができます。デフォルトでは、ワークスペースを開くと、[すべてのミニオン] ターゲットがアクティブになっています。[すべてのミニオン] ターゲットには、アクセス権限があるすべてのミニオンが一覧表示されます。
開始する前に
ターゲットを作成する前に、作成するターゲット グループについて検討する必要があります。たとえば、セキュリティ ゾーンまたは単一サブネットのターゲット グループを作成することができます。ターゲット グループの整理方法は、組織のニーズによって異なります。
新しいターゲットの作成
SaltStack Config の各ターゲットには名前、Salt マスター、ターゲット基準が必要です。1 台以上のミニオンを含む新しいターゲットを定義するには、次の手順に従います。
- ミニオン ワークスペースで、[ターゲット] サイド パネルの [すべてのミニオン] をクリックします。
- [ターゲットの作成] ボタンをクリックします。
- [ターゲットの作成] ダイアログの [名前] フィールドに、新しいターゲットのわかりやすい名前を入力します。
- デフォルトでは、[すべてのマスター] 設定が有効なため、すべての Salt マスターで管理されているミニオンをターゲットに含めることができます。このボタンをクリックして、このターゲットを 1 台以上の Salt マスターに関連付けられた一部のミニオンのみに適用します。
この設定を無効にすると、ターゲットを適用する Salt マスターの選択に使用できるメニューが表示されます。詳細については、ターゲット設定を参照してください。
- [Grain] メニューをクリックし、使用するターゲットのタイプを選択します。Grain(グレイン)、Glob(グロブ)、List(リスト)、または Compound(複合)を使用して、ミニオンをターゲットにできます。これらのターゲット設定オプションの詳細については、ターゲット設定を参照してください。Salt ターゲットに関する一般的な背景情報の詳細については、Targeting Minionsを参照してください。
- 前の手順で選択したターゲットのタイプに応じて、さまざまなターゲット設定および基準を使用できます。これらの設定の詳細については、ターゲット設定を参照してください。
注: 最初の基準として Compound を選択する場合は、 Salt のターゲット設定に関するリファレンスに含まれるターゲット設定構文を使用する必要があります。また、コンパウンド ターゲット定義に 2 番目の基準を含める必要があります。 SaltStack Config では、ターゲット エディタに他の基準を追加することはできません。複合ターゲット設定の詳細については、 ターゲット設定を参照してください。
- 完了したら、[保存] をクリックします。
新しいターゲットが、ミニオン ワークスペースのターゲット リストに表示されます。
簡単なリスト ターゲットの作成
- ミニオン ワークスペースで、[ターゲット] サイド パネルの [すべてのミニオン] をクリックします。
- リストに含めるミニオンの横にあるチェックボックスをクリックし、[ターゲットの作成] をクリックします。
注: リストを定義する際は、ミニオンのフィルタリングや並べ替えが役に立ちます。
選択したリストが基準として含まれます。
- ターゲット名を入力し、追加のターゲット設定を定義します。ターゲット設定を参照してください。
- 完了したら、[保存] をクリックします。
ターゲットへのピラーの割り当て
- ミニオン ワークスペースで、[ターゲット] サイド パネルからターゲットを選択します。
- [その他のアクション] をクリックします。
- メニューで、[ピラーの適用] をクリックします。
- ダイアログで、ターゲットに適用するピラーを選択します。
ピラーの選択に加え、[ピラーの更新] を選択して、そのピラーを選択したターゲットですぐに使用できるようにします。
- [ターゲットの更新] をクリックします。
これで、選択したピラー データをターゲット内のすべてのミニオンで使用できます。注: [ピラー] ワークスペースでターゲットにピラーを割り当てることもできます。詳細については、 状態ファイルとピラー データの作成方法を参照してください。
ターゲット設定
SaltStack Config でのターゲット設定はオープン ソース Salt と同様ですが、SaltStack Config のターゲットの定義では簡素化されたインターフェイスがあるため、ターゲット定義を保存して再利用することもできます。Salt でのターゲット設定の詳細については、Salt のターゲット設定に関するリファレンスを参照してください。
SaltStack Config の各ターゲットには名前、Salt マスター、ターゲット基準が含まれています。詳細は以下のとおりです。
設定 | 説明 |
---|---|
名前 | ターゲット名を入力します。ターゲット名を一意にする必要はありません。そのため、異なるアイテムが同じ名前で SaltStack Config ユーザー インターフェイスに表示されることがあります。 |
すべての Salt マスター | デフォルトでは、ターゲットにはすべての Salt マスターが含まれます。ただし、特定の Salt マスターのみに属するミニオンをターゲットにすることもできます。 たとえば、環境内に特定のアプリケーションを実行する複数のノードがあり、それらのマシンがすべて単一の Salt マスターに接続されるように Salt インフラストラクチャをパーティション分割している場合は、その Salt マスターのみを選択することにより、ミニオンのサブセット全体を含むターゲットを作成できます。 Salt マスター別のターゲット設定を有効にするには、このラジオ ボタンをクリックしてこの設定を無効にします。新しい設定グループが表示されます。 [マスター] フィールドで、ターゲットとするミニオンの Salt マスターを選択します。追加のターゲット基準はすべて、選択した Salt マスターに関連付けられているミニオンのサブセットのみに適用されます。 |
ターゲット基準 | ターゲットは動的で、新しいミニオンは一致するターゲット定義に自動的に追加されます。今後、一致する可能性のある新しいミニオンを動的ターゲットに含めない場合は、ターゲットをリストとして保存します。 |
ターゲット基準を使用し、以下のフィールドの説明を参照してミニオンのグループを指定することができます。
ターゲット タイプ | 説明 |
---|---|
Grain | 特定の Grain の値を照合します。たとえば、 Grain を使用して複合ターゲットを作成する場合は、Grain 名にスペースが含まれていると、RaaS からミニオンが返されません。そのため、スペースは自動的に |
Glob | ミニオン ID を使用したワイルドカード照合。たとえば、webserver* と入力すれば、webserver01 、webserver02 、webserver03 という名前の複数のミニオンを選択できます。 |
List | ターゲットに含めるミニオンのリストを指定します。たとえば、 ターゲットへのアクセスを動的に許可しない場合は、リストを指定すると便利です。これにより、動的ターゲット基準に一致する新しいミニオンが自動的にターゲットに追加されるのを防ぐことができます。 |
Compound | 複数のターゲット インターフェイスを接続詞 and、or、not で区切って組み合わせます。 最初の基準として Compound を選択する場合は、Salt のターゲット設定に関するリファレンスに含まれるターゲット設定構文を使用する必要があります。また、コンパウンド ターゲット定義に 2 番目の基準を含める必要があります。SaltStack Config では、ターゲット エディタに他の基準を追加することはできません。複合ターゲット設定の詳細については、ターゲット設定を参照してください。 |
ターゲット作成のベスト プラクティス
[シンプルなターゲット ルールの作成]
SaltStack Config で作成できるターゲットの数に制限はありませんが、アクションの実行が必要なすべてのマシンを対象とする最もシンプルなターゲット設定ルールを作成します。
[必要な使用事例の特定]
ターゲット グループ | 使用事例 | ターゲット タイプ |
オペレーティング システム |
|
Grain |
アプリケーション クラスタ |
|
Glob または List |
データセンター、サブネット、アベイラビリティ ゾーン、またはその他のネットワーク セグメント |
|
Glob またはカスタム Grain |
カスタム メソッド |
|
カスタム Grain |
次の手順
必要なターゲットを作成した後に、ターゲットのミニオンに対してタスクとプロセスを実行するジョブを作成できます。詳細については、ジョブの作成方法を参照してください。