기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
자습서: 조정 및 로드 밸런싱된 애플리케이션 설정
중요
이 자습서를 살펴보기 전에 먼저 다음 소개 자습서를 검토하는 것이 좋습니다. 첫 번째 Auto Scaling 그룹 만들기.
Auto Scaling 그룹을 Elastic Load Balancing 로드 밸런서에 등록하면 로드 밸런싱된 애플리케이션을 설정하는 데 도움이 됩니다. Elastic Load Balancing은 Amazon EC2 Auto Scaling과 함께 작동하여 들어오는 트래픽을 정상적인 Amazon EC2 인스턴스 전체에 분산합니다. 이렇게 하면 애플리케이션의 스케일 아웃성과 가용성이 향상됩니다. 여러 가용 영역 내에서 Elastic Load Balancing을 활성화하여 애플리케이션의 내결함성을 높일 수 있습니다.
이 자습서에서는 Auto Scaling 그룹을 만들 때 로드 밸런싱된 애플리케이션을 설정하는 기본 단계에 대해 설명합니다. 완료되면 아키텍처는 다음 다이어그램과 유사해야 합니다.
![Application Load Balancer를 사용하는 Auto Scaling 그룹입니다.](images/elb-tutorial-architecture-diagram.png)
A: Elastic Load Balancing은 여러 유형의 로드 밸런서를 지원합니다. 이 자습서에서는 Application Load Balancer를 사용하는 것이 좋습니다.
아키텍처에 로드 밸런서를 도입하는 방법에 대한 자세한 설명은 Elastic Load Balancing을 사용하여 Auto Scaling 그룹에서 들어오는 애플리케이션 트래픽을 분산하십시오.을 참조하세요.
Tasks
사전 조건
-
로드 밸런서 및 대상 그룹. Auto Scaling 그룹에 사용할 로드 밸런서에 대해 동일한 가용 영역을 선택해야 합니다. 자세한 설명은 Elastic Load Balancing 사용자 가이드의 Elastic Load Balancing 시작하기를 참조하세요.
-
시작 템플릿 또는 시작 구성에 대한 보안 그룹. 보안 그룹은 리스너 포트 (일반적으로 HTTP 트래픽의 경우 포트 80) 와 Elastic Load Balancing이 상태 확인에 사용할 포트 모두에서 로드 밸런서로부터의 액세스를 허용해야 합니다. 자세한 설명은 다음과 같이 해당 문서를 참조하세요.
필요에 따라 인스턴스에 퍼블릭 IP 주소가 있는 경우 인스턴스에 연결하는 데 SSH 트래픽을 허용할 수 있습니다.
-
(선택 사항) 애플리케이션에 액세스 권한을 부여하는 IAM 역할 AWS.
-
(선택 사항) Amazon EC2 인스턴스의 원본 템플릿으로 정의된 Amazon 머신 이미지 (AMI) 지금 생성하려면 인스턴스를 시작합니다. IAM역할 (생성한 경우) 과 사용자 데이터로 필요한 구성 스크립트를 지정합니다. 인스턴스에 연결하여 인스턴스를 사용자 지정합니다. 예를 들어, 소프트웨어 및 애플리케이션을 설치하고, 데이터를 복사하고, 추가 EBS 볼륨을 연결할 수 있습니다. 인스턴스에서 애플리케이션을 테스트하여 인스턴스가 올바르게 구성되었는지 확인합니다. 이 업데이트된 구성을 사용자 지정으로 저장합니다AMI. 이 인스턴스가 나중에 필요하지 않을 경우, 해지할 수 있습니다. 이 새 사용자 지정에서 시작된 인스턴스에는 생성 시 만든 사용자 지정이 AMI 포함됩니다. AMI
-
가상 사설 클라우드 (VPC). 이 자습서는 기본값을 VPC 참조하지만 직접 사용할 수도 있습니다. 자체 가용 영역을 사용하는 경우VPC, 작업 중인 지역의 각 가용 영역에 매핑된 서브넷이 있는지 확인하십시오. 로드 밸런서를 생성하려면 사용 가능한 퍼블릭 서브넷이 최소한 두 개 있어야 합니다. Auto Scaling 그룹을 생성한 다음 로드 밸런서에 등록하려면 프라이빗 서브넷 또는 퍼블릭 서브넷이 두 개 있어야 합니다.
1단계: 시작 템플릿 또는 시작 구성 설정
이 자습서에는 시작 템플릿 또는 시작 구성 중 하나를 사용합니다.
시작 템플릿을 선택하거나 생성하십시오.
사용하려는 시작 템플릿이 이미 있으면 다음 절차를 사용하여 해당 구성을 선택합니다.
기존 시작 템플릿을 선택하려면
-
Amazon EC2 콘솔의 시작 템플릿 페이지를
엽니다. -
화면 상단의 탐색 모음에서 로드 밸런서가 생성된 지역을 선택합니다.
-
시작 템플릿을 선택합니다.
-
Actions(작업), Create Auto Scaling group(Auto Scaling 그룹 생성)을 선택합니다.
또는 다음 절차를 사용하여 새 시작 템플릿을 생성합니다.
시작 템플릿 생성
-
Amazon EC2 콘솔의 시작 템플릿 페이지를
엽니다. -
화면 상단의 탐색 모음에서 로드 밸런서가 생성된 지역을 선택합니다.
-
Create launch template(시작 템플릿 생성)을 선택합니다.
-
시작 템플릿의 이름을 입력하고 초기 버전에 대한 설명을 제공하세요.
-
애플리케이션 및 OS 이미지 (Amazon 머신 이미지) 의 AMI 경우 인스턴스의 ID를 선택합니다. 사용 가능한 AMIs 항목을 AMI 모두 검색하거나 최근 또는 빠른 시작 목록에서 하나를 선택할 수 있습니다. 필요한 항목이 보이지 않는 경우 더 찾아보기를 선택하여 전체 AMIs AMI 카탈로그를 찾아보십시오. AMI
-
인스턴스 유형에서 지정한 것과 호환되는 인스턴스의 하드웨어 구성을 선택합니다. AMI
-
(옵션) 키 페어 이름(로그인)에서 인스턴스와 연결할 때 사용할 키 페어를 선택합니다.
-
네트워크 설정(Network settings)에서 고급 네트워크 구성(Advanced network configuration)을 스케일 아웃하고 다음을 수행하십시오:
-
네트워크 인터페이스 추가(Add network interface)를 선택하여 기본 네트워크 인터페이스를 구성합니다.
-
퍼블릭 IP 자동 할당의 경우 인스턴스가 퍼블릭 IPv4 주소를 수신할지 여부를 지정합니다. 기본적으로 EC2 Amazon은 기본 서브넷에서 EC2 인스턴스를 시작하거나 퍼블릭 IPv4 주소를 자동으로 할당하도록 구성된 서브넷에서 인스턴스를 시작하는 경우 퍼블릭 주소를 할당합니다. IPv4 인스턴스에 연결할 필요가 없는 경우 [Disable] 을 선택하여 그룹의 인스턴스가 인터넷에서 직접 트래픽을 수신하지 못하게 할 수 있습니다. 이 경우, 로드 밸런서에서만 트래픽을 수신합니다.
-
보안 그룹 ID의 경우 로드 밸런서와 VPC 동일한 인스턴스의 보안 그룹을 지정합니다.
-
해지 시 삭제에 대해 예를 선택합니다. 그러면 Auto Scaling 그룹 축소 시 네트워크 인터페이스가 삭제되고 네트워크 인터페이스가 연결되는 인스턴스가 해지됩니다.
-
-
(선택 사항) 인스턴스에 자격 증명을 안전하게 배포하려면 고급 세부 정보, IAM인스턴스 프로필에 해당 IAM 역할의 Amazon 리소스 이름 (ARN) 을 입력합니다.
-
(옵션) 인스턴스에 대한 사용자 데이터 또는 구성 스크립트를 지정하려면 [Advanced details], [User data]에 붙여넣습니다.
-
Create launch template(시작 템플릿 생성)을 선택합니다.
-
확인 페이지에서 Auto Scaling 그룹 생성을 선택합니다.
시작 구성 생성 또는 선택
참고
시작 구성은 계획된 투자가 필요 없는 레거시 기능이므로 새 애플리케이션에서의 시작 구성은 사용하지 않는 것이 좋습니다. 또한 2023년 6월 1일 또는 그 이후에 생성된 새 계정에는 콘솔을 통해 새 시작 구성을 생성할 수 있는 옵션이 없습니다. 자세한 내용은 Auto Scaling 시작 구성 단원을 참조하십시오.
기존 시작 구성을 선택하려면
-
Amazon EC2 콘솔의 시작 구성 페이지를
엽니다. -
상단의 탐색 모음에서 로드 밸런서가 생성된 리전을 선택합니다.
-
시작 구성을 선택합니다.
-
Actions(작업), Create Auto Scaling group(Auto Scaling 그룹 생성)을 선택합니다.
또는 다음 절차를 사용하여 새 시작 구성을 생성합니다.
시작 구성을 생성하려면
-
Amazon EC2 콘솔의 시작 구성 페이지를
엽니다. 확인 메시지가 표시되면 시작 구성 보기를 선택하여 시작 구성 페이지를 볼 것인지 확인합니다. -
상단의 탐색 모음에서 로드 밸런서가 생성된 리전을 선택합니다.
-
Create launch configuration(시작 구성 생성)을 선택하고 시작 구성의 이름을 입력합니다.
-
Amazon 머신 이미지 (AMI) 의 AMI 경우 인스턴스의 ID를 검색 기준으로 입력합니다.
-
Instance type(인스턴스 유형)으로 인스턴스의 하드웨어 구성을 선택합니다.
-
Additional configuration(추가 구성)에서 다음 필드에 주의하세요.
-
(선택 사항) 자격 증명 (EC2예: 프로필) 을 IAM 인스턴스에 안전하게 배포하려면 IAM 역할을 선택합니다. 자세한 내용은 Amazon EC2 인스턴스에서 실행되는 애플리케이션에 대한 IAM 역할 단원을 참조하십시오.
-
(옵션) 인스턴스에 대한 사용자 데이터 또는 구성 스크립트를 지정하려면 Advanced details(고급 세부 정보), User data(사용자 데이터터)에 붙여 넣습니다.
-
(옵션) Advanced details(고급 세부 정보), IP address type(IP 주소 유형)에 대해서는 기본값을 유지합니다. Auto Scaling 그룹을 생성할 때, 기본 서브넷과 같이 퍼블릭 IP 주소 지정 속성이 활성화된 서브넷을 사용하여 Auto Scaling 그룹의 인스턴스에 퍼블릭 IP 주소를 할당할 수 있습니다. VPC 또는 인스턴스에 연결할 필요가 없는 경우, 그룹의 인스턴스가 인터넷에서 직접 트래픽을 받지 못하도록 어느 인스턴스에도 퍼블릭 IP 주소를 할당하지 않습니다.를 선택할 수 있습니다. 이 경우, 로드 밸런서에서만 트래픽을 수신합니다.
-
-
보안 그룹의 경우 로드 밸런서와 VPC 동일한 보안 그룹 중에서 기존 보안 그룹을 선택합니다. 새 보안 그룹 생성 옵션을 선택한 상태로 유지하면 Linux를 실행하는 Amazon EC2 인스턴스에 대한 기본 SSH 규칙이 구성됩니다. 기본 RDP 규칙은 Windows를 실행하는 Amazon EC2 인스턴스에 대해 구성되어 있습니다.
-
Key pair (login)(키 페어(로그인))로 Key pair options(키 페어 옵션) 아래에 있는 옵션을 선택합니다.
Amazon EC2 인스턴스 키 쌍을 이미 구성한 경우 여기에서 선택할 수 있습니다.
Amazon EC2 인스턴스 키 페어가 아직 없는 경우 [Create a new key pair] 를 선택하고 알아볼 수 있는 이름을 지정하십시오. Download key pair(키 페어 다운로드)를 선택하여 컴퓨터에 키 페어를 다운로드합니다.
중요
인스턴스에 연결해야 하는 경우, Proceed without a key pair(키 페어 없이 계속)를 선택하지 마세요.
-
승인 확인란을 선택한 다음 Create launch configuration(시작 구성 생성)을 선택합니다.
-
새 시작 구성 이름 옆의 확인란을 선택하고 Actions(작업),Create Auto Scaling group(Auto Scaling 그룹 생성)을 선택합니다.
2단계: Auto Scaling 그룹 생성
시작 템플릿 또는 시작 구성을 선택 또는 생성한 후 중단한 시점부터 계속하려면 다음 절차를 따르세요.
Auto Scaling 그룹 생성
-
시작 템플릿 또는 구성 선택 페이지에서 Auto Scaling 그룹 명칭에 Auto Scaling 그룹의 이름을 입력합니다.
-
[시작 템플릿만 해당] Launch template(시작 템플릿)에서 Auto Scaling 그룹이 스케일 아웃 시 시작 템플릿의 기본 버전을 사용할지, 최신 버전을 사용할지, 아니면 특정 버전을 사용할지 선택합니다.
-
Next(다음)를 선택합니다.
Auto Scaling 그룹에서 사용할 VPC 네트워크 설정을 선택하고 온디맨드 및 스팟 인스턴스 (시작 템플릿을 선택한 경우) 를 시작하기 위한 옵션을 제공하는 인스턴스 시작 옵션 선택 페이지가 나타납니다.
-
Network 섹션에서 로드 밸런서에 VPC 사용한 항목을 선택합니다. VPC VPC기본값을 선택하면 인스턴스에 인터넷 연결을 제공하도록 자동으로 구성됩니다. VPC여기에는 지역 내 각 가용 영역의 퍼블릭 서브넷이 포함됩니다.
-
가용 영역 및 서브넷(Availability Zones and subnets)의 경우, 로드 밸런서가 있는 가용 영역에 따라 포함할 각 가용 영역의 서브넷을 하나 이상 선택합니다. 자세한 설명은 VPC 서브넷 선택 시 고려 사항 섹션을 참조하세요.
-
[시작 템플릿만 해당] Instance type requirements(인스턴스 유형 요건) 섹션에서 기본 설정을 사용하여 이 단계를 단순화합니다. (시작 템플릿을 재정의하지 마세요.) 이 자습서에서는 시작 템플릿에 지정된 인스턴스 유형을 사용하여 온디맨드 인스턴스만 시작합니다.
-
다음(Next)을 선택하고 고급 옵션 구성(Configure advanced options) 페이지로 이동합니다.
-
그룹을 기존 로드 밸런서에 연결하려면 로드 밸런싱(Load balancing) 섹션에서 기존 로드 밸런서에 연결(Attach to an existing load balancer)을 선택합니다. 로드 밸런서 대상 그룹에서 선택(Choose from your load balancer target groups) 또는 Classic Load Balancer에서 선택(Choose from Classic Load Balancers)을 선택할 수 있습니다. 그런 다음 생성한 Application Load Balancer 또는 Network Load Balancer의 대상 그룹 명칭을 선택하거나 Classic Load Balancer의 이름을 선택할 수 있습니다.
-
(선택 사항) Elastic Load Balancing 상태 확인을 사용하려면 상태 확인의 경우 상태 확인 ELB유형에서 선택합니다.
-
Auto Scaling 그룹 구성을 완료했으면 Skip to review(검토로 이동)를 선택합니다.
-
Review(검토) 페이지에서 Auto Scaling 그룹의 세부 정보를 검토합니다. [Edit]를 선택하여 변경할 수 있습니다. 모두 마쳤으면 Auto Scaling 그룹 생성을 선택합니다.
로드 밸런서가 연결된 Auto Scaling 그룹을 생성한 후, 로드 밸런서는 온라인 상태가 될 때 새 인스턴스를 자동으로 등록합니다. 이 시점에서는 인스턴스가 하나만 있으므로 등록할 사항이 많이 않습니다. 그러나 원하는 그룹의 용량을 업데이트하여 인스턴스를 더 추가할 수 있습니다. step-by-step 지침은 을 참조하십시오귀하의 Auto Scaling 그룹의 원하는 용량 변경.
3단계: 로드 밸런서가 연결됐는지 확인
로드 밸런서가 연결됐는지 확인하려면
-
Amazon EC2 콘솔의 Auto Scaling 그룹 페이지에서
Auto Scaling 그룹 옆의 확인란을 선택합니다. -
Details(세부 정보) 탭에서 로드 밸런싱은 연결된 모든 로드 밸런서 대상 그룹 또는 Classic Load Balancer를 표시합니다.
-
Activity(활동)탭의 Activity history(활동 기록)에서 인스턴스가 성공적으로 시작되었는지 확인할 수 있습니다. Status(상태) 열에는 Auto Scaling 그룹에서 인스턴스를 시작했는지가 표시됩니다. 인스턴스가 시작되지 않으면 Amazon EC2 Auto Scaling의 문제 해결에서 일반적인 인스턴스 시작 문제에 대한 문제 해결 아이디어를 찾을 수 있습니다.
-
Instance management(인스턴스 관리) 탭의 Instance (인스턴스)에서 인스턴스가 트래픽을 수신할 준비가 되었는지 확인할 수 있습니다. 처음에는 인스턴스가
Pending
상태로 되어 있습니다. 인스턴스가 트래픽을 수신할 준비가 되면 상태가InService
로 전환됩니다. 상태 열에는 인스턴스에 대한 Amazon EC2 Auto Scaling 상태 확인 결과가 표시됩니다. 인스턴스가 건전 상태로 표시되더라도 로드 밸런서는 로드 밸런서 건전성 체크를 통과하는 인스턴스에만 트래픽을 전송합니다. -
인스턴스가 로드 밸런서에 등록되어 있는지 확인합니다. Amazon EC2 콘솔의 대상 그룹 페이지를
엽니다. 대상 그룹을 선택한 다음 대상 탭을 선택합니다. 인스턴스의 상태가 initial
이면 인스턴스가 아직 등록 중이거나 건전성 체크 중이기 때문일 수 있습니다. 인스턴스의 상태가healthy
이면 사용할 준비가 된 것입니다.
4단계: 다음 단계
이 자습서를 완료했으므로 다음 내용을 자세히 알아볼 수 있습니다.
-
Amazon EC2 Auto Scaling은 Auto Scaling 그룹에서 사용하는 상태 확인의 상태를 기반으로 인스턴스가 정상인지 여부를 결정합니다. 로드 밸런서 상태 확인을 활성화한 후 인스턴스가 상태 확인에 실패하면 Auto Scaling 그룹은 해당 인스턴스를 비정상으로 간주하여 교체합니다. 자세한 내용은 상태 확인 단원을 참조하십시오.
-
동일한 지역의 추가 가용 영역으로 애플리케이션을 스케일 아웃하여 서비스 중단 시 내결함성을 높일 수 있습니다. 자세한 내용은 단원을 참조하십시오.
-
대상 추적 조정 정책을 사용하도록 Auto Scaling 그룹을 구성할 수 있습니다. 이렇게 하면 인스턴스 수요가 변경될 때 인스턴스 수가 자동으로 늘어나거나 줄어듭니다. 이렇게 하면 그룹이 애플리케이션이 수신하는 트래픽 양의 변경을 처리할 수 있습니다. 자세한 설명은 대상 추적 조정 정책 섹션을 참조하세요.
5단계: 정리
이 자습서에 사용하기 위해 생성한 리소스를 다 사용한 후에는 불필요한 비용이 발생하지 않도록 리소스를 정리하는 것이 좋습니다.
Auto Scaling 그룹을 삭제하려면
-
Amazon EC2 콘솔의 Auto Scaling 그룹 페이지를
엽니다. -
Auto Scaling 그룹 옆의 확인란을 선택합니다.
-
Delete(삭제)를 선택합니다.
-
확인 메시지가 표시되면
delete
를 입력하여 지정된 Auto Scaling 그룹 삭제를 확인한 다음 Delete(삭제)를 선택합니다.Name(이름) 열의 로딩 아이콘은 Auto Scaling 그룹이 삭제 중임을 나타납니다. 삭제가 수행되면 Desired(필요), Min(최소), Max(최대) 열에 Auto Scaling 그룹에 대해
0
개의 인스턴스가 표시됩니다. 인스턴스를 해지하고 그룹을 삭제하는 데 몇 분 정도 걸립니다. 목록을 새로 고침하여 상태를 확인합니다.
현재 시작 템플릿을 유지하려면 아래 절차를 건너뜁니다.
시작 템플릿을 삭제하려면
-
Amazon EC2 콘솔의 시작 템플릿 페이지를
엽니다. -
시작 템플릿을 선택합니다.
-
Actions(작업)와 Delete template(템플릿 삭제)을 차례로 선택합니다.
-
확인 메시지가 표시되면
Delete
를 입력하여 지정된 시작 템플릿 삭제를 확인한 다음 Delete(삭제)를 선택합니다.
현재 시작 구성을 유지하려면 아래 절차를 건너뜁니다.
시작 구성을 삭제하려면
-
Amazon EC2 콘솔의 시작 구성 페이지를
엽니다. -
시작 구성을 선택합니다.
-
Actions(작업), Delete launch configuration(시작 구성 삭제)을 선택합니다.
-
확인 메시지가 나타나면 Delete(삭제)를 선택합니다.
로드 밸런서를 나중에도 계속 사용하고 싶은 경우에는 다음 절차를 건너뜁니다.
로드 밸런서를 삭제하려면
-
Amazon EC2 콘솔의 로드 밸런서 페이지를
엽니다. -
로드 밸런서를 선택한 다음 작업, 삭제를 선택합니다.
-
확인 메시지가 나타나면 예, 삭제합니다(Yes, Delete)를 선택합니다.
대상 그룹을 삭제하려면
-
Amazon EC2 콘솔의 대상 그룹 페이지를
엽니다. -
대상 그룹을 선택하고 [Actions], [Delete]를 차례로 선택합니다.
-
확인 메시지가 나타나면 예, 삭제합니다(Yes, Delete)를 선택합니다.
관련 리소스
를 사용하면 템플릿 파일을 사용하여 리소스 컬렉션을 단일 유닛 (스택) 으로 생성 및 삭제함으로써 예측 가능하고 반복적으로 AWS 인프라 배포를 생성하고 프로비저닝할 수 있습니다. AWS CloudFormation 자세한 내용은 AWS CloudFormation 사용 설명서를 참조하십시오.
Auto Scaling 그룹과 Application Load Balancer를 프로비저닝하기 위해 스택 템플릿을 사용하는 방법은 AWS CloudFormation 사용자 가이드의 연습: 스케일링 및 로드 밸런싱 적용 생성을 참조하세요. 이러한 연습과 샘플 템플릿을 시작점으로 사용하여 귀하의 니즈에 맞는 유사한 템플릿을 생성하십시오.