Terraform에서 EBS encrypt
- terraform으로 aws infra code 작성 시, ebs volume을 encrypt할 때 aws managed key를 사용하고 싶을 경우, 아래와 같이 활용할 수 있습니다.
1
2
3
4
5
6
7
8
data "aws_ebs_default_kms_key" "current" {}
resource "aws_ebs_volume" "example" {
availability_zone = "us-west-2a"
encrypted = true
kms_key_id = data.aws_ebs_default_kms_key.current.key_arn
}
- 이렇게 활용할 때, syntax error가 발생하는 경우가 있습니다. key_arn 반환값이 실제로 id로 반환하여 발생하는 에러입니다. 이 경우에는 아래와 같이 data.aws_kms_key.current를 활용합니다.
1
2
3
4
5
6
7
8
9
10
11
12
data "aws_ebs_default_kms_key" "current" {}
data "aws_kms_key" "current" {
key_id = data.aws_ebs_default_kms_key.current.key_arn
}
resource "aws_ebs_volume" "example" {
availability_zone = "us-west-2a"
encrypted = true
kms_key_id = data.aws_kms_key.current.arn
}
참고