VPC
Transit Gateway
- Transit Gateway
- Transit Gateway 연결
- Transit Gateway 정책 테이블
- Transit Gateway 라우팅 테이블
- Transit Gateway 멀티캐스트
트래픽 미러링
- 미러 세션
- 미러 대상
- 미러 필터
VPC 래티스
- 시작하기
- 서비스 네트워크
- 서비스
- 대상 그룹
1. Transit Gateway
필수 항목:
- amazon_side_asn: AWS 측 ASN 번호 (필수)
선택 항목:
- description: 설명 (선택적)
- tags: 태그 (선택적)
리소스 이름: aws_ec2_transit_gateway
resource "aws_ec2_transit_gateway" "main_tgw" {
amazon_side_asn = 64512 # 필수: AWS 측 ASN
description = "Main Transit Gateway" # 옵션: 설명
tags = {
Name = "MainTransitGateway" # 옵션: 태그
}
}
3. Transit Gateway 정책 테이블 (Transit Gateway Policy Table)
필수 항목:
- transit_gateway_id: 연결할 Transit Gateway ID (필수)
리소스 이름: aws_ec2_transit_gateway_policy_table
resource "aws_ec2_transit_gateway_policy_table" "main_tgw_policy_table" {
transit_gateway_id = aws_ec2_transit_gateway.main_tgw.id # 필수: Transit Gateway ID
tags = {
Name = "MainTgwPolicyTable" # 옵션: 태그
}
}
4. Transit Gateway 라우팅 테이블 (Transit Gateway Route Table)
필수 항목:
- transit_gateway_id: 연결할 Transit Gateway ID (필수)
리소스 이름: aws_ec2_transit_gateway_route_table
resource "aws_ec2_transit_gateway_route_table" "main_tgw_route_table" {
transit_gateway_id = aws_ec2_transit_gateway.main_tgw.id # 필수: Transit Gateway ID
tags = {
Name = "MainTgwRouteTable" # 옵션: 태그
}
}
5. Transit Gateway 멀티캐스트 (Transit Gateway Multicast Domain)
필수 항목:
- transit_gateway_id: 연결할 Transit Gateway ID (필수)
리소스 이름: aws_ec2_transit_gateway_multicast_domain
resource "aws_ec2_transit_gateway_multicast_domain" "main_tgw_multicast_domain" {
transit_gateway_id = aws_ec2_transit_gateway.main_tgw.id # 필수: Transit Gateway ID
tags = {
Name = "MainTgwMulticastDomain" # 옵션: 태그
}
}
6. 트래픽 미러 세션 (Traffic Mirror Session)
필수 항목:
- network_interface_id: 미러링할 네트워크 인터페이스 ID (필수)
- traffic_mirror_target_id: 트래픽 미러 타겟 ID (필수)
- traffic_mirror_filter_id: 트래픽 미러 필터 ID (필수)
리소스 이름: aws_ec2_traffic_mirror_session
resource "aws_ec2_traffic_mirror_session" "main_mirror_session" {
network_interface_id = aws_network_interface.main_eni.id # 필수: 네트워크 인터페이스 ID
traffic_mirror_target_id = aws_ec2_traffic_mirror_target.main_target.id # 필수: 미러 타겟 ID
traffic_mirror_filter_id = aws_ec2_traffic_mirror_filter.main_filter.id # 필수: 미러 필터 ID
session_number = 1 # 세션 번호
tags = {
Name = "MainMirrorSession" # 옵션: 태그
}
}
7. 트래픽 미러 대상 (Traffic Mirror Target)
필수 항목:
- network_interface_id: 타겟 네트워크 인터페이스 ID (필수)
리소스 이름: aws_ec2_traffic_mirror_target
resource "aws_ec2_traffic_mirror_target" "main_target" {
network_interface_id = aws_network_interface.main_eni.id # 필수: 네트워크 인터페이스 ID
tags = {
Name = "MainTrafficMirrorTarget" # 옵션: 태그
}
}
8. 트래픽 미러 필터 (Traffic Mirror Filter)
필수 항목:
- description: 필터 설명 (필수)
리소스 이름: aws_ec2_traffic_mirror_filter
resource "aws_ec2_traffic_mirror_filter" "main_filter" {
description = "Main Traffic Mirror Filter" # 필수: 필터 설명
tags = {
Name = "MainTrafficMirrorFilter" # 옵션: 태그
}
}
9. VPC 래티스 시작하기 (VPC Lattice)
필수 항목:
- service_network_id: 서비스 네트워크 ID (필수)
리소스 이름: aws_vpc_lattice
resource "aws_vpc_lattice" "main_vpc_lattice" {
service_network_id = aws_vpc_lattice_service_network.main_network.id # 필수: 서비스 네트워크 ID
tags = {
Name = "MainVPCLattice" # 옵션: 태그
}
}
10. VPC 래티스 서비스 네트워크 (VPC Lattice Service Network)
필수 항목:
- vpc_id: VPC ID (필수)
리소스 이름: aws_vpc_lattice_service_network
resource "aws_vpc_lattice_service_network" "main_network" {
vpc_id = aws_vpc.main_vpc.id # 필수: VPC ID
tags = {
Name = "MainServiceNetwork" # 옵션: 태그
}
}
11. VPC 래티스 서비스 (VPC Lattice Service)
필수 항목:
- service_network_id: 연결할 서비스 네트워크 ID (필수)
- name: 서비스 이름 (필수)
리소스 이름: aws_vpc_lattice_service
resource "aws_vpc_lattice_service" "main_service" {
service_network_id = aws_vpc_lattice_service_network.main_network.id # 필수: 서비스 네트워크 ID
name = "MainLatticeService" # 필수: 서비스 이름
tags = {
Name = "MainVPCLatticeService" # 옵션: 태그
}
}
12. VPC 래티스 대상 그룹 (VPC Lattice Target Group)
필수 항목:
- protocol: 서비스 프로토콜 (필수)
- port: 서비스 포트 (필수)
리소스 이름: aws_vpc_lattice_target_group
resource "aws_vpc_lattice_target_group" "main_target_group" {
protocol = "HTTP" # 필수: 프로토콜
port = 80 # 필수: 포트
tags = {
Name = "MainTargetGroup" # 옵션: 태그
}
}
이 구성을 통해 AWS의 Transit Gateway 및 VPC Lattice 관련 모든 리소스를 Terraform에서 관리할 수 있다. 각 리소스의 필수 및 선택 파라미터를 정의하고, 리소스 간의 연결성을 고려하여 올바르게 설정해야 한다.
'AWS' 카테고리의 다른 글
AWS IaC 배포 방법들 (0) | 2024.10.22 |
---|---|
S3에서 IaC로 폴더 만들기 (0) | 2024.10.22 |
AWS VPN 가상 사설 네트워크, AWS가 확인한 액세스 리소스 (0) | 2024.10.22 |
AWS VPC 보안, DNS 방화벽, 네트워크 방화벽 리소스 (0) | 2024.10.22 |
AWS VPC 리소스 (0) | 2024.10.22 |