쟝이의 세상
AWS에서 애플리케이션 로드 밸런서를 사용하여 EC2 인스턴스 관리, 배포 본문
📎 실행 과정
1) ALB 생성
2) ALB 보안그룹 생성 ← 2A, 2C 등록
3) (인스턴스 차원)Auto scaler ← ALB: 2A 인스턴스, 2C 인스턴스
min:1 / max:2 / CPU: 50%→30%(인스턴스 개수가 하나 사라짐)
4) 2A(관리 서버) → 접속 → EKS 설치
5) HPA → 파드(pod)
6) SVC(Load Balancer) → aws: ALB생성(k8s에서의 metalLB 역할)
📌 이미지(AMI) 생성
AMI는 특정 상태를 캡쳐한 이미지이다.
예를 들어, 어떤 인스턴스(2a 인스턴스)에 OS, 애플리케이션, 설정 파일 등이 포함된 환경을 구성하고, 해당 상태를 이미지로 저장해둔 것이다.
EC2 > 인스턴스 > VEC-PRD-HTTPD-PUB-2A 인스턴스 선택 > 작업 > 이미지 및 템플릿 > 이미지 생성
- 이미지 이름: VEC-PRD-HTTPD-WEB-AMI-20241018 - 이미지 설명: VEC-PRD-HTTPD-WEB-AMI-20241018[현재 시간 붙여주면 좋음] |
📌 시작 템플릿 생성
EC2 > 시작 템플릿 > 시작 템플릿 생성
입력 구분 | 입력 내용 | ||
시작 템플릿 이름 및 설명 | 시작 템플릿 이름 | VEC-PRD-NGINX-TEMP | |
템플릿 버전 설명 | VEC-PRD-NGINX-TEMP-[현재날짜][현재시간] | ||
애플리케이션 및 OS 이미지 | 내 AMI "선택하기" | ||
인스턴스 유형 | 유형 | t2.micro | |
키 페어 | 키 페어 이름 | zyangee | |
네트워크 설정 | 서브넷 | VEC-PRD-VPC-NGINX-PUB-2C | |
보안그룹 선택 | VEC-PRD-VPC-NGINX-PUB-2C-SG | ||
고급 네트워크 구성 | 퍼블릭 IP | 활성화 | |
고급 세부정보 | IAM 인스턴스 프로파일 | s3fullaccess | |
종료 동작 | 종료 | ||
사용자 데이터 | #!/bin/bash yum install httpd -y service httpd start chkconfig httpd on aws s3 cp s3://zyangee-as-demo/index.html /var/www/html --region ap-northeast-2 |
📌 인스턴스 생성
입력 구분 | 입력 내용 | ||
이름 및 태그 | 이름 | VEC-PRD-VPC-HTTPD-PUB-2C | |
키 페어 | 키 페어 이름 | zyangee | |
네트워크 설정 | VPC | vec-prd-vpc | |
서브넷 | VEC-PRD-VPC-NGINX-PUB-2C | ||
퍼블릭 IP 자동할당 | 활성화 | ||
보안그룹 | 기존 보안그룹 | ||
일반 보안 그룹 | VEC-PRD-VPC-NGINC-PUB-2C-SG | ||
고급 네트워크 구성 | 기본IP | 10.250.11.13 | |
종료 시 삭제 | 예 | ||
고급 세부 정보 | IAM 인스턴스 프로파일 | s3fullaccess | |
사용자 데이터 | #!/bin/bash yum install httpd -y service httpd start chkconfig httpd on aws s3 cp s3://zyangee-as-demo/index.html /var/www/html --region ap-northeast-2 |
👇🏻 인스턴스 IP 접속 화면
📌 대상 그룹 생성
대상 그룹 생성하기 전에 대상 그룹에 넣을 인스턴스 실행해주기
EC2 > 대상그룹 > 대상그룹 생성
입력 구분 | 입력 내용 | |
1차 그룹 세부 정보 지정 | 대상 그룹 이름 | VEC-NGINX-ALB-TG |
프로토콜- 포트 | HTTP(80) | |
VPC | vec-prd-vpc | |
2차 대상 등록 | 인스턴스 | (PUB)2a, 2c 선택 |
![]() |
👇🏻 생성된 결과 확인
- 대상 그룹 대상 상태 확인
📌 로드밸런서 생성
EC2 > 로드밸런서 > 로드밸런서 생성
입력 구분 | 입력 내용 | ||
Application Load Balancer 선택 | |||
기본 구성 | 로드밸런서 이름 | VEC-PRD-ALB | |
네트워크 매핑 | VPC | vec-prd-vpc | |
가용영역 | ap-northeast-2a | subnet: ~-PUB-2A 선택 | |
ap-northeast-2c | subnet: ~-PUB-2C 선택 | ||
보안그룹 | 보안그룹 선택 | VEC-NGINX-ALB-SG | |
리스너 및 라우팅 | 80 | 대상 그룹 선택 |
📌 레코드 생성 및 로드밸런서 리스너 추가, 편집
Route 53 > 호스팅 영역 > zyangee.store > 레코드 생성
- www 레코드 생성
- (아무것도 없이) 레코드 생성
👇🏻 레코드 생성된 결과
EC2 > 로드밸런서 > 로드밸런서 선택 > 리스너 추가, 편집
- 리스너 추가
입력 구분 | 입력 내용 |
|
리스너 구성 | 프로토콜 | HTTPS(443) |
대상 그룹 | VEC-NGINX-ALB-TG | |
기본 SSL/TLS 서버 인증서 | ACM에서(인증서 선택) |
- 리스너 편집 (HTTP:80)
입력 구분 | 입력 내용 | ||
리스너 세부정보 | 프로토콜 | HTTP:80 | |
라우팅 액션 | URL로 리디렉션 | ||
URI 부분 | 프로토콜 | HTTPS:443 | |
☑️ 사용자 지정 호스트, 경로, 쿼리를 사용하십시오 | |||
호스트 | zyangee.store | ||
경로 | / | ||
쿼리 | (빈칸으로 두기) | ||
상태코드 | 301 |
👇🏻 "http://www.zyangee.store" 입력하면 "https://zyangee.store" 로 리디렉션
더보기

