はじめに
Terraformが、Alibaba Cloudにも対応しているのか興味本位で検証してみた記事になります。検証としては、OSSバケット(AWSでのS3バケットに相当するストレージ)のリソースを作成したものになります。
Alibaba Cloudのアカウントを作成済、Terraformを自分の作業用PC(Windows 11)にインストール済のオープンな環境を前提としています。
1. Alibaba CloudのAccess Keyを作成する(まだ持っていない場合)
以下の手順でアクセスキーを作成します。
- Alibaba Cloudコンソール にログイン
- 右上アバター → AccessKey管理 をクリック
- AccessKeyを作成 → 作成された AccessKey ID と AccessKey Secret をメモ(この画面を閉じるとSecretは二度と見えません)あるいは、ダウンロードします。
以下は検証時の参考画面。
2.Windows環境変数の設定
PowerShell で一時的に設定する方法で行います。(一番簡単・推奨)
- PowerShell を開く(Windowsキー → 「PowerShell」と入力)
- 以下のコマンドを1行ずつコピーして貼り付け、実行してください
#Powershell
$env:ALICLOUD_ACCESS_KEY = "あなたのAccessKey ID"
$env:ALICLOUD_SECRET_KEY = "あなたのAccessKey Secret"
$env:ALICLOUD_REGION = "ap-northeast-1" # 必要に応じて変更
#設定を確認する
Get-ChildItem Env:ALICLOUD_*
3.Terraformの作業フォルダ作成
- フォルダを作成して移動。(例:my-oss-project)
cd C:\Users\あなたのユーザー名\Desktop\my-oss-project
推奨のファイル配置(一番簡単な方法
my-oss-project/ ← 任意のフォルダ名(プロジェクト名)
├── main.tf ← 全部ここに書く(コード内容はこのあとで後述する)
├── provider.tf ← provider設定を分離したい場合(任意)
├── variables.tf ← 変数定義(後で使う場合)
├── terraform.tfvars ← 変数の値(秘密情報など)
└── outputs.tf ← output定義(任意)
4. コードの記述
TerraformでAlibaba Cloud (Alicloud) のOSSバケットを作成する基本的なコード例です。HCL (HashiCorpLanguage)
# provider.tf
terraform {
required_providers {
alicloud = {
source = "aliyun/alicloud"
version = "~> 1.200" # 最新版を推奨
}
}
}
provider "alicloud" {
region = "ap-northeast-1" # 任意のリージョンを指定(例: 東京なら ap-northeast-1)
# access_key と secret_key は環境変数 ALICLOUD_ACCESS_KEY / ALICLOUD_SECRET_KEY で渡すのがおすすめ
}
# main.tf
resource "alicloud_oss_bucket" "my_bucket" {
bucket = "my-terraform-bucket-2026" # グローバルで一意な名前にする
acl = "private" # private / public-read / public-read-write
storage_class = "Standard" # Standard / IA / Archive など
# オプション:バージョニング有効化
versioning {
status = "Enabled"
}
# オプション:サーバーサイド暗号化
server_side_encryption_rule {
sse_algorithm = "AES256"
}
}
output "bucket_name" {
value = alicloud_oss_bucket.my_bucket.bucket
}
output "bucket_endpoint" {
value = alicloud_oss_bucket.my_bucket.extranet_endpoint
}
5.実行手順
上記のファイルを同じディレクトリに保存(provider.tf と main.tf など)
以下を実行していきます。今回はセキュリティ的な観点で実行結果は記載しないでおきます。
# powershell
cd C:\Users\あなたのユーザー名\Desktop\my-oss-project
# 初期化
terraform init
# 計画確認
terraform plan
# 適用
terraform apply
注意点:
・セキュリティ:AccessKeyは絶対にGitHubなどに上げないでください。
・バケット名は 全世界で一意 でなければなりません。すでに存在するとエラーになります。
・Alibaba CloudアカウントのAccessKeyにOSS操作権限を付与してください。
・リージョンは実際の利用場所に合わせて変更(日本なら ap-northeast-1 がおすすめ)。
・詳細なオプションは公式ドキュメントを参照:
alicloud_oss_bucket - Terraform Registry
https://registry.terraform.io/providers/aliyun/alicloud/latest/docs/resources/oss_bucket
今回紹介の記事は、以上になります。