6.16. OpenStack
この認証情報タイプを使用して、OpenStack クラウドに接続します。Automation Controller は、OpenStack SDK を使用して OpenStack クラウドと対話します。OpenStack クラウド認証情報を作成すると、Controller によって次の情報の入力が求められます。
- ユーザー名: OpenStack クラウドに認証するためのユーザー名。
- パスワード: OpenStack クラウドに認証するためのパスワード。
- プロジェクト名: OpenStack クラウドに接続するときに使用するプロジェクト名 (別称: テナント名)。
- 認証 URL: OpenStack クラウドの認証 URL。
- クラウド名: OpenStack clouds.yaml ファイルで定義されているクラウドの名前。
- リージョン名 (オプション): OpenStack クラウドに接続するときに使用するリージョン名。
- ドメイン名 (オプション): OpenStack クラウドに接続するときに使用するドメイン名。
- プロジェクトドメイン名 (オプション): OpenStack クラウドに接続するときに使用するプロジェクトドメイン名。
- SSL 証明書の検証: OpenStack クラウドによって提示された SSL/TLS 証明書を検証するには、このオプションを選択します。SSL/TLS 証明書の検証を無効にするには、このオプションをクリアします。
次のサンプル Playbook は、nova_compute Ansible OpenStack クラウドモジュールを呼び出し、認証情報を必要とします。
-
auth_url -
username -
password -
project name
これらのフィールドは、環境変数 OS_CLIENT_CONFIG_FILE を通じて Playbook で利用できるようになります。これは、クラウド認証情報の内容に基づいてコントローラーによって書き込まれた YAML ファイルを指します。次のサンプル Playbook は、YAML ファイルを Ansible 変数空間にロードします。
- OS_CLIENT_CONFIG_FILE の例:
clouds:
devstack:
auth:
auth_url: http://devstack.yoursite.com:5000/v2.0/
username: admin
password: your_password_here
project_name: demo
- Playbook の例:
- hosts: all
gather_facts: false
vars:
config_file: "{{ lookup('env', 'OS_CLIENT_CONFIG_FILE') }}"
nova_tenant_name: demo
nova_image_name: "cirros-0.3.2-x86_64-uec"
nova_instance_name: autobot
nova_instance_state: 'present'
nova_flavor_name: m1.nano
nova_group:
group_name: antarctica
instance_name: deceptacon
instance_count: 3
tasks:
- debug: msg="{{ config_file }}"
- stat: path="{{ config_file }}"
register: st
- include_vars: "{{ config_file }}"
when: st.stat.exists and st.stat.isreg
- name: "Print out clouds variable"
debug: msg="{{ clouds|default('No clouds found') }}"
- name: "Setting nova instance state to: {{ nova_instance_state }}"
local_action:
module: nova_compute
login_username: "{{ clouds.devstack.auth.username }}"
login_password: "{{ clouds.devstack.auth.password }}"
6.16.1. Amazon Web Services リンクのコピーリンクがクリップボードにコピーされました!
Amazon Web Services (AWS) クラウド認証情報は Playbook の実行時に以下の環境変数として公開されます (ジョブテンプレートで、設定に必要なクラウド認証情報を選択します):
-
AWS_ACCESS_KEY_ID -
AWS-SECRET_ACCESS_KEY
各 AWS モジュールは、aws_access_key_id または aws_secret_access_key モジュールオプションを設定することなく、コントローラーでの実行時にこれらの認証情報を暗黙的に使用します。
6.16.2. Google リンクのコピーリンクがクリップボードにコピーされました!
この認証情報タイプを使用して、Google Cloud Platform サービスに対して認証します。Automation Controller は、Google Cloud リソースを管理する Ansible モジュールで使用するための Google Cloud 認証情報をサポートしています。
Google クラウド認証情報は、Playbook の実行時に以下の環境変数として公開されます (ジョブテンプレートで、設定に必要なクラウド認証情報を選択します)。
-
GCE_EMAIL -
GCE_PROJECT -
GCE_CREDENTIALS_FILE_PATH
各 Google モジュールは、service_account_email、project_id、または pem_file モジュールオプションを設定することなく、コントローラーでの実行時にこれらの認証情報を暗黙的に使用します。
6.16.3. Azure リンクのコピーリンクがクリップボードにコピーされました!
Automation Controller には、Microsoft Azure クラウドリソースを管理するための組み込みサポートが含まれています。
Azure クラウド認証情報は、Playbook の実行中に次の環境変数として存在します (ジョブテンプレートで、セットアップに必要なクラウド認証情報を選択します)。
-
AZURE_SUBSCRIPTION_ID -
AZURE_CERT_PATH
各 Azure モジュールは、subscription_id または management_cert_path モジュールオプションを設定せずに、Automation Controller を使用して実行する場合に、これらの認証情報を使用します。
6.16.4. VMware リンクのコピーリンクがクリップボードにコピーされました!
Automation Controller は VMware vSphere と統合し、インフラストラクチャーの一部として仮想マシン (VM) を管理します。この統合により、ユーザーは VMware 環境内での仮想マシンのプロビジョニング、管理、廃止を自動化できます。
VMware クラウド認証情報は、Playbook の実行時に以下の環境変数として公開されます (ジョブテンプレートで、設定に必要なクラウド認証情報を選択します)。
-
VMWARE_USER -
VMWARE_PASSWORD -
VMWARE_HOST
次のサンプル Playbook は、これらの認証情報の使用法を示しています。
- vsphere_guest:
vcenter_hostname: "{{ lookup('env', 'VMWARE_HOST') }}"
username: "{{ lookup('env', 'VMWARE_USER') }}"
password: "{{ lookup('env', 'VMWARE_PASSWORD') }}"
guest: newvm001
from_template: yes
template_src: linuxTemplate
cluster: MainCluster
resource_pool: "/Resources"
vm_extra_config:
folder: MyFolder