리디렉션 결과 화면

📌 Auto scaling 그룹 생성
- 1단계 - 시작 템플릿 선택
- 2단계 - 인스턴스 시작 옵션 선택
- 3단계 - 고급 옵션 구성
입력 구분 | 입력 내용 | |
로드밸런싱 | ☑️ 기존 로드 밸런서에 연결 | |
기존 로드 밸런서에 연결 | ☑️ 로드 밸런서 대상 그룹에서 선택 | |
기존 로드밸런서 대상 그룹 | VEC-NGINX-ALB-TG | |
상태 확인 | ☑️ Elastic Load Balancer |
- 4단계 - 그룹 크기 및 크기 조정 구성
입력 구분 | 입력 내용 | |
그룹 크기 | 원하는 용량 | 2 |
크기 조정 | 원하는 최소 용량 | 1 |
원하는 최대 용량 | 2 | |
대상 추적 정책 사용 여부 선택 | 대상 추적 크기 조정 정책 |
- 생성 결과 화면
‼️ 인스턴스로 auto scaling 되는 지 확인 작업
'수업내용' 카테고리의 다른 글
AWS EKS 사용 - 클러스터와 노드 그룹 생성, IAM 정책 설정 (0) | 2024.10.23 |
---|---|
AWS EKS 사용 - Docker 컨테이너 구축, ECR에 이미지 푸시 (0) | 2024.10.21 |
AWS에서 웹 애플리케이션 배포하기 위한 프로세스 (0) | 2024.10.16 |
Kubernetes(Ingress) (0) | 2024.10.04 |
Kubernetes(yaml 파일 수정, service) (0) | 2024.09.30 |