Ansible Automation Platform on Microsoft Azure ガイド

Ansible on Clouds 2.1

Ansible Automation Platform on Microsoft Azure のインストールおよび設定

概要

Ansible Automation Platform は、Ansible を利用した環境に制御、ナレッジ、および委譲の機能を追加することにより、チームが複雑な複数層のデプロイメントを管理するのに役立ちます。このガイドは、Microsoft Azure での Ansible Automation Platform のインストールと使用法を理解するのに役立ちます。本書が更新され、Ansible Automation Platform on Microsoft Azure の最新リリースの情報が追加されました。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。

第1章 Ansible Automation Platform on Microsoft Azure の概要

1.1. Ansible Automation Platform on Microsoft Azure について

Ansible Automation Platform on Microsoft Azure は、Azure Marketplace ポータルから Azure テナントのリソースグループにデプロイできる管理アプリケーションです。Ansible Automation Platform on Microsoft Azure では、Ansible コンテンツコレクションのライブラリーにあくせすできるようになり、主な Azure サービスと統合されるため、インフラストラクチャーおよびアプリケーションのデプロイ、設定、管理を迅速に行うことができます。

次の Red Hat Platform コンポーネントは、Red Hat Ansible Automation Platform on Microsoft Azure で使用できます。

  • 自動コントローラー
  • Automation Hub
  • プライベート自動化ハブ
  • Automation Service Catalog
  • Ansible Content Collections(Azure の Microsoft コレクションなど)
  • 自動化実行環境
  • Ansible コンテンツツール(Red Hat Ansible Automation Platform 用の Red Hat Insights へのアクセスなど)
注記

自動化メッシュは、Ansible Automation Platform on Microsoft Azure では使用できません。

1.2. アプリケーションのアーキテクチャー

Red Hat Ansible Automation Platform on Microsoft Azure は、管理対象アプリケーションとしてインストールされます。Red Hat は、基盤となる Azure リソースとその上で実行されているソフトウェアの両方を管理し、そのインフラストラクチャーは Azure テナントで実行されます。

管理対象のアプリケーションリソースグループは、テナント内の他のリソースグループから完全に分離されています。Red Hat は、他のテナントリソースを表示せずに、管理対象のアプリケーションリソースグループにのみアクセスできます。

これがどのように機能し、リソースとアクセスが他の Azure リソースからどのように分離されるかは、Microsoft Azure managed applicationsガイドの Azure managed applications overview を参照してください。

Ansible Automation Platform on Microsoft Azure は、2 つのリソースグループを使用します。

  • テナント内のリソースグループ。このリソースグループには、Ansible Automation Platform on Microsoft Azure 管理対象のアプリケーションデプロイメントを参照する単一リソースが含まれます。Red Hat は、サポート、メンテナンス、およびアップグレードを行えるように、この管理アプリケーションへのアクセス権があります。
  • Ansible Automation Platform on Microsoft Azure の操作に必要なすべてのインフラストラクチャーが含まれるマルチテナント管理リソースグループ。このマルチテナントリソースグループは、Red Hat テナントとお使いのテナント間で共有されます。Red Hat に完全な管理者権があり、ユーザーにはリソースグループへの読み取り専用アクセス権があります。

Ansible Automation Platform on Microsoft Azure をインストールする場合、デプロイメントをパブリックにするかプライベートにするかを選択します。これは、ユーザーが Ansible Automation Platform のユーザーインターフェイスにアクセスする方法に影響します。

パブリックデプロイメントとプライベートデプロイメントのどちらを選択するかに関係なく、Ansible Automation Platform から自動化するリソースを含むプライベートネットワークへのアウトバウンド通信用にネットワークピアリングを設定する必要があります。Ansible Automation Platform on Microsoft Azure から、プライベート Azure VNet、および Azure を使用したトランジットルーティングが存在するオンプレミスまたはマルチクラウドネットワークへのネットワークピアリングを設定できます。

1.2.1. パブリックデプロイメント

パブリックデプロイメントでは、パブリックインターネット経由で Ansible Automation Platform on Microsoft Azure のユーザーインターフェイスにアクセスすることができます。デプロイメント時に、ドメイン名が Ansible Automation Platform on Microsoft Azure のインスタンスに発行されます。Ansible Automation Platform にアクセスするための設定は必要ありません。ユーザーは、パブリックインターネットからドメインに移動し、ユーザーインターフェイスにログインできます。

以下の図は、Ansible Automation Platform on Microsoft Azure を Azure サブスクリプションに公開デプロイメントするときに、管理対象のアプリケーションリソースグループにデプロイされるアプリケーションリソースおよびアーキテクチャーの概要を説明します。

Azure のパブリックデプロイメントに関するアプリケーション

1.2.2. プライベートデプロイメント

Ansible Automation Platform のプライベートデプロイメントは、外部ソースからのアクセスがない分離された Azure VNet に存在します。つまり、パブリックインターネットや他の AzureVNet およびサブネットとの間のトラフィックはブロックされます。

Ansible Automation Platform ユーザーインターフェイスの URL にアクセスするには、ネットワークピアリングを設定する必要があります。

ピアリングとルーティングが設定されると、ユーザーは接続された Azure サブネット上の VM を介して、または組織で Azure とローカルネットワーク間にトランジットルーティングが設定されている場合は直接、Ansible Automation Platform にアクセスできます。

注記

2 つの Azure ネットワーク設定が同じではありません。ユーザーが Ansible Automation Platform の URL にアクセスできるようにするには、組織は Azure 管理者と協力してプライベートアクセスデプロイメントに接続する必要があります。

Azure のプライベートデプロイメントに関するアプリケーション

1.3. ネットワーク

