第3章 自動化管理プロバイダー
Red Hat CloudForms における自動化管理プロバイダーは、CloudForms を統合してリソースの自動化操作を簡素化する管理ツールです。本章は、Red Hat CloudForms で利用可能な自動管理プロバイダーとその連携方法について説明します。
Red Hat CloudForms は、以下により自動化管理機能を提供します。
自動化 では、リアルタイムの双方向のプロセス統合が可能です。自動化では、管理イベントや管理または運用アクティビティー向けの適応型の自動化を実装する手段を提供します。
Ansible の統合により、カスタマイズすることなく、Ansible プレイブックを使用してサービス、アラート、ポリシーアクションをバックアップするサポートが追加されました。既存のプレイブックのリポジトリーと CloudForms を同期して、プロバイダーにアクセスするための認証情報を追加し、仮想マシンの作成やリタイア、セキュリティーソフトウェアの更新、容量が少なくなった場合のさらなるディスクの追加などのアクション向けのサービスカタログアイテムを作成します。
Ansible Tower は、CloudForms に統合された管理ツールで、お使いのインベントリーで、既存の Ansibl Tower プロバイダーを使用してインフラストラクチャーの運用を自動化するために設計されています。CloudForms では、サービスカタログや自動化を使用して Ansible Tower のジョブを実行できます。Ansible Tower を使用すると、Ansible プレイブックの実行のスケジュールや、現在または過去の結果の監視が可能で、問題が発生する前に問題のトラブルシューティングや特定が可能になります。
Red Hat CloudForms では Ansible のロールはデフォルトで無効になっています。設定メニューから、構成 → 設定 に移動し、ゾーン で任意のサーバーを選択します。埋め込み Ansible の サーバーロール で On に設定して、ロールを有効化します。
3.1. Ansible
Ansible が Red Hat CloudForms に統合され、プレイブックを使用することでサービス、ポリシー、警告アクションの自動化ソリューションが提供されるようになりました。Ansible プレイブックは、イベントリーと呼ばれるホスト全体での自動化を定義する一連の プレイ またはタスクで構成されています。
単純なタスクから複雑なタスクまで、Ansible プレイブックでクラウド管理をサポートできます。
- サービス: プレイブックで CloudForms のサービスカタログアイテムをバックアップできるようにします。
- コントロールアクション: CloudForms ポリシーは、プロバイダーからのイベントをベースにしたアクションとしてプレイブックを実行できます。
- コントロールアラート: CloudForms アラートの指示できるようにプレイブックを設定します。
Ansible は、インストールの必要がないように CloudForms に組み込まれています。Red Hat CloudForms で Ansible を使用する際の基本的なワークフローは以下のとおりです。
- プレイブックが含まれるソースのコントロールリポジトリーを追加すること
- インベントリーとの認証情報を確立すること
- 利用可能なプレイブックを使用して、サービス、アラート、ポリシーをバックアップすること
3.1.1. 埋め込みの Ansible ワーカーの状態の確認
埋め込みの Ansible ワーカーが起動してその機能を使用していることを確認します。
- 設定メニューから 構成 → 診断 を選択して、任意のサーバーをクリックします。
- ワーカー タブをクリックします。
全ワーカーおよび現在の状況の表が表示され、埋め込み Ansible ワーカーの状況を確認できます。
3.1.2. プレイブックのリポジトリーの追加
Red Hat CloudForms がプレイブックを検出して公開できるようにリポジトリーを追加します。
- → → の順に移動します。
- 追加 をクリックします。
- 名前 フィールドにリポジトリー名を指定します。
- 説明 フィールドにリポジトリーの説明を入力します。
- ドロップダウンメニューから SCM タイプ を選択します。
- リポジトリーの URL または IP アドレスを追加します。
- ドロップダウンメニューから適切な 認証情報 (SCM) を選択します。
- SCM ブランチ フィールドでブランチ名を指定します。
- SCM Update Options の適切なボックスにチェックを入れます。
- 追加 をクリックします。
リポジトリーを同期すると、プレイブックは CloudForms で利用できるようになります。
3.1.3. リポジトリーの更新
Red Hat CloudForms は、対象となるプレイブックのリポジトリーまたは、インベントリー内の全リポジトリーを更新して、プレイブックを最新の状態に保つことができます。
対象のリポジトリーを更新します。
- → → の順に移動します。
- リポジトリーをクリックします。
-
(構成) をクリックしてから、
(Refresh this Repository) をクリックします。
または、一覧からのリポジトリーのすべてまたは一部を更新することができます。
- → → の順に移動します。
- 更新するこれらのリポジトリーを確認します。すべてを選択 をクリックして全リポジトリーを選択します。
-
(構成)、
(Refresh Selected Ansible Repositories) の順に選択します。
3.1.4. 認証情報の追加
Red Hat CloudForms は、プレイブックで使用する認証情報を保存できます。CloudForms に保存されている認証情報は、実行時にプレイブックと照合され、実行されます。
- → → の順に移動します。
-
(設定) から
(新規認証情報の追加) をクリックします。
- 認証情報に 名前 を指定します。
- Credential Type を選択します。選択したタイプによっては、追加のフィールドが表示されます。
- 追加 をクリックします。
3.2. Ansible Tower
Ansible Tower は、Red Hat CloudForms に統合された管理ツールで、インフラストラクチャーの運用の自動化を支援するために設計されています。Red Hat CloudForms では、サービスカタログと自動化を使用して Ansible Tower のジョブを実行することができます。設定は、プレイブックを使用して Ansible Tower 内で行われるので、Red Hat CloudForms ではカスタムの設定や Ruby のスクリプトは必要ありません。
既存の Ansible プレイブックの大型のライブラリーを Red Hat CloudForms のステートマシンとして使用すると、Red Hat CloudForms 環境におけるバックアップやパッケージの更新、メンテナンスなどのタスクを自動化することができます。これには、Red Hat Satellite エージェントを必要に応じてベアメタルマシン上にデプロイする操作も含まれます。これは、特に多数の仮想マシンやインスタンスのある大型環境全体に変更を迅速に適用するのに特に役立ちます。Ansible Tower を使用すると、Ansible のプレイブックの実行をスケジュールして、現在および過去の結果をモニタリングし、トラブルシューティングを行ったり、問題が発生する雨に特定することができます。
Red Hat CloudForms を Ansible Tower プロバイダーとともに使用する場合の基本ワークフローは以下のとおりです。
- 特定のタスクを実行する Ansible プレイブックを作成します。
- 新しい Ansible Tower ジョブテンプレートは、プレイブックから作成され、Red Hat CloudForms によって取得されます。
- Ansible Tower ジョブテンプレートから、Red Hat CloudForms の新規カタログ項目を作成します。また、オプションとして、ユーザーが必要に応じてパラメーターを入力することができるサービスダイアログを作成します。
- ユーザーは Red Hat CloudForms のユーザーインターフェースからサービスをオーダーして、追加の引数 (例: 特定の仮想マシンセットで実行するタスクを制限するなど) を記入します。
- ジョブが実行されます。
Ansible プレイブックについての詳しい情報は、Ansible プレイブックのドキュメント を参照してください。
3.2.1. Ansible Tower プロバイダーの追加
Red Hat CloudForms から Ansible Tower インベントリーにアクセスするには、Ansible Tower をプロバイダーとして追加する必要があります。
- → → の順に移動し、プロバイダー アコーディオンタブをクリックします。
-
構成 で
新規プロバイダーの追加 をクリックします。
新規プロバイダーの追加 エリアで以下を行います。
- 新規プロバイダーの 名前 を入力します。
- プロバイダーの ゾーン を入力します。
- Ansible Tower サーバーの URL ロケーションまたは IP アドレスを入力します。
- 必要な場合には、ピア証明書の検証 のチェックボックスを選択します。
- 認証情報 のセクションで ユーザー名、パスワード、 パスワードの確認 のフィールドに入力します。
- 検証 をクリックして認証情報を検証します。
- 追加 をクリックします。
Ansible Tower プロバイダーを追加した後には、リレーションシップと電源状態を更新して、現在のインベントリーが表示されるようにします。
3.2.2. Ansible Tower プロバイダーの更新
インベントリー、ホスト、仮想マシン、クラスターを含む既存の Ansible Tower の構成管理プロバイダーに関連した全項目のリレーションシップを更新します。
Red Hat CloudForms からインベントリーを更新するか、Ansible Tower 内のインベントリーグループの Update on Launch オプションを有効にします。Update on Launch オプションにより、プレイブックから Ansible Tower ジョブを起動する前に、動的インベントリースクリプトを使用して Ansible Tower は自動的にインベントリーを更新することができます。詳しくは、Ansible Tower のドキュメント を参照してください。
多数の仮想マシンまたはインスタンスがあるプロバイダーから情報を取得するには長時間かかる場合があります。Ansible Tower の動的インベントリースクリプトを編集して、更新を特定の項目に限定して、更新時間を短縮することが可能です。
Red Hat CloudForms で Ansible Tower プロバイダーのインベントリーを更新するには、以下のステップを実行します。
- → → の順に移動し、プロバイダー アコーディオンタブをクリックします。
- すべての Ansible Tower プロバイダー で更新する Ansible Tower プロバイダーのチェックボックスを選択します。
-
(構成) をクリックして、
(リレーションシップと電源状態の更新) を選択します。
- OK をクリックします。
Red Hat CloudForms は次に Ansible Tower API に対してクエリーを実行し、利用可能なホストとジョブテンプレートのインベントリーを取得します。
3.2.3. Ansible Tower プロバイダーとインベントリーの表示
Red Hat CloudForms は、Ansible Tower からインベントリーを自動的に更新します。これには、システムグループ (Ansible Tower 内のインベントリー)、個々のシステムに関する基本情報、サービスカタログまたは自動化から実行される、利用可能な Ansible Tower ジョブテンプレートが含まれます。
Red Hat CloudForms で Ansible Tower のインベントリーとジョブテンプレートを表示およびアクセスするには、まず最初にそれらを Ansible Tower で作成する必要があります。
Ansible Tower プロバイダーとインベントリーの一覧を表示するには、以下のステップを実行します。
- → → の順に移動します。
- プロバイダー アコーディオンメニューを選択して すべての Ansible Tower プロバイダー の一覧を表示します。
- お使いの Ansible Tower プロバイダーを選択して、その Ansible Tower システム上にあるインベントリーグループを展開し、一覧表示します。インベントリーグループを展開すると、各グループに含まれるシステムと、それらのシステムの構成についての詳細情報が表示されます。
同様に、検出されたジョブテンプレートには、 → → → アコーディオンメニューを展開し、プロバイダーの下からアクセスできます。
3.2.4. Ansible Tower 構成済みシステム
Ansible Tower のインベントリーを表示するには、以下のステップを実行します。
- → → → の順に移動します。
- すべての Ansible Tower 構成済みシステム で Ansible Tower 構成済みシステム を選択して一覧を表示します。
3.2.5. サービスカタログからの Ansible Tower ジョブテンプレートの実行
Ansible Tower ジョブテンプレートからサービスカタログ項目を作成して、Red Hat CloudForms から Ansible Tower プレイブックを実行することができます。
まず最初に、Ansible Tower でジョブテンプレートを作成する必要があります。作成したテンプレートは、Ansible Tower プロバイダーのインベントリーを更新すると、Red Hat CloudForms によって自動的に検出されます。
最初にカタログを作成します。
- → に移動します。
-
(構成) をクリックして、
(新規カタログの追加) を選択します。
- カタログの 名前 と 説明 を入力します。
- 追加 をクリックします。
次に Ansible Tower サービスカタログ項目を作成します。
- → → の順に移動します。
- Ansible Tower ジョブテンプレート をクリックして Ansible Tower Job テンプレートを選択します。
-
(構成) をクリックして、
(このジョブテンプレートからサービスダイアログを作成する) を選択します。
- サービスダイアログ名 (例: ansible_tower_job など) を入力して 保存 をクリックします。
- → に移動して、カタログ項目 をクリックします。
(構成) をクリックして
(新規カタログ項目の追加 ) を選択し、少なくとも以下の情報を指定して新規カタログ項目を作成します。
- カタログ項目タイプ には Ansible Tower を選択します。
- サービスカタログ項目の 名前 を入力します。
- カタログ内に表示 を選択します。
- カタログ で、以前に作成したカタログを選択します。
- ダイアログ で以前に作成したサービスダイアログ (この例では ansible_tower_job) を選択します。プレイブックにユーザーからの追加のパラメーターが必要ない場合には、ダイアログなし を選択することが可能です。タスク実行時にユーザーに追加の情報の入力を要求するには、サービスダイアログ を選択する必要があります。
- プロバイダー でお使いの Ansible Tower プロバイダーを選択すると、Ansible Tower ジョブテンプレート オプションが表示され、プロビジョニングのエントリーポイントのステートマシン が自動的に設定されます。
- 該当する場合には エントリーポイントの再設定 および リタイアのエントリーポイント の設定情報を追加します。
一覧から必要な Ansible Tower ジョブテンプレート を選択します。通常、これには、サービスダイアログの作成に使用した Ansible Tower Job テンプレートを選択します。
- 追加 をクリックします。作成したカタログ項目が 全サービスカタログ項目 の一覧に表示されます。
Ansible Tower Job を実行するには、以下のステップを実行します。
→ に移動します。
- カタログアイテムの オーダー をクリックします。
- 要求するパラメーターを入力して 送信 をクリックします。
Red Hat CloudForms の 要求 キューのページが開き、ジョブのステータスが表示されます。
サービス項目の詳細は、Red Hat CloudForms の → で確認することができます。
1 回ごとに単一のジョブを実行する代わりに、複数のサービスカタログ項目をカタログバンドルとしてグループ化して、複数のジョブテンプレートを使用する単一のデプロイメントを作成することができます。詳しい情報は、『仮想マシンとホストのプロビジョニング』の「カタログとサービス」を参照してください。
3.2.6. カスタムの自動化ボタンを使用した Ansible Tower Job の実行
Red Hat CloudForms では、自動化のカスタムボタンを使用して、Ansible Tower のジョブを仮想マシンまたはインスタンスで実行することができます。
Ansible Tower のジョブは、ユーザーによる追加の設定を必要としないようにカスタマイズ不可とするか、ユーザーがパラメーター (例: インストールするパッケージ名など) を指定できるようにすることができます。ダイアログが含まれている Ansible Tower のジョブでは、Red Hat CloudForms はユーザーからの追加情報を受け入れ、自動化で適切な API コールに追加してから、Ansible Tower に送信します。
前提条件
Ansible Tower Job を実行する自動化ボタンを作成する前に、以下の項目を設定する必要があります。
- Ansible Tower 内の Ansible プレイブック。手順については、Ansible Tower documentation を参照してください。
- Ansible Tower は、Red Hat CloudForms でデプロイされた仮想マシンまたはインスタンスに IP レベルで接続できる必要があります。
-
仮想マシンテンプレートには、Ansible Tower 環境のパブリック SSH キーを注入する必要があります。クラウドインスタンスの場合には、
cloud-initを使用可能で、イメージを再ビルドせずにパブリック SSH キーを渡すことができます。 - 使用する動的インベントリースクリプトは、UUID を追記せずに、Red Hat CloudForms で保管されている通りの仮想マシン名を返すように設定する必要があります。
カスタムの自動化ボタンを使用した Ansible Tower ジョブの実行
仮想マシンまたはインスタンス上で Ansible Tower ジョブを実行するためのカスタムボタンを設定するには、まず最初にボタンを作成します。
- → → の順に移動します。
- ボタン のアコーディオンメニューをクリックします。
- → をクリックして、仮想マシンまたはインスタンス上で実行するボタンを設定します。
(構成) をクリックして
(新規ボタンの追加) を選択します。
- 新規ボタンの追加 の画面で、必要に応じて アクション パラメーターを設定します。プレイブックで追加のパラメーターが必要ない場合には、ダイアログ を空白のままにすることができます。タスクの実行時にユーザーが追加の情報を入力するように要求するには、サービスダイアログ を選択する必要があります。
オブジェクト詳細 フィールドに以下にあげる要求の詳細を設定します。
- システム/プロセス には、要求 を選択します。
- メッセージ には 作成 を入力します。
- 要求 には、Ansible_Tower_Job と入力します。
属性と値のペア は、次のパラメーターで設定します。
- job_template_name には、ボタンに関連付ける Ansible Tower ジョブテンプレート名を指定します。job_template_name フィールドは必須です。その他のパラメーターは Tower のジョブダイアログで指定します。
全ユーザーに対して 可視性 を設定するか、必要に応じてロール別に可視性を制限します。
- 追加 をクリックします。
新規ボタンを割り当てる既存のボタングループがない場合には、新しいボタングループを作成します。
→ → から → → に移動し、以下の設定を行います。
-
必要に応じて 基本情報 を設定します。たとえば、ボタングループの名前を
VM Actionsに指定します。 ボタンの割り当て で、前のステップで作成したボタンを 未割り当て の一覧から選択し、
をクリックして 選択内容 に移動します。
- 追加 をクリックします。
-
必要に応じて 基本情報 を設定します。たとえば、ボタングループの名前を
ボタンを既存のボタングループに割り当てるには、以下のステップを実行します。
- → → → に移動します。
-
ボタンの割り当て で、前のステップで作成したボタンを 未割り当て の一覧から選択し、
をクリックして 選択内容 に移動します。
- 追加 をクリックします。
ボタンを使用して Ansible Tower のジョブを仮想マシンで実行するには、以下のステップに実行します。
- → → に移動します。
- Ansible Tower ジョブテンプレートを実行する仮想マシンを選択します。
VM Actions ボタンをクリックして、作成したボタンを表示します。一覧から、Ansible Tower ジョブテンプレートを実行するためのボタンをクリックします。
- 送信 をクリックしてジョブを実行します。
Red Hat CloudForms はジョブが実行されたことを確認するメッセージを表示します。
ボタンの作成時にサービスダイアログを選択した場合には、Red Hat CloudForms はタスクを完了するためのパラメーターを入力するように要求します。必要なパラメーターを入力した後には、Red Hat CloudForms で 要求 のページが表示されます。
サービス項目の詳細は、Red Hat CloudForms の → で確認することができます。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.