ノート:
- このチュートリアルでは、Oracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了するときに、これらの値をクラウド環境に固有の値に置き換えます。
QuickStart TerraformまたはOpenTofuモジュールを使用したOracle Database@Azure
イントロダクション
Oracle Database@Azureは、Oracle Cloud Infrastructure(OCI)上で稼働するOracle Databaseサービスで、Microsoftデータセンターにコロケーションされているため、Azureリソースへの最速接続でOracle Databaseサービスを使用できます。マルチクラウド・オンボーディングには、OCIとMicrosoft Azureポータル間をナビゲートする複数のステップが含まれます。このチュートリアルでは、Microsoft AzureのOCIマルチクラウド・ランディング・ゾーンのGitHubリポジトリ(terraform-OCI-multicloud-azure)にあるTerraformまたはOpenTofuモジュールおよびテンプレートのリファレンス実装を利用して、プロビジョニング・プロセスを合理化する方法について説明します。
プロビジョニング・プロセス
サービスの購入が完了したら、TerraformまたはOpenTofuを使用してプロビジョニング・プロセスの簡素化を開始できます。
組織がAzure環境でサービスを購入、構成および使用するために実行する必要がある複数のステップがあります。組織の Azure構成、ポリシー、および手順によっては、次の図に示す手順の一部またはすべてを使用できます。次の図は、TerraformまたはOpenTofuがプロビジョニング・プロセスを簡素化し、Azure PortalおよびOCIコンソールで実行される手動ステップを排除する機会を示しています。
Terraformテンプレートおよびモジュールの使用を迅速に開始するには、通常、これらの高レベルのタスクを実行する必要があります。
目的
- TerraformまたはOpenTofuモジュールを使用したOracle Database@Azureのクイックスタート
前提条件
- ご使用の環境に必要なソフトウェアがインストールされていることを確認します。Terraform、OpenTofu、Azure/OCI CLI以外にも、現時点ではTerraformプロバイダでサポートされていない操作にはPythonも必要になります。
タスク1: GitHubリポジトリのフォークとクローニング
terraform-oci-multicloud-azureリポジトリをクローニングし、適切なテンプレート・ディレクトリに移動して開始します。または、最初にフォークできます。これにより、コピーを後で最新の更新と同期したり、プル・リクエストを介してオプションで更新を提供したりできます。
タスク2: Terraformの初期化
ターミナルでterraform init
またはtofu init
を実行して、ローカルのTerraform環境を設定します。または、Terraform、OCIまたはAzureのドキュメントを参照して、リモート状態でTerraformを構成することもできます。
タスク3: 必要なTerraform変数の構成
各テンプレート・ディレクトリにはterraform.tfvars.template
ファイルが含まれており、必要な入力変数を簡単に移入できます。これを利用して独自の変数定義ファイル(たとえば、terraform.tfvars
)を作成するか、他のメソッド(たとえば、TF_VAR_
接頭辞を持つ環境変数、-var
パラメータを持つterraform CLI)を使用して必要な変数を設定できます。
タスク4: AzureおよびOCIへの認証
一部のterraformテンプレートでは、OCIプロバイダとAzure terraformプロバイダの両方が使用されるため、プロビジョニングする前に各環境にログインする必要があります。
-
OCIの認証
OCI Terraformプロバイダは、複数の認証方法をサポートしています。詳細については、Configuring the Providerを参照してください。
APIキー認証を使用してOCI Terraformプロバイダを構成することをお薦めします。詳細は、APIキー認証を参照してください。
export TF_VAR_oci_tenancy_ocid="OCID of the OCI tenancy" export TF_VAR_oci_user_ocid="<OCID of the OCI user>" export TF_VAR_oci_private_key_path="<path (including filename) of the private key>" export TF_VAR_oci_fingerprint="<Key's fingerprint>"
OCI CLIを使用して構成を確認できます。
export OCI_CLI_TENANCY=$TF_VAR_oci_tenancy_ocid export OCI_CLI_USER=$TF_VAR_oci_user_ocid export OCI_CLI_FINGERPRINT=$TF_VAR_oci_fingerprint export OCI_CLI_KEY_FILE=$TF_VAR_oci_private_key_path oci iam tenancy get --tenancy-id $TF_VAR_oci_tenancy_ocid --output table --query "data.{Name:name, OCID:id}" --auth api_key
-
Azure認証
サービス・プリンシパルを使用してAzureに認証し、Azure CLIで検証できます。詳細は、AzureへのTerraformの認証を参照してください。
export ARM_CLIENT_ID="<service_principal_appid>" export ARM_CLIENT_SECRET="<service_principal_password>" export ARM_TENANT_ID="<azure_subscription_tenant_id>" export ARM_SUBSCRIPTION_ID="<azure_subscription_id>" az login --service-principal -u $ARM_CLIENT_ID -p $ARM_CLIENT_SECRET -t $ARM_TENANT_ID az account show -o table
タスク5: Terraformプランの確認と適用
変数および認証を構成した後、terraform plan
またはtofu plan
を実行して変更を確認します。計画に問題がなければ、terraform apply
またはtofu apply
を実行して構成をプロビジョニングします。
Terraformテンプレート
次の表に、使用可能なTerraformテンプレートの概要を示し、その処理と、それらが依存するTerraform Providerについて説明します。状況に応じて個別に使用でき、より複雑な設定のためにOCIランディング・ゾーンおよびAzure検証済モジュール(AVM)でさらにカスタマイズできます。AzureRMおよびAzAPIに関するMicrosoftとHashiCorpの共同ガイダンスの使用シナリオの詳細は、「AzureRMおよびAzAPIプロバイダによるAzureのベストのロック解除」を参照してください。
ExadataおよびAutonomous Database
Oracle Database@Azure | AzureRM | AzAPI |
---|---|---|
Exadata | OCIランディング・ゾーン・モジュールを使用したExadataのクイックスタート(azurerm-OCI-exadata-quickstart) | Azure検証済モジュールを使用したExadataのクイックスタート(avm-oci-exadata-quickstart) |
Autonomous Database | AzureRMを使用したAutonomous Databaseのクイックスタート(azurerm-oci-adbs-quickstart) | AzAPIを使用したAutonomous Databaseのクイックスタート(az-oci-adbs) |
アイデンティティ
次のステップ
このチュートリアルでは、TerraformまたはOpenTofuを使用してOracle Database@Azureサービスをプロビジョニングする方法について説明します。Oracle Database@Azure、自動化作業などの詳細は、「関連リンク」の項を参照してください。
リポジトリでGitHubの問題を作成するか、OCIマルチクラウド・フォーラムに参加して、機能または機能強化のリクエストがあるかどうかをお知らせください。オラクルは、あらゆる段階でお客様のユース・ケースをサポートすることを切望しています。
関連リンク
確認
-
著者 - Steven Chan (OCI Multicloud、シニア・プリンシパル・プロダクト・マネージャー)
-
貢献者 - Anwar Belayachi (OCI Multicloud、シニア・プリンシパル・ソリューション・アーキテクト)、John Wargo (プリンシパル・プロダクト・マネージャー)、Partha Srinivasan (プリンシパル・プロダクト・マネージャー)、Wei Han (プリンシパル・プロダクト・マネージャー)
その他の学習リソース
docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品ドキュメントは、Oracle Help Centerを参照してください。
QuickStart Oracle Database@Azure with Terraform or OpenTofu Modules
G13125-02
November 2024