Ansible による自動化

Ansible はオープン ソースのアプリケーション展開および構成管理ツールで、Layer7 Gateway のアップグレードを自動化するために使用されます。 Ansible コントローラを設定し、Gateway 環境情報でインベントリを設定した後に、移行タスクを実行して Gateway をバージョン 10.0 にアップグレードする Ansible playbook を実行します。
Ansible の基本的な構成要素はモジュールです。 各モジュールは、ssh を介して Gateway 上で特定の操作をリモート実行します。また、モジュールの動作はパラメータを指定してカスタマイズできます。 モジュールは、タスクによって呼び出されます。 playbook では複数のプレイを呼び出すことができ、プレイではタスクがホスト リストに関連付けられています。 playbook は YAML で記述されています。 ロールは、自己完結型/再利用可能な機能を提供するための一連のタスクです。 各ロールでは、Gateway 移行ワークフローの 1 つのセクションが実行されます。
Ansible playbook は簡単に拡張できます。 使用可能なモジュールは modules_by_category です。 一部のモジュールでは、サードパーティ製のライブラリをインストールする必要があります。 各モジュールの要件を確認してください。
GitHub リポジトリ
自動急速アップグレードの手順を実行するために必要なファイルは、以下の GitHub リポジトリから入手できます。
このリポジトリには、各 playbook およびロールの内容を詳しく説明している README.md ファイルがあります。
ベスト プラクティス
  • 専用のコンピュータを Ansible コントローラとして使用します。 ロックダウン/セキュリティ強化されている必要があります。 このコンピュータでは、Linux または macOS が実行されている必要があります。 Microsoft Windows はサポートされていません。
  • Ansible の最新バージョンをインストールします。 Gateway を使用して Ansible コントローラをインストールしないでください。
  • 各管理者は、Ansible を使用して Gateway をアップグレードするときに独自のアカウントを使用します。 これにより、監査レコードの内容を把握しやすくなります。 パスワードはユーザ間で共有しないでください。
アップグレード シナリオ
前述のように、自動急速アップグレード手順では、以下の 2 つのシナリオがあります。
新規作成と移行
手順
注意事項
アップグレード前チェックの実行
ソース Gateway 上でアップグレード前の分析を実行します。
生成されたアップグレード前の分析レポートを確認した後に、アップグレードの要件に適合するように自動化を拡張(playbook をカスタマイズ)できます。
MySQL Checker を実行するには、mysql8 シェルをインストールする必要があります。
関連ロール:
gateway_preupgrade_analyzer
Gateway の設定およびアサーションのバックアップ
ssgbackup を使用して、Gateway および Linux の設定ファイルと Gateway のアサーションをバックアップします。
関連ロール:
gateway_basic_backup
データベースのエクスポート
ソース Gateway のデータベースおよび OTK データベース(併置されている場合)をバックアップしてエクスポートします。
関連ロール:
gateway_export_database
バックアップ PAPIM の設定
PAPIM 設定ファイルをバックアップします。
ソリューション キット ファイルは、gateway_export_database ロールによってバックアップされます。
関連ロール:
gateway_papim_backup
新しい Gateway の自動プロビジョニング
すべてのノードで自動プロビジョニング playbook を実行します。
ソース Gateway と同じパスワードを使用します。
関連ロール:
gateway_common、gateway_primary_db_node、gateway_processing_node
データベースのインポートとデータベース スキーマのアップグレード
エクスポートされたソース Gateway データベースおよび OTK データベースをターゲットにインポートします。
OTK データベースが併置されている場合は、mysql 権限を付与するためにファイルのコメント化を解除します。
関連ロール:
gateway_import_database
Gateway ライセンスのインストール
Gateway ライセンス インストーラを実行します。 新しいホスト名を使用して新しい SSL 証明書を作成します。
関連ロール:
gateway_common、gateway_install_license
PAPIM のインストールおよびリストア
PAPIM をインストールして、以前にバックアップした設定ファイルをリストアします。
関連ロール:
gateway_papim_install、gateway_papim_restore_backup
データベース レプリケーションの設定
フェールオーバを可能にするために、プライマリ Gateway MySQL 8 データベースのレプリケーションを設定します。
関連ロール:
gateway_replicate_database
インストールの検証
手動の手順です。 標準的な検証手順に従います。
コントローラ上のバックアップ ファイルのクリーンアップ
各クラスタのアップグレード後、次の手順に進む前に使用されます。 バックアップ ファイルを削除して、コントローラ上の容量を確保します。
関連ロール:
gateway_controller_cleanup
既存の VM インスタンスまたはハードウェア アプライアンスの再イメージ化
手順
注意事項
アップグレード前チェックの実行
ソース Gateway 上でアップグレード前の分析を実行します。
生成されたアップグレード前の分析レポートを確認した後に、アップグレードの要件に適合するように自動化を拡張(playbook をカスタマイズ)できます。
MySQL Checker を実行するには、mysql8 シェルが必要です。
関連ロール:
gateway_preupgrade_analyzer
データベースのエクスポート
ソース Gateway のデータベースおよび OTK データベース(併置されている場合)をバックアップしてエクスポートします。
関連ロール:
gateway_export_database
Gateway VM の再イメージ化
ISO を使用して VM を再構築します。
仮想マシンの再イメージ化」を参照してください。
新しい Gateway の自動プロビジョニング
すべてのノードで自動プロビジョニング playbook を実行します。
ソース Gateway と同じパスワードを使用します。
関連ロール:
gateway_common、gateway_primary_db、gateway_primary_db_node、gateway_processing_node
データベースのインポートとデータベース スキーマのアップグレード
エクスポートされたソース Gateway データベースおよび OTK データベースをターゲットにインポートします。
OTK データベースが併置されている場合は、mysql 権限を付与するためにファイルのコメント化を解除します。
関連ロール:
gateway_import_database
Gateway ライセンスのインストール
Gateway ライセンス インストーラを実行します。 新しいホスト名を使用して新しい SSL 証明書を作成します。
関連ロール:
gateway_common、gateway_install_license
PAPIM のインストールおよびリストア
PAPIM をインストールして、以前にバックアップした設定ファイルをリストアします。
関連ロール:
gateway_papim_install、gateway_papim_restore_backup
データベース レプリケーションの設定
フェールオーバを可能にするために、プライマリ Gateway MySQL 8 データベースのレプリケーションを設定します。
関連ロール:
gateway_replicate_database
インストールの検証
標準的なインストール検証手順に従います。
コントローラ上のバックアップ ファイルのクリーンアップ
各クラスタのアップグレード後、次の手順に進む前に使用されます。 バックアップ ファイルを削除して、コントローラ上の容量を確保します。
関連ロール:
gateway_controller_cleanup