Terraform으로 AWS VPC Endpoint 서비스의 PrivateDNS 기능을 효과적으로 실현하는 방법
이 문장의 작용 범위
이 글은 AWS Private Link에서 Private DNS 기능을 사용할 때 Terraform으로 어떤 코드를 써야 하는지를 요약했다.
또한 코드에는 VPC Endpoint Service/VPC Endpoint/Route 53 코드만 기재되어 있습니다.
※ 전제는 VPC 등 자원과 NLB가 이 글에서 생략하는 것입니다.
해설
VPC Endpoint Serivce
VPC Endpoint 서비스에서PrivateDNS 기능을 유효하게 하려면
private_dns_name
에 필요한 도메인 이름을 입력하십시오.resource "aws_vpc_endpoint_service" "example" {
acceptance_required = false
network_load_balancer_arns = [aws_lb.example.arn]
private_dns_name = "利用したいドメイン名"
depens_on = [aws_lb.example]
}
Route53
VPC Endpoint Service에서 도메인 이름을 설정하면 TXT 레코드 등록에 필요한 다양한 정보를 출력할 수 있습니다.
이것을 Route 53에 로그인합니다.
resource "aws_route53_record" "example" {
zone_id = aws_route53_zone.primary.id
type = lookup(element(aws_vpc_endpoint_service.example.private_dns_name_configuration, 0), "type")
name = "${lookup(element(aws_vpc_endpoint_service.example.private_dns_name_configuration, 0), "name")}.利用したいドメイン名"
records = [lookup(element(aws_vpc_endpoint_service.example.private_dns_name_configuration, 0), "value")]
ttl = 1800
}
VPC Endpoint
연결된 VPC Endpoint에서 VPC Endpoint 서비스에서 지정한 도메인을 사용하려면
private_dns_enabled
를 true
로 설정합니다.resource "aws_vpc_endpoint" "example" {
vpc_id = aws_vpc.main.id
service_name = aws_vpc_endpoint_service.example.service_name
vpc_endpoint_type = "Interface"
security_group_ids = [
aws_security_group.example_sg.id,
]
private_dns_enabled = true
}
끝말
VPC 간 접속 시 도메인을 고정해 통신하고 싶다는 요구가 있어 조사했다.
조사 과정에서 정리되지 않은 기사로 난감해 쓰는 것을 잊기 어려웠다.
만약 이 보도가 어떤 참고가 될 수 있다면 매우 좋겠다.
Reference
이 문제에 관하여(Terraform으로 AWS VPC Endpoint 서비스의 PrivateDNS 기능을 효과적으로 실현하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/guranytou/articles/8350b449deac7e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)