Ansible Automation Platform on Microsoft Azure は、そのインフラストラクチャーをクラス C ネットワーク範囲 192.168.0.0/24 にデプロイします。この範囲は変更できません。Ansible Automation Platform on Microsoft Azure と既存のネットワーク間のネットワークピアリングと通信を成功させるには、エンタープライズネットワークの範囲がこのネットワーク範囲と重複してはなりません。

1.4. Ansible Automation Platform on Microsoft Azure のインフラストラクチャーの使用

Ansible Automation Platform on Microsoft Azure にインストールする場合には、以下のインフラストラクチャーが Azure サブスクリプションにデプロイされます。

Azure Kubernetes Service (AKS)

Ansible Automation Platform アプリケーションとサービスのデプロイに使用される Kubernetes クラスター。

サービスシェイプ:

  • コンピュートノード: Standard_D4s_v3 (4 vCPU x 16 GiB)
  • 自動スケーリング最小ノード数: 3
  • 自動スケーリング最大ノード数: 20
管理された ID
Ansible Automation Platform コンポーネントがデータベース、DNS、ストレージ、その他のサービスなどの他の Azure サービスと通信できるようにする Azure サービス。
キーコンテナー (key vault)
Ansible Automation Platform のデプロイに固有のシークレットを格納するために使用される安全なキーボールト。
ログ分析ワークスペース
Red Hat サイトの信頼性エンジニアが Ansible Automation Platform on Microsoft Azure の操作を検査できるようにする Azure サービス。
プライベート DNS ゾーン
Ansible Automation Platform on Microsoft Azure で使用されるサービスのローカル DNS 要求を管理します。
Azure Database for PostgreSQL

Ansible Automation Platform の PostgreSQL データベースに使用される Azure データベースサービス。

サービスシェイプ: 1 TB

ストレージアカウント

Azure サービスは、プロジェクトやコンテナーなどのローカルストレージのファイルおよびブロックストレージに使用されます。

サービスシェイプ: StorageV2 - Standard_LRS

仮想ネットワーク

Azure サービスは、Azure Application Gateway などのすべての内部ネットワークおよび依存サービスを管理するために使用されます。

サービスシェイプ: アプリケーションゲートウェイ:WAF_v2

正確なインフラストラクチャーの使用状況は、管理対象アプリケーションがテナンシーにデプロイされる時間の長さと、Kubernetes クラスターが自動スケーリングしてワークロードの要件を満たすための自動化要件により異なります。

Microsoft は、Azure 製品およびサービスのコストを見積もるための 価格計算ツールを提供しています。Red Hat は、価格計算ツールでシナリオの例を設定しました: Red Hat Ansible Automation Platform on Azure Infrastructure Estimate を使用して、組織のワークロードに基づいて Kubernetes の想定された自動スケーリング変数をチューニングしています。

1.5. ライフサイクル管理

Red Hat Ansible は、基礎となるサービスおよび Ansible Automation Platform on Microsoft Azure コアシステムの監視、ヘルスチェック、メンテナンス、および Ansible Automation Platform on Microsoft Azur の操作を行います。これには、コンポーネントのライフサイクル管理が含まれます。

1.6. Ansible Automation Platform on Microsoft Azure のスケーリング

Microsoft Azure cluster autoscaler の Ansible Automation Platform on Microsoft Azure のデフォルト設定では、以下のノード数制限の設定で自動スケーリングします。

  • 最小ノード: 1
  • 最大ノード数: 20

1.7. マイグレーション

Red Hat は、既存のデプロイメントを Ansible Automation Platform on Microsoft Azure に移行するソリューションを提供していません。

第2章 Red Hat Ansible Automation Platform on Microsoft Azure のインストール

2.1. 前提条件

Azure requirements

  • Microsoft Azure のサブスクリプション。
  • Azure サブスクリプションへのコントリビューターまたは管理者アクセス。
  • Azure CLI へのアクセス。

Ansible Automation Platform の要件

  • Red Hat カスタマーポータルのアカウント(access.redhat.com)。
  • Red Hat Ansible Automation Platform の特定のサブスクリプションエンタイトルメント。

2.1.1. Azure リソースクォータおよびインフラストラクチャーの制限

Microsoft は、各 Azure リージョン内にリソース制限を課します。CPU の制限は、Red Hat Ansible Automation Platform on Microsoft Azure に影響を与える可能性が最も高いです。

Azure 用に Ansible Automation Platform on Microsoft Azure をインストールする前に、目的のリージョンに管理アプリケーションをデプロイする容量があることを確認してください。インフラストラクチャーの要件は、Azure インフラストラクチャーの使用を参照してください。

2.1.1.1. vCPU のリージョン制限

管理対象アプリケーションのデプロイメント時に使用される Azure リソースは、Azure インフラストラクチャーの使用状況 のリソース要件を一時的に超過します。管理対象のアプリケーションのデプロイ時に、Total Regional vCPU クォータが一時的に消費されます。

すべての Azure リージョンには、別個の Total Regional vCPU クォータがあります。インストールに失敗しないように、管理対象のアプリケーションをデプロイする Azure リージョンに 80 以上の DS2_V3 vCPU が利用可能であることを確認してください。

以下の手順では、Azure コンソールでサブスクリプションのリソースクォータを表示する方法を説明します。

  1. Azure コンソールで、Quotas を検索し、My Quotas ページを開きます。
  2. 管理アプリケーションをデプロイするリージョンを選択して、そのリージョンの割り当ておよび使用状況のメトリクスを表示します。単一のリージョンが選択されていることを確認します。すべてのリージョンを一度に表示しても、単一の Azure リージョンの制限は表示されません。

2.1.1.2. StandardCore のリージョン制限

