はじめに: Azure Cloud Shell を使用して Ansible を構成する
Azure 上に Ansible を構成し、基本的な Azure リソース グループを作成することにより、Ansible の使用を開始します。
Ansible は、クラウド プロビジョニング、構成管理、およびアプリケーションのデプロイを自動化するオープンソース製品です。 Ansible を使用すると、仮想マシン、コンテナー、およびネットワークをプロビジョニングし、クラウド インフラストラクチャを完成させることができます。 また、Ansible を使用すると、環境でのリソースの展開と構成を自動化することもできます。
この記事では、Azure Cloud Shell 環境からの Ansible の使用を開始する方法について説明します。
環境を構成する
- Azure サブスクリプション:Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。
- Azure Cloud Shell の構成 - Azure Cloud Shell を初めて使用する場合は、「Azure Cloud Shell の Bash のクイック スタート」を参照してください。
既に Cloud Shell セッションを開いている場合は、次のセクションに進むことができます。
Azure portal を参照します
必要に応じて、Azure サブスクリプションにログインし、Azure ディレクトリを変更します。
Cloud Shell を開きます。
Cloud Shell を以前に使用したことがない場合は、環境とストレージの設定を構成します。
コマンドライン環境を選択します。
資格情報の自動構成
Cloud Shell にサインインするとき、Ansible は Azure で認証され、追加構成なしでインフラストラクチャを管理できます。
複数のサブスクリプションを操作する場合は、AZURE_SUBSCRIPTION_ID
環境変数をエクスポートして、Ansible で使用されるサブスクリプションを指定します。
すべての Azure サブスクリプションを一覧表示するには、次のコマンドを実行します。
az account list
Azure サブスクリプション ID を使用して、次のように AZURE_SUBSCRIPTION_ID
を設定します。
export AZURE_SUBSCRIPTION_ID=<your-subscription-id>
Ansible インストールをテストする
Cloud Shell 内での使用のために Ansible を構成しました。
このセクションでは、新しい Ansible 構成内でテスト リソース グループを作成する方法について説明します。 これを行う必要がない場合、このセクションはスキップしてかまいません。
Azure リソース グループを作成する
create_rg.yml
として次のコードを保存します。--- - hosts: localhost connection: local tasks: - name: Creating resource group - "{{ name }}" azure_rm_resourcegroup: name: "{{ name }}" location: "{{ location }}" register: rg - debug: var: rg
ansible-playbook を使用してプレイブックを実行します。 プレースホルダーは、削除するリソース グループの名前と場所に置き換えます。
ansible-playbook create_rg.yml --extra-vars "name=<resource_group_name> location=<resource_group_location>"
重要なポイント:
- プレイブックの
register
変数とdebug
セクションにより、コマンドの完了時に結果が表示されます。
- プレイブックの
Azure リソース グループの削除
delete_rg.yml
として次のコードを保存します。--- - hosts: localhost tasks: - name: Deleting resource group - "{{ name }}" azure_rm_resourcegroup: name: "{{ name }}" state: absent register: rg - debug: var: rg
ansible-playbook コマンドを使用してプレイブックを実行します。 プレースホルダーは、削除するリソース グループの名前に置き換えます。 リソース グループ内のすべてのリソースが削除されます。
ansible-playbook delete_rg.yml --extra-vars "name=<resource_group>"
重要なポイント:
- プレイブックの
register
変数とdebug
セクションにより、コマンドの完了時に結果が表示されます。
- プレイブックの