Ansible Automation Platform 2.1 がリリースされました

レッドハットの杉村です。Ansible のテクニカルサポートをしています。毎月1つは何か書くことを目標にしていますが11月は書けなかったため、これを11月分にします。

Ansible Advent Calendar 2021 の12月3日分として投稿します。

adventar.org

昨日、米国時間12月2日に Ansible Automation Platform 2.1 のリリースがアナウンスされました。原著者の許可を得ましたので、日本語でも紹介します。リンクされているドキュメントやビデオは全て英語です。

www.ansible.com

f:id:sugitk:20211203143624p:plain

Red Hat Ansible Automation Platform 2.1 の一般提供を発表できることを嬉しく思います。これは、今年の夏にリリースされ、Ansible Fest 2021 で発表された Ansible Automation Platform 2.0 Early Access の続編です。Red Hat Ansible Automation Platform 2.1 は、顧客がさらに柔軟な自動化アーキテクチャとユースケースのためにより簡単に導入できるようにする主要な機能を導入します。 Ansible Automation Platform 2.1 は、エンタープライズでの自動化する方法を長年にわたって再考したものの集大成となっています。

最新バージョンは Red Hat カスタマーポータル から直接ダウンロードするか、red.ht/try_ansible で無料トライアルにサインアップすることでご利用いただけます。Ansible Automation Platform は、企業向けに設計された、あなたがご存じの Ansible です。 Ansible Automation Platform 2 が発表された9月の Andrius Benokraitis のブログの投稿 を要約し、2.0から2.1へのいくつかの重要な機能拡張を紹介していきます。

まずは一般情報から

  • Ansible Automation Platform の ライフサイクルのページ が更新されました。

  • 今後は、Ansible Automation Platform のマイナーリリースには、Red Hat Subscription Management のためのリポジトリが含まれます。Ansible Automation Platform サブスクリプションが必要とするものです。2.0 Early Access 版をご利用の場合は、こちらのコマンドでリポジトリを切り替えてください。

# subscription-manager repos --disable=ansible-automation-platform-2.0-early-access-for-rhel-8-x86_64-rpms
# subscription-manager repos --enable=ansible-automation-platform-2.1-for-rhel-8-x86_64-rpms

次に、いくつかの公式ドキュメントの更新を紹介

  • 2.1 でリリースされた新しいガイドです。

    • Installing and Configuring Central Authentication Guide
    • Automation mesh Guide
    • Ansible Platform Operator Installation Guide
  • こちらは従来のリリースに大きな追加がされたガイドです。

    • Ansible automation hub: How to deploy a high availability automation hub
    • Red Hat Insights for Ansible Automation Platform: Introduction to Reports
    • Ansible Security Automation Guide: How to automate network intrusion detection and prevention systems
  • 更新されたリリースノートなど、全てのドキュメントは オンライン で参照いただけます。(いまのところは英語です)

Ansible Automation Platform 2.1 の新機能: automation mesh

Automation meshドキュメント):これは Ansible Automation Platform に追加された最新の機能であり、1.2 の isolated node 機能に代わるものです。 2.0 で導入された実行環境 (execution environment) と 2.1 の automation mesh を組み合わせることにより、自動化コントロールプレーンと実行プレーンが完全に分離され、世界中で自動化を簡単に拡張できるようになります。 単一のデータセンターで自動化を実行することに縛られることなく、自動化を実行対象のできるだけ近くで実行できるようになりました。 automation mesh を使用すると、ノースカロライナ州ダーラムのオートメーションコントローラーに実行を展開しながら、実行対象のすぐ隣に実行ノードを作成できます(たとえば、南アフリカのヨハネスブルグにあるブランチオフィス)。

f:id:sugitk:20211203143652p:plain

Automation mesh はこのような機能を追加します。

  • 動的なクラスタの容量。必要に応じて実行能力を増やすことができます。

  • グローバルなスケーラビリティ。実行プレーンはネットワークの遅延や接続の中断に対して回復力があり、不安定なネットワークにも強いです。

  • 安全な自動化。実行ノードとコントロールノードの間の双方向の通信は完全な TLS による認証とエンドツーエンドでの暗号化を行います。