StandardCore 制限は、管理対象のアプリケーションのデプロイ時に一時的に消費されるリソースのコンピュートメトリックです。

Ansible Automation Platform on Microsoft Azure は、StandardCore の制限に達することなくデプロイできる可能性があります。消費リソースが StandardCore の制限に達したことが原因でデプロイメントが失敗する場合には、container group quota 'StandardCores' exceeded と内容のエラーメッセージが表示されます。

code: DeploymentFailed
message:
  At least one resource deployment operation failed. Please list deployment operations for details.
  Please see https://aka.ms/DeployOperations for usage details.
details:
  - code: DeploymentScriptContainerGroupInvalidSettings
    message:
      Resource type 'Microsoft.ContainerInstance/containerGroups'
      container group quota 'StandardCores' exceeded in region 'eastus'.
      Limit: '10', Usage: '10' Requested: '1'.

StandardCore 制限引き上げの要求

StandardCore メトリクスは、Azure コンソールの My Quotas ページには表示されません。リージョン制限の値を要求するには、Microsoft に直接ご連絡ください。

消費リソースがこの制限に達することが原因でデプロイメントが失敗する場合は、StandardCore から Microsoft へのリソース増加の要求を送信する必要があります。この問題が原因でデプロイメントが失敗した場合にのみ、クォータの増加要求を送信します。

以下の情報を使用して、Microsoft サポートからの質問に答えてください。

コンテナーグループは Linux または Windows のどちらで実行される予定ですか。
Linux
コンテナーグループインスタンス内のコアとメモリーの容量はどれくらいですか?
Red Hat は 20 コア、16 GB を推奨しています。
コンテナーグループインスタンスをすべて作成するのはいつですか?
Red Hat Ansible Automation Platform on Microsoft Azure の管理対象アプリケーションのデプロイメント中
コンテナーグループをどのような頻度で作成/削除しますか?
Red Hat Ansible Automation Platform on Microsoft Azure の管理対象アプリケーションのデプロイメント中のみ

2.2. サービスプリンシパルの作成

Ansible Automation Platform アプリケーションが Azure リソースにアクセスして管理できるようにするには、デプロイ後に認証資格情報を提供する必要があります。Microsoft Azure コレクションはサービスプリンシパル認証をサポートします。

サービスプリンシパルを作成するには、Azure テナントでテナンス全体のパーミッショがある管理者権限が必要です。Ansible Automation Platform on Microsoft Azure デプロイメントは、この手順で作成したサービスプリンシパルと同じサブスクリプション ID でプロビジョニングされます。

  1. Azure ポータルに移動し、Cloud Shell アイコンをクリックしてブラウザーで bash Cloud Shell を開きます。
  2. Azure サービスの自動化に使用するサブスクリプションを使用するように Azure CLI を設定します。シェルから次のコマンドを実行します。

    az account set --subscription <your_subscription_id>
  3. Azure CLI を使用して以下のコマンドを実行し、Azure AD で特権付きサービスプリンシパルを作成します。

    az ad sp create-for-rbac --name ansible --role Contributor

    出力には、サービスプリンシパルの appID キーおよび テナント キーが表示されます。

    {
      "appId": "xxxxxxx-xxx-xxxx",
      "displayName": "ansible",
      "name": "xxxxxxx-xxx-xxxx",
      "password": "xxxxxxx-xxx-xxxx",
      "tenant": "xxxxxxx-xxx-xxxx"
    }
  4. シークレットの作成時にのみ表示されるので、サービスプリンシパルの詳細を安全に保存します。Automation Controller のデプロイ時にこの情報が必要になります。

2.2.1. サービスプリンシパルの管理

サービスプリンシパルの認証情報には有効期限があり、Azure AD 設定に指定される期間に限定されます。Azure に対して長期間自動化する予定の場合には、サービスプリンシパルのライフサイクルスパンを追跡します。必要に応じて、新しいものを作成できます。

更新済みまたは削除されたサービスのプリンシパルのレコードを表示するには、以下の Azure CLI コマンドを実行します。

az ad sp list -o table | grep ansible

このコマンドでは、サービスプリンシパルのシークレットは表示されません。サービスプリンシパルを削除し、シークレットが失われた場合に新規のプリンシパルを作成します。

新しいサービスプリンシパルを作成して期限切れまたは削除されたサービスプリンシパルを置き換える場合は、置き換えるサービスプリンシパルを使用する認証情報を更新する必要があります。認証情報を更新しないと、その認証情報を使用する自動化に失敗します。

2.3. Azure Marketplace からの Ansible Automation Platform のデプロイ

2.3.1. Azure Marketplace での Ansible Automation Platform の検索

  1. ブラウザーで Azure Marketplace に移動します。
  2. 画面左側のメニューから Private Products をクリックします。
  3. Red Hat Ansible Automation Platform を検索します。
  4. 検索で返されるカードをクリックします。Red Hat から公式のオファリングを選択してください。
  5. Get it NowContinueCreate の順にクリックしてデプロイメントプロセスを開始します。

2.3.2. Red Hat Ansible Automation Platform on Microsoft Azure のプロビジョニング

Azure marketplace から Red Hat Ansible Automation Platform の管理対象アプリケーションのデプロイメントを開始すると、Create Red Hat Ansible Automation Platform on Microsoft Azure ウィンドウにフォームが表示されます。

フォームに入力する前に、Ansible Automation Platform on Microsoft Azure のパブリックデプロイメントとプライベートデプロイメントのどちらを作成するかを決定します。

  • パブリックデプロイメントでは、パブリックインターネットを介した Ansible Automation Platform on Microsoft Azure ユーザーインターフェースへのアクセスが可能です。アプリケーションの URL にアクセスするための設定は必要ありません。
  • プライベートデプロイメントは、パブリックインターネットからのアクセスをブロックする分離された Azure VNet で作成されます。Ansible Automation Platform on Microsoft Azure ユーザーインターフェイスにアクセスするには、ネットワークピアリングとルーティングを設定する必要があります。

