Oracle Cloud Infrastructureドキュメント

Oracle Cloud InfrastructureのAnsibleの開始

このトピックでは、AnsibleをOracle Cloud Infrastructureでダウンロードして使用する方法を説明します。 Ansibleの開始には4つの初期ステップがあります:

  • すべての前提条件が満たされていることを確認
  • Oracle Cloud Infrastructure Python SDKをダウンロードしてインストール
  • Ansibleをダウンロードしてインストール
  • Oracle Cloud Infrastructure用のAnsibleモジュールをダウンロードしてインストール

Oracle Cloud InfrastructureにAnsibleを使用するための前提条件

  • Oracle Cloud Infrastructureアカウントを持っていなければなりません。
  • アカウント・コンパートメント内のリソースを操作するために必要な権限を与えるポリシーを持つセキュリティ・グループ内のユーザーをそのアカウントに作成します。
  • 必要な資格証明とOCID情報が必要です。

Oracle Cloud Infrastructure Python SDKのインストール

  1. トピックPython SDKの指示に従って、Python SDKをダウンロードしてインストールします。 追加のガイダンスについては、「SDKのダウンロードとインストール」を参照してください。

  2. Python SDKをインストールしたら、トピック「SDKの構成」の指示に従って構成する必要があります。

Ansibleのインストールと構成

Oracle LinuxイメージへのOracle Cloud Infrastructure Ansibleモジュールのインストール

Oracle Cloud Infrastructure Ansibleモジュールは、Oracle Cloud Developerイメージに事前にインストールされています。

ノート

Oracle Cloud Infrastructure提供のイメージの詳細は、「Oracle提供のイメージ」を参照してください。

 

 

Oracle Cloud Infrastructure AnsibleモジュールをOracle Linuxイメージにインストールするには:

  1. $ yum install oci-ansible-modules

non-Oracle LinuxイメージへのOracle Cloud Infrastructure Ansibleモジュールのインストール

  1. $ git clone https://github.com/oracle/oci-ansible-modules.git
  2. $ cd oci-ansible-modules
  3. 次のいずれかのコマンドを実行します。

    1. Ansibleをユーザーとしてインストールすると、次のようになります:

      $ ./install.py

    2. Ansibleがrootとしてインストールされている場合:
      $ sudo ./install.py

 

サンプルAnsibleモジュール

サンプル・モジュールは、Oracle Cloud Infrastructure Ansible Module GitHubプロジェクトで使用できます。 サンプル・ライブラリは、新しいサンプルを追加して定期的に更新されます。 https://github.com/oracle/oci-ansible-modulesでサンプルにアクセスできます。

サンプル・プレイブックの記述

Ansibleモジュールを使用するサンプル・プレイブックを作成できるようになりました。 以下は、oci_bucket_factsモジュールを使用してコンパートメント内のすべてのバケットに関連するすべてのファクトをフェッチするサンプルのプレイブック(list_buckets.yml)です。

---
- name : List summary of existing buckets in OCI object storage
  connection: local
  hosts: localhost
  tasks:
    - name: List bucket facts
      oci_bucket_facts:
         namespace_name: '<yournamespace>'
         compartment_id: '<yourcompartmentocid>'
      register: result
    - name: Dump result
      debug: 
        msg: '{{result}}'

プレイブックの実行

次のコマンドを実行して、Pythonを使用してAnsibleプレイブックを実行します:

$ ansible-playbook list_buckets.yml

モジュールのドキュメントを取得する方法

CLIでAnsibleモジュールの使用に関する詳細情報にアクセスするには、モジュール構成オプション、サンプル、戻り値などのドキュメントを含め、モジュール名にansible-docコマンドを使用します。 たとえば、oci_bucket_factsモジュールのドキュメントを入手するには、次のコマンドを実行します:

$ ansible-doc oci_bucket_facts

Oracle Cloud Infrastructure Ansibleモジュールのドキュメントは、Oracle Cloud Infrastructure Ansibleモジュール」サイトの「クラウド・モジュール」ページでも入手できます。

認証の構成

Oracle Cloud Infrastructureリソースを作成および構成する場合、Ansibleモジュールでは、「SDKおよびCLI構成ファイル」で概説されている認証情報が使用されます。

警告

Oracle Cloud Infrastructure SDK構成ファイルで参照されるIAM資格証明では、Oracle Cloud Infrastructureリソースへのアクセス権が付与されます。
このため、資格証明を保護して、これらのリソースへの不正アクセスを防止することが重要です。 Ansibleのプレイブックが実行されているコントローラ・ノードで資格証明を保護するには、「IAMの保護」のドキュメントに記載されているガイドラインに従います(「IAM資格証明」を参照)。

Ansibleモジュールを使用すると、モジュール・オプションと環境変数を使用して、SDK構成ファイルで指定された認証情報を上書きできます。 これに関するドキュメントは、前項の「モジュールのドキュメントを取得する方法」で説明したように、内部的に提供されています。 ただし、プロダクション・シナリオでは、環境変数とAnsibleモジュール・オプションを使用して認証情報をオーバーライドする必要があります。

Oracle Cloud Infrastructure SDK構成ファイルを使用して認証情報を指定することをお勧めします。 異なるユーザーをサポートするには、SDK構成ファイルの"profiles"機能を使用します。 Ansibleモジュールを使用するロールを配布する場合は、ロールにIAM資格証明が含まれていないことを確認してください。

詳細情報