IBM Cloud Docs
Schematics アクションのリソース・インベントリーの作成

Schematics アクションのリソース・インベントリーの作成

リソース・インベントリーは、IBM Cloud アクションを使用して Ansible Playbook、モジュール、または役割を実行する単一の Schematics リソースまたはリソースのグループを定義します。

Schematics ワークスペースから 静的インベントリー・ファイル または 動的検索 ターゲット IBM Cloud ・リソースを使用して、リソース・インベントリーを指定できます。

静的インベントリー・ファイルの作成

Schematics は、単一のターゲット・ホストまたはIPアドレスを使ってターゲット・ホストのグループを指定する hosts.ini ファイルの定義をサポートしています。 ターゲット・ホストのグループに [webserver] などの名前を割り当て、その名前を Ansible Playbook で使用して、Playbook タスクを実行する場所を Schematics に指示できます。

静的ホストの定義

SSH を介してターゲット・ホストに接続するには、 Ansible に DNS 解決可能ホスト名または IP アドレスのいずれかが必要です。

IBM Cloud 上で VSI を構成するための Schematics アクションの標準的な使用法は、要塞ホストを使用することです。 アクションの資料 を参照してください。 VSI のプライベート・ネットワーク・インターフェースへのアクセスは、要塞ホストを介して行われます。 これは、プライベート・ホスト名は DNS によって Schematicsに通知されないため、ホストのプライベート IP アドレスを使用してターゲット・ホストに接続することを意味します。 プライベート・ホストの場合は、要塞ホストの IP アドレスと IP アドレスを使用してインベントリーを構成する必要があります。

パブリック IP アドレスとパブリック DNS ホスト名を持つ VSI は、完全修飾 DNS ホスト名で参照できます。

(短い形式の) ホスト名の使用はサポートされていません。

ホスト・ファイルの作成

  1. IBM Cloudコンソールにログインします。
  2. メニューアイコン のハンバーガーアイコン をクリック > プラットフォームオートメーション > Schematics > Ansible
  3. プレイブック名をクリックする。
  4. Inventory > Create Inventoryをクリックします。
  5. インベントリーの名前を入力し、ロケーションを確認し、インベントリーを作成する Resource group を選択します。
  6. **「手動で定義」**タブを選択します。
  7. **「ファイル」**フィールドに、Ansible Playbook を実行するターゲット・ホストを入力します。 ホストについては、必ず INI 構文で指定してください。 サンプル構文については、「ファイル形式」を参照してください。 制限を確認して、指定したインベントリー定義が Schematics でサポートされていることを確かめます。
  8. **「インベントリーの作成」**をクリックします。
  9. Schematics アクションを作成し、作成したリソースインベントリを使用するための 手順に 従います。

ファイル形式

以下のサンプル hosts.ini ファイルを検討して、静的ホスト・インベントリー・リストの構造を確認します。 hosts.ini ファイル構造について詳しくは、 Ansible の資料を参照してください。

この例では、ホスト名を使用してパブリックにアクセス可能なホストを参照し、IP アドレスを使用してプライベート・ホストを参照します。

mail.example.com

[webservers]
web1.mydomain.com
web2.mydomain.com

[dbservers]
172.16.5.9
172.16.5.10
172.16.5.11

[datacenters]
172.15.4.0

制限

Schematics では、静的インベントリー・ファイルの以下の制限があります。

  • Schematics は、INI ファイル構文のみをサポートします。
  • hosts.ini ファイルでは変数はサポートされていません。
  • hosts.ini ファイルでキーと値のペアを使用してホスト・グループを指定することはできません。
  • ターゲット・ホストのホスト名または IP アドレスが変更された場合は、hosts.ini ファイルを手動で更新する必要があります。
  • ホストが要塞ホストによって保護され、プライベート IP アドレスを介してのみアクセス可能な場合は、ホストの IP アドレスを指定する必要があります。
  • パブリックにアクセス可能な IP アドレスを介してホストにアクセスでき、DNS 名が登録されている場合、ホストはその完全修飾ホスト名で参照できます。
  • すべてのターゲット・ホストが同じ SSH 公開鍵を使用して構成されている必要があります。 Schematics アクションで静的インベントリー・ファイルを使用する場合は、1 つの SSH 鍵を指定して、リソース・インベントリーに含まれているすべてのターゲット・ホストで認証を行うことができます。 コマンド・ラインまたは API 呼び出しの場合、SSH 鍵には、鍵の詳細の末尾に \n が含まれている必要があります。 SSH鍵の詳細については、 SSH鍵の追加を 参照してください。

