2.2. 外部管理データベースを備えた Automation Controller のインストール
以下の手順を使用して、リモート PostgreSQL インスタンスをデータベースとして通信するように設定された 1 台のマシンにスタンドアロンの Automation Controller サーバーをインストールできます。このリモート PostgreSQL は、管理するサーバーを使用することも、Amazon RDS などのクラウドサービスで提供することも可能です。
2.2.1. 前提条件
- Red Hat Ansible Automation Platform Product Software からプラットフォームインストーラーを選択して入手している。
- ベースシステムの要件を満たすマシンにインストールしている。
- レジストリーサービスアカウントの作成 ガイドの手順に従って Red Hat レジストリーサービスアカウントを作成している。
2.2.2. Red Hat Ansible Automation Platform インストーラーのインベントリーファイルの編集
Red Hat Ansible Automation Platform インストーラーのインベントリーファイルを使用して、インストールシナリオを指定できます。
- の使用external databases: インベントリーファイルのデータベースセクションが正しく設定されていることを確認してください。
-
[automationhub]
グループに自動化ハブの情報を追加します。 - Automation Hub と自動化コントローラーは、同じノードにインストールできません。
- 自動化コントローラーは、使用するデータベースのレプリケーションやフェイルオーバーを設定しません。自動化コントローラーは、所有するレプリケーションと連携する必要があります。
- パフォーマンス上の理由から、データベースサーバーは、自動化コントローラーサーバーと同じネットワーク上または同じデータセンターに置く必要があります。
-
Ansible Automation Platform をインストールするにはコンテナーレジストリーサービスが必要です。コンテナーレジストリーにアクセスできると、自動化実行環境を Ansible Automation Platform に読み込み、Ansible Playbook およびロール実行する一貫性のあるコンテナー化された環境を提供できます。デフォルトでは、Ansible Automation Platform は Red Hat レジストリーサービスアカウントを必要とする
registry.redhat.io
を使用します。レジストリーサービスアカウントの作成については、レジストリーサービスアカウントの作成 を参照してください。 - upgrading an existing cluster: クラスターをアップグレードするときに、既存のインスタンスまたはインスタンスグループを除外するようにクラスターを再設定する必要がある場合があります。インベントリーファイルからインスタンスまたはインスタンスグループを省略すると、クラスターからインスタンスを削除するだけでは不十分です。インベントリーファイルからインスタンスまたはインスタンスグループを除外する他に、アップグレードを開始する前に、インスタンスまたはインスタンスグループのプロビジョニングを解除する 必要もあります。解除しないと、省略されたインスタンスまたはインスタンスグループはクラスターと通信し続けます。これにより、アップグレード中に Tower サービスに関する問題が生じる可能性があります。
-
clustered installations: クラスター化されたセットアップを作成している場合は、
localhost
をすべてのインスタンスのホスト名または IP アドレスに置き換える必要があります。すべてのノードまたはインスタンスが、このホスト名やアドレスを使用して他のノードに到達できるようにする必要があります。つまり、いずれかのノードでlocalhost ansible_connection=local
を使用することができません。また、すべてのノードがホスト名と同じ形式を使用する必要があります。
- リモートマシンへの root アクセスが必要です。Ansible では、これはさまざまな方法で実行できます。
-
ansible_user=root ansible_ssh_pass="your_password_here"
インベントリーのホスト変数またはグループ変数 -
ansible_user=root ansible_ssh_private_key_file="path_to_your_keyfile.pem"
インベントリーのホスト変数またはグループ変数 -
ANSIBLE_BECOME_METHOD='sudo' ANSIBLE_BECOME=True ./setup.sh
become
プラグインの詳細は、特権昇格について を参照してください。
手順
インストーラーに移動します。
[バンドルのインストーラー]
$ cd ansible-automation-platform-setup-bundle-<latest-version>
[オンラインインストーラー]
$ cd ansible-automation-platform-setup-<latest-version>
-
テキストエディターで
inventory
ファイルを開きます。 -
inventory
ファイルのパラメーターを編集して、インストールシナリオを指定します。以下の例に従ってください。
2.2.3. 外部管理データベースを使用するスタンドアロン Automation Controller のインベントリーファイル例
以下の例では、外部データベースを使用して Automation Controller のインストールをデプロイするためのインベントリーファイルの設定方法を説明します。
-
pg_password
には特殊文字を使用しないでください。これにより、設定が失敗する場合があります。 -
registry_username
およびregistry_password
に Red Hat Registry Service Account の認証情報を入力し、Red Hat コンテナーレジストリーにリンクします。
[automationcontroller] 127.0.0.1 ansible_connection=local [database] database.example.com [all:vars] admin_password='<password>' pg_password='<password>' pg_host='database.example.com' pg_port='5432' pg_database='awx' pg_username='awx' registry_url='registry.redhat.io' registry_username='<registry username>' registry_password='<registry password>'
2.2.4. 追加のインベントリーファイル変数
インベントリーファイルに追加変数を追加して、Red Hat Ansible Automation Platform インストールをさらに設定できます。これらの設定では、Red Hat Ansible Automation Platform 管理用のさまざまなオプション機能を追加します。テキストエディターを使用して inventory
ファイルを編集して、これらの変数を追加します。
表2.5 追加のインベントリーファイル変数
変数 | 説明 | デフォルト |
---|---|---|
|
|
|
例
-
API アクセスログを有効にするには、変数をインベントリーに追加し、フラグを
true
に設定します。
[all:vars:] admin_password = 'password' pg_host='' pg_port='' GALAXY_ENABLE_API_ACCESS_LOG=true
2.2.5. 設定スクリプトフラグおよび追加変数
設定スクリプトを実行して Automation Controller をインストールする場合に、フラグおよび追加変数を指定することもできます。
表2.6 フラグ
引数 | 説明 |
---|---|
| ヘルプメッセージを表示して終了します。 |
|
Ansible インベントリーファイルへのパス (デフォルト: |
| 追加の Ansible 変数を key=value または YAML/JSON として設定します。 |
| インストールの代わりにデータベースのバックアップを実行します。 |
| インストールの代わりにデータベースの復元を行います。 |
| 生成 and SECRET_KEY の配布 |
--
の区切り文字を使用して、適用する Ansible 引数を追加します。たとえば、./setup.sh -i my_awesome_inventory.yml -e matburt_is_country_gold=True — -K
となります。
-r
を渡してデータベース復元を実行する場合は、EXTRA_VARS でデフォルト以外のパスを指定しない限り、デフォルト復元パスが使用されます。復元パスを指定する EXTRA_VAR を渡す以下の例を参照してください。./setup.sh -e 'restore_backup_file=/path/to/nondefault/location' -r
-e bundle_install=false
を渡すと、オンラインインストールを強制的に実行できます。$ ./setup.sh -e bundle_install=false
表2.7 追加変数
変数 | 説明 | デフォルト |
---|---|---|
| Automation Controller のインストール時に、Ansible も最新の状態であることを確認します。 |
|
| Tower のインストール時に、デモ組織、プロジェクト、認証情報、ジョブテンプレートなども作成します。 |
|
| バンドルからインストールする場合に、バンドルされているリポジトリーを配置する場所 |
|
| nginx で HTTPS トラフィックを無効にします。HTTPS の負荷をロードバランサーに分散する場合に便利です。 |
|
| Web セキュリティーポリシーメカニズム HSTS を無効にします。 |
|
| nginx が HTTP をリッスンするように設定するポート |
|
| nginx が HTTPS をリッスンするように設定するポート |
|
| バックアップ時に使用する一時的な場所 |
|
| 復元元として使用する別のバックアップファイルを指定します。 | なし |
| Tower のインストールに必要な最小メモリー (テストインストールの場合に限り変更してください) |
|
| 表示ファイルの説明に使用できる最小リソース (テストインストールの場合に限り変更してください) | なし |
|
プリフライトチェックを無視します。これはテンプレートや他のシステム以外のイメージにインストールするときに便利です ( |
|
例
- コアをアップグレードするには、以下を実行します。
./setup.sh -e upgrade_ansible_with_tower=1
- nginx で処理する https を無効化するには、以下を実行します。
./setup.sh -e nginx_disable_https=true
- バックアップファイルから復元時にデフォルトではないパスを指定する場合は、以下を実行します。
./setup.sh -e 'restore_backup_file=/path/to/nondefault/location' -r
2.2.6. Red Hat Ansible Automation Platform インストーラー設定スクリプトの実行
Private Automation Hub のインストールに必要なパラメーターを使用して inventory
ファイルを更新したら、setup スクリプトを実行ができます。
手順
setup.sh
スクリプトを実行します。$ ./setup.sh
インストールが開始します。
2.2.7. Automation Controller インストールの確認
インストールが完了したら、inventory
ファイルに挿入した管理者認証情報でログインして、Automation Controller が正常にインストールしたことを確認できます。
手順
-
inventory
ファイルのAutomation Controller ノードに指定した IP アドレスに移動します。 -
inventory
ファイルに設定した管理者認証情報を使用してログインします。
Automation Controller サーバーには、ポート 80 からアクセスできます。https://<TOWER_SERVER_NAME>/ ただし、ポート 443 にリダイレクトされるため、443 も使用できる必要があります。
インストールに失敗し、Red Hat Ansible Automation Platform の有効なライセンスを購入済みのお客様は、Red Hat カスタマーポータル (https://access.redhat.com/) から Ansible までお問い合せください。
自動化コントローラーへのログインに成功すると、Red Hat Ansible Automation Platform 2.1 のインストールが完了します。
2.2.7.1. 追加の Automation Controller の設定とリソース
追加のAutomation Controller の設定については、以下の資料を参照してください。
表2.8 Automation Controller を設定するための資料
リンク | 説明 |
---|---|
Automation Controller を設定して最初の Playbook を実行します。 | |
カスタマースクリプト、管理ジョブなどを使用して Automation Controller の管理を設定します。 | |
プロキシーサーバーを使用して Automation Controller を設定します。 | |
Red Hat と共有する Automation Controller の情報を管理します。 | |
Automation Controller の機能をより詳細に確認します。 |
2.2.8. Ansible Automation Platform 2.1 の次のステップ
Ansible Automation Platform を初めて使用するユーザーの場合でも、以前の Ansible コンテンツを最新版をインストールした Red Hat Ansible Automation Platform に移行する予定の既存の管理者の場合でも、次の手順を確認して、Ansible Automation Platform 2.1 の新機能を活用し始めてみてください。
2.2.8.1. Ansible Automation Platform 2.1 へのデータの移行
Ansible Automation Platform 2.1 へのアップグレードを完了しようとしているプラットフォーム管理者の場合には、データを新しいインスタンスに移行するために追加の手順が必要になる場合があります。
2.2.8.1.1. 従来の仮想環境 (venvs) から自動化実行環境への移行
Ansible Automation Platform 2.1 は、カスタム Python 仮想環境 (venvs) よりも、自動化実行環境 (Ansible 自動化の実行とスケーリングに必要なコンポーネントをパッケージ化するコンテナー化されたイメージ) を優先するようになっています。これには、Ansible Core、Ansible Content Collections、Python の依存関係、Red Hat Enterprise Linux UBI 8、およびその他のパッケージの依存関係が含まれます。
venv を実行環境に移行する場合は、(1) awx-manage
コマンドを使用して、元のインスタンスから venv のリストを一覧表示してエクスポートし、(2) ansible-builder
を使用して実行環境を作成する必要があります。詳細は、自動化実行環境へのアップグレードガイド および Ansible ビルダーガイド を参照してください。
2.2.8.1.2. Ansible Builder を使用した Ansible Engine 2.9 イメージへの移行
Ansible Automation Platform 2.1 で使用するために Ansible Engine 2.9 イメージを移行するには、ansible-builder
ツールで、自動化実行環境で使用するためにイメージ (カスタムプラグインおよび依存関係を含む) を再構築するプロセスを自動化します。Ansible Builder を使用して実行環境を構築する方法の詳細は、Ansible Builder ガイド を参照してください。
2.2.8.1.3. Ansible Core 2.12 への移行
Ansible Core 2.12 にアップグレードする場合に、最新版の Ansible Core でサポートされるようにするには、Playbook、プラグイン、または Ansible インフラストラクチャーの他の部分を更新する必要があります。Ansible Core 2.12 との互換性を確保するために Ansible コンテンツを更新する手順については、Ansible-core2.12 Porting Guide を参照してください。
2.2.8.2. 自動化メッシュを使用した自動化スケールアップ
Red Hat Ansible Automation Platform の自動化メッシュコンポーネントは、マルチサイトのデプロイメント全体に自動化を分散するプロセスを簡素化します。IT 環境が複数に分離されている企業の場合、自動化メッシュは、ピアツーピアメッシュ通信ネットワークを使用して実行ノード全体に自動化をデプロイしてスケールアップするための一貫性があり、信頼性の高い方法を提供します。
バージョン 1.x から最新バージョンの Ansible Automation Platform にアップグレードする場合は、データをレガシーの分離ノードから自動化メッシュに必要な実行ノードに移行する必要があります。ハイブリッドノードとコントロールノードのネットワークを計画して、Ansible Automation Platform インストーラーにあるインベントリーファイルを編集して、メッシュ関連の値を各実行ノードに割り当てることで、自動化メッシュを実装できます。
分離ノードから実行ノードに移行する方法については、upgrade & migration guide
自動化メッシュと、ご使用の環境に合わせて自動化メッシュを設計するさまざまな方法については、Red Hat Ansible Automation Platform 化メッシュガイド を参照してください。