aws_regionデータソース

現在のリージョンを取得するにはaws_regionデータソースを使用する。

data "aws_region" "current" {}

上記データソースを定義したうえで、name属性を参照することで現在のリージョンを取得できる。

data "aws_region" "current" {}
data "aws_caller_identity" "current" {}
resource "aws_s3_bucket" "bucket" {
  bucket = "some-${data.aws_region.current.name}-${data.aws_caller_identity.current.account_id}"
}

このように設定されていればsome-リージョン名-アカウントIDという名前のバケットが作成される。

aws_caller_identityデータソースについては以下を参照。

【Terraform】AWSのアカウントIDを取得する(aws_caller_identityデータソース)

aws_regionのリージョン名の取得元

aws_regionデータソースはプロバイダー設定から取得する。

provider "aws" {
  region = "ap-northeast-1"
}

このように設定されていれば、aws_regionデータソースはap-northeast-1を返す。

output "region" {
  value = data.aws_region.current.name # → ap-northeast-1
}