AWS CLI로 Application Load Balancer 생성해 보기

AWS CLI로 Application Load Balancer 생성해 보기

AWS CLI로 Application Load Balancer를 생성해 보는 과정을 정리해 봤습니다.
Clock Icon2021.09.23 04:40

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 AWS CLI로 Application Load Balancer를 생성해 보는 과정을 정리해 봤습니다.

시작하기 전에

시작하기 전에 확인해야 할 사항이 있습니다.

  • Application Load Balancer를 지원하는 버전의 AWS CLI를 사용하고 있는지 확인
  • 2대의 EC2 인스턴스가 생성된 상태인지 확인
aws elbv2 help

다음 명령어를 통해, Application Load Balancer를 지원하는 CLI인지 확인합니다.

CLI로 EC2 인스턴스를 생성하는 방법은 위 링크를 참고해 주세요.

CLI로 Application Load Balancer 생성

서브넷과 보안 그룹 확인

CLI로 Application Load Balancer를 생성하기 전에, 현재 EC2에서 사용하고 있는 서브넷과 보안 그룹을 알아야 합니다.

aws ec2 describe-vpcs

VPC ID를 확인합니다.

aws ec2 describe-subnets \
--filters "Name=vpc-id,Values=vpc-949667f2"

서로 다른 가용영역의 서브넷 아이디를 확인합니다.

aws ec2 describe-instances --filters --query 'Reservations[].Instances[].SecurityGroups'

위 명령어로 보안 그룹 아이디를 확인합니다.

Application LoadBalancer 생성

aws elbv2 create-load-balancer --name my-load-balancer \
--subnets subnet-636ad92b subnet-113a803a --security-groups sg-07c95b0a370732957

서로 다른 가용영역의 서브넷과, 보안 그룹을 넣어서 실행하면 Application Load Balancer가 생성됩니다.

대상 그룹 생성

aws elbv2 create-target-group --name my-targets --protocol HTTP --port 80 \
--vpc-id vpc-949667f2
aws elbv2 describe-target-groups
aws elbv2 describe-target-group-attributes --target-group-arn 대상 그룹 arn

대상 그룹을 생성합니다. VPC는 EC2 인스턴스에 사용 된 것과 동일한 VPC를 지정합니다.

  • aws elbv2 describe-target-groups
  • aws elbv2 describe-target-group-attributes --target-group-arn 대상 그룹 arn

현재 대상 그룹의 상태와 속성을 확인합니다.

aws ec2 describe-instances --filters --query 'Reservations[].Instances[].InstanceId'

EC2 인스턴스를 대상 그룹에 추가

다음은 EC2 인스턴스를 대상 그룹에 추가해야 합니다. 먼저 EC2 인스턴스 ID를 확인하는 방법은 위 명령어를 입력하면 됩니다.

aws elbv2 register-targets --target-group-arn 대상 그룹 arn \
--targets Id=첫 번째 EC2 인스턴스 ID Id=두 번째 EC2 인스턴스 ID

위 명령어로 EC2 인스턴스를 대상 그룹에 추가합니다.

aws elbv2 describe-target-health --target-group-arn 대상 그룹 arn

대상 그룹 상태를 확인합니다.

리스너 생성 및 Healthy 체크

aws elbv2 create-listener --load-balancer-arn 로드밸런서 arn --protocol HTTP --port 80 --default-actions Type=forward,TargetGroupArn=대상 그룹 arn

프로토콜 및 포트를 사용하여 연결 요청을 수신하는 리스너를 생성합니다.

aws elbv2 describe-listeners --load-balancer-arn 로드밸런서 arn

현재 리스너 상태를 확인합니다.

aws elbv2 describe-target-health --target-group-arn 대상 그룹 arn

현재 대상 그룹의 상태를 확인합니다. State가「Healthy」상태면 Application LoadBalancer가 정상적으로 작동하고 있는 중 입니다.

aws elbv2 describe-load-balancers --query 'LoadBalancers[].DNSName'

표시된 공용 DNS에 대해 Web 페이지가 표시되면 아무 문제 없이 작동 중입니다.

참고

この記事をシェアする

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.