ノート:
- このチュートリアルでは、Oracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントに例の値を使用します。演習を完了するときは、これらの値をクラウド環境に固有の値に置き換えます。
Oracle Cloud InfrastructureでのPulumi Infrastructure as Codeツールのインストールおよび構成
イントロダクション
Pulumi Infrastructure as Code (IaC)ツールを使用して、Oracle Cloudインフラストラクチャ(OCI)の管理を簡素化します。このチュートリアルでは、Pulumiをインストールして設定し、ワークフローにシームレスに適合させる方法について説明します。IaCの使用経験があっても、このチュートリアルにはステップバイステップの手順があります。OCI上のPulumiでインフラストラクチャ管理をアップグレードする準備をしましょう。
PulumiをOCIで設定すると、効率が著しく向上します。シンプルなインターフェイスにより、リソースの導入と管理が容易になり、OCIインフラストラクチャ管理が簡素化されます。
目標
- デプロイメントおよび管理のために、OCIにPulumi IaCツールをインストールして構成します。
前提条件
-
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スタックを使用しています。
-
Pulumiスタック・ディレクトリを作成します。Pulumiスタックの新しいディレクトリを作成するには、次のコマンドを実行します。
mkdir OCI_Pulumi_Stack && cd OCI_Pulumi_Stack -
OCI Pythonテンプレート(
pulumi new oci-python)を使用してPulumiプロジェクト・プロジェクトを初期化します。 -
プロジェクト名、説明、スタック名などのプロジェクト詳細を入力します(開発、ステージング、本番など)。このステップでは、必要な依存関係の追加やサンプル・コードの
main.pyファイルへのロードなど、設定プロセスを開始します。 -
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テナンシ内の可用性ドメインを取得します。

関連リンク
承認
- 著者 - Akarsha I K (クラウド・アーキテクト)、Maninder Flora (クラウド・アーキテクト)
その他の学習リソース
docs.oracle.com/learnの他のラボをご覧いただくか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品ドキュメントは、Oracle Help Centerを参照してください。
Install and Configure Pulumi Infrastructure as Code tool on Oracle Cloud Infrastructure
F98507-01
May 2024