はじめに: Azure Cloud Shell を使用して Ansible を構成する

Azure 上に Ansible を構成し、基本的な Azure リソース グループを作成することにより、Ansible の使用を開始します。

Ansible は、クラウド プロビジョニング、構成管理、およびアプリケーションのデプロイを自動化するオープンソース製品です。 Ansible を使用すると、仮想マシン、コンテナー、およびネットワークをプロビジョニングし、クラウド インフラストラクチャを完成させることができます。 また、Ansible を使用すると、環境でのリソースの展開と構成を自動化することもできます。

この記事では、Azure Cloud Shell 環境からの Ansible の使用を開始する方法について説明します。

環境を構成する

  • Azure サブスクリプション:Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。
  1. 既に Cloud Shell セッションを開いている場合は、次のセクションに進むことができます。

  2. Azure portal を参照します

  3. 必要に応じて、Azure サブスクリプションにログインし、Azure ディレクトリを変更します。

  4. Cloud Shell を開きます。

    Open Cloud Shell from the top menu in the Azure portal.

  5. Cloud Shell を以前に使用したことがない場合は、環境とストレージの設定を構成します。

  6. コマンドライン環境を選択します。

    Select the CLI you want to use in 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 リソース グループの作成

  1. 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
    
  2. ansible-playbook を使用してプレイブックを実行します。 プレースホルダーは、削除するリソース グループの名前と場所に置き換えます。

    ansible-playbook create_rg.yml --extra-vars "name=<resource_group_name> location=<resource_group_location>"
    

    重要なポイント:

    • プレイブックの register 変数と debug セクションにより、コマンドの完了時に結果が表示されます。

Azure リソース グループの削除

  1. delete_rg.yml として次のコードを保存します。

    ---
    - hosts: localhost
      tasks:
        - name: Deleting resource group - "{{ name }}"
          azure_rm_resourcegroup:
            name: "{{ name }}"
            state: absent
          register: rg
        - debug:
            var: rg
    
  2. ansible-playbook コマンドを使用してプレイブックを実行します。 プレースホルダーは、削除するリソース グループの名前に置き換えます。 リソース グループ内のすべてのリソースが削除されます。

    ansible-playbook delete_rg.yml --extra-vars "name=<resource_group>"
    

    重要なポイント:

    • プレイブックの register 変数と debug セクションにより、コマンドの完了時に結果が表示されます。

次のステップ