フォームに入力して、Red Hat Ansible Automation Platform インフラストラクチャーおよびリソースを Azure テナントにプロビジョニングします。

  1. フォームの以下のフィールドに、デプロイメントの値を入力します。

    • サブスクリプション: Ansible on Cloudsを選択します。
    • Resource Group: 管理対象アプリケーションをデプロイするリソースグループを作成または選択します。
    • Region: アプリケーションがデプロイされる Azure リージョン。
    • Application Name: 管理対象アプリケーションの一意の名前。
    • Administrator Password: デプロイメント用の管理者パスワードを作成します。

      Administrator Password: 8 文字以上で、大文字、小文字、および数字を含める必要があります。

    • Confirm Administrator Password: 管理者パスワード を確認します。
    • アクセス: デプロイメントをパブリックにするかプライベートにするかを選択します。
    • Managed Resource Group: 管理対象アプリケーションインフラストラクチャーのリソースグループ。

      このリソースグループを、管理対象のアプリケーションをデプロイするリソースグループなど、他のリソース グループから分離したままにしておきます。

  2. フォームで入力した情報を安全な場所に保存します。自動化コントローラーとプライベート自動化ハブにアクセスするには、管理者パスワード を指定する必要があります。
  3. Review + Create をクリックします。
  4. フォームに入力した情報が有効な場合には、ウィンドウに Validation Passed が表示されます。
  5. I agree を選択して、共同管理者アクセス権限の利用規約に同意します。
  6. Create をクリックして、アプリケーションのプロビジョニングプロセスを開始します。

アプリケーションがプロビジョニングを開始します。

インフラストラクチャーおよびソフトウェアが完全にプロビジョニングされるまで 30 分以上かかる場合があります。

プロビジョニングが完了したら、新しい Ansible Automation Platform インスタンスにアクセスしてログインし、自動化コントローラーと自動化ハブを起動できます。

2.4. Red Hat Ansible Automation Platform on Microsoft Azure へのアクセス

Azure marketplace から Red Hat Ansible Automation Platform の管理対象アプリケーションのデプロイメントを開始すると、Create Red Hat Ansible Automation Platform on Microsoft Azure ウィンドウにフォームが表示されます。フォームに入力して、Ansible Automation Platform インフラストラクチャーおよびリソースを Azure テナントにプロビジョニングします。

  1. Web ブラウザーで、Azure コンソールで Managed Applications に移動します。
  2. デプロイした Red Hat Ansible Automation Platform on Microsoft Azure のインスタンスを選択します。
  3. 左側のナビゲーションメニューの Settings セクションで Parameters and Outputs を選択します。
  4. 自動化コントローラーおよび自動化ハブの URL リンクをコピーし、保存します。リンクの名前は automationControllerUrl および automationHubUrl です。
  5. ブラウザーで自動化コントローラー URL に移動し、以下の認証情報を使用してログインします。

    • ユーザー名: admin
    • パスワード: Ansible Automation Platform アプリケーションをデプロイしたときに指定した管理者パスワードを使用します。

Ansible Automation Platform on Microsoft Azure に初めてログインするときは、サブスクリプションを設定し、利用規約に同意する必要があります。

2.4.1. ライセンスの関連付け

Red Hat では、Red Hat Ansible Automation Platform on Microsoft Azure にサブスクライブしている場合には、特定のサブスクリプションエンタイトルメントマニフェストが提供されていました。

ライセンスに関する情報を送信するように求められたら、access.redhat.com から取得したライセンスマニフェストファイルを選択します。

2.4.2. Azure Active Directory (Azure AD) SSO 設定

以下の手順に従って、Azure Active Directory (Azure AD) で SSO を設定します。組織がアプリケーションの認証に Azure AD を使用しない場合は、Ansible Automation Platform のユーザー管理システムでユーザーを作成できます。

Ansible Automation Platform デプロイメントのベース URL の設定

  1. ブラウザーで Automation コントローラー URL に移動し、以下の認証情報を使用してログインします。

    • ユーザー名: admin
    • パスワード: Ansible Automation Platform アプリケーションをデプロイしたときに指定した管理者パスワードを使用します。
  2. Automation コントローラーコンソールで、メニューオプションの Settings をクリックします。
  3. System 設定の Miscellaneous System settings をクリックします。
  4. 編集 をクリックします。サービスフィールドの Base URl に Automation Controller URL を入力します。
  5. Save をクリックします。

Ansible Automation Platform の認証の設定

Microsoft Azure Active Directory (Azure AD) のエンタープライズ認証を設定するには、Azure で Ansible Automation Platform デプロイメントを登録して OAuth2 キーおよびシークレットを取得する必要があります。

Azure に自動化コントローラーインスタンスを登録するには、自動化コントローラー設定から Azure AD OAuth2 Callback URL を指定する必要があります。

Azure AD OAuth2 コールバック URL の取得

  1. Web ブラウザーで、自動化コントローラーコンソールを開きます。
  2. メニューの Settings をクリックして、メインの設定ページを開きます。
  3. Authentication カテゴリーの Azure AD 設定 をクリックして Details ページを開きます。
  4. Azure AD OAuth2 コールバック URL の値をコピーします。デプロイされたアプリケーションを Azure AD に登録する時に、この値が必要になります。

