我正在通过 Terraform 将资源部署到 AWS。 我的理解是,Terraform 使用 AWS SDK,这意味着它通过各种 AWS 服务端点进行连接:
https://docs.aws.amazon.com/general/latest/gr/rande.html
对于某些服务,AWS 提供备用(即启用 FIPS)终端节点。例如,对于 us-east-1 区域中的 EC2 (https://docs.aws.amazon.com/general/latest/gr/ec2-service.html),这些端点是:
默认 = ec2.us-east-1.amazonaws.com
fips = ec2-fips.us-east-1.amazonaws.com
我看到 TF 详细介绍了如何覆盖它连接到的默认端点 (https://registry.terraform.io/providers/hashicorp/aws/2.70.1/docs/guides/custom-service-endpoints)提供者定义通过:
provider "aws" {
region = "us-east-1"
endpoints {
ec2 = "https://ec2-fips.us-east-1.amazonaws.com"
}
}
有谁知道如何验证在给定的 TF 执行期间使用了哪个端点(应用)? 在 Terraform 日志记录端...还是在 AWS 端? 我还没想出办法。
@MatthewSchuchard - 感谢您提供的信息,我在“应用”上使用 TF_LOG=DEBUG 进行了测试,它实际上记录了所有正在使用的服务端点:
2025-01-09T05:46:15.8225045Z http.url=https://ec2.***.amazonaws.com/
2025-01-09T05:47:45.0451008Z http.url=https://elasticloadbalancing.***.amazonaws.com/
2025-01-09T05:48:47.0780261Z http.url=https://rds-fips.***.amazonaws.com/
...在这个例子中我只改变了某些提供商。