Terraform は、クラウド リソースを安全かつ効率的にプロビジョニングおよび管理できるオープンソースツールです。本トピックでは、Terraform を使用して Object Storage Service (OSS) バケットを作成する方法について説明します。
数回のクリックで、本トピックのサンプルコードを Terraform Explorer で直接実行できます。
前提条件
開始する前に、以下を確認してください。
-
セキュリティリスクを軽減するために、最小限必要な権限を持つ Resource Access Management (RAM) ユーザーを作成します。これにより、Alibaba Cloud アカウントの AccessKey ペアが意図せず漏洩するのを防ぎます。詳細については、「RAM ユーザーの作成」および「RAM ユーザーへの権限付与」をご参照ください。次のポリシーを RAM ユーザーにアタッチします。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "oss:*", "Resource": "*" } ] } -
次のいずれかの方法で Terraform 実行環境をセットアップします。
-
Terraform Explorer: Alibaba Cloud が提供する無料のウェブベースの Terraform 実行環境です。ローカルインストールなしで Terraform にログインして使用します。クイックな実験とデバッグに最適です。
-
Cloud Shell: Terraform はプリインストールされており、認証情報は事前設定されています。低コストで Cloud Shell で Terraform コマンドを直接実行します。クイックな実験とデバッグに最適です。
-
ローカルインストール: ローカルコンピューターに Terraform をインストールして構成します。ネットワークの状態が悪い場合やカスタム開発環境に最適です。
-
この例で作成された一部のリソースには料金が発生します。予期せぬ料金を回避するため、不要になった場合はリソースをリリースまたはサブスクライブ解除してください。
Terraform リソース
この例では、次の Terraform リソースを使用します。
| リソース | 説明 |
|---|---|
alicloud_oss_bucket |
OSS バケットを作成します |
alicloud_oss_bucket_acl |
バケットのアクセス制御リスト (ACL) を構成します |
バケットの作成
-
作業ディレクトリを作成し、その中に main.tf という名前の構成ファイルを作成します。次のコードを main.tf にコピーします。
variable "region"{ default = "cn-beijing" } provider "alicloud"{ region = var.region } resource "random_uuid" "default" { } # バケットを作成します。 resource "alicloud_oss_bucket" "bucket" { bucket = substr("tf-example-${replace(random_uuid.default.result, "-", "")}", 0, 16) } # バケットの ACL を構成します。 resource "alicloud_oss_bucket_acl" "bucket-ac"{ bucket = alicloud_oss_bucket.bucket.id acl = "private" } -
Terraform 実行環境を初期化します。
terraform init次の出力は、初期化が成功したことを示します。
Terraform has been successfully initialized! You may now begin working with Terraform. Try running "terraform plan" to see any changes that are required for your infrastructure. All Terraform commands should now work. If you ever set or change modules or backend configuration for Terraform, rerun this command to reinitialize your working directory. If you forget, other commands will detect it and remind you to do so if necessary. -
構成を適用します。
terraform applyプロンプトで
yesと入力し、Enter キーを押します。次の出力は、リソースが正常に作成されたことを示します。You can apply this plan to save these new output values to the Terraform state, without changing any real infrastructure. Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value: yes Apply complete! Resources: 3 added, 0 changed, 0 destroyed. -
次のいずれかの方法で結果を確認します。
terraform showコマンドの使用作成されたリソースの詳細を表示するには、作業ディレクトリで次のコマンドを実行します。
terraform show
OSS コンソールの使用
-
OSS コンソールにログインします。左側のナビゲーションウィンドウで、 をクリックして、[バケット] ページで新しく作成されたバケットを表示します。

-
作成されたバケットの名前をクリックします。左側のナビゲーションツリーで、 を選択します。[ACL] タブで、バケットの ACL を表示します。

-
リソースのリリース
Terraform を介して作成または管理されたリソースが不要になった場合は、次のコマンドを実行してそれらをリリースします。terraform destroy コマンドの詳細については、「一般的なコマンド」をご参照ください。
terraform destroy
完全な例
数回のクリックで、本トピックのサンプルコードを Terraform Explorer で直接実行できます。
サンプルコード
より完全な例については、GitHub の landing-with-terraform quickstarts リポジトリをご参照ください。