안녕하세요!
하씨가문의 영광입니다!
지난 편 Terraform 리소스의 Azure 3편을 다루었는데요!
오늘은 4편을 시작하겠습니다!
Don't have a good day, Have a great day!
▶ 목차
1. LB
resource "azurerm_lb" "example" {
name = "TestLoadBalancer"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
frontend_ip_configuration {
name = "PublicIPAddress"
public_ip_address_id = azurerm_public_ip.example.id
}
}
<필수>
- name : 로드 밸런서의 이름을 지정합니다.
- resourece_group_name : 로드 밸런서를 생성할 리소스 그룹의 이름입니다.
- location : 로드 밸런서를 생성할 Azure 지역을 지정합니다.
<옵션>
- edge_zone : Azure 에지 영역을 지정합니다.
- frontend_ip_configuration
- name : 프런트엔드 IP 구성 이름을 지정합니다.
- zones : 로드 밸런서의 IP 주소가 있어야 하는 가용 영역 목록을 지정합니다.
- subnet_id : IP구성과 연결되어야하는 서브넷의 ID입니다.
- gateway_load_balancer_frontend_ip_configuration_id : 게이트웨이 SKU 로드 밸런서의 프런트엔드 IP 구성 ID 입니다.
- private_ip_address : 로드 밸런서에 할당할 사설 IP 주소입니다.
- private_ip_address_allocation : 로드 밸런서에서 사용하는 사설 IP 주소에 대한 할당 방법입니다.
- private_ip_address_version : 사설 IP 주소가 있는 IP의 버전입니다.
- public_ip_address_id : 로드 밸런서와 연결되어야 하는 공용 IP 주소의 ID입니다.
- public_ip_prefix_id : 로드 밸런서와 연결되어야 하는 공용 IP 접두사의 ID입니다.
- sku : 비용 계층으로 basic, standard, gateway
- sku_tier : global, regional이 있습니다.
- tags : 리소스에 할당할 태그 매핑입니다.
2. LB - Probe
resource "azurerm_lb_probe" "example" {
loadbalancer_id = azurerm_lb.example.id
name = "ssh-running-probe"
port = 22
}
<필수>
- Name : 프로브의 이름을 지정합니다.
- loadbalancer_id : NAT 규칙을 생성할 LoadBalancer의 ID입니다.
- protocol : 전송 프로토콜입니다. 가능한 값은 Tcp, Udp또는 All입니다.
- port : 프로브가 백엔드 엔드포인트를 쿼리하는 포트입니다.
<옵션>
- request_path : 백엔드 엔드포인트에서 상태를 요청하는 데 사용되는 URI입니다.
- interval_in_seconds : 상태에 대한 백엔드 엔드포인트에 대한 프로브 사이의 간격(초)입니다.
- number_of_probes : 백엔드 엔드포인트가 회전에서 제거된 후 실패한 프로브 시도 횟수입니다. 기본값은 2입니다.
3. LB - Rule
resource "azurerm_lb_rule" "example" {
loadbalancer_id = azurerm_lb.example.id
name = "LBRule"
protocol = "Tcp"
frontend_port = 3389
backend_port = 3389
frontend_ip_configuration_name = "PublicIPAddress"
}
<필수>
- name : LB 규칙의 이름을 지정합니다.
- loadbalancer_id : 규칙을 생성할 로드 밸런서의 ID입니다.
- frontend_ip_configuration_name : 규칙이 연결된 프런트엔드 IP 구성의 이름입니다.
- protocol : 전송 프로토콜입니다. 가능한 값은 Tcp, Udp또는 All입니다.
- frontend_port : 포트로써, 각 규칙의 포트 번호는 로드 밸런서 내에서 고유해야 합니다.
- backend_port : 엔드포인트에서 내부 연결에 사용되는 포트입니다.
<옵션>
- backend_address_pool_ids : 부하 분산 규칙이 작동하는 백엔드 주소 풀에 대한 참조 목록입니다.
- probe_id : 로드 밸런싱 규칙에서 사용하는 프로브에 대한 참조입니다.
- enable_floating_ip : 유동IP는 기본 서버에 장애가 발생할 경우 보조 서버에 재할당됩니다.
- idle_timeout_in_minutes : TCP 연결에 대한 유휴 시간 초과를 분 단위로 지정합니다.
- load_distribution : 로드 밸런서에서 사용할 로드 밸런싱 배포 유형을 지정합니다.
- disable_outbound_snat : 로드 밸런서 규칙에 대해 snat이 활성화여부입니다.
- enable_tcp_reset : 로드 밸런서 규칙에 대해 TCP 재설정이 활성화여부입니다.
이렇게 오늘은 Terraform 기반 Azure의 LB 부분을 살펴보았는데요!
Load Balancer 부분도 찾아봐야할게 확실히 많은 거 같아요!
오늘 읽어주셔서 감사합니다:)
'INFRA > Operation' 카테고리의 다른 글
Terraform 리소스에 대한 이해 - Azure 5편 (0) | 2022.09.15 |
---|---|
쿠버네티스 이론 STEP9 Controller&Rolling Update (0) | 2022.09.14 |
Terraform 리소스에 대한 이해 - Azure 3편 (0) | 2022.09.03 |
쿠버네티스 이론 STEP8 RBAC (0) | 2022.08.29 |
Terraform 리소스에 대한 이해 - Azure 2편 (0) | 2022.08.23 |
댓글