Azure AD での登録済みアプリケーションの作成

  1. Web ブラウザーで Azure ポータルを開きます。
  2. Ansible Automation Platform をデプロイしたテナントを使用するようにしてください。
  3. 検索バーに Azure Active Directory と入力します。
  4. 検索結果から Azure Active Directory を選択します。
  5. メニューオプションの Manage で、App registrations をクリックします。
  6. App registrations ページで + New registration をクリックします。
  7. 以下のように新規登録を設定します。

    • Name フィールドに、デプロイされたアプリケーションに使用したものと同じ名前を入力します。
    • サポートされているアカウントタイプ のデフォルト値を選択します。
    • Redirect URI (オプション)Web を選択します。
    • Redirect URI (オプション) フィールドに、自動化コントローラーから取得する Azure AD OAuth2 Callback URL 値を入力します。
  8. Register をクリックして登録を作成します。

登録が完了すると、Automation Controller アプリケーションの登録ページが表示されます。

通信用のシークレットの生成

  1. Azure の Automation コントローラーアプリケーション登録ページ で、Application(クライアント)ID の値をコピーして保存します。

    この値は、Ansible Automation Platform 設定の Azure AD OAuth2 キー に使用します。

  2. Manage で、Certificates & secrets をクリックします。
  3. Client secrets をクリックしてから + New client secret をクリックします。
  4. 新規シークレットの説明を入力します。

    証明書の自動更新や、有効期限が切れるタイミングの識別はできません。

    説明に日付を含めると便利です。例: AAP Client Secret <YYYY-MM-DD 形式の今日の日付>

  5. 新規シークレットの有効期限を指定します。

    証明書の最大有効期間は 2 年間です。セキュリティー上の理由から長期的な証明書を作成できない要件がある場合以外は、有効期限は 24 カ月 を選択します。

  6. シークレットの をローカルマシン上の任意の場所に保存します。このページから移動すると、値は表示されなくなり、取得できなくなります。

Ansible Automation Platform 設定へのシークレットの追加

Ansible Automation Platform インスタンスに、Azure で生成したシークレットのキー (Application (client) ID) と値 (Value) を追加します。

  1. Web ブラウザーで自動化コントローラーコンソールを開きます。
  2. SettingsAzure AD settings をクリックします。
  3. 編集 をクリックします。
  4. Azure AD で生成したシークレットの情報を入力します。
  5. Azure AD OAuth2 キー で、アプリケーション (クライアント) ID を貼り付けます。
  6. Azure AD OAuth2 Secret で、シークレットの を貼り付けます。
  7. Save をクリックします。

自動コントローラーへの Azure 認証情報の追加

  1. Web ブラウザーで自動化コントローラーを開きます。
  2. ResourcesCredentials をクリックします。
  3. Add をクリックして Create New Credentials ページを開きます。
  4. 新規認証情報の名前を入力し、認証情報タイプの Azure Resource Manager を選択します。
  5. サービスプリンシパルの詳細を使用して、フォームの値を入力します。

    • 名前: 認証情報にわかりやすい名前を選択します(例: *Azure Infrastructure* )。
    • Subscription ID: Azure で作成したリソースを関連付けるサブスクリプション ID を入力します。これは、お使いのテナントに固有のものです。組織には複数のサブスクリプション ID がある場合があります。使用すべきサブスクリプション ID については、Azure 管理者にお問い合わせください。
    • Client ID: サービスプリンシパルの作成から appId 値を入力します。
    • Client Secret: サービスプリンシパルの作成で使用したパスワードを入力します。
    • Tenant ID: サービスプリンシパル作成のテナントを入力します。
  6. Save をクリックして認証情報を保存します。

第3章 プライベートネットワークピアリング

Ansible Automation Platform on Microsoft Azure は、独自の Azure 仮想ネットワーク (VNet) を使用して独立した管理リソースグループにデプロイされます。

初回のデプロイ時に、Ansible Automation Platform Ansible Automation Platform on Microsoft Azure の VNet はパブリックインターネット経由でのみ外部ネットワークに要求を送信できます。

Ansible Automation Platform on Microsoft Azure がインターネットギャップされたデプロイメントでリソースにアクセスできるようにするには、リソースへのアクセスがプライベートネットワーク上で行われる必要がある場合、プライベート仮想ネットワークと Red Hat Ansible Automation Platform on Microsoft Azure の管理アプリケーション VNet の間に Azure ネットワークピアリングを設定する必要があります。

Azure VNet は、複数の Azure VNet 間のプライベート通信、および Azure VNet と外部 VPN ルーティング間のプライベート転送ルーティングを有効化するように設定できます。これらの VPN ネットワークはオンプレミスまたは他のクラウドに指定できます。

2 つの Azure ネットワーク設定が同じではありません。Ansible Automation Platform on Microsoft Azure へのユーザーアクセスを有効にするには、Azure 管理者と協力して、デプロイメントを VNet および外部 VPN ルーテッドネットワークに接続します。

注記

ネットワークピアリングは、Azure ネットワークに精通している組織内の Azure 管理者が設定する必要があります。Azure アカウントにネットワークの変更を設定すると、停止やその他の中断が発生する可能性があります。

プロセスとサービスは Microsoft Azure によって制御および管理されているため、このドキュメントで説明されているネットワークピアリング手順は Red Hat ではサポートされていません。Azure ネットワークのピアリングについては、Microsoft にお問い合わせください。

この内容が Microsoft のドキュメントと一致するように努力はしていますが、時間が経過すると内容にずれが生じる場合があります。Azure のネットワークトピックについては、Microsoft ドキュメント が最も信頼のおける情報源です。

