検索

20.11. クラウドインベントリーでのクラウド認証情報の使用

download PDF

クラウド認証情報は、クラウドインベントリーを同期するときに使用できます。また、ジョブテンプレートに関連付けて、Playbook で使用するためにランタイム環境に含めることもできます。次のクラウド認証情報がサポートされています。

20.11.1. OpenStack

次のサンプル 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 }}"

20.11.2. 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 モジュールオプションを設定することなく、コントローラーでの実行時にこれらの認証情報を暗黙的に使用します。

20.11.3. Google

Google クラウド認証情報は、Playbook の実行時に以下の環境変数として公開されます (ジョブテンプレートで、設定に必要なクラウド認証情報を選択します)。

  • GCE_EMAIL
  • GCE_PROJECT
  • GCE_CREDENTIALS_FILE_PATH

各 Google モジュールは、service_account_emailproject_id、または pem_file モジュールオプションを設定することなく、コントローラーでの実行時にこれらの認証情報を暗黙的に使用します。

20.11.4. Azure

Azure クラウド認証情報は、Playbook の実行時に以下の環境変数として公開されます (ジョブテンプレートで、設定に必要なクラウド認証情報を選択します)。

  • AZURE_SUBSCRIPTION_ID
  • AZURE_CERT_PATH

各 Azure モジュールは、subscription_id または Management_cert_path モジュールオプションを設定することなく、コントローラー経での実行時にこれらの認証情報を暗黙的に使用します。

20.11.5. 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
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.