Red Hat Ansible Automation Platform 操作ガイド
Ansible Automation Platform インストールのスムーズなデプロイを確実にするためのインストール後の設定
概要
はじめに リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Ansible Automation Platform をインストールした後、デプロイメントがスムーズに実行するように、システムに追加の設定が必要になる場合があります。このガイドでは、Red Hat Ansible Automation Platform のインストール後に実行できる設定タスクの手順を説明します。
Red Hat ドキュメントへのフィードバック (英語のみ) リンクのコピーリンクがクリップボードにコピーされました!
このドキュメントの改善に関するご意見がある場合や、エラーを発見した場合は、https://access.redhat.com から Technical Support チームに連絡してください。
第1章 Red Hat Ansible Automation Platform のライセンス認証 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Ansible Automation Platform は、利用可能なサブスクリプションまたはサブスクリプションマニフェストを使用して、Ansible Automation Platform の使用を承認します。サブスクリプションを取得するには、次のいずれかを実行できます。
- Ansible Automation Platform を起動するときに、Red Hat のお客様または Satellite の認証情報を使用します。
- Red Hat Ansible Automation Platform インターフェイスを使用するか、Ansible Playbook で手動でサブスクリプションマニフェストファイルをアップロードします。
1.1. 認証情報によるライセンス認証 リンクのコピーリンクがクリップボードにコピーされました!
Ansible Automation Platform を初めて起動すると、Ansible Automation Platform Subscription 画面が自動的に表示されます。Red Hat 認証情報を使用して、サブスクリプションを取得し、Ansible Automation Platform に直接インポートできます。
手順
- Red Hat のユーザー名とパスワードを入力します。
- をクリックします。
Subscription リストからサブスクリプションを選択します。
注記クラスターノードが Subscription Manager を通じて Satellite に登録されている場合は、Satellite のユーザー名とパスワードを入力することもできます。
- 使用許諾契約書を確認し、I agree to the End User License Agreement を選択します。
- をクリックします。
- サブスクリプションが受け入れられると、ライセンス画面が表示され、Ansible Automation Platform インターフェイスのダッシュボードに移動します。 アイコン ⚙ をクリックし、設定画面から License オプションを選択すると、ライセンス画面に戻ることができます。
初めてログインしてプラットフォームをアクティベートすると、デフォルトで Automation Analytics がオプトインされます。これは、Red Hat がユーザーエクスペリエンスを大きく改善し、製品を改良する上で役立ちます。Ansible Automation Platform をアクティベートした後、次の手順でオプトアウトできます。
- ナビゲーションパネルから を選択します。
- System オプションのリストから Miscellaneous System settings を選択します。
- Automation Analytics の収集データを オフの位置に切り替えます。
- をクリックします。
1.2. マニフェストファイルによるライセンス認証 リンクのコピーリンクがクリップボードにコピーされました!
サブスクリプションマニフェストがある場合は、Red Hat Ansible Automation Platform インターフェイスを使用するか、Ansible Playbook で手動でマニフェストファイルをアップロードできます。
初めてログインしてプラットフォームのライセンス認証を行うと、デフォルトで Automation Analytics がオプトインされます。これは、Red Hat がユーザーエクスペリエンスを大きく改善し、製品を改良する上で役立ちます。Ansible Automation Platform のライセンス認証後、次の操作を行うことでオプトアウトできます。
- ナビゲーションパネルから menu:[Settings] を選択し、Miscellaneous System settings オプションを選択します。
- をクリックします。
- Automation Analytics の収集データを オフの位置に切り替えます。
- をクリックします。
前提条件
Red Hat カスタマーポータルから Red Hat サブスクリプションマニフェストファイルをエクスポートしている。詳細は、マニフェストファイルの取得 を参照してください。
インターフェイスを使用したアップロード
- マニフェストファイルを生成してダウンロードする手順を完了します。
- Red Hat Ansible Automation Platform にログインします。
- マニフェストファイルの入力をすぐに求められない場合は、 に移動し、ライセンス オプションを選択します。
- Username フィールドと Password フィールドが空であることを確認します。
- をクリックして、マニフェストファイルを選択します。
- をクリックします。
- 使用許諾契約書を確認し、I agree to the End User License Agreement を選択します。
- をクリックします。
- サブスクリプションが受け入れられると、ライセンス画面が表示され、Ansible Automation Platform インターフェイスのダッシュボードに移動します。 アイコン ⚙ をクリックし、設定画面から License オプションを選択すると、ライセンス画面に戻ることができます。
ライセンスページで ボタンが無効になっている場合は、USERNAME フィールドおよび PASSWORD フィールドをクリアします。
手動アップロード
Red Hat Ansible Automation Platform インターフェイスを使用してサブスクリプション情報を適用または更新できない場合は、ansible.controller コレクションの license モジュールを使用して、Ansible Playbook でサブスクリプションマニフェストを手動でアップロードできます。
- name: Set the license using a file license: manifest: "/tmp/my_manifest.zip"
- name: Set the license using a file
license:
manifest: "/tmp/my_manifest.zip"
第2章 マニフェストファイルの取得 リンクのコピーリンクがクリップボードにコピーされました!
サブスクリプションマニフェストは、Red Hat Subscription Management の サブスクリプション割り当て セクションで取得できます。サブスクリプションの割り当てを取得したら、そのマニフェストファイルをダウンロードしてアップロードし、Ansible Automation Platform のライセンス認証を行うことができます。
まず、管理者ユーザーアカウントを使用して Red Hat カスタマーポータル にログインし、このセクションの手順に従います。
2.1. サブスクリプションの割り当ての作成 リンクのコピーリンクがクリップボードにコピーされました!
新しいサブスクリプション割り当てを作成すると、現在オフラインまたはエアギャップ状態のシステムにサイドサブスクリプションとエンタイトルメントを設定できます。これは、マニフェストをダウンロードして Ansible Automation Platform にアップロードする前に必要です。
手順
- サブスクリプションの割り当て ページで、 をクリックします。
- 割り当ての名前を入力し、後で検索できるようにします。
- 管理アプリケーションとして、Satellite 6.8 タイプを選択します。
- をクリックします。
2.2. サブスクリプション割り当てへのサブスクリプションの追加 リンクのコピーリンクがクリップボードにコピーされました!
割り当てが作成されたら、Ansible Automation Platform を適切に実行するために必要なサブスクリプションを追加できます。この手順は、マニフェストをダウンロードして Ansible Automation Platform に追加する前に必要です。
手順
- サブスクリプション割り当て ページで、サブスクリプションを追加する サブスクリプション割り当て の名前をクリックします。
- Subscriptions タブをクリックします。
- をクリックします。
- 追加する予定の Ansible Automation Platform エンタイトルメントの数を入力します。
- をクリックします。
検証
サブスクリプションが承認されると、サブスクリプションの詳細が表示されます。Compliant のステータスは、サブスクリプションが、サブスクリプションカウント内で自動化したホストの数に準拠していることを示します。それ以外の場合、ステータスは Out of Compliance と表示され、サブスクリプション内のホスト数を超えていることを示します。
表示されるその他の重要な情報は次のとおりです。
- 自動化されたホスト
- ライセンス数を消費するジョブによって自動化されたホスト数
- インポートされたホスト
- すべてのインベントリーソースを考慮したホスト数 (残りのホストには影響しません)
- 残りのホスト
- 合計ホスト数から自動化されたホストを差し引いた数
2.3. マニフェストファイルのダウンロード リンクのコピーリンクがクリップボードにコピーされました!
割り当てを作成して、適切なサブスクリプションを取得したら、Red Hat サブスクリプション管理からマニフェストをダウンロードできます。
手順
- サブスクリプションの割り当て ページで、マニフェストを生成する サブスクリプション割り当て の名前をクリックします。
- Subscriptions タブをクリックします。
- をクリックして、マニフェストファイルをダウンロードします。
ファイルはデフォルトのダウンロードフォルダーに保存され、アップロードして Red Hat Ansible Automation Platform をアクティブ化できる ようになりました。
第3章 インストール後の手順 リンクのコピーリンクがクリップボードにコピーされました!
自動化を始めようとしている新しい Ansible Automation Platform ユーザーの方も、インストール済みの最新バージョンの Red Hat Ansible Automation Platform に以前の Ansible コンテンツを移行しようとしている既存の管理者の方も、次の手順を確認して、Ansible Automation Platform 2.4 の新機能を使い始めることをお勧めします。
3.1. データを Ansible Automation Platform 2.4 に移行する手順 リンクのコピーリンクがクリップボードにコピーされました!
プラットフォーム管理者が Ansible Automation Platform 2.4 へのアップグレードを行う場合は、完了する前にデータを新しいインスタンスに移行する追加の手順が必要になる場合があります。
Ansible Automation Platform 2.4 へのアップグレードを完了するには、データを移行する必要があります。データを新しいインスタンスに移行するには、追加の手順が必要です。
3.1.1. 従来の仮想環境 (venvs) から自動化実行環境への移行 リンクのコピーリンクがクリップボードにコピーされました!
Ansible Automation Platform 2.4 は、カスタム Python 仮想環境 (venvs) よりも、自動化実行環境 (Ansible 自動化の実行とスケーリングに必要なコンポーネントをパッケージ化するコンテナー化されたイメージ) を優先するようになっています。このコンポーネントには、ansible-core、Ansible Content Collections、Python の依存関係、Red Hat Enterprise Linux UBI 8、およびその他のパッケージの依存関係が含まれます。
venvs を実行環境に移行するには、awx-manage コマンドを使用して元のインスタンスから venvs のリストを表示およびエクスポートしてから、ansible-builder を使用して実行環境を作成する必要があります。
3.1.2. Ansible Builder を使用した Ansible Engine イメージの移行 リンクのコピーリンクがクリップボードにコピーされました!
Ansible Automation Platform 2.4 で使用するために以前の Ansible Engine イメージを移行するには、ansible-builder ツールを使用して、自動化実行環境で使用するイメージ (カスタムプラグインと依存関係を含む) を再ビルドするプロセスを自動化します。
3.1.3. Ansible Core 2.13 への移行 リンクのコピーリンクがクリップボードにコピーされました!
ansible-core 2.13 にアップグレードする場合は、Playbook とプラグイン、または Ansible インフラストラクチャーの他の部分を、最新バージョンの ansible-core でサポートされるように更新する必要があります。
3.2. 実行環境イメージの場所の更新 リンクのコピーリンクがクリップボードにコピーされました!
Private Automation Hub を Ansible Automation Platform とは別にインストールした場合は、Private Automation Hub を参照するように実行環境イメージの場所を更新できます。
手順
-
setup.shがあるディレクトリーに移動します。 次のコマンドを実行して、
./group_vars/automationcontrollerを作成します。touch ./group_vars/automationcontroller
touch ./group_vars/automationcontrollerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次の内容を
./group_vars/automationcontrollerに貼り付けます。環境に合わせて設定を調整します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ./setup.shスクリプトを実行します。./setup.sh
$ ./setup.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
- システム管理者アクセス権を持つユーザーとして Ansible Automation Platform にログインします。
- → に移動します。
-
Image 列で、実行環境イメージの場所がデフォルト値の
<registry url>/ansible-automation-platform-<version>/<image name>:<tag>から<automation hub url>/<image name>:<tag>に変更されていることを確認します。
3.3. 自動化メッシュの利点 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Ansible Automation Platform の自動化メッシュコンポーネントは、マルチサイトのデプロイメント全体に自動化を分散するプロセスを簡素化します。IT 環境が複数に分離されている企業の場合、自動化メッシュは、ピアツーピアメッシュ通信ネットワークを使用して実行ノード全体に自動化をデプロイしてスケールアップするための一貫性があり、信頼性の高い方法を提供します。
Ansible Automation Platform のバージョン 1.x から最新バージョンにアップグレードする場合は、レガシーの分離ノードから自動化メッシュに必要な実行ノードにデータを移行する必要があります。ハイブリッドノードとコントロールノードのネットワークを計画して、Ansible Automation Platform インストーラーにあるインベントリーファイルを編集して、メッシュ関連の値を各実行ノードに割り当てることで、自動化メッシュを実装できます。
第4章 Red Hat Ansible Automation Platform のプロキシーサポートの設定 リンクのコピーリンクがクリップボードにコピーされました!
プロキシーを使用してトラフィックと通信できるように、Red Hat Ansible Automation Platform を設定できます。プロキシーサーバーは、リソースを別のサーバーから求めているクライアントが出した要求を仲介するロールを果たします。クライアントは、プロキシーサーバーに接続して、別のサーバーからサービスや利用可能なリソースを要求します。そして、このプロキシーサーバーは複雑な内容を簡素化して制御する方法の 1 つとして、その要求を評価します。次のセクションでは、サポート対象のプロキシー設定とその設定方法を説明します。
4.1. プロキシーサポートの有効化 リンクのコピーリンクがクリップボードにコピーされました!
プロキシーサーバーをサポートするために、Automation Controller は、Automation Controller 設定の REMOTE_HOST_HEADERS リスト変数を介してプロキシーされた要求 (Automation Controller の前にある ALB、NLB、HAProxy、Squid、Nginx、tinyproxy など) を処理します。デフォルトでは、REMOTE_HOST_HEADERS は ["REMOTE_ADDR", "REMOTE_HOST"] に設定されています。
プロキシーサーバーのサポートを有効にするには、Automation Controller の設定ページで REMOTE_HOST_HEADERS フィールドを編集します。
手順
- Automation Controller で、 に移動します。
- System オプションのリストから Miscellaneous System settings を選択します。
REMOTE_HOST_HEADERS フィールドに、次の値を入力します。
[ "HTTP_X_FORWARDED_FOR", "REMOTE_ADDR", "REMOTE_HOST" ]
[ "HTTP_X_FORWARDED_FOR", "REMOTE_ADDR", "REMOTE_HOST" ]Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Automation Controller はリモートホストの IP アドレスを判断するために、最初の IP アドレスが特定されるまで、REMOTE_HOST_HEADERS のヘッダー一覧を検索します。
4.2. 既知のプロキシー リンクのコピーリンクがクリップボードにコピーされました!
Automation Controller を REMOTE_HOST_HEADERS = ['HTTP_X_FORWARDED_FOR', 'REMOTE_ADDR', 'REMOTE_HOST'] で設定している場合は、X-Forwarded-For の値が、Automation Controller の前にあるプロキシーまたはロードバランサ―から送られていることを前提としています。プロキシー/ロードバランサーを使用せずに Automation Controller に到達できる場合、またはプロキシーがヘッダーを検証しない場合は、X-Forwarded-For の値が偽造されて発信元の IP アドレスを偽装する可能性があります。HTTP_X_FORWARDED_FOR 設定で REMOTE_HOST_HEADERS を使用すると、脆弱性が発生します。
これを回避するには、Automation Controller の設定メニューの PROXY_IP_ALLOWED_LIST フィールドを使用して許可される既知のプロキシーのリストを設定できます。既知のプロキシーのリストに含まれていないロードバランサーおよびホストの場合、要求が拒否されます。
4.2.1. 既知のプロキシーの設定 リンクのコピーリンクがクリップボードにコピーされました!
Automation Controller の既知のプロキシーのリストを設定するには、Automation Controller の設定ページの PROXY_IP_ALLOWED_LIST フィールドにプロキシー IP アドレスを追加します。
手順
- Automation Controller で、 に移動し、 System オプションのリストから Miscellaneous System settings を選択します。
PROXY_IP_ALLOWED_LIST フィールドに、以下の例の構文に従って、Automation Controller への接続を許可する IP アドレスを入力します。
PROXY_IP_ALLOWED_LIST エントリーの例
[ "example1.proxy.com:8080", "example2.proxy.com:8080" ]
[ "example1.proxy.com:8080", "example2.proxy.com:8080" ]Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
PROXY_IP_ALLOWED_LISTは、この一覧のプロキシーが適切にヘッダー入力をサニタイズし、X-Forwarded-Forの値がクライアントの実際のソース IP と同等になるように正しく設定します。Automation Controller は、PROXY_IP_ALLOWED_LISTの IP アドレスとホスト名に依存して、X-Forwarded-Forフィールドに偽装されていない値を提供できます。 以下の条件が すべて 満たされない限り
HTTP_X_FORWARDED_FORを 'REMOTE_HOST_HEADERS' のアイテムとして設定しないでください。- SSL Termination でプロキシー環境を使用している
-
プロキシーにより
X-Forwarded-Forヘッダーのサニタイズまたは検証が行われクライアントの攻撃を防止することができる -
/etc/tower/conf.d/remote_host_headers.pyが信頼されたプロキシーまたはロードバランサーの送信元 IP のみを含むPROXY_IP_ALLOWED_LISTを定義している
4.3. リバースプロキシーの設定 リンクのコピーリンクがクリップボードにコピーされました!
Automation Controller 設定の REMOTE_HOST_HEADERS フィールドに HTTP_X_FORWARDED_FOR を追加して、リバースプロキシーサーバー設定をサポートできます。X-Forwarded-For (XFF) HTTP ヘッダーフィールドは、HTTP プロキシーまたはロードバランサー経由で Web サーバーに接続するクライアントの送信元 IP アドレスを識別します。
手順
- Automation Controller で、 に移動し、 System オプションのリストから Miscellaneous System settings を選択します。
REMOTE_HOST_HEADERS フィールドに、次の値を入力します。
[ "HTTP_X_FORWARDED_FOR", "REMOTE_ADDR", "REMOTE_HOST" ]
[ "HTTP_X_FORWARDED_FOR", "REMOTE_ADDR", "REMOTE_HOST" ]Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
以下の行を
/etc/tower/conf.d/custom.pyに追加して、アプリケーションが正しいヘッダーを使用していることを確認します。
USE_X_FORWARDED_PORT = True USE_X_FORWARDED_HOST = True
USE_X_FORWARDED_PORT = True
USE_X_FORWARDED_HOST = True
4.4. スティッキーセッションの有効化 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、Application Load Balancer は、選択された負荷分散アルゴリズムに基づいて、登録済みのターゲットに各リクエストを個別にルーティングします。ロードバランサーの背後で Automation Hub の複数のインスタンスの実行時に認証エラーを回避するには、スティッキーセッションを有効にする必要があります。スティッキーセッションを有効にすると、ロードバランサーで設定された Cookie と一致するカスタムアプリケーション Cookie が設定され、スティッキーが有効になります。このカスタム Cookie には、アプリケーションで必要な Cookie 属性を含めることができます。
免責事項: この注記に含まれる外部の Web サイトへのリンクは、お客様の利便性のみを目的として提供しています。Red Hat はリンクの内容を確認しておらず、コンテンツまたは可用性に責任を負わないものとします。外部 Web サイトへのリンクが含まれていても、Red Hat が Web サイトまたはその組織、製品、もしくはサービスを保証することを意味するものではありません。お客様は、外部サイトまたはコンテンツの使用 (または信頼) によって生じる損失または費用について、Red Hat が責任を負わないことに同意するものとします。
第5章 Automation Controller Websocket 接続の設定 リンクのコピーリンクがクリップボードにコピーされました!
WebSocket の設定を nginx またはロードバランサー設定に合わせるために、Automation Controller を設定できます。
5.1. コントローラーの自動化用の WebSocket 設定 リンクのコピーリンクがクリップボードにコピーされました!
Automation Controller ノードは、Websocket を介して相互接続され、Websocket が発行するすべてのメッセージをシステム全体に分散します。この設定セットアップにより、任意のブラウザークライアント Websocket が、任意の Automation Controller ノードで実行されている可能性がある任意のジョブにサブスクライブできるようになります。WebSocket クライアントは特定の Automation Controller ノードにルーティングされません。代わりに、すべての Automation Controller ノードが任意の Websocket 要求を処理できます。各 Automation Controller ノードは、全クライアントに宛てた全 Websocket メッセージを把握しておく必要があります。
すべての Automation Controller ノードの /etc/tower/conf.d/websocket_config.py で Websocket を設定でき、変更はサービスの再起動後に有効になります。
Automation Controller は、データベース内のインスタンスレコードを介して、他の Automation Controller ノードの検出を自動的に処理します。
Automation Controller ノードは、(オープンインターネットではなく) プライベートで信頼できるサブネットを介して Websocket トラフィックをブロードキャストするように設計されています。そのため、Websocket ブロードキャストの HTTPS をオフにすると、Ansible Playbook の標準出力 (stdout) の大部分で構成される Websocket トラフィックは、Automation Controller ノード間で暗号化されずに送信されます。
5.1.1. 他の Automation Controller ノードの自動検出の設定 リンクのコピーリンクがクリップボードにコピーされました!
WebSocket 接続を設定して、Automation Controller がデータベースのインスタンスレコードを使用して他の Automation Controller ノードの検出を自動的に処理できるようにします。
ポートとプロトコルの Automation Controller Websock 情報を編集し、Websocket 接続を確立するときに
TrueまたはFalseで証明書を検証するかどうかを確認します。BROADCAST_WEBSOCKET_PROTOCOL = 'http' BROADCAST_WEBSOCKET_PORT = 80 BROADCAST_WEBSOCKET_VERIFY_CERT = False
BROADCAST_WEBSOCKET_PROTOCOL = 'http' BROADCAST_WEBSOCKET_PORT = 80 BROADCAST_WEBSOCKET_VERIFY_CERT = FalseCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを使用して Automation Controller を再起動します。
automation-controller-service restart
$ automation-controller-service restartCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第6章 ユーザビリティーアナリティクスおよび Automation Controller からのデータ収集の管理 リンクのコピーリンクがクリップボードにコピーされました!
Automation Controller のユーザーインターフェイスをオプトアウトまたは変更することで、Automation Controller からユーザビリティーアナリティクスおよびデータ収集への参加方法を変更できます。
6.1. ユーザビリティーアナリティクスおよびデータ収集 リンクのコピーリンクがクリップボードにコピーされました!
ユーザビリティーのデータ収集は、Automation Controller に含まれており、Automation Controller ユーザーが Automation Controller とどのように相互作用するかをよりよく理解するためのデータを収集し、今後のリリースの強化に役立て、ユーザーエクスペリエンスの合理化を継続していきます。
Automation Controller のトライアルまたは Automation Controller の新規インストールのみが、このデータ収集でオプトインされます。
6.1.1. Automation Controller からのデータ収集の制御 リンクのコピーリンクがクリップボードにコピーされました!
Settings メニューの User Interface タブで参加レベルを設定して、Automation Controller がデータを収集する方法を制御できます。
手順
- Automation Controller にログインします。
- に移動し、User Interface オプションから User Interface settings を選択します。
User Analytics Tracking State ドロップダウンリストから目的のデータ収集レベルを選択します。
- Off: データ収集を行いません。
- Anonymous: ユーザー固有のデータを含めないデータ収集を有効化します。
- Detailed: お使いのユーザー固有のデータを含めたデータ収集を有効化します。
- をクリックして設定を適用するか、 をクリックして変更を破棄します。
第7章 Automation Controller 設定ファイル内のプレーンテキストパスワードの暗号化 リンクのコピーリンクがクリップボードにコピーされました!
Automation Controller 設定ファイルに保存されるパスワードは、プレーンテキストで保存されます。/etc/tower/conf.d/ ディレクトリーへのアクセス権を持つユーザーは、データベースへのアクセスに使用されるパスワードを表示できます。ディレクトリーへのアクセスは権限によって制御されるため、ディレクトリーは保護されていますが、セキュリティーに関する調査結果によっては、この保護は不十分であると考えられています。解決策は、パスワードを個別に暗号化することです。
7.1. PostgreSQL パスワードハッシュの作成 リンクのコピーリンクがクリップボードにコピーされました!
手順
Automation Controller ノードで、次のコマンドを実行します。
awx-manage shell_plus
# awx-manage shell_plusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 続いて、python プロンプトから以下を実行します。
>>> from awx.main.utils import encrypt_value, get_encryption_key \ >>> postgres_secret = encrypt_value('$POSTGRES_PASS') \ >>> print(postgres_secret)>>> from awx.main.utils import encrypt_value, get_encryption_key \ >>> postgres_secret = encrypt_value('$POSTGRES_PASS') \ >>> print(postgres_secret)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記$POSTGRES_PASS変数を、暗号化する実際のプレーンテキストのパスワードに置き換えます。出力は以下のようになります。
$encrypted$UTF8$AESCBC$Z0FBQUFBQmtLdGNRWXFjZGtkV1ZBR3hkNGVVbFFIU3hhY21UT081eXFkR09aUWZLcG9TSmpndmZYQXFyRHVFQ3ZYSE15OUFuM1RHZHBqTFU3S0MyNEo2Y2JWUURSYktsdmc9PQ==
$encrypted$UTF8$AESCBC$Z0FBQUFBQmtLdGNRWXFjZGtkV1ZBR3hkNGVVbFFIU3hhY21UT081eXFkR09aUWZLcG9TSmpndmZYQXFyRHVFQ3ZYSE15OUFuM1RHZHBqTFU3S0MyNEo2Y2JWUURSYktsdmc9PQ==Copy to Clipboard Copied! Toggle word wrap Toggle overflow これらのハッシュの完全な値をコピーして保存します。
次の例に示すように、ハッシュ値は
$encrypted$で始まり、単なる文字列ではありません。$encrypted$AESCBC$Z0FBQUFBQmNONU9BbGQ1VjJyNDJRVTRKaFRIR09Ib2U5TGdaYVRfcXFXRjlmdmpZNjdoZVpEZ21QRWViMmNDOGJaM0dPeHN2b194NUxvQ1M5X3dSc1gxQ29TdDBKRkljWHc9PQ==
$encrypted$AESCBC$Z0FBQUFBQmNONU9BbGQ1VjJyNDJRVTRKaFRIR09Ib2U5TGdaYVRfcXFXRjlmdmpZNjdoZVpEZ21QRWViMmNDOGJaM0dPeHN2b194NUxvQ1M5X3dSc1gxQ29TdDBKRkljWHc9PQ==Copy to Clipboard Copied! Toggle word wrap Toggle overflow $*_PASS値は、インベントリーファイル内ですでにプレーンテキストになっていることに注意してください。
これらの手順では、Automation Controller 設定ファイル内のプレーンテキストパスワードを置き換えるハッシュ値を提供します。
7.2. Postgres パスワードの暗号化 リンクのコピーリンクがクリップボードにコピーされました!
次の手順では、プレーンテキストのパスワードを暗号化された値に置き換えます。クラスター内の各ノードで次の手順を実行します。
手順
以下を使用して
/etc/tower/conf.d/postgres.pyを編集します。vim /etc/tower/conf.d/postgres.py
$ vim /etc/tower/conf.d/postgres.pyCopy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルの先頭に次の行を追加します。
from awx.main.utils import decrypt_value, get_encryption_key
from awx.main.utils import decrypt_value, get_encryption_keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 'PASSWORD': の後にリストされているパスワード値を削除し、次の行に置き換えて、指定された
$encrytpted..の値を独自のハッシュ値に置き換えます。decrypt_value(get_encryption_key('value'),'$encrypted$AESCBC$Z0FBQUFBQmNONU9BbGQ1VjJyNDJRVTRKaFRIR09Ib2U5TGdaYVRfcXFXRjlmdmpZNjdoZVpEZ21QRWViMmNDOGJaM0dPeHN2b194NUxvQ1M5X3dSc1gxQ29TdDBKRkljWHc9PQ=='),decrypt_value(get_encryption_key('value'),'$encrypted$AESCBC$Z0FBQUFBQmNONU9BbGQ1VjJyNDJRVTRKaFRIR09Ib2U5TGdaYVRfcXFXRjlmdmpZNjdoZVpEZ21QRWViMmNDOGJaM0dPeHN2b194NUxvQ1M5X3dSc1gxQ29TdDBKRkljWHc9PQ=='),Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記このステップのハッシュ値は、
postgres_secretの出力値です。完全な
postgres.pyは次のようになります。Ansible Automation platform controller database settings. from awx.main.utils import decrypt_value, get_encryption_key DATABASES = { 'default': { 'ATOMIC_REQUESTS': True, 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'awx', 'USER': 'awx', 'PASSWORD': decrypt_value(get_encryption_key('value'),'$encrypted$AESCBC$Z0FBQUFBQmNONU9BbGQ1VjJyNDJRVTRKaFRIR09Ib2U5TGdaYVRfcXFXRjlmdmpZNjdoZVpEZ21QRWViMmNDOGJaM0dPeHN2b194NUxvQ1M5X3dSc1gxQ29TdDBKRkljWHc9PQ=='), 'HOST': '127.0.0.1', 'PORT': 5432, } }# Ansible Automation platform controller database settings. from awx.main.utils import decrypt_value, get_encryption_key DATABASES = { 'default': { 'ATOMIC_REQUESTS': True, 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'awx', 'USER': 'awx', 'PASSWORD': decrypt_value(get_encryption_key('value'),'$encrypted$AESCBC$Z0FBQUFBQmNONU9BbGQ1VjJyNDJRVTRKaFRIR09Ib2U5TGdaYVRfcXFXRjlmdmpZNjdoZVpEZ21QRWViMmNDOGJaM0dPeHN2b194NUxvQ1M5X3dSc1gxQ29TdDBKRkljWHc9PQ=='), 'HOST': '127.0.0.1', 'PORT': 5432, } }Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.3. Automation Controller サービスの再起動 リンクのコピーリンクがクリップボードにコピーされました!
手順
すべてのノードで暗号化が完了したら、以下を使用してクラスター全体でサービスの再起動を実行します。
automation-controller-service restart
# automation-controller-service restartCopy to Clipboard Copied! Toggle word wrap Toggle overflow - UI に移動し、すべてのノードでジョブを実行できることを確認します。
第8章 SSL 証明書の更新と変更 リンクのコピーリンクがクリップボードにコピーされました!
現在の SSL 証明書の有効期限が切れているか、まもなく期限切れになる場合は、Ansible Automation Platform で使用する SSL 証明書を更新または置き換えることができます。
新しいホストなどの新しい情報を使用して SSL 証明書を再生成する必要がある場合は、SSL 証明書を更新する必要があります。
内部の認証局によって署名された SSL 証明書を使用する場合は、SSL 証明書を置き換える必要があります。
8.1. 自己署名 SSL 証明書の更新 リンクのコピーリンクがクリップボードにコピーされました!
次の手順では、Automation Controller と Automation Hub の両方の新しい SSL 証明書を再生成します。
手順
aap_service_regen_cert=trueをインベントリーファイルの[all:vars]セクションに追加します。[all:vars] aap_service_regen_cert=true
[all:vars] aap_service_regen_cert=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow - インストーラーを実行します。
検証
- Automation Controller の CA ファイルと server.crt ファイルを検証します。
openssl verify -CAfile ansible-automation-platform-managed-ca-cert.crt /etc/tower/tower.cert openssl s_client -connect <AUTOMATION_HUB_URL>:443
openssl verify -CAfile ansible-automation-platform-managed-ca-cert.crt /etc/tower/tower.cert
openssl s_client -connect <AUTOMATION_HUB_URL>:443
- Automation Hub の CA ファイルと server.crt ファイルを検証します。
openssl verify -CAfile ansible-automation-platform-managed-ca-cert.crt /etc/pulp/certs/pulp_webserver.crt openssl s_client -connect <AUTOMATION_CONTROLLER_URL>:443
openssl verify -CAfile ansible-automation-platform-managed-ca-cert.crt /etc/pulp/certs/pulp_webserver.crt
openssl s_client -connect <AUTOMATION_CONTROLLER_URL>:443
8.2. SSL 証明書の変更 リンクのコピーリンクがクリップボードにコピーされました!
SSL 証明書を変更するには、インベントリーファイルを編集してインストーラーを実行します。インストーラーは、すべての Ansible Automation Platform コンポーネントが動作していることを確認します。インストーラーの実行には時間がかかる場合があります。
あるいは、SSL 証明書を手動で変更することもできます。こちらのほうが迅速ですが、自動確認は行われません。
Red Hat では、Ansible Automation Platform インスタンスに変更を加える際にはインストーラーを使用することを推奨しています。
8.2.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- 中間認証局がある場合は、それをサーバー証明書に追加する必要があります。
- Automation Controller と Automation Hub は両方とも NGINX を使用するため、サーバー証明書は PEM 形式である必要があります。
- 正しい証明書の順序を使用してください。最初にサーバー証明書を指定し、その後に中間認証局を指定します。
詳細は、NGINX ドキュメントの SSL 証明書のセクション を参照してください。
8.2.2. インストーラーを使用した SSL 証明書と鍵の変更 リンクのコピーリンクがクリップボードにコピーされました!
次の手順では、インベントリーファイル内の SSL 証明書と鍵を変更する方法を説明します。
手順
- 新しい SSL 証明書と鍵を Ansible Automation Platform インストーラーに関連するパスにコピーします。
SSL 証明書と鍵の絶対パスをインベントリーファイルに追加します。これらの変数の設定に関するガイダンスについては、Red Hat Ansible Automation Platform インストールガイド の Automation Controller 変数、Automation Hub 変数、および Event-Driven Ansible Controller 変数 セクションを参照してください。
-
Automation Controller:
web_server_ssl_cert、web_server_ssl_key、custom_ca_cert -
Automation Hub:
automationhub_ssl_cert、automationhub_ssl_key、custom_ca_cert -
Event-Driven Ansible controller:
automationedacontroller_ssl_cert、automationedacontroller_ssl_key、custom_ca_cert
注記custom_ca_certは、中間認証局に署名したルート認証局である必要があります。このファイルは/etc/pki/ca-trust/source/anchorsにインストールされます。-
Automation Controller:
- インストーラーを実行します。
8.2.3. SSL 証明書の手動変更 リンクのコピーリンクがクリップボードにコピーされました!
8.2.3.1. Automation Controller での SSL 証明書と鍵の手動変更 リンクのコピーリンクがクリップボードにコピーされました!
次の手順では、Automation Controller で SSL 証明書と鍵を手動で変更する方法を説明します。
手順
現在の SSL 証明書をバックアップします。
cp /etc/tower/tower.cert /etc/tower/tower.cert-$(date +%F)
cp /etc/tower/tower.cert /etc/tower/tower.cert-$(date +%F)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 現在の鍵ファイルをバックアップします。
cp /etc/tower/tower.key /etc/tower/tower.key-$(date +%F)+
cp /etc/tower/tower.key /etc/tower/tower.key-$(date +%F)+Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
新しい SSL 証明書を
/etc/tower/tower.certにコピーします。 -
新しい鍵を
/etc/tower/tower.keyにコピーします。 SELinux コンテキストを復元します。
restorecon -v /etc/tower/tower.cert /etc/tower/tower.key
restorecon -v /etc/tower/tower.cert /etc/tower/tower.keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 証明書と鍵ファイルに適切なパーミッションを設定します。
chown root:awx /etc/tower/tower.cert /etc/tower/tower.key chmod 0600 /etc/tower/tower.cert /etc/tower/tower.key
chown root:awx /etc/tower/tower.cert /etc/tower/tower.key chmod 0600 /etc/tower/tower.cert /etc/tower/tower.keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow NGINX 設定をテストします。
nginx -t
nginx -tCopy to Clipboard Copied! Toggle word wrap Toggle overflow NGINX をリロードします。
systemctl reload nginx.service
systemctl reload nginx.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しい SSL 証明書と鍵がインストールされていることを確認します。
true | openssl s_client -showcerts -connect ${CONTROLLER_FQDN}:443true | openssl s_client -showcerts -connect ${CONTROLLER_FQDN}:443Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2.3.2. OpenShift Container Platform 上の Automation Controller の SSL 証明書と鍵の変更 リンクのコピーリンクがクリップボードにコピーされました!
次の手順では、OpenShift Container Platform で実行されている Automation Controller の SSL 証明書と鍵を変更する方法を説明します。
手順
- 署名された SSL 証明書と鍵をセキュアな場所にコピーします。
OpenShift 内に TLS シークレットを作成します。
oc create secret tls ${CONTROLLER_INSTANCE}-certs-$(date +%F) --cert=/path/to/ssl.crt --key=/path/to/ssl.keyoc create secret tls ${CONTROLLER_INSTANCE}-certs-$(date +%F) --cert=/path/to/ssl.crt --key=/path/to/ssl.keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow Automation Controller カスタムリソースを変更して、
route_tls_secretと新しいシークレットの名前を spec セクションに追加します。oc edit automationcontroller/${CONTROLLER_INSTANCE}oc edit automationcontroller/${CONTROLLER_INSTANCE}Copy to Clipboard Copied! Toggle word wrap Toggle overflow ... spec: route_tls_secret: automation-controller-certs-2023-04-06 ...
... spec: route_tls_secret: automation-controller-certs-2023-04-06 ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow
TLS シークレットの名前は任意です。この例では、Automation Controller インスタンスに適用される他の TLS シークレットと区別するために、シークレットを作成した日付のタイムスタンプが付けられています。
- 変更が適用されるまで数分待ちます。
新しい SSL 証明書と鍵がインストールされていることを確認します。
true | openssl s_client -showcerts -connect ${CONTROLLER_FQDN}:443true | openssl s_client -showcerts -connect ${CONTROLLER_FQDN}:443Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2.3.3. Event-Driven Ansible Controller での SSL 証明書と鍵の変更 リンクのコピーリンクがクリップボードにコピーされました!
次の手順では、Event-Driven Ansible Controller で SSL 証明書と鍵を手動で変更する方法を説明します。
手順
現在の SSL 証明書をバックアップします。
cp /etc/ansible-automation-platform/eda/server.cert /etc/ansible-automation-platform/eda/server.cert-$(date +%F)
cp /etc/ansible-automation-platform/eda/server.cert /etc/ansible-automation-platform/eda/server.cert-$(date +%F)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 現在の鍵ファイルをバックアップします。
cp /etc/ansible-automation-platform/eda/server.key /etc/ansible-automation-platform/eda/server.key-$(date +%F)
cp /etc/ansible-automation-platform/eda/server.key /etc/ansible-automation-platform/eda/server.key-$(date +%F)Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
新しい SSL 証明書を
/etc/ansible-automation-platform/eda/server.certにコピーします。 -
新しい鍵を
/etc/ansible-automation-platform/eda/server.keyにコピーします。 SELinux コンテキストを復元します。
restorecon -v /etc/ansible-automation-platform/eda/server.cert /etc/ansible-automation-platform/eda/server.key
restorecon -v /etc/ansible-automation-platform/eda/server.cert /etc/ansible-automation-platform/eda/server.keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 証明書と鍵ファイルに適切なパーミッションを設定します。
chown root:eda /etc/ansible-automation-platform/eda/server.cert /etc/ansible-automation-platform/eda/server.key
chown root:eda /etc/ansible-automation-platform/eda/server.cert /etc/ansible-automation-platform/eda/server.keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow chmod 0600 /etc/ansible-automation-platform/eda/server.cert /etc/ansible-automation-platform/eda/server.key
chmod 0600 /etc/ansible-automation-platform/eda/server.cert /etc/ansible-automation-platform/eda/server.keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow NGINX 設定をテストします。
nginx -t
nginx -tCopy to Clipboard Copied! Toggle word wrap Toggle overflow NGINX をリロードします。
systemctl reload nginx.service
systemctl reload nginx.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しい SSL 証明書と鍵がインストールされていることを確認します。
true | openssl s_client -showcerts -connect ${CONTROLLER_FQDN}:443true | openssl s_client -showcerts -connect ${CONTROLLER_FQDN}:443Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2.3.4. Automation Hub での SSL 証明書と鍵の手動変更 リンクのコピーリンクがクリップボードにコピーされました!
次の手順では、Automation Hub で SSL 証明書と鍵を手動で変更する方法を説明します。
手順
現在の SSL 証明書をバックアップします。
cp /etc/pulp/certs/pulp_webserver.crt /etc/pulp/certs/pulp_webserver.crt-$(date +%F)
cp /etc/pulp/certs/pulp_webserver.crt /etc/pulp/certs/pulp_webserver.crt-$(date +%F)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 現在の鍵ファイルをバックアップします。
cp /etc/pulp/certs/pulp_webserver.key /etc/pulp/certs/pulp_webserver.key-$(date +%F)
cp /etc/pulp/certs/pulp_webserver.key /etc/pulp/certs/pulp_webserver.key-$(date +%F)Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
新しい SSL 証明書を
/etc/pulp/certs/pulp_webserver.crtにコピーします。 -
新しい鍵を
/etc/pulp/certs/pulp_webserver.keyにコピーします。 SELinux コンテキストを復元します。
restorecon -v /etc/pulp/certs/pulp_webserver.crt /etc/pulp/certs/pulp_webserver.key
restorecon -v /etc/pulp/certs/pulp_webserver.crt /etc/pulp/certs/pulp_webserver.keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 証明書と鍵ファイルに適切なパーミッションを設定します。
chown root:pulp /etc/pulp/certs/pulp_webserver.crt /etc/pulp/certs/pulp_webserver.key
chown root:pulp /etc/pulp/certs/pulp_webserver.crt /etc/pulp/certs/pulp_webserver.keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow chmod 0600 /etc/pulp/certs/pulp_webserver.crt /etc/pulp/certs/pulp_webserver.key
chmod 0600 /etc/pulp/certs/pulp_webserver.crt /etc/pulp/certs/pulp_webserver.keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow NGINX 設定をテストします。
nginx -t
nginx -tCopy to Clipboard Copied! Toggle word wrap Toggle overflow NGINX をリロードします。
systemctl reload nginx.service
systemctl reload nginx.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しい SSL 証明書と鍵がインストールされていることを確認します。
true | openssl s_client -showcerts -connect ${CONTROLLER_FQDN}:443true | openssl s_client -showcerts -connect ${CONTROLLER_FQDN}:443Copy to Clipboard Copied! Toggle word wrap Toggle overflow