ノート:

Oracle Cloud InfrastructureでのPulumi Infrastructure as Codeツールのインストールおよび構成

イントロダクション

Pulumi Infrastructure as Code (IaC)ツールを使用して、Oracle Cloudインフラストラクチャ(OCI)の管理を簡素化します。このチュートリアルでは、Pulumiをインストールして設定し、ワークフローにシームレスに適合させる方法について説明します。IaCの使用経験があっても、このチュートリアルにはステップバイステップの手順があります。OCI上のPulumiでインフラストラクチャ管理をアップグレードする準備をしましょう。

PulumiをOCIで設定すると、効率が著しく向上します。シンプルなインターフェイスにより、リソースの導入と管理が容易になり、OCIインフラストラクチャ管理が簡素化されます。

目標

前提条件

タスク1: Pulumiのダウンロードおよびインストール

システムまたは仮想マシン(VM)にPulumiをダウンロードしてインストールします。詳細は、Pulumiのダウンロードおよびインストールを参照してください。

たとえば、macOSユーザーは、次のコマンドを実行してPulumiをインストールできます。

brew install pulumi/tap/pulumi

タスク2: Pulumi用のOCIプロバイダ・パッケージのインストール

OCIプロバイダは、Pulumiコードと監視するOCIサービスの間の接続として機能します。OCIプロバイダを使用すると、Pulumiはコードを介してOCI環境内のリソースを作成、管理および構成できます。

Pulumi用のOCIプロバイダをインストールするには、コマンドライン・インタフェース(CLI)に移動し、インストール・コマンドを実行します。このチュートリアルでは、OCIサービスをデプロイするためのPulumi言語としてPythonを使用します。

python3 -m pip install pulumi_oci

他の言語を使用してOCIプロバイダをインストールするには、PulumiのOCIプロバイダを参照してください。

タスク3: 環境変数の構成

PulumiをOCI環境に接続するために必要な環境変数を設定します。これらの変数には、テナンシのOracle Cloud Identifier (OCID)、ユーザーOCID、フィンガープリント、リージョンおよびOCI APIキーへのパスが含まれます。

テナンシ構成ファイルに従って値を変更し、次のコマンドを実行します。

export TF_VAR_tenancy_ocid="ocid1.tenancy.oc1..<unique_ID>"

export TF_VAR_user_ocid="ocid1.user.oc1..<unique_ID>"

export TF_VAR_fingerprint="<key_fingerprint>"

export TF_VAR_region="us-ashburn-1"

export TF_VAR_private_key_path="/path/to/oci_api_key.pem"

タスク4: Pulumiスタックの作成

Pulumiスタックのディレクトリを作成して、プロジェクトを編成します。好みのプログラミング言語で初期化します。このチュートリアルでは、Pythonスタックを使用しています。

  1. Pulumiスタック・ディレクトリを作成します。Pulumiスタックの新しいディレクトリを作成するには、次のコマンドを実行します。

    mkdir OCI_Pulumi_Stack && cd OCI_Pulumi_Stack
    
  2. OCI Pythonテンプレート(pulumi new oci-python)を使用してPulumiプロジェクト・プロジェクトを初期化します。

  3. プロジェクト名、説明、スタック名などのプロジェクト詳細を入力します(開発、ステージング、本番など)。このステップでは、必要な依存関係の追加やサンプル・コードのmain.pyファイルへのロードなど、設定プロセスを開始します。

  4. OCI_Pulumi_Stackディレクトリの内容を確認して、コード設定を確認します。ここでは、初期化プロセス中に作成されたサンプル・コードおよび追加ファイルを確認します。

タスク5: Pulumiスタックのカスタマイズ

特定の要件に従ってスタックをカスタマイズします。メイン・デプロイメント・ファイルmain.pyを開き、デプロイするOCIリソースを定義するために必要なコードを追加します。このチュートリアルでは、OCIテナンシ内の可用性ドメインを取得する方法について説明します。

"""A OCI Python Pulumi program"""

import pulumi

import pulumi_oci as oci

test_availability_domains = oci.identity.get_availability_domains(compartment_id="ocid1.tenancy.oc1..xxxxx")

# Output availability domains

pulumi.export("availability_domain_1", test_availability_domains.availability_domains[0].name)

pulumi.export("availability_domain_2", test_availability_domains.availability_domains[1].name)

pulumi.export("availability_domains_3", test_availability_domains.availability_domains[2].name)

このコードは、OCIテナンシから可用性ドメインをフェッチし、名前を出力としてエクスポートする方法を示します。Pulumiを使用してこのコードを実行すると、OCIと対話して可用性ドメインを取得し、それらの名前を出力として表示します。これにより、コードでOCIから必要な情報が正確に取得されるようにできます。

タスク6: OCIへのPulumiコードのデプロイ

次のコマンドを実行して、リソースをOCIにデプロイします。

pulumi up

タスク7: コマンド出力の確認

デプロイメント後、コマンドはPulumiプログラムを実行し、コードで定義されているOCIテナンシ内の可用性ドメインを取得します。

Pulumi_OCI_Output

承認

その他の学習リソース

docs.oracle.com/learnの他のラボをご覧いただくか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。

製品ドキュメントは、Oracle Help Centerを参照してください。