웹 서버에 Elastic Load Balancing을 사용하고 있습니다. 로드 밸런서가 트래픽을 내 웹 서버로 전달하는 데 사용하는 IP 주소를 알고 싶습니다. 로드 밸런서의 IP 주소를 찾으려면 어떻게 해야 합니까?
간략한 설명
로드 밸런서의 DNS 이름을 확인하여 내부 로드 밸런서 또는 인터넷 경계 로드 밸런서와 연결된 IP 주소를 확인할 수 있습니다. 이는 클라이언트가 로드 밸런서에 지정된 요청을 전송해야 하는 IP 주소입니다. 하지만 Classic Load Balancer 및 Application Load Balancer는 탄력적 네트워크 인터페이스와 연결된 프라이빗 IP 주소를 웹 서버로 전달되는 요청의 소스 IP 주소로 사용합니다. Network Load Balancer의 경우 이러한 요청의 소스 IP 주소는 대상 그룹의 구성에 따라 다릅니다.
이러한 IP 주소는 웹 서버의 로드 밸런서 트래픽 허용 및 요청 처리와 같은 다양한 용도로 사용할 수 있습니다. Classic Load Balancer 또는 Application Load Balancer의 로드 밸런서 트래픽을 허용하기 위해 웹 서버의 보안 그룹 인바운드 규칙을 참조하는 보안 그룹을 사용하는 것이 가장 좋습니다. 하지만 Network Load Balancer는 대상 그룹 구성에 따라 보안 그룹을 지원하지 않으므로 클라이언트의 IP 주소 또는 Network Load Balancer와 연결된 프라이빗 IP 주소가 웹 서버의 보안 그룹에서 허용되어야 합니다.
해결 방법
중요: Classic Load Balancer 및 Application Load Balancer의 IP 주소는 시간이 지남에 따라 변경됩니다. 이 정보를 사용하여 애플리케이션이 이러한 IP 주소를 가리키도록 정적으로 구성하지 마세요.
참고: AWS CLI(AWS Command Line Interface) 명령을 실행할 때 오류가 발생할 경우 AWS CLI의 최신 버전을 사용하고 있는지 확인하세요.
AWS Management Console을 사용하여 로드 밸런서의 탄력적 네트워크 인터페이스와 연결된 프라이빗 IP 주소 찾기
1. Amazon Elastic Compute Cloud(Amazon EC2) 콘솔을 엽니다.
2. 탐색 창의 [로드 밸런싱(Load Balancing)]에서 [로드 밸런서(Load Balancers)]를 선택합니다.
3. IP 주소를 찾을 로드 밸런서를 선택합니다.
4. [설명(Description)] 탭에서 [이름(Name)]을 복사합니다.
5. 탐색 창의 [네트워크 및 보안(Network & Security)] 아래에 있는 [네트워크 인터페이스]를 선택합니다.
6. 4단계에서 복사한 로드 밸런서 이름을 검색 상자에 붙여 넣습니다. 필터링된 결과에는 로드 밸런서와 연결된 모든 탄력적 네트워크 인터페이스가 표시됩니다.
7. 필터링된 결과에서 각 탄력적 네트워크 인터페이스에 대해 다음을 수행합니다.
탄력적 네트워크 인터페이스를 선택합니다.
[세부 정보(Details)] 탭을 선택합니다.
[기본 프라이빗 IPv4 IP(Primary private IPv4 IP)]에 대한 IP 주소가 포함된 인터페이스를 찾습니다. 탄력적 네트워크 인터페이스의 기본 프라이빗 IP 주소입니다.
AWS CLI를 사용하여 로드 밸런서의 탄력적 네트워크 인터페이스와 연결된 프라이빗 IP 주소 찾기
다음 명령을 실행합니다.
aws ec2 describe-network-interfaces --filters Name=description,Values="ELB elb-name" --query 'NetworkInterfaces[*].PrivateIpAddresses[*].PrivateIpAddress' --output text
elb-name을 다음 중 하나로 바꿉니다.
- Classic Load Balancer의 경우: 로드 밸런서의 이름
- Application Load Balancer의 경우: app/load-balancer-name/load-balancer-id
- Network Load Balancer의 경우: net/load-balancer-name/load-balancer-id
Application Load Balancers 및 Network Load Balancer의 경우 다음 명령을 사용하여 load-balancer-id를 찾습니다.
aws elbv2 describe-load-balancers --names load-balancer-name
load-balancer-id는 ARN에서 로드 밸런서 이름 뒤에 후행 슬래시를 따르는 마지막 문자 필드입니다.