Shane McDonald と Craig Brandt によるこの automation mesh demo をご覧ください。Ansible Fest 2021 のものです。(22:38 にスキップしてください)。この automation mesh はさらに今後もこのブログで深く紹介していく予定ですので、ご期待ください。

更新された automation execution environments (実行環境)

最近、automation execution environments (自動化実行環境) は、はるかにポータブルで柔軟なパッケージとして 1.2 までの Ansible Engine から置き変わりました。

Ansible Automation Platform 2.1には、Red Hat コンテナレジストリで利用できるようになった、事前に構築され、サポートされている自動化実行環境の更新されたセットがあります。 これらのイメージは、環境内のさまざまな容量で使用でき、Ansible Automation Platform サブスクリプションの一部として提供されます。 サポートされているすべての自動化実行環境は、ansible-automation-platform-2 と呼ばれる親リポジトリでホストされています。 便宜上、3つの自動化実行環境すべてがバンドルされた 2.1 インストーラーの一部として含まれるようになりました。

あらかじめビルドされた実行環境が更新されました

  • Minimal (ee-minimal-rhel8) - UBI8 と python-3.8 の上に構築された Ansible Core 2.12 が含まれています。 このコンテナイメージにはコレクションは含まれていません。 これをベースイメージとして使用して、カスタムコレクションまたは Ansible automation hub で利用可能な Red Hat Ansible 認定コンテンツコレクションを使用して、追加の自動化実行環境を構築できます。

  • Supported (ee-supported-rhel8) - これは、automation controller で使用できるデフォルトのコンテナイメージです。 Minimal のコンテナイメージの上に構築され、Red Hat によって公式にサポートされているすべての更新された Ansible コンテンツコレクションが含まれています。

  • Ansible 2.9 (ee-29-rhel8) - Ansible 2.9 と必要なすべての Ansible についての依存するパッケージが含まれています。 このコンテナイメージは、Ansible Automation Platform 1.2 (旧 Ansible Tower 3.8) から Ansible Automation Platform 2.1 への移行を計画しているお客様に最適です。

インターネットへの接続がない環境でのインストール

Ansible Automation Platform 2.1リリースでは、インターネットへの接続がない環境でのインストールでも、Red Hat OpenShift 用の Red Hat Ansible Automation Platform Operator がサポートされるようになりました。 詳細については、 公式の製品ドキュメント を参照してください。

統合的な認証機能の追加

エンタープライズソフトウェアソリューションでは、シングルサインオン (SSO) の必要性がますます重要になっています。 Ansible Automation Platform 2 は引き続き追加の関連コンポーネントをリリースするため、標準化された方法でコンポーネント間を簡単に認証する必要があります。 まず手始めに、SSO を活用する最初のものとして、private Automation Hub や Red Hat Ansible Automation Platform Operator から導入できるようになりました。この拡張機能によって、将来のリリースで Ansible Automation Platform の他のコンポーネントについても SSO に対応していけるようになっていく基礎となります。

振り返り: Ansible Automation Platform 2 の構成の概要

Ansible Automation Platform 2は、企業が組織全体で自動化を拡張できるようにするツールとコンポーネントのスイート全体を導入しました。 Ansible Automation Platform は、サポート付きの単なるアップストリームコマンドライン Ansible パッケージではなく、Ansible の単なるグラフィカルユーザーインターフェイスでもありません。 利用可能なさまざまなコンポーネントの詳細を示す高レベルの図をご覧ください。

f:id:sugitk:20211203143714p:plain

よく知られている ansible-* バイナリコマンドラインツール以外にも、多くのコンポーネントがあります。 Red Hat は、顧客が自動化を作成、管理、拡張するのに役立つ複数のコンポーネントを開発しました。 今回リリースされたものをご紹介します。

実行環境ビルダー (ドキュメント): これは、自動化の作成者が自動化をコンテナ化されたイメージにすばやくパッケージ化して、テスト済みの自動化実行環境にするのに役立つコマンドラインツールです。

Ansible コンテンツツール: これは、自動化コンテンツの作成を支援する完全にサポートされているコンポーネントを指します。 たとえば、コマンドラインツール ansible-test は、IT自動化担当者が自動化コンテンツ (ドキュメント) をテストするのに役立ちます。 他にも他のツールに加えて、VS code の Ansible 用機能拡張 についても取り組んでいます。

