0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

TerraformでAlibaba CloudのOSSバケットを作成

0
Posted at

はじめに

Terraformが、Alibaba Cloudにも対応しているのか興味本位で検証してみた記事になります。検証としては、OSSバケット(AWSでのS3バケットに相当するストレージ)のリソースを作成したものになります。
Alibaba Cloudのアカウントを作成済、Terraformを自分の作業用PC(Windows 11)にインストール済のオープンな環境を前提としています。

1. Alibaba CloudのAccess Keyを作成する(まだ持っていない場合)

以下の手順でアクセスキーを作成します。

  1. Alibaba Cloudコンソール にログイン
  2. 右上アバター → AccessKey管理 をクリック
  3. AccessKeyを作成 → 作成された AccessKey ID と AccessKey Secret をメモ(この画面を閉じるとSecretは二度と見えません)あるいは、ダウンロードします。
    以下は検証時の参考画面。
    Alibabacloud2.png

2.Windows環境変数の設定

PowerShell で一時的に設定する方法で行います。(一番簡単・推奨)

  1. PowerShell を開く(Windowsキー → 「PowerShell」と入力)
  2. 以下のコマンドを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の作業フォルダ作成

  1. フォルダを作成して移動。(例: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

今回紹介の記事は、以上になります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?