메뉴
Amazon EC2 Auto Scaling
사용 설명서

자습서: 조정 및 로드 밸런싱된 애플리케이션 설정

Auto Scaling 그룹에 로드 밸런서를 연결할 수 있습니다. 로드 밸런서는 자동으로 그룹의 인스턴스 간에 수신 트래픽을 자동으로 분산합니다. Auto Scaling과 함께 Elastic Load Balancing을 사용하는 데 따르는 이점에 대한 자세한 내용은 Auto Scaling 그룹에 로드 밸런서 사용 단원을 참조하십시오.

이 자습서에서는 그룹을 만들 때 Auto Scaling 그룹에 로드 밸런서를 연결합니다. 기존 Auto Scaling 그룹에 로드 밸런서를 연결하려면 Auto Scaling 그룹에 로드 밸런서 연결 단원을 참조하십시오.

사전 조건

  • (선택 사항) 필요한 AWS에 대한 액세스를 애플리케이션에 부여하는 IAM 역할을 만듭니다.

  • 인스턴스를 시작합니다. IAM 역할(만든 경우)을 지정하고 필요한 구성 스크립트를 사용자 데이터로 지정해야 합니다. 인스턴스에 연결하여 인스턴스를 사용자 지정합니다. 예를 들어, 소프트웨어와 애플리케이션을 설치하고 데이터를 복사할 수 있습니다. 인스턴스에서 애플리케이션을 테스트하여 인스턴스가 올바르게 구성되었는지 확인합니다. 인스턴스에서 사용자 지정 Amazon 머신 이미지(AMI)를 만듭니다. 더 이상 필요하지 않은 경우 인스턴스를 종료할 수 있습니다.

  • 로드 밸런서를 만듭니다. Elastic Load Balancing은 Application Load Balancer, Network Load Balancer, Classic Load Balancer 등 세 가지 유형의 로드 밸런서를 지원합니다. 이러한 유형 중 하나의 로드 밸런서를 Auto Scaling 그룹에 연결할 수 있습니다. 자세한 내용은 Elastic Load Balancing 사용 설명서 단원을 참조하십시오.

    Classic Load Balancer에서는 로드 밸런서에 인스턴스를 등록합니다. Application Load Balancer 및 Network Load Balancer를 사용하는 경우 인스턴스를 대상 그룹의 대상으로 등록합니다. Auto Scaling 그룹에 로드 밸런서를 사용하려는 경우, 로드 밸런서 또는 대상 그룹에 EC2 인스턴스를 등록할 필요가 없습니다. Auto Scaling 그룹에 로드 밸런서 또는 대상 그룹을 연결하면 Auto Scaling이 인스턴스를 시작할 때 로드 밸런서 또는 대상 그룹에 인스턴스를 등록합니다.

AWS Management 콘솔을 사용하여 조정 및 로드 밸런싱 구성

Auto Scaling 그룹을 생성할 때 다음 작업을 완료하여 조정 및 로드 밸런싱된 애플리케이션을 설정합니다.

시작 구성 생성 또는 선택

시작 구성은 Amazon EC2 Auto Scaling에서 사용자를 위해 생성하는 EC2 인스턴스의 유형을 지정합니다. 시작 구성을 생성할 때는 사용할 Amazon 머신 이미지(AMI)의 ID, 인스턴스 유형, 키 페어, 블록 디바이스 매핑 등의 정보를 포함합니다. 시작 템플릿을 생성하면 시작 구성을 사용하는 대신 해당 시작 템플릿을 사용하여 Auto Scaling 그룹을 생성할 수 있습니다. 자세한 내용은 시작 템플릿을 사용하여 Auto Scaling 그룹 생성하기 단원을 참조하십시오.

사용하려는 시작 구성이 이미 있으면 다음 절차를 사용하여 해당 구성을 선택합니다.