Ansibleコンテンツコレクション: Ansible Automation Platform 2 では、自動化コンテンツ (ロール、プレイブック、モジュール、プラグインなど) を実行コンポーネント ansible-core (ansible-playbook など) から分離しました。 これによく似ているのは、お気に入りのモバイルゲームの最新バージョンを入手するために、スマートフォンをアップグレードする必要がないというようなことです。 自動化コンテンツを分離することで、Ansible Content Collection の更新を非同期的にリリースし、自動化を継続的に改善できます。 コレクションとは何かを理解するためのヘルプが必要な場合は、この YouTube ビデオ をご覧ください。 これまで次のような複数のドメインにわたって新しい自動化コンテンツを継続的に追加してきました。

認証され完全にサポートするコレクションの一覧については、console.redhat.com の Ansible automation hub のページ をご覧ください。

オートメーションコンテンツナビゲーター (ドキュメント): インタラクティブなテキストベースのユーザーインタフェース (TUI) を含む、自動化作成者向けの新しいコマンドラインコンポーネントです。 自動化コンテンツナビゲーター (ansible-navigator) を使用すると、Ansibleの専門家は、自動化実行環境をサポートすることで、従来の Ansible のコマンドと同じような使い方(ansible-playbook など) の運用知識を簡単に再利用できます。 オートメーションコンテンツナビゲーターを使用すると、プレイをすばやくズームインおよびズームアウトしたり、出力をその場でフィルタリングしたりできるため、自動化エンジニアがこれまで慣れ親しんできたプレイの実行結果の把握がより見やすくなります。 また、同僚が作成したこのビデオ ansible-navigator を使用して簡単にコンテンツを作成する もお勧めします。

自動化コントローラー (ドキュメント): Ansible Automation Platform 用の Web ユーザーインターフェイス (webUI) および API (アプリケーションプログラミングインターフェイス) です。 これは、以前は Red Hat Ansible Tower と呼ばれていたコンポーネントに代わるものです。 この新しいアーキテクチャではコントロールプレーンと実行プレーンを分離することにより、グラフィカルインターフェイスと同じノードに関連付けられなくなることで、古いアーキテクチャに比べて実行能力を向上させることができます。 このアーキテクチャの変更の詳細については、Craig Brandt のブログ投稿 Ansible Automation Platform 2 の新機能: 自動化コントローラー を読むことをお勧めします。

自動化実行環境 (ドキュメント): 簡単に言えば、これは Ansible コントロールノードとして利用できるコンテナイメージです。 これには、Python パッケージの依存関係 (Amazon Web Services の場合は boto3 など)、システムレベルの依存関係 (Linuxパッケージのgcc、jqなど)、および Ansible Playbook の自己完結型ランタイム環境を作成するための ansible-core にバンドルされた Ansible コンテンツコレクションが含まれています。 コマンドラインのansible-navigator と WebUI / API駆動の自動化コントローラーはどちらもこの実行環境を実行できるため、自動化プレイブックの作成とテストから、運用や本番環境への移行までをより迅速かつ簡単に行うことができます。 自動化実行環境の詳細については、ブログ投稿 Ansible Automation Platform 2の新機能: 自動化実行環境 をご覧ください。

Private automation hub (ドキュメント): 自動化作成者が自身のオートメーションコンテンツを共同で公開し、その組織内で Ansible コードを利用できるようにするものです。 ハイブリッドクラウド全体でニーズが拡大するにつれて、組織としても Ansible コンテンツのライフサイクルを管理および制御できるようになりました。 このコンポーネントは完全に自己ホスト型であり、自動化の作成者とオペレーターに Ansible コンテンツコレクションと実行環境の両方を提供できます。 private automation hub に関する私のブログ を読んで、深く掘り下げることをお勧めします。

Automation hub (コンソール): これは、private automation hub に対応するものです。完全にサポートおよび認定されたすべての Ansible コンテンツコレクション用に、整理された自動化コンテンツリポジトリとして console.redhat.com で公開されています。 IT運用者は、Ansible automation hub からオンプレミスの private automation hub に特定のコレクションを同期し、使いたいコレクションを管理することができます。