Azure は、プライベートネットワークをピア接続するさまざまな方法を提供します。通常、これらは以下の 2 つのカテゴリーに分類されます。

  • hub-and-spoke peering: このトポロジーでは、他の仮想ネットワークピアが使用する集中化されたハブ VNet があります。このハブネットワークには、転送ルーティングを介してトラフィックをルーティングするメカニズムがあります。オンプレミスおよび他のクラウドネットワークとの VPN/Express Connect 接続を含むクラウドネットワークは、ハブ VNet 経由で通信できます。
  • ダイレクトピアリング: プライベートネットワークは、ネットワーク間のルーティングホップがない状態で個別に接続されます。これは簡単にピアリングモデルで、一部のネットワークのみを接続する場合に便利です。

組織に適したピアリングアプローチを決定するには、Microsoft アプリケーションアーキテクチャーの基礎ガイド仮想ネットワークピアリングと VPN ゲートウェイのどちらかを選択するを参照してください。

3.1. ハブアンドスポークピアリング

注記

ルートテーブルを誤って更新すると、ネットワークが機能しなくなる可能性があります。ネットワークで想定外の動作が発生しても元に戻せる確信がある場合のみ、以下の手順を実行してください。

3.1.1. ハブアンドスポークピアリングプロセスの概要

前提条件

  • Ansible Automation Platform on Microsoft Azure をデプロイしている。
  • Azure テナントで Azure VNet のハブアンドスポーク実装を設定し、テストしている。この前提条件では、仮想ネットワークゲートウェイを含む多くの Azure リソースを設定する必要があります。
  • VPN を含むスポークネットワーク間の転送ルーティングを設定している。手順は、Microsoft Azure ドキュメントの Configure VPN gateway transit for virtual network peering を参照してください。
  • 以下を確認している。

    • Ansible Automation Platform on Microsoft Azure UI へのアクセスを必要とする既存の VNet(VPN および直接接続を含む)の CIDR ブロック。
    • Ansible 自動化のホストまたはエンドポイントが含まれる既存の VNet(VPN および直接接続を含む)の CIDR ブロック。
    • アプリケーションの管理対象リソースグループからの Ansible Automation Platform on Microsoft Azure の CIDR ブロック。手順は、管理対象リソースグループの CIDR ブロックの検索を参照してください。

ネットワークをピアリングする前に、プライベート VNets と Ansible Automation Platform on Microsoft Azure ネットワークの間にネットワークアドレス空間の重複がないことを確認します。

手順

  1. Ansible Automation Platform on Microsoft Azure 管理の Kubernetes クラスター の CIDR ブロックを検索します。Finding the CIDR Block of the managed application Kubernetes cluster を参照してください。
  2. Ansible Automation Platform サブネットを使用したネットワークピアリングの設定Ansible Automation Platform サブネットを使用したネットワークピアリングの設定を参照してください。
  3. ルートテーブルを更新します。

    1. 既存のネットワークからルートテーブルを設定し、トラフィックを管理対象アプリケーション CIDR に送信します。Ansible Automation Platform のユーザーインターフェースを要求するすべてのネットワークと、そのリソースに対して自動化が実行されるすべてのネットワークのルーティングテーブルにルートを追加する必要があります。Microsoft Azure での Ansible Automation Platform へのルーティング を参照してください。
    2. 自動化またはユーザーインターフェースへのアクセスに、Ansible Automation Platform が通信する各スポークネットワークの VNet へのルーティングを設定します。VNets へのルーティング を参照してください。

3.1.1.1. 管理対象リソースグループの CIDR ブロックを見つける

  1. Azure ポータルの Resource Groups ページに移動します。
  2. Red Hat Ansible Automation Platform on Microsoft Azure の管理対象リソースグループをクリックします。リソースグループ名の前には -mrg が付いています。
  3. リソースグループ内の VNet を選択して、Overview ページにその設定を表示します。

    クラスターの CIDR ブロックが Address Space に表示されます。

詳細は、Microsoft Azure Virtual Network ガイドの View virtual networks and settings を参照してください。

3.1.1.2. Ansible Automation Platform サブネットを使用したネットワークピアリングの設定

Azure コンソールでは、Azure 仮想ネットワーク(VNet) は この仮想ネットワーク と、ピア接続する VNet は リモートの仮想ネットワーク と呼ばれています。

Azure ポータルの Virtual Networks ページで、以下の設定を使用して、Azure VNet と Ansible Automation Platform on Microsoft Azure アプリとピア接続する VNet との間でピアリングを設定します。

  • This virtual network で、Microsoft Azure 仮想ネットワークの Ansible Automation Platform の設定を選択します。

    • ピアリングリンク名: <hub_to_aap_peering_link_name>
    • リモート仮想ネットワークへのトラフィック:許可
    • 仮想ネットワークの削除から送られたトラフィック:許可
    • 仮想ネットワークゲートウェイまたはルートサーバー: このネットワークのゲートウェイまたはルートサーバーを使用します。
  • Remote virtual network で、Azure とピア接続する仮想ネットワークの設定を選択します。

    • ピアリングリンク名: <aap_to_hub_peering_link_name>
    • リモート仮想ネットワークへのトラフィック:許可
    • リモート仮想ネットワークから送られたトラフィック:許可
    • 仮想ネットワークゲートウェイまたはルートサーバー: リモート仮想ネットワークのゲートウェイまたはルートサーバーを使用します。

ピアリングの設定に関する詳細は、Microsoft Azure Virtual network ガイドのCreate a peering を参照してください。

3.1.1.3. ルートテーブルの更新

ルートテーブルを更新する前に、ハブアンドスポークのピアリングプロセスの 前提条件 を満たしていることを確認します。

