[英]How to integrate terraform with atlassian/localstack?
Terraform可以配置自定義S3端點 ,似乎localstack可以為S3,SES,Cloudformation和其他少數服務創建本地堆棧。
問題是在Terraform配置中寫什么來使用localstack的S3端點?
Terraform並未正式支持“AWS-workalike”系統,因為它們通常與AWS本身存在微妙的怪癖和差異。 但是,它是盡力支持的,如果localstack能夠為Terraform的目的提供足夠逼真的S3印象,則可能會有效。
根據localstack文檔,默認情況下,S3 API在http://localhost:4572
公開,因此以這種方式設置自定義端點可能有效:
provider "aws" {
endpoints {
s3 = "http://localhost:4572"
}
}
根據localstack的功能,您可能需要設置一些其他設置:
s3_force_path_style
為存儲桶和對象使用基於路徑的尋址方案。 skip_credentials_validation
,因為localstack似乎缺少AWS令牌服務的實現。 skip_metadata_api_check
如果不使用IAM樣式的憑據,則阻止Terraform嘗試從EC2元數據API獲取憑據。 建立@ martin-atkins的答案,這是一個與Localstack一起使用的示例Terraform文件:
provider "aws" {
region = "us-east-1"
access_key = "anaccesskey"
secret_key = "asecretkey"
skip_credentials_validation = true
skip_metadata_api_check = true
s3_force_path_style = true
endpoints {
s3 = "http://localhost:4572"
}
}
resource "aws_s3_bucket" "b" {
bucket = "my-tf-test-bucket"
acl = "public-read"
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.