Network Load Balancer 생성
Network Load Balancer는 클라이언트로부터 요청을 가져와서 EC2 인스턴스 같은 대상 그룹의 대상에 이를 분산합니다. 자세한 내용은 Network Load Balancer 개요을 참조하세요.
사전 조건
-
애플리케이션이 지원할 가용 영역 및 IP 주소 유형을 결정합니다. 이러한 각 가용 영역에 서브넷을 구성해 로드 밸런서 VPC를 구성합니다. 애플리케이션이 IPv4 및 IPv6 트래픽을 모두 지원하는 경우 서브넷에 IPv4 및 IPv6 CIDR이 모두 구성되어 있는지 확인합니다. 각 가용 영역에 하나 이상의 대상을 배포합니다.
-
대상 인스턴스의 보안 그룹이 리스너 포트에서 클라이언트 IP 주소(대상이 인스턴스 ID로 지정된 경우) 또는 로드 밸런서 노드(대상이 IP 주소로 지정된 경우)에서의 트래픽을 허용해야 합니다. 자세한 내용은 대상 보안 그룹 단원을 참조하세요.
-
대상 인스턴스의 보안 그룹은 상태 확인 프로토콜을 사용해 상태 확인 포트에서 로드 밸런서의 트래픽을 허용해야 합니다.
-
로드 밸런서에 정적 IP 주소를 제공할 계획이라면, 각 탄력적 IP 주소가 Amazon의 IPv4 주소 풀에서 온 것이며 로드 밸런서와 동일한 네트워크 경계 그룹을 갖는지 확인하십시오.
-
QUIC 또는 TCP\_QUIC 리스너를 활용할 계획이라면 Network Load Balancer가 ipv4 주소 유형을 사용하고 연결된 보안 그룹이 없는지 확인하십시오.
로드 밸런서 생성
Network Load Balancer 생성의 일부로 로드 밸런서, 최소한 하나의 리스너, 최소한 하나의 대상 그룹을 생성하게 됩니다. 활성화된 각 가용 영역에 정상 등록 대상이 하나 이상 있는 경우 로드 밸런서는 클라이언트 요청을 처리할 준비가 완료된 것입니다.
- Console
-
Network Load Balancer를 생성하려면
https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.
-
탐색 창에서 로드 밸런서를 클릭합니다.
-
로드 밸런서 생성을 선택하세요.
-
Network Load Balancer에서 [생성(Create)]을 선택합니다.
-
기본 구성
-
로드 밸런서 이름에 Network Load Balancer의 이름을 입력합니다. 이 이름은 리전에 대한 로드 밸런서 집합 내에서 고유해야 합니다. 최대 32자여야 하며 영숫자 및 하이픈만 포함할 수 있습니다. 하이픈 또는 internal-(으)로 시작하거나 끝나서는 안 됩니다.
-
구성표에서 internet-facing 또는 internal을 선택합니다. 인터넷 연결 Network Load Balancer는 인터넷을 통해 클라이언트의 요청을 대상으로 라우팅합니다. 내부 Network Load Balancer는 프라이빗 IP 주소를 사용하여 요청을 대상으로 라우팅합니다.
-
로드 밸런서 IP 주소 유형에서 클라이언트가 IPv4 주소를 사용하여 Network Load Balancer와 통신하는 경우 IPv4를 선택하고, 클라이언트가 IPv4 및 IPv6 주소를 둘 다 사용하여 Network Load Balancer와 통신하는 경우 듀얼스택을 선택합니다.
-
네트워크 매핑
-
VPC에서 로드 밸런서를 위해 준비한 VPC를 선택합니다. 인터넷 경계 로드 밸런서를 사용하면 인터넷 게이트웨이가 있는 VPC만 선택할 수 있습니다.
-
듀얼스택 로드 밸런서를 사용하는 경우, IPv6 소스 NAT 접두사 활성화가 켜짐(서브넷별 소스 NAT 접두사)이(가) 아닌 한 UDP 리스너를 추가할 수 없습니다.
-
가용 영역 및 서브넷의 경우, 최소한 하나의 가용 영역을 선택하고 영역당 하나의 서브넷을 선택하십시오. 공유받은 서브넷은 선택 가능합니다.
여러 가용 영역을 선택하고 각 선택된 영역에 등록된 대상이 있는지 확인하면 애플리케이션의 내결함성이 증가합니다.
-
인터넷 경계 로드 밸런서의 경우, 각 가용 영역에 대해 탄력적인 IP 주소를 선택할 수 있습니다. 그러면 로드 밸런서에 고정 IP 주소가 제공됩니다.
내부 로드 밸런서의 경우, 각 서브넷의 주소 범위에서 사설 IPv4 주소를 입력하거나 AWS이(가) 자동으로 하나를 선택하도록 할 수 있습니다.
듀얼스택 로드 밸런서의 경우, 각 서브넷의 주소 범위에서 IPv6 주소를 입력하거나 AWS이(가) 자동으로 하나를 선택하도록 할 수 있습니다.
소스 NAT가 활성화된 로드 밸런서의 경우, 사용자 지정 IPv6 접두사를 입력하거나 AWS이(가) 자동으로 하나를 선택하도록 할 수 있습니다.
-
보안 그룹.
로드 밸런서 VPC의 기본 보안 그룹을 미리 선택합니다. 필요에 따라 추가적인 보안 그룹을 선택할 수 있습니다. 요구에 맞는 보안 그룹이 없는 경우 새로운 보안 그룹 생성을 선택하여 새로 생성합니다. 자세한 내용을 알아보려면 Amazon VPC 사용 설명서의 보안 그룹 생성을 참조하세요.
지금 보안 그룹을 Network Load Balancer와 연결하지 않으면 나중에 연결할 수 없습니다.
QUIC 또는 TCP_QUIC 리스너를 활용하려면 Network Load Balancer에 보안 그룹이 없어야 합니다.
-
리스너 및 라우팅
-
기본값은 포트 80에서 TCP 트래픽을 수락하는 리스너입니다. 기본 리스너 설정을 그대로 두거나 필요에 따라 프로토콜 또는 포트를 변경합니다.
-
기본 작업에서 트래픽을 전달할 대상 그룹을 선택합니다.
다른 대상 그룹을 추가하려면 대상 그룹 추가를 선택하고 필요에 따라 가중치를 업데이트합니다.
요구에 맞는 대상 그룹이 없는 경우 대상 그룹 생성을 선택하여 새로 생성합니다. 자세한 내용은 대상 그룹 생성 단원을 참조하세요.
-
(선택 사항) 리스너 태그 추가를 선택하고 태그 키와 태그 값을 입력합니다.
-
(선택 사항) 리스너 추가를 선택하여 다른 리스너(예: TLS 리스너)를 추가합니다.
-
보안 리스너 설정
이 섹션은 TLS 리스너를 추가한 경우에만 표시됩니다.
-
보안 정책의 경우 요구 사항을 충족하는 보안 정책을 선택합니다. 자세한 내용은 보안 정책 단원을 참조하세요.
-
기본 SSL/TLS 서버 인증서의 경우, 인증서 소스로 ACM에서를 선택하십시오. AWS Certificate Manager을(를) 사용하여 프로비저닝하거나 가져온 인증서를 선택하십시오. ACM에 사용 가능한 인증서는 없지만 로드 밸런서에 사용할 인증서가 있는 경우 인증서 가져오기를 선택하고 필요한 정보를 제공합니다. 그렇지 않으면, 새 ACM 인증서 요청을 선택합니다. 자세한 내용은 AWS Certificate Manager 사용 설명서.의 AWS Certificate Manager 인증서를 참조하세요.
-
(선택 사항) ALPN 정책의 경우, ALPN을 활성화할 정책을 선택하십시오.. 자세한 내용은 ALPN 정책 단원을 참조하세요.
-
로드 밸런서 태그
(선택 사항) 로드 밸런서 태그를 확장합니다. (선택 사항) 새 태그 추가를 선택하고 태그 키와 태그 값을 입력합니다. 자세한 내용은 태그를 참조하세요.
-
요약
구성을 검토하고 로드 밸런서 생성을 선택합니다. 생성 중에 Network Load Balancer에 몇 가지 기본 특성이 적용됩니다. Network Load Balancer를 생성한 후 이를 보고 편집할 수 있습니다. 자세한 내용은 로드 밸런서 속성 단원을 참조하세요.
- AWS CLI
-
Network Load Balancer를 생성하려면
create-load-balancer 명령을 사용합니다.
다음 예제에서는 가용 영역 두 개를 활성화하고 보안 그룹을 포함한 인터넷 경계 로드 밸런서를 생성합니다.
aws elbv2 create-load-balancer \
--name my-load-balancer \
--type network \
--subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \
--security-groups sg-1111222233334444
내부 Network Load Balancer를 생성하려면
다음 예제와 같이 --scheme 옵션을 포함합니다.
aws elbv2 create-load-balancer \
--name my-load-balancer \
--type network \
--scheme internal \
--subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \
--security-groups sg-1111222233334444
듀얼스택 Network Load Balancer를 생성하려면
다음 예제와 같이 --ip-address-type 옵션을 포함합니다.
aws elbv2 create-load-balancer \
--name my-load-balancer \
--type network \
--ip-address-type dualstack \
--subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \
--security-groups sg-1111222233334444
리스너를 추가하려면
create-listener 명령을 사용합니다. 예시는 리스너 생성 섹션을 참조하세요.
- CloudFormation
-
Network Load Balancer를 생성하려면
AWS::ElasticLoadBalancingV2::LoadBalancer 유형의 리소스를 정의합니다.
Resources:
myLoadBalancer:
Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer'
Properties:
Name: my-nlb
Type: network
Scheme: internal
IpAddressType: dualstack
Subnets:
- !Ref subnet-AZ1
- !Ref subnet-AZ2
SecurityGroups:
- !Ref mySecurityGroup
Tags:
- Key: 'department'
Value: '123'
리스너를 추가하려면
AWS::ElasticLoadBalancingV2::Listener 유형의 리소스를 정의합니다. 예시는 리스너 생성 섹션을 참조하세요.
로드 밸런서 테스트
Network Load Balancer를 생성한 후, EC2 인스턴스가 초기 상태 확인을 통과했는지 확인한 다음 Network Load Balancer가 EC2 인스턴스로 트래픽을 전송하고 있는지 검사할 수 있습니다. Network Load Balancer를 삭제하려면 Network Load Balancer 삭제 섹션을 참조하세요.
Network Load Balancer를 테스트하려면
-
Network Load Balancer가 생성된 후 닫기를 선택합니다.
-
탐색 창에서 대상 그룹을 선택합니다.
-
새로운 대상 그룹을 선택합니다.
-
대상를 선택하고 인스턴스가 준비되었는지 확인합니다. 인스턴스 상태가 initial인 경우 아직 인스턴스 등록이 진행 중이거나 정상으로 간주될 만한 최소 상태 확인 횟수를 통과하지 못했기 때문일 가능성이 높습니다. 하나 이상의 인스턴스 상태가 정상이어야 Network Load Balancer를 테스트할 수 있습니다. 자세한 내용은 대상 상태 단원을 참조하세요.
-
탐색 창에서 로드 밸런서를 클릭합니다.
-
새 Network Load Balancer를 선택합니다.
-
Network Load Balancer의 DNS 이름(예: my-load-balancer-1234567890abcdef.elb.us-east-2.amazonaws.com)을 복사합니다. DNS 이름을 인터넷에 연결된 웹 브라우저의 주소 필드에 붙여 넣습니다. 모든 것이 잘 작동하는 경우 브라우저에 서버 기본 페이지가 표시됩니다.
다음 단계
로드 밸런서를 생성한 후 다음을 수행할 수 있습니다.