기존 시작 구성을 선택하려면

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 화면 상단의 탐색 모음에서 로드 밸런서를 만들 때 사용한 리전을 선택합니다.

  3. 탐색 창의 [Auto Scaling]에서 [Auto Scaling Groups]를 선택합니다.

  4. 다음 페이지에서 Create Auto Scaling group(Auto Scaling 그룹 생성)을 선택합니다.

  5. Auto Scaling 그룹 생성 페이지에서 시작 구성을 선택하고 기존 시작 구성을 선택한 후 다음 단계를 선택합니다.

다음 절차를 사용하여 새 시작 구성을 생성합니다.

시작 구성을 생성하는 방법

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 화면 상단의 탐색 모음에서 로드 밸런서를 만들 때 사용한 리전을 선택합니다.

  3. 탐색 창의 [Auto Scaling]에서 [Auto Scaling Groups]를 선택합니다.

  4. 다음 페이지에서 Create Auto Scaling group(Auto Scaling 그룹 생성)을 선택합니다.

  5. Auto Scaling 그룹 생성 페이지에서 Launch Configuration, Create a new launch configuration(시작 구성, 새 시작 구성 만들기)을 선택한 후 다음 단계를 선택합니다.

  6. [Choose AMI] 페이지에서 사용자 지정 AMI를 선택합니다.

  7. [Choose Instance Type] 페이지에서 인스턴스의 하드웨어 구성을 선택한 다음 [Next: Configure details]를 선택합니다.

  8. [Configure Details] 페이지에서 다음을 수행합니다.

    1. [Name]에 시작 구성의 이름을 입력합니다.

    2. (선택 사항) EC2 인스턴스에 자격 증명을 안전하게 배포하려면 IAM 역할을 선택합니다.

    3. (선택 사항) 기본이 아닌 VPC에 있는 인스턴스에 연결해야 하는 경우, [Advanced Details], [IP Address Type]에서 [Assign a public IP address to every instance]를 선택합니다.

    4. (선택 사항) 인스턴스에 대해 사용자 데이터 또는 구성 스크립트를 지정하려면 [Advanced Details], [User data]에 구성 스크립트를 붙여넣습니다.

    5. [Skip to review]를 선택합니다.

  9. [Review ] 페이지에서 [Edit security groups]를 선택합니다. 지침을 따라 기존 보안 그룹을 선택한 다음 [Review]를 선택합니다.

  10. [Review] 페이지에서 [Create launch configuration]을 선택합니다.

  11. [Select an existing key pair or create a new key pair] 페이지에서 나열된 옵션 중 하나를 선택합니다. 승인 확인란을 선택한 다음 [Create launch configuration]을 선택합니다.

    주의

    인스턴스에 연결해야 하는 경우 [Proceed without a key pair]를 선택하지 마십시오.

위의 과정을 완료하였다면 Auto Scaling 그룹을 생성하는 마법사를 실행할 준비가 된 것입니다.

조정 정책이 있는 Auto Scaling

다음 절차를 사용하여 시작 구성을 선택 또는 생성한 후부터 계속합니다.