Microsoft Azure での Ansible Automation Platform へのルーティング

  1. Azure ポータルの Route Tables に移動します。
  2. ハブアンドスポーク設定の一部として、1 つ以上のルートテーブルを作成してネットワーク間のルートを定義しました。これらのルートテーブルの 1 つをクリックします。
  3. ルートテーブルメニューバーから Routes > Add をクリックします。
  4. 既存のネットワークからルートを設定し、トラフィックを Ansible Automation Platform に送信します。Ansible Automation Platform ユーザーインターフェースを要求するネットワークおよびリソースに対して自動化を実行するネットワークにルートを設定する必要があります。追加するルートごとに、以下の情報を入力します。

    • Route name: Ansible Automation Platform 管理アプリケーションネットワークのルート名を入力します。
    • アドレスプレフィックス: 管理対象の kubernetes クラスターの CIDR ブロック
    • 次のホップタイプ:仮想ネットワークゲートウェイ
  5. OK をクリックして、新しいルートをルートリストに保存します。

トラフィックを Ansible Automation Platform にルーティングする他のすべてのルートテーブルに対して、この手順を繰り返します。

VNet へのルーティング

自動化またはユーザーインターフェースにアクセスするために、Ansible Automation Platform が通信するスポークネットワークごとにルートを追加します。

  1. Azure ポータルの Route Tables に移動します。
  2. ルートテーブルの一覧で、 Ansible Automation Platform on Microsoft Azure 管理アプリケーションのルートテーブルを選択します。

    Ansible Automation Platform ルートテーブルの名前は、以下の表記法を使用します。

    aks-agentpool-<numbers>-routetable
  3. ルートテーブルメニューバーから Routes > Add をクリックします。
  4. 自動化またはユーザーインターフェース両方へのアクセスに、Ansible Automation Platform が通信する各スポークネットワークの VNet へのルーティングを設定します。
  5. 追加するルートごとに、以下の情報を入力します。

    • Route name: Ansible Automation Platform がルーティングするスポークネットワークのルート名を入力します。
    • アドレスプレフィックス: スポークネットワークの CIDR ブロック
    • 次のホップタイプ:仮想ネットワークゲートウェイ
  6. OK をクリックして、新しいルートをルートリストに保存します。

ルーティングルールを設定すると、トラフィックはプライベートネットワークを使用して Azure 上で Ansible Automation Platform にルーティングされます。

Azure のルートテーブルへのルートの追加に関する詳細は『Microsoft Azure Virtual network ガイドの Create a route を参照してください。

3.2. ダイレクトピアリング

ダイレクトピアリングを使用して、仮想ネットワークを直接接続できます。2 つのネットワークがピアリングされると、Azure はそれらの間のルートを更新し、トラフィックがそのルート間で自動的に流れるようにします。

ダイレクトピアリング方式は、ハブアンドスポークモデルよりも設定が簡単です。ただし、ダイレクトネットワークピアリングの数には限りがあります。新しいネットワークごとに他のすべてのネットワークとのピアリングが必要になるため、仮想ネットワークの数が増えると、直接ピアリングの管理が難しくなります。

3.2.1. ダイレクトネットワークピアリングの設定

Azure ポータルの Virtual Networks ページで、Azure ネットワークと VNet 間のネットワークピアリングを設定できます。

Azure コンソールでは、Azure 仮想ネットワークは この仮想ネットワーク と、ピア接続する VNet は リモートの仮想ネットワーク と呼ばれています。

Azure ポータルの Virtual Networks ページで、以下の設定を使用して、Ansible Automation Platform on Microsoft Azure アプリとピア接続する Azure ネットワークおよび VNet を設定します。

  • This virtual network で、Microsoft Azure 仮想ネットワークの Ansible Automation Platform の設定を選択します。

    • ピアリングリンク名: <hub_to_aap_peering_link_name>
    • リモート仮想ネットワークへの トラフィック: 許可
    • リモート仮想ネットワークから送られたトラフィック:許可
    • 仮想ネットワークゲートウェイまたはルートサーバー: このネットワークのゲートウェイまたはルートサーバーを使用します。
  • Remote virtual network で、Azure とピア接続する仮想ネットワークの設定を選択します。

    • ピアリングリンク名: <aap_to_hub_peering_link_name>
    • サブスクリプション: Ansible Automation Platform on Microsoft Azure がデプロイされているサブスクリプションを選択します
    • 仮想ネットワーク: Ansible Automation Platform on Microsoft Azure 仮想ネットワークを選択します: vnet-<aap_identifier>-<region>
    • リモート仮想ネットワークへのトラフィック:許可
    • リモート仮想ネットワークから送られたトラフィック:許可
    • 仮想ネットワークゲートウェイまたはルートサーバー: リモート仮想ネットワークのゲートウェイまたはルートサーバーを使用します。

直接ネットワークピアリングを設定した後、Ansible Automation Platform on Microsoft Azur と Ansible Automation Platform 上のプライベートホストおよび IP 間のトラフィックルート。

ピアリングの設定に関する詳細な手順は、Microsoft Azure Virtual Network ガイドの Create a peering を参照してください。

直接ピアリングの詳細は、Microsoft Azure Virtual Network ガイドの Virtual network peering を参照してください。

第4章 Red Hat Ansible Automation プラットフォームへの接続

ネットワークピアリングが完了し、Azure ルーティング設定が確立されたら、Azure ネットワーク設定を介してチームが Ansible Automation Platform にアクセスする方法を選択できます。

4.1. Access details

Ansible Automation Platform がパブリックアクセスとプライベートアクセスのどちらでデプロイされたかに関係なく、一連の DNS レコードが作成されます。DNS レコードは、Ansible Automation Platform にデプロイメント用の有効な TLS 証明書を発行し、アプリケーションに簡単にアクセスできるようにするために作成されます。

Ansible Automation Platform アプリケーションの URL のリストを表示するには、デプロイメントの AzureMarketplace 管理対象アプリケーションリストの Parameters and Outputs ページに移動します。

4.2. パブリックデプロイメント

