Terraformプロバイダの開始
TerraformソフトウェアおよびOCI Terraformプロバイダについて学習します。
Terraformは、永続化、バージョニングおよび共有が可能なファイルにOCIリソースを定義できるInfrastructure as Codeソフトウェアです。これらのファイルでは、インフラストラクチャのプロビジョニングと、その状態の維持に必要なステップについて説明します:
- リソースは、仮想クラウド・ネットワークやコンピュート・インスタンスなどのOCIインフラストラクチャ・オブジェクトを作成します。構成の最初の適用によってオブジェクトが作成され、後でそれらが更新または削除されます。
- データ・ソースは、既存のOCIインフラストラクチャの読取り専用ビューを表します。
- 変数は、Terraformのパラメータを表します。
注意
Terraform状態ファイルには、構成ファイルの一部として指定されたすべてのリソース属性が含まれます。データベースまたはユーザーのパスワードやインスタンスの秘密キーなどの機密データをTerraformで管理する場合は、その状態ファイル自体を機密データとして扱ってください。詳細は、機密データの格納を参照してください。
Terraform状態ファイルには、構成ファイルの一部として指定されたすべてのリソース属性が含まれます。データベースまたはユーザーのパスワードやインスタンスの秘密キーなどの機密データをTerraformで管理する場合は、その状態ファイル自体を機密データとして扱ってください。詳細は、機密データの格納を参照してください。
最初のステップ
開始するには、Terraformプロバイダのチュートリアルで詳細なウォークスルーと例を参照してください。または、OCI Terraformプロバイダをインストールして構成するステップは、次のページを参照してください:
使用例
Terraformではステップが実行され、構成ファイルに記述されたインフラストラクチャが構築されます。
たとえば、次の構成を適用した場合、Terraformはお客様のテナントに接続し、その可用性ドメインのリストを取得します。この構成にはリソースが定義されていないため、インフラストラクチャは作成または変更されません。
# Configure the OCI provider with an API Key
# tenancy_ocid is the compartment OCID for the root compartment
provider "oci" {
tenancy_ocid = var.tenancy_ocid
user_ocid = var.user_ocid
fingerprint = var.fingerprint
private_key_path = var.private_key_path
region = var.region
}
# Get a list of Availability Domains
data "oci_identity_availability_domains" "ads" {
compartment_id = var.tenancy_ocid
}
# Output the result
output "show-ads" {
value = data.oci_identity_availability_domains.ads.availability_domains
}
Terraform構成要件の詳細は、構成の作成を参照してください。