Schematics ワークスペースからのリソース・インベントリーの動的作成

Schematics ワークスペースでプロビジョニングしたクラウド リソースから、リソース インベントリを動的に構築できます。

ダイナミック・リソース・インベントリは、 Schematics ワークスペースでプロビジョニングしたクラウド・リソースを参照します。 ワークスペースからクラウド・リソースを取得するには、定義済みのリソース・クエリを使用します。 Schematics アクションでこのインベントリーを使用すると、Schematics がターゲット・ホストを自動的に決定するため、ターゲット・リソースに割り当てられた IP アドレスを追跡する必要はありません。

  1. IBM Cloudコンソールにログインします。
  2. Menu iconhamburger icon>Platform Automation>Schematics>Ansible をクリックします。
  3. プレイブック名をクリックする。
  4. Inventory > Create Inventoryをクリックします。
  5. インベントリーの名前を入力し、ロケーションを確認し、インベントリーを作成する Resource group を選択します。
  6. **「ホスト・グループ」**タブを選択します。
  7. **「ホスト・グループの作成」**をクリックします。
  8. ホスト・グループの名前を入力し、ホスト・グループに追加するターゲット・ホストをプロビジョンした Schematics ワークスペースを選択します。
  9. オプション: **「照会の追加 (Add query)」**をクリックして、照会に条件をさらに追加し、ホスト・グループに追加されるターゲット・ホストの数を制限します。 リソース名またはタグを使用して、ホストを特定することもできます。 詳しくは、サポートされているリソース照会を参照してください。
  10. さらにホストグループを追加するには、ステップ5~8を繰り返します。
  11. テーブル・リストから、リソース・インベントリーに含めるホスト・グループを選択します。
  12. **「インベントリーの作成」**をクリックします。
  13. ステップに従って、 Schematics アクションを作成し、作成したリソースインベントリを使用します。

サポートされているリソース照会

リソース照会
サポートされる照会 説明
ワークスペース名 特定のワークスペースからすべてのクラウドリソースを選択する
ワークスペース名とリソース名 リソース名を使用して、特定のワークスペースから特定のリソースを選択します。 同じワークスペースから複数のリソースを選択するには、このタイプの複数の照会を追加できます。
ワークスペース名とタグ タグを使用して、特定のワークスペースから特定のリソースを選択します。 タグは、ワークスペースを作成してリソースをプロビジョンすると、リソースに追加されます。 同じワークスペースから異なるタグを持つ複数のリソースを選択するには、このタイプの複数の照会を追加できます。

制限

Schematics では、動的インベントリーの以下の制限があります。

  • 「サポート対象の照会」の中から選択して、リソース・インベントリーに含めるターゲット仮想サーバー・インスタンスを選択できます。
  • Schematics は、ターゲット Virtual Servers for VPC の IP アドレスを取得し、その IP アドレスをリソース・インベントリーに追加します。 ターゲット Virtual Servers for VPC にパブリック IP アドレスがある場合、そのパブリック IP アドレスがリソース・インベントリーに使用されます。 パブリック IP アドレスがない場合は、プライベート IP アドレスがリソース・インベントリーに使用されます。
  • すべてのターゲット・ホストが同じ SSH 公開鍵を使用して構成されている必要があります。 Schematics アクションで静的インベントリー・ファイルを使用する場合は、1 つの SSH 鍵を指定して、リソース・インベントリーに含まれているすべてのターゲット・ホストで認証を行うことができます。 コマンド・ラインまたは API 呼び出しの場合、SSH 鍵には、鍵の詳細の末尾に \n が含まれている必要があります。 SSH鍵の詳細については、 SSH鍵の追加を 参照してください。