Red Hat Insights for Ansible Automation Platform (コンソール および 製品ページ): このオプションの SaaS で提供されるサービスは、console.redhat.com で利用できます。 これにより、自動化アーキテクトは複数の Ansible Automation Platform クラスタから単一のビジュアルダッシュボードにデータを集約できるため、アーキテクトは複数の自動化イニシアチブ全体の傾向を分析および発見できます。 Red Hat Insights for Ansible Automation Platform は、Ansible Automation Platform から非同期で新しい機能を絶えず追加するホスト型サービスです。 ただし、2.1 のリリースと同時に導入されたレポートと呼ばれる新機能があります。 レポートは、消費用の分析データとダウンロード可能なPDFを提供します。 たとえば、時間の経過とともにどのホストがどのジョブテンプレートによって変更されたか、組織ごとに分類されたホストや、組織ごとに分類されたジョブとタスクなどを確認できます。

自動化サービスカタログ (コンソール): 上記のサービスの他にも、console.redhat.com 上の SaaS で提供されるサービスとして Ansible Automation Platform サブスクリプションに含まれる自動化サービスカタログがあります。 自動化サービスカタログは軽量のITサービス管理として機能し、自動化の消費者は自動化をカタログアイテムとして注文できます。 自動化サービスカタログを使用すると、複数の自動化コントローラーを Web UI の1つのプッシュボタンに集約して、サイト固有の複雑さを抽象化できます。 これにより、組織全体で簡単に利用可能なワンタッチ方式で自動化を採用できます。 また、承認とチェックアウトシステムがあり、企業の自動化に一定レベルのガバナンスを追加します。

Ansible Automation Platform Operator (ドキュメント): Red Hat OpenShift 用のネイティブで完全にサポートされている Operator です。これにより、Operator Hub を介して Ansible コンポーネントを Red Hat OpenShift に簡単にインストールすることができます。 自動化コントローラーと private automation hub の両方が、単一のオペレーターに含まれています。 心のこもったビデオ Automated Live, エピソード03 をぜひご覧ください (5:29 までスキップしてください)。

f:id:sugitk:20211203143737p:plain

次は何から始めればいいですか?

あなたが初心者であっても、歴戦のベテランであっても、あなたの自動化の知識を高めるためにさまざまなリソースを用意しています。

著者

f:id:sugitk:20211203145535p:plain

Sean Cavanaugh

Seanは、Ansible のプリンシパルプロダクトマーケティングマネージャーであり、コンピューターネットワークの構築と自動化に10年以上の経験があります。 Sean は以前、Cumulus Networks と Cisco Systems の両方で働いており、顧客がネットワークインフラストラクチャを展開、管理、自動化するのを支援していました。 彼はノースカロライナ州チャペルヒルに妻と子供たちと一緒に住んでおり、@IPvSean からツイートしています。

翻訳者より

Ansible 2.9 がこの年末で EOL になったらどうなるの? と世界中から毎日のように問い合わせを受けていました。ようやく正式公開版として Ansible Automation Platform 2.1 がリリースできたことで、とても喜ばしく感じています。

踏み台として使われてきた isolated node が automation mesh として大きく生まれ変わったのは非常に大きなアップデートだと思います。

実行環境 (execution environment) がコンテナ化されたことで、Ansible Tower での virtual environment の作成に悩まされることもなくなりました。個別に作成方法がお客さんによって異なって Python のバージョンも一定しないというのは、サポートする側としてはとても苦しいものがありました。以前記事を書きましたが ansible-builder で簡単に作れますので、お試しください。

rheb.hatenablog.com

また、RHSSO を同時にインストールして automation hub の SSO に使えるようになったというのも大きいです。automation controller (旧 Tower) の認証には SAML や LDAP などの外部認証も幅広く使われているのですが、今後 RHSSO に統一されていくことで、認証に詳しいチームとうまく分担できればいいなと Ansible のサポートとしては期待しています。

なお、各製品コンポーネントの日本語での呼び方は一定しておらず、公式にこう呼びますというものもありません。英語表記もご参照ください。

ご興味持たれたことや質問などありましたら、#ansiblejp のタグで tweet していただけるとうれしいです。

Happy Automation!

* 各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。