안녕하세요
이번 시간에는 오토 스케일링에서 Init Script가 적용되는 간단한 실습을 진행하겠습니다.
내 서버 이미지를 통한 오토스케일링 적용은 이전 포스팅을 확인해 주세요.
VPC와 Subnet은 생성되어 있다고 생각하고 실습을 진행하겠습니다.
1. Init Script 생성하기
#!/bin/sh
apt update
apt install nginx -y
Launch Configuration에 설정하기 위해 다음과 같이 Init Script를 생성합니다.
[Linux]
cat /var/log/ncloud-init.log
[windows]
C:\Program Files(X86)\NBP\ncloud-init\logs
네이버 클라우드 플랫폼에서 기본적으로 Init Script가 제대로 실행되었는지 확인할 수 있습니다.
※ 서버를 Private Subnet에 생성했는데 NAT 게이트웨이를 생성하지 않나요?
cat /etc/apt/sources.list
A. 네이버 클라우드 플랫폼에서는 패키지 설치를 위해 따로 NAT 게이트웨이를 생성하지 않아도 됩니다. 기본적으로 로컬 패키지 저장소가 제공되기 때문에 해당 저장소를 이용하여 패키지 설치를 수행할 수 있습니다. 이 경우 외부 인터넷 액세스가 필요하지 않습니다.
Q. 그러면 NAT 게이트웨이는 언제 생성해야 하나요?
1. 인터넷에서 패키지를 다운로드하거나 업데이트해야 하는 경우는 NAT 게이트웨이를 생성해야 할 필요가 있습니다.
2. ASG나 방화벽 규칙에 따라 인바운드 및 아웃바운드 트래픽을 제한해야 하는 경우 NAT 게이트웨이를 생성해야 할 필요가 있습니다.
2. Launch Configuration 생성하기
Auto Scaling Group을 생성할 때 Launch Configuration에 등록된 템플릿을 통해 서버가 생성되기 때문에 다음과 같이 생성한 Init Script를 적용한 후 템플릿을 생성합니다.
3. Target Group 및 LoadBalancer 생성하기
(1) Target Group 생성하기
Auto Scaling Group을 생성하기 앞서 헬스 체크 유형을 로드밸런서를 생성할 수 있도록 Target Group을 생성합니다. Target Group 각각의 옵션은 이전 포스팅에서 자세하게 기술되어 있으니 확인해 주시면 됩니다.
(2) LoadBalancer 생성하기
Init Script에서 Nginx를 설치하도록 설정하였기 때문에 로드밸런서 타입은 Application LoadBalancer로 선택하고 로드밸런서와 오토스케일링 그룹을 연결할 수 있도록 애플리케이션 로드밸런서를 생성합니다.
4. Auto Scaling Group 생성하기
Auto Scaling Group을 생성하면서 헬스 체크 유형은 로드밸런서로, Target Group은 앞서 생성한 것으로 선택합니다. Init Script를 통한 Target 상태 확인이 목적이기 때문에 따로 정책을 설정하거나 Event Rule을 설정하진 않겠습니다. 이 부분은 이전 포스팅을 확인해 주세요.
5. ASG 설정하기
서버가 생성된 후 80 포트가 허용되어 있지 않기 때문에 Health Check를 했을 때 로드밸런서가 서버들이 죽은 것으로 판단하기 때문에 서버를 재생성하게 됩니다. ASG 설정을 통해 로드밸런서가 서버를 정상적으로 Health Check 할 수 있도록 설정합니다.
ASG를 설정하게 되면 로드밸런서에서 정상적으로 Health Check가 가능하기 때문에 다음과 같이 상태가 UP으로 바뀐 것을 확인할 수 있습니다. NACL은 기본적으로 80 포트에 대해 허용되어 있기 때문에 직접 설정해 주셔도 되고 아니어도 됩니다. 이제 로드밸런서 엔드포인트로 접근하면 내부적으로 통신이 이루어져 서비스에 접근할 수 있습니다.
이번 시간에는 오토 스케일링에서 Init Script가 적용되는 간단한 실습을 진행해 봤습니다.
감사합니다.
'Cloud > Naver Cloud' 카테고리의 다른 글
[NCP] 로드밸런서를 이용하여 WEB/WAS 서버 이중화 실습하기(Nginx/Tomcat) (0) | 2023.12.20 |
---|---|
[NCP] 서로 다른 VPC에서 VPC Peering을 통한 내부 네트워크 통신 테스트하기 (1) | 2023.12.19 |
[NCP] NCP에서 외부(가비아)에서 구매한 도메인 Global DNS에 도메인 등록하기 (0) | 2023.10.30 |
[NCP] NCP에서 LoadBalancer와 Auto Scaling Group 손 쉽게 연동하기 (0) | 2023.10.30 |
[NCP] NCP에서 LoadBalancer 구성 후 웹 서버 로드밸런싱 테스트하기 (1) | 2023.10.26 |
클라우드, 개발, 자격증, 취업 정보 등 IT 정보 공간
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!