Client
↓ (DNS)
ALB
├─ Listener (80/443)
│ └─ Rules (Host / Path)
│ ↓
└─ Target Group
↓ (Health Check 통과한 것만)
EC2 (ASG로 관리)
↓
Application (nginx / app)
[1단계 : 기초 인프라]
1. VPC
2. Public Subnet 서로 다른 AZ에서 2개 생성
3. IGW + RT
-
[2단계 : 보안그룹]
1. ALB SG
: 80 / 443 from 0.0.0.0 / 0
2. EC2 SG
: 80 from ALB SG
-
[3단계 : 타겟 그룹]
1. Type : Instance
2. Port : 80
3. Health Check Path : /
4. Matcher : 200-399
-
[4단계 : ALB + Listener]
1. ALB 생성
Public Subnet 2개
SG : ALB SG
2. Listener 생성
80 -> TG foward
나중에 443 추가
-
[5단계 : Launch Template]
1. AMI
2. Instance Type
3. EC2 SG
4, User DATA
#!/bin/bash
yum -y install nginx
systemctl enable nginx
systemctl start nginx
-
[6] ASG
1. public subnet 2개
2. Launch Template 연결
3. Target Group 연결
4. desired = 2
--------------------------------------------------------------------------------

health check 실패,
draining / initializing 반복

--------------------------------------------------------------------------------------------------------------------------------------------------------
변경 내용
nacl 체크 -> 변동 없음
user data 코드 공백 제거
ec2 egress open

[7] 확인
1. TG -> Targets -> Healthy
2. ALB DNS 접속
3. nginx 화면 확인
-
----------------------------------------------
1. ALB는 먼저 TG를 필요로 한다
2. TG는 EC2 없어도 생성 가능
3. EC2는 ALB SG에서만 오는 트래픽만 허용
4. User Data 실패 : 100% 헬스체크 실패
5. ALB는 항상 multi-AZ
'[2] 250909~ 클라우드 > [b] 12월 : Terraform + Ansible' 카테고리의 다른 글
| [33] S3 + cloudfront (0) | 2026.01.31 |
|---|---|
| [32] RDS Multi-AZ (0) | 2026.01.26 |
| [30] Github -> Ansible (0) | 2026.01.12 |
| [29] Ansible (0) | 2026.01.12 |
| [28] 리소스 참조 (0) | 2026.01.09 |