2.2. 外部管理データベースを備えた Automation Controller のインストール

以下の手順を使用して、リモート PostgreSQL インスタンスをデータベースとして通信するように設定された 1 台のマシンにスタンドアロンの Automation Controller サーバーをインストールできます。このリモート PostgreSQL は、管理するサーバーを使用することも、Amazon RDS などのクラウドサービスで提供することも可能です。

2.2.1. 前提条件

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 プラグインの詳細は、特権昇格について を参照してください。

手順

  1. インストーラーに移動します。

    1. [バンドルのインストーラー]

      $ cd ansible-automation-platform-setup-bundle-<latest-version>
    2. [オンラインインストーラー]

      $ cd ansible-automation-platform-setup-<latest-version>
  2. テキストエディターで inventory ファイルを開きます。
  3. 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 追加のインベントリーファイル変数

変数説明デフォルト

GALAXY_ENABLE_API_ACCESS_LOG

True に設定すると、/var/log/galaxy_api_access.log にログファイルが作成され、ユーザー名や IP アドレスなど、プラットフォームに対して行われたすべてのユーザーアクションが記録されます。

False

  • API アクセスログを有効にするには、変数をインベントリーに追加し、フラグを true に設定します。
[all:vars:]
admin_password = 'password'

pg_host=''
pg_port=''

GALAXY_ENABLE_API_ACCESS_LOG=true

2.2.5. 設定スクリプトフラグおよび追加変数

設定スクリプトを実行して Automation Controller をインストールする場合に、フラグおよび追加変数を指定することもできます。

表2.6 フラグ

引数説明

-h

ヘルプメッセージを表示して終了します。

-i INVENTORY_FILE

Ansible インベントリーファイルへのパス (デフォルト: inventory)

-e EXTRA_VARS

追加の Ansible 変数を key=value または YAML/JSON として設定します。

-b

インストールの代わりにデータベースのバックアップを実行します。

-r

インストールの代わりにデータベースの復元を行います。

-k

生成 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 追加変数

変数説明デフォルト

upgrade_ansible_with_tower

Automation Controller のインストール時に、Ansible も最新の状態であることを確認します。

False

create_preload_data

Tower のインストール時に、デモ組織、プロジェクト、認証情報、ジョブテンプレートなども作成します。

True

bundle_install_folder

バンドルからインストールする場合に、バンドルされているリポジトリーを配置する場所

var/lib/tower-bundle

nginx_disable_https

nginx で HTTPS トラフィックを無効にします。HTTPS の負荷をロードバランサーに分散する場合に便利です。

False

nginx_disable_hsts

Web セキュリティーポリシーメカニズム HSTS を無効にします。

False

nginx_http_port

nginx が HTTP をリッスンするように設定するポート

80

nginx_https_port

nginx が HTTPS をリッスンするように設定するポート

443

backup_dir

バックアップ時に使用する一時的な場所

/var/backups/tower/

restore_backup_file

復元元として使用する別のバックアップファイルを指定します。

なし

required_ram

Tower のインストールに必要な最小メモリー (テストインストールの場合に限り変更してください)

3750

min_open_fds

表示ファイルの説明に使用できる最小リソース (テストインストールの場合に限り変更してください)

なし

ignore_preflight_errors

プリフライトチェックを無視します。これはテンプレートや他のシステム以外のイメージにインストールするときに便利です (required_ram および min_open_fds をオーバーライドします)。

False

  • コアをアップグレードするには、以下を実行します。
./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 スクリプトを実行ができます。

手順

  1. setup.sh スクリプトを実行します。

    $ ./setup.sh

インストールが開始します。

2.2.7. Automation Controller インストールの確認

インストールが完了したら、inventory ファイルに挿入した管理者認証情報でログインして、Automation Controller が正常にインストールしたことを確認できます。

手順

  1. inventory ファイルのAutomation Controller ノードに指定した IP アドレスに移動します。
  2. 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 クイックセットアップガイド

Automation Controller を設定して最初の Playbook を実行します。

Automation Controller 管理ガイド

カスタマースクリプト、管理ジョブなどを使用して Automation Controller の管理を設定します。

Red Hat Ansible Automation Platform のプロキシーサポートの設定

プロキシーサーバーを使用して Automation Controller を設定します。

ユーザビリティーアナリティクスおよび Automation Controller からのデータ収集の管理

Red Hat と共有する Automation Controller の情報を管理します。

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 化メッシュガイド を参照してください。