Ansible Automation Platform on Microsoft Azure をデプロイしたときにパブリックアクセスを選択した場合は、ブラウザーからパブリックインターネット経由で Ansible Automation Platform アプリケーションの URL にアクセスできます。

4.3. プライベートデプロイメント

Red Hat Ansible Automation Platform on Microsoft Azure をデプロイするときにプライベートアクセスを選択した場合、Red Hat Ansible Automation Platform on Microsoft Azure に発行された DNS レコードは、プライベートクラス C ネットワークアドレス 192.168.0.68 を指します。ネットワークピアリングを作成した後、このアドレスへのアクセスを設定する必要があります。

Ansible Automation Platform on Microsoft Azure に接続するために選択する設定とアクセス方法は、組織が Azure インフラストラクチャーを管理する方法によって異なります。Azure 管理者は、組織に適したモデルを決定し、セットアップを設定する必要があります。

最も一般的なオプションは次のとおりです。

4.3.1. Azure がホストする仮想マシン

少数のユーザーが Azure ネットワーク上のプライベートネットワークリソースにアクセスするためのアクセスを設定する簡単な方法は、ユーザーがパブリックインターネットからリモートでログインできる境界ネットワーク (DMZ VNet) にジャンプボックス VM を作成することです。ジャンプボックス VM には、GUI やブラウザーなどのワークステーション機能が必要です。

ユーザーは、VNC、RDP、またはその他の画面共有プロトコルを介して、オンプレミスマシンからパブリックアクセス可能な仮想マシンにリモートでログインできます。

Azure プライベートネットワーク上の Ansible Automation Platform Web UI にアクセスするには、ユーザーはジャンプボックス VM のブラウザーを使用して URL に移動します。

DMZ VNet は、ネットワークピアリングを介して他の Azure VNet に接続され、192.168.0.0/24 のネットワークトラフィックを Ansible Automation Platform に送信するためのルーティングルールが確立されています。

次の図は、Azure 仮想マシンを介したプライベートネットワークアクセスの設定例のトポロジーを示しています。

azure プライベート NW アクセス VM 上の AAP

4.3.2. VPN

組織で多くのユーザーがプライベート接続を介して Ansible Automation Platform にアクセスする必要がある場合、または組織が既に VPN または Azure との直接接続を使用している場合は、このアプローチが適している可能性があります。

この設定では、オンプレミスインフラストラクチャーはネットワークアプリケーションゲートウェイを介して Azure に接続され、ローカルネットワーク上の接続されたコンピューターへの Ansible Automation Platform へのアクセスを可能にするルーティングルールがあります。仮想ネットワークゲートウェイに接続された VNet は、ネットワークピアリングを介して他の Azure VNet に接続され、192.168.0.0/24 のネットワークトラフィックを Ansible Automation Platform に送信するためのルーティングルールが確立されています。

この設定では、ユーザーは、パブリックアクセスアプローチを使用しているかのように、アプリケーション URL を介して Ansible Automation Platform にアクセスできます。

aap on azure プライベート nw アクセス vpn

4.3.3. SSH トンネル

VPN がオプションではなく、ローカルユーザーがより技術的である場合、SSH トンネルアプローチは、ユーザーがローカルマシンのブラウザーから Ansible Automation Platform にアクセスできるようにする安全な代替手段です。

このモデルでは、Azure Hosted Virtual Machine の方法と同様に、DMZ ネットワークに軽量 LinuxSSH サーバーが作成されます。ただし、サーバーにワークステーション機能は必要ありません。SSH サーバーは、ユーザーのローカルマシンと Ansible Automation Platform on Microsoft Azure の間のプロキシーとして機能するだけです。

各ユーザーは、サーバー上で SSH ユーザーとして設定する必要があります。次に、ユーザーはローカルマシンから SSH サーバーへの SSH トンネルを確立して、Ansible Automation Platform on Microsoft Azure のトラフィックをルーティングできます。

このアプローチは、Linux および macOS ホストマシンでの実装が簡単ですが、Windows でも実行できます。

  1. ローカルホストファイルを更新して、Ansible Automation Platform の URL が、DNS レコードが設定されているプライベート IP ではなくローカルマシンにトラフィックをルーティングするようにします。次の行を hosts ファイルに追加します。

    127.0.0.1 controller.aapusb7en3awafew.az.ansiblecloud.com

    次の例は、hosts ファイルの行を示しています。

    ##
    # Host Database
    #
    # localhost is used to configure the loopback interface
    # when the system is booting. Do not change this entry.
    ##
    127.0.0.1	localhost
    255.255.255.255	broadcasthost
    ::1             localhost
    
    127.0.0.1 controller.aapusb7en3awafew.az.ansiblecloud.com
  2. ssh コマンドを実行して SSH トンネルを確立します。

    以下の例では、IP アドレスは DMZ 内の SSH サーバーのアドレスです。-L フラグは、ローカルシステムがポート 443 (HTTPS) を介して自動化コントローラー URL のトラフィックをルーティングするようにします。

    sudo ssh azureuser@20.231.60.123 -i ~/.ssh/id_ssh_key -N -f -L 443:controller.aapusb7en3awafew.az.ansiblecloud.com:443
    注記

    ポート 443 は、ルーティングパスの両側で使用する必要があります。ローカルマシンで別のポートを使用すると、一部の Ansible Automation Platform 機能が正しく機能しなくなります。これには、ローカルマシンでのルートアクセスが必要です。

SSH トンネルが確立され、Azure ルーティングが適切に設定されたら、https://controller.aapusb7en3awafew.az.ansiblecloud.com のローカルブラウザーで自動コントローラーの URL にアクセスできます。

aaponazure プライベート nw アクセス ssh