はじめに
automation mesh は Red Hat Ansible Automation Platform の機能です。これにより、既存のネットワークを使用して、ハイブリッドクラウド全体でピアツーピア接続で自動化ワークロードを分散することができます。Red Hat Ansible Automation Platform on Microsoft Azure で automation mesh を使用すると、組織は単一のコントロールプレーンで自動化を次のような 2 つの方法で拡張できます。
- Ansible Automation Platform on Azure のアーキテクチャは、ダイレクトまたはトランジットルーティングにより直接自動化できる自動化ワークロードに基づいて自動的に拡張できるため、自動化インフラストラクチャを直接管理する必要がなくなります。
- 自動化を他のデータセンターやエッジのリソースに対して実行する必要がある場合、または Ansible Automation Platform on Azure に直接接続できない状況では、Ansible Automation Platform on Azure に接続された automation mesh 実行プレーンを構成できます。
自動化メッシュの実行プレーンは、ホップノードと実行ノードという 2 種類のメッシュノードで構成されています。
ホップノードには実行ノードとの通信を促進し、トラフィックを実行ノードにルーティングする働きがあります。
実行ノードは、ターゲット・エンドポイント・リソースに対して自動化を実行します。
多くの組織は、パブリッククラウド、プライベートクラウド、および複数のデータセンター全体にワークロードとリソースがあるハイブリッドクラウド環境を持っています。これらのネットワークに到達し、自動化エンドポイントの近くに実行ノードを配置する必要性があります。このタイプの設定の例を次に示します。
automation controller 4.5 がリリースされ、Ansible Automation Platform on Azure でホップノードを実装する機能が利用できるようになりました。
Ansible Automation Platform サブスクリプションにより、Ansible Automation Platform のコンポーネントの実行に使用できる 10 本の Red Hat Enterprise Linux (RHEL) ライセンスが付与されます。この例では、これらのライセンスを活用し、Ansible Automation Platform on Azure のデプロイからリモートサイトで実行される実行ノードとホップノードを使用して automation mesh を実装します。
では、この機能をデプロイおよび活用する方法について見ていきましょう。
ネットワークの準備
この例のネットワーク構成では、例としてデフォルトポートを使用します。ネットワーク構成は組織のニーズに合わせて設定できます。複雑なネットワーク構成については automation mesh のドキュメントでご確認ください。
automation mesh は通信に TLS 暗号化を使用するため、外部ネットワーク (インターネットなど) を通過するトラフィックは転送中に暗号化されます。
- DMZ は、パブリックインターネットからのトラフィック用にポート 27199 を開き、Ansible Automation Platform on Azure のインスタンスからの通信を可能にします。
- ネットワークトラフィックは、DMZ とポート 27199 のプライベートネットワーク間をルーティングできます。
- プライベートネットワーク内のネットワークトラフィックは、自動化が実行されるポート (SSH の場合は 22、API の場合は 443 など) でルーティングできます。
また、プライベートネットワークに仮想マシンなどのリソースを準備します。Ansible Automation Platform で、プライベート IP アドレスまたはホスト名を使用してプライベートリソースを含むインベントリーを作成します。
RHEL インスタンスの準備
automation mesh マシンをデプロイして設定するには、Ansible の自動化を追加するなど、さまざまな方法があります。ここでは例として、手動での手順を説明します。以下では、x64_64 アーキテクチャで RHEL 9 を実行していると仮定しています。
- 通信を必要とするリモートネットワーク内に RHEL インスタンスをデプロイします。
- 上記の例では、1 つのインスタンスがパブリック IP アドレスで DMZ ネットワーク内に存在し、もう 1 つはプライベートネットワークに存在します。
- RHEL ISO は、access.redhat.com から取得できます。
- 各 RHEL インスタンスに SSH 接続し、以下の手順を実行します。 ネットワークアクセスと制御によっては、SSH プロキシやその他のアクセスモデルが必要になる場合があります。
RHEL インスタンスに subscription-manager によりエンタイトルメントが付与されていることを確認します。
sudo subscription-manager register --auto-attach
Ansible Automation Platform リポジトリに登録します。
sudo subscription-manager repos --enable ansible-automation-platform-2.4-for-rhel-9-x86_64-rpms
ansible-core パッケージをインストールします。
sudo dnf install -y ansible-core
ansible.receptor Ansible コレクションをインストールします。
ansible-galaxy collection install ansible.receptor
- 後の手順でホップノードから実行ノードへの接続に使用する SSH キーを作成またはコピーします。これは、automation mesh の構成専用に使用される一時キーまたは長期的なキーとして使用できます。SSH ユーザーとキーは後の手順で使用します。
レセプター通信のためにポート 27199 を開きます。
sudo firewall-cmd --permanent --zone=public --add-port=27199/tcp
これで、RHEL インスタンスで automation mesh を実行する準備が整いました。
automation Controller での設定
automation Controller でノードを設定する必要があります。この例では、ホップノード 1 つと実行ノード 1 つをデプロイします。
- automation controller にログインします。
- [Administration] メニューで [Instances] に移動します。
- [Add] をクリックします。
- 各フィールドに次のように入力して、実行ノードを設定します。
- Host name:<the private ip address of the host>
> - Description:Execution node
- Listener Port:27199
- Instance Type:Execution
- Host name:<the private ip address of the host>
- [Save] をクリックします。
- [Install Bundle] アイコンをクリックして、インストールパッケージをダウンロードします。これを保存して、後の手順で使用します。
- [Back to instances] をクリックします。
- [Add] をクリックします。
- 各フィールドに次のように入力して、ホップノードを設定します。
- Host name: <the public ip address or host name of the host>
- Description:Hop node
- Listener Port:27199
- Instance Type:Hop
- Peers:虫眼鏡アイコンをクリックし、先ほど作成した実行ノードを選択します。
- [Peers from control nodes] オプションのチェックボックスをオンにします。
- Host name: <the public ip address or host name of the host>
このスクリーンショットの IP アドレスは例です
- [Save] をクリックします。
- [Install Bundle] アイコンをクリックして、インストールパッケージをダウンロードします。これを保存して、後の手順で使用します。
- [Administration] にある [Topology View] メニュー項目をクリックします。automation mesh 構成が一時的に「インストール済み」の状態で表示されます。
このスクリーンショットの IP アドレスは例です
ホップノードの IP アドレス:20.123.123.972
実行ノードの IP アドレス:10.10.0.2
automation mesh バンドルのインストール
前のセクションでダウンロードした 2 つのバンドルは、Ansible Automation Platform を使用してこれらの automation mesh ノードをそれぞれ設定します。これらのバンドルをどこで実行するかは、リソースへのネットワークアクセスによって異なります。この例では、ホップノードへの SSH アクセス権があり、ホップノードから両方のマシンに対してバンドル自動化を実行できると仮定します。
- 両方のバンドルファイルをローカルマシンからホップノードにコピーします。IP アドレスまたはホスト名は環境に対して一意のものになります。
scp /path/to/hop/bundle/20.123.123.972_install_bundle.tar.gz \ user@20.123.123.972
scp /path/to/exec/bundle/10.10.0.2_install_bundle.tar.gz user@20.123.123.972
- 両方の tar.gz ファイルを展開します。
tar -xzvf /path/to/hop/bundle/20.123.123.972_install_bundle.tar.gz
tar -xzvf /path/to/exec/bundle/10.10.0.2_install_bundle.tar.gz
- 実行ノードフォルダーのディレクトリに移動します。
cd /path/to/exec/bundle/10.10.0.2_install_bundle
- テキストエディターで inventory.yml ファイルを開きます。
vim /path/to/exec/bundle/10.10.0.2_install_bundle/inventory.yml
- [user] フィールドを変更して、実行ノードの SSH ユーザーが含まれるようにします。
---
all:
hosts:
remote-execution:
ansible_host: 10.10.0.2
ansible_user: <username> # user provided
ansible_ssh_private_key_file: ~/.ssh/id_rsa
- 必要に応じて、前の手順でこのホストに SSH キーを設定した方法に基づいて、SSH キーの名前を変更します。
- inventory.yml ファイルを保存します。
- Playbook を実行して、実行ノードホストに automation mesh をインストールします。
ansible-playbook -i inventory.yml install_receptor.yml
- インストールが完了したら、ホップノードフォルダーのディレクトリに移動します。
cd /path/to/hop/bundle/20.123.123.972_install_bundle
- テキストエディターで inventory.yml ファイルを開きます。
vim /path/to/hop/bundle/20.123.123.972_install_bundle/inventory.yml
- [user] フィールドを変更して、ホップノードの SSH ユーザーが含まれるようにします。
---
all:
hosts:
remote-execution:
ansible_host: 20.123.123.972
ansible_user: <username> # user provided
ansible_ssh_private_key_file: ~/.ssh/id_rsa
- 必要に応じて、前の手順でこのホストに SSH キーを設定した方法に基づいて、SSH キーの名前を変更します。
- inventory.yml ファイルを保存します。
- Playbook を実行して、ホップノードホストに automation mesh をインストールします。
ansible-playbook -i inventory.yml install_receptor.yml
接続性の確認
- Web ブラウザーで Automation Controller を再度開きます。
- 左側のメニューにある [Administration] で [Instances] をクリックします。
- 実行ノードの横にあるチェックボックスをオンにします。
- [Run health check] をクリックします。この手順には数分かかる場合があります。
- automation mesh が正常に機能している場合、すべてのノードのステータスは [Ready] になります。
インスタンスグループの作成
- [Administration] で [Instances Groups] をクリックします。
- [Add] をクリックします。
- [Add instance group] をクリックします。
- 次のフィールドを含むインスタンスグループを作成します。
- Name:Remote Network
- [Save] をクリックします。
- [Instances] タブをクリックします。
- [Associate] をクリックします。
- 作成した実行ノードの横にあるチェックボックスをオンにします。
- [Save] をクリックします。
動作を確認する
ホップノードと実行ノードが設定できました。automation controller からジョブを開始し、ジョブがホップノードをどのように通過し、実行ノードに渡されて自動化タスクが実行されるかを観察してみましょう。
- このガイドの準備手順として作成したインベントリーを開きます。
- [Edit] をクリックして、インベントリーを編集します。
- [Instance Groups] の横にある虫眼鏡をクリックします。
- [Remote Network] のインスタンスグループを選択します。
- [OK] をクリックします。
- [Save] をクリックします。
- [hosts] タブをクリックします。
- プライベートネットワークで作成した VM ホストの横にあるチェックボックスをオンにします。
- [Run Command] をクリックします。
- ホストに対して ping モジュールを実行します。
ping が成功すると、automation mesh が適切に設定されます。これで、プライベートネットワーク上のホストに対して自動化ジョブを実行できるようになります。
次のステップ
Ansible Automation Platform on Azure の詳細については、こちらのページをご覧ください。
automation mesh の詳細については、こちらのガイドをご覧ください。
他のハイパースケーラークラウドでの Ansible Automation Platform の詳細については、こちらのページをご覧ください。
Ansible Automation Platform の実践的な自習型のラボについては、こちらのページをご覧ください。
執筆者紹介
Hicham is responsible for technical marketing of the Red Hat Ansible Automation Platform on Clouds. Hicham has been in the software industry for over 20 years and for many of them focused on cloud management. Hicham has been a frequent presenter at events and conferences like VMworld, vForum, VMUG, VMLive, Gartner, Dell Technology World, AWS re:Invent, HPE Discover, Cloud Field Day, Red Hat Summit, AnsibleFest, in addition to Customer events.
Scott Harwell is a Principal Product Manager at Red Hat for Ansible on Clouds. His focus is the delivery of Ansible Automation Platform offerings on hyperscaler cloud vendors such as Microsoft Azure and AWS. Prior to joining Red Hat, Scott held product management, development, and consulting roles for Oracle, AST Corporation, Tech Machine, and Volvo. Scott is a cloud enthusiast with experience and certifications across many cloud providers. He is passionate about automation and likes to find creative ways to improve IT, technical, and business processes.
チャンネル別に見る
自動化
テクノロジー、チームおよび環境に関する IT 自動化の最新情報
AI (人工知能)
お客様が AI ワークロードをどこでも自由に実行することを可能にするプラットフォームについてのアップデート
オープン・ハイブリッドクラウド
ハイブリッドクラウドで柔軟に未来を築く方法をご確認ください。
セキュリティ
環境やテクノロジー全体に及ぶリスクを軽減する方法に関する最新情報
エッジコンピューティング
エッジでの運用を単純化するプラットフォームのアップデート
インフラストラクチャ
世界有数のエンタープライズ向け Linux プラットフォームの最新情報
アプリケーション
アプリケーションの最も困難な課題に対する Red Hat ソリューションの詳細
オリジナル番組
エンタープライズ向けテクノロジーのメーカーやリーダーによるストーリー
製品
ツール
試用、購入、販売
コミュニケーション
Red Hat について
エンタープライズ・オープンソース・ソリューションのプロバイダーとして世界をリードする Red Hat は、Linux、クラウド、コンテナ、Kubernetes などのテクノロジーを提供しています。Red Hat は強化されたソリューションを提供し、コアデータセンターからネットワークエッジまで、企業が複数のプラットフォームおよび環境間で容易に運用できるようにしています。
言語を選択してください
Red Hat legal and privacy links
- Red Hat について
- 採用情報
- イベント
- 各国のオフィス
- Red Hat へのお問い合わせ
- Red Hat ブログ
- ダイバーシティ、エクイティ、およびインクルージョン
- Cool Stuff Store
- Red Hat Summit