Auto Scaling 그룹을 생성하려면

  1. [Configure Auto Scaling group details] 페이지에서 다음을 수행합니다.

    1. [Group name]에 Auto Scaling 그룹 이름을 입력합니다.

    2. [Group size]에 Auto Scaling 그룹의 초기 인스턴스 수를 입력합니다.

    3. 시작 구성에서 VPC가 필요한 인스턴스 유형(예: T2 인스턴스)을 선택한 경우, [Network]에 VPC를 선택해야 합니다. 그렇지 않고 계정에서 EC2-Classic을 지원하고 VPC가 필요하지 않은 인스턴스 유형을 선택한 경우, [Launch into EC2-Classic] 또는 [VPC] 중 하나를 선택할 수 있습니다.

    4. 이전 단계에서 [VPC]를 선택한 경우 [Subnet]에서 하나 이상의 서브넷을 선택합니다. [EC2-Classic]을 선택한 경우 [Availability Zone(s)]에서 하나 이상의 가용 영역을 선택합니다.

    5. [Advanced Details]에서 Receive traffic from Elastic Load Balancer(s)를 선택하고 다음 중 하나를 수행합니다.

      • [Classic Load Balancers] [Load Balancers]에서 로드 밸런서를 선택합니다.

      • [Target groups] [Target Groups]에서 대상 그룹을 선택합니다.

    6. (선택 사항) Elastic Load Balancing 상태 확인을 사용하려면 [Advanced Details], [Health Check Type]에서 [ELB]를 선택합니다.

    7. [Next: Configure scaling policies]를 선택합니다.

  2. [Configure scaling policies] 페이지에서 [Keep this group at its initial size]와 [Review]를 차례로 선택합니다.

    Auto Scaling 그룹의 조정 정책을 구성하려면 대상 추적 조정 정책을 가진 Auto Scaling 그룹 만들기을 참조하십시오.

  3. Auto Scaling 그룹의 세부 정보를 검토합니다. [Edit]를 선택하여 변경할 수 있습니다. 모두 마쳤으면 [Create Auto Scaling group]을 선택합니다.

(선택 사항) 로드 밸런서가 Auto Scaling 그룹에 연결되었는지 확인합니다.

로드 밸런서가 Auto Scaling 그룹에 연결되었는지 확인하려면

  1. Auto Scaling 그룹을 선택합니다.

  2. [Details] 탭의 [Load Balancers]에 연결된 모든 로드 밸런서가 표시되고, [Target Groups]에 연결된 모든 대상 그룹이 표시됩니다.

  3. [Details] 탭의 [Load Balancers]에 연결된 모든 로드 밸런서가 표시됩니다.

  4. [Activity History] 탭의 [Status] 열에 Auto Scaling 인스턴스의 상태가 표시됩니다. 인스턴스가 시작 중이면 해당 상태가 In progress가 됩니다. 인스턴스가 시작되면 상태가 Successful로 변경됩니다.

  5. [Instances] 탭의 [Lifecycle] 열에 Auto Scaling 인스턴스의 상태가 표시됩니다. 인스턴스가 트래픽을 수신할 준비가 되면 상태가 InService로 전환됩니다.

    [Health Status] 열에는 해당 인스턴스에 대한 상태 확인 결과가 표시됩니다.

AWS CLI를 사용하여 조정 및 로드 밸런싱 구성

다음 작업을 완료하여 조정 및 로드 밸런싱된 애플리케이션을 설정합니다.

시작 구성 생성

사용하려는 시작 구성이 이미 있으면 이 단계를 건너뜁니다.

시작 구성을 생성하려면

다음 create-launch-configuration 명령을 사용합니다.

aws autoscaling create-launch-configuration --launch-configuration-name my-lc \ --image-id ami-514ac838 --instance-type m1.small

로드 밸런서가 있는 Auto Scaling 그룹 생성

그룹을 생성할 때 Auto Scaling 그룹에 기존 로드 밸런서를 연결할 수 있습니다.

Classic Load Balancer가 연결된 Auto Scaling 그룹을 만들려면

다음 create-auto-scaling-group 명령을 --load-balancer-names 옵션과 함께 사용하여 Classic Load Balancer가 연결된 Auto Scaling 그룹을 만듭니다.

aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-lb-asg \ --launch-configuration-name my-lc \ --availability-zones "us-west-2a" "us-west-2b" \ --load-balancer-names "my-lb" \ --max-size 5 --min-size 1 --desired-capacity 2

대상 그룹이 연결된 Auto Scaling 그룹을 만들려면

다음 create-auto-scaling-group 명령을 --target-group-arns 옵션과 함께 사용하여 대상 그룹이 연결된 Auto Scaling 그룹을 만듭니다.

aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-lb-asg \ --launch-configuration-name my-lc \ --vpc-zone-identifier "subnet-41767929" \ --vpc-zone-identifier "subnet-b7d581c0" \ --target-group-arns "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456" \ --max-size 5 --min-size 1 --desired-capacity 2