TerraformでRSTORE Spaceを扱う
背景
TerraformでS3互換のオブジェクトストレージRSTORE Spaceを扱いたい。
方法
S3互換なのでaws
プロバイダーが使えるが、いくつかオプションをデフォルト値から変える必要がある。
resource
resource として扱う場合は、skip_credentials_validation
, skip_region_validation
, skip_requesting_account_id
をtrue
にする(AWSの場合はバリデーションした方が好ましいが、RSTOR Spaceの場合はAWSではないので失敗するから、バリデーションはスキップする)。
例:バケットtest-bucket
にtest.txt
を配置する
provider "aws" { region = "ここにRegion" skip_credentials_validation = true skip_region_validation = true skip_requesting_account_id = true endpoints { s3 = "ここにEndpoint" } } resource "aws_s3_bucket_object" "test_copy_object" { bucket = "test-bucket" key = "test.txt" source = "test.txt" }
backend
backendとして扱う場合は、skip_region_validation
, skip_credentials_validation
をtrue
にする。
例:
terraform { backend "s3" { bucket = "bucket-name" key = "terraform.tfstate" endpoint = "ここにEndpoint" region = "ここにRegion" skip_region_validation = true skip_credentials_validation = true } }