AWS Auto Scaling
AWS Auto Scaling
목차
- VPC 네트워크 구성
- 서브넷
- 인터넷 게이트웨이(Internet-gateway)
- NAT Gateway
- 라우팅 테이블 (routing table)
- 보안 그룹
- 인스턴스
- AMI
- 시작 템플릿
- 대상그룹
- 로드 밸런서
- Auto Scaling
VPC 네트워크 구성
VPC 생성(pista-vpc)
| 변수 | 값 |
|---|---|
| VPC 설정-생성할 리소스 | VPC만 |
| VPC 설정-이름 태그 | pista-vpc |
| VPC 설정-IPv4 CIDR 블록 | IPv4 수동 입력 |
| VPC 설정-IPv4 CIDR | 10.0.0.0/16 |
| VPC 설정-IPv6 CIDR 블록IPvCIDR블록없음 | ✅ |
| VPC 설정-테넌시 | 기본값 |
| VPC 설정-VPC 암호화 제어 ($) | 없음 |
| 태그-Name | pista-vpc |
| 태그-Team | team1 |
| 태그-Username | pyh5523 |
| 태그-Environment | test |

VPC 설정 편집(pista-vpc)
VPC > VPC > pista-vpc > VPC 설정 편집
| 변수 | 값 |
|---|---|
| DNS 설정-DNS 확인 활성화 | ✅ |
| DNS 설정-DNS 호스트 이름 활성화 | ✅ |

DHCP 태그관리(pista-vpc)
VPC > DHCP 옵션 세트 > pista-rt-vpc > 태그 관리
| 변수 | 값 |
|---|---|
| 태그-Name | pista-dhcp-vpc |
| 태그-Team | team1 |
| 태그-Username | pyh5523 |
| 태그-Environment | test |

서브넷
서브넷 생성(pista-subnet-public1-1a)
| 변수 | 값 |
|---|---|
| 서브넷 이름 | pista-subnet-public1-1a |
| 가용영역 | ...-1a |
| IPv4 VPC CIDR 블록 | 10.0.0.0/16 |
| IPv4 서브넷 CIDR 블록 | 10.0.0.0/25 |
| 태그-Name | pista-subnet-public1-1a |
| 태그-Team | team1 |
| 태그-Username | pyh5523 |
| 태그-Environment | test |
서브넷 생성(pista-subnet-public2-1b)
| 변수 | 값 |
|---|---|
| 서브넷 이름 | pista-subnet-public2-1b |
| 가용영역 | ...-1b |
| IPv4 VPC CIDR 블록 | 10.0.0.0/16 |
| IPv4 서브넷 CIDR 블록 | 10.0.1.0/25 |
| 태그-Name | pista-subnet-public2-1b |
| 태그-Team | team1 |
| 태그-Username | pyh5523 |
| 태그-Environment | test |
서브넷 생성(pista-subnet-private1-1a)
| 변수 | 값 |
|---|---|
| 서브넷 이름 | pista-test-subnet-private1-1a |
| 가용영역 | ...-1a |
| IPv4 VPC CIDR 블록 | 10.0.0.0/16 |
| IPv4 서브넷 CIDR 블록 | 10.0.0.128/25 |
| 태그-Name | pista-test-subnet-private1-1a |
| 태그-Team | team1 |
| 태그-Username | pyh5523 |
| 태그-Environment | test |
서브넷 생성(pista-subnet-private2-1b)
| 변수 | 값 |
|---|---|
| 서브넷 이름 | pista-test-subnet-private2-1b |
| 가용영역 | ...-1b |
| IPv4 VPC CIDR 블록 | 10.0.0.0/16 |
| IPv4 서브넷 CIDR 블록 | 10.0.1.128/25 |
| 태그-Name | pista-test-subnet-private2-1b |
| 태그-Team | team1 |
| 태그-Username | pyh5523 |
| 태그-Environment | test |
서브넷 생성(pista-subnet-private3-1c)
| 변수 | 값 |
|---|---|
| 서브넷 이름 | pista-test-subnet-private3-1c |
| 가용영역 | ...-1c |
| IPv4 VPC CIDR 블록 | 10.0.0.0/16 |
| IPv4 서브넷 CIDR 블록 | 10.0.2.128/25 |
| 태그-Name | pista-test-subnet-private3-1c |
| 태그-Team | team1 |
| 태그-Username | pyh5523 |
| 태그-Environment | test |

인터넷 게이트웨이(Internet-gateway)
인터넷 게이트웨이 생성(pista-igw)
VPC > 인터넷 게이트웨이 > 인터넷 게이트웨이 생성
| 변수 | 값 |
|---|---|
| 태그-Name | pista-igw |
| 태그-Team | team1 |
| 태그-Username | pyh5523 |
| 태그-Environment | test |

인테넷 게이트웨이 VPC 연결
VPC > 인터넷 게이트웨이 > VPC연결
| 변수 | 값 |
|---|---|
| VPC-사용 | pista-vpc |

NAT Gateway
NAT 게이트웨이 생성(pista-nat-1a)
VPC > NAT 게이트웨이 > NAT 게이트웨이 생성
| 변수 | 값 |
|---|---|
| NAT 게이트웨이 설정-이름 | pista-nat-1a |
| NAT 게이트웨이 설정-가용성 모드 | 영역별 |
| NAT 게이트웨이 설정-VPC | VPC |
| NAT 게이트웨이 설정-연결유형 | subnet |
| NAT 게이트웨이 설정-EIP 할당 | ✅ |
| 태그-Name | pista-nat-public1-1a |
| 태그-Team | team1 |
| 태그-Username | pyh5523 |
| 태그-Environment | test |

라우팅 테이블 (routing table)
라우팅 테이블 생성 (pista-rt-igw)
| 변수 | 값 |
|---|---|
| 라우팅 테이블 설정-이름 | pista-rt-igw |
| 라우팅 테이블 설정-VPC | vpc |
| 태그-Name | pista-rt-public1 |
| 태그-Team | team1 |
| 태그-Username | pyh5523 |
| 태그-Environment | test |
라우팅 편집 (pista-rt-igw)
| 변수 | 값 |
|---|---|
| 대상 | 0.0.0.0/0 |
| 대상 | igw |
서브넷 연결 편집 (pista-rt-igw)
| 변수 | 값 |
|---|---|
| 이용 가능한 서브넷 | subnet |

라우팅 테이블 생성 (pista-rt-nat)
| 변수 | 값 |
|---|---|
| 라우팅 테이블 설정-이름 | pista-rt-nat |
| 라우팅 테이블 설정-VPC | vpc |
| 태그-Name | pista-rt-public1 |
| 태그-Team | team1 |
| 태그-Username | pyh5523 |
| 태그-Environment | test |
라우팅 편집 (pista-rt-nat)
| 변수 | 값 |
|---|---|
| 대상 | 0.0.0.0/0 |
| 대상 | nat |
서브넷 연결 편집 (pista-rt-nat)
| 변수 | 값 |
|---|---|
| 이용 가능한 서브넷 | |
| subnet1 | |
| subnet2 | |
| subnet3 |

보안 그룹
보안 그룹 생성 (pista-sg-nginx)
VPC > 보안그룹 > 보안그룹 생성
| 변수 | 값 |
|---|---|
| 인바운드 | SSH-0.0.0.0/0 |
| 인바운드 | HTTP-0.0.0.0/0 |
| 태그-Name | pista-sg-nginx |
| 태그-Team | team1 |
| 태그-Username | pyh5523 |
| 태그-Environment | test |

인스턴스
인스턴스 생성(pista-ec2-nginx)
| 변수 | 값 |
|---|---|
| 태그-Name | pista-ec2-nginx |
| 태그-Team | team1 |
| 태그-Username | pyh5523 |
| 태그-Environment | test |
| AMI | Ubuntu |
| 인스턴스 유형 | t2.micro |
| 키 페어 | pistakey |
| 네트워크 설정-vpc | vpc |
| 네트워크 설정-서브넷 | subnet |
| 네트워크 설정-퍼블릭 IP 자동 할당 | ❌ |
| 네트워크 설정-방화벽 | 기존 보안 그룹 선택 |
| 네트워크 설정-일반보안그룹 | pista-sg-nginx |
| 스토리지 구성 | 1x8GIB gp3 루트불륨 |
| 고급 세부 정보-사용자 데이터 | SHELL |

AMI
AMI 생성(pista-ami-nginx)
EC2 > 인스턴스 > pista-ec2-nginx > 이미지 생성
| 변수 | 값 |
|---|---|
| 태그-Name | pista-ami-nginx |
| 태그-Team | team1 |
| 태그-Username | pyh5523 |
| 태그-Environment | test |

시작 템플릿
시작 템플릿 생성 (pista-template-web)
| 변수 | 값 |
|---|---|
| 시작 템플릿 이름 | pista-template-web |
| AMI-내 AMI | AMI |
| 인스턴스 유형 | t2.micro |
| 키 페어 | pista-key |
| 네트워크 설정-서브넷 | subnet |
| 네트워크 설정-가용영역 | ..-1a |
| 네트워크 설정-보안 그룹 | sg |
| 스토리지(볼륨)-EBS불륨 | 1x8GIB gp3 루트불륨 |
| 태그-Name | pista-template-web |
| 태그-Team | team1 |
| 태그-Username | pyh5523 |
| 태그-Environment | test |
대상그룹
대상 그룹(pista-tg-web)
EC2 > 대상 그룹 > target > 대상 등록
1단계 대상그룹 생성
| 변수 | 값 |
|---|---|
| 설정-대상 유형 | 인스턴스 |
| 설정-대상 그룹 이름 | pista-tg-web |
| 설정-프로토콜 | |
| 설정-프로토콜 | HTTP |
| 설정-포트 | 80 |
| 설정-IP 주소 유형 | IPv4 |
| 설정-VPC | vpc |
| 설정-프로토콜 버전 | HTTP1 |
| 상태 검사-상태 검사 | HTTP |
| 상태 검사-상태 검사 경로 | / |
| 태그-Name | pista-tg-web |
| 태그-Team | team1 |
| 태그-Username | pyh5523 |
| 태그-Environment | test |

2단계 대상그룹 생성
| 변수 | 값 |
|---|---|
| 1 | 인스턴스 선택 |
| 2 | 포트확인 후 아래에 보류중인 것으로 포함 |
| 3 | 대상 확인 |

3단계 검토및 생성

로드 밸런서
로드 밸런서 생성(pista-alb-web)
Application Load Balancer 생성
| 변수 | 값 |
|---|---|
| 기본 구성-로드 밸런서 이름 | pista-alb-web |
| 기본 구성-체계 | 인터넷 경계 |
| 기본 구성-로드 밸런서 IP 주소 유형 | IPv4 |
| 네트워크 매핑-VPC | vpc |
| 네트워크 매핑-IP 풀 | ❌ |
| 네트워크 매핑-가용영역 및 서브넷 | 3 |
| az1 | az1 |
| az2 | az2 |
| az3 | az3 |
| 보안 그룹 | sg |
| 리스너 및 라우팅-프로토콜 | HTTP |
| 리스너 및 라우팅-포트 | 80 |
| 리스너 및 라우팅-라우팅 액션 | 대상 그룹으로 전달 |
| 리스너 및 라우팅-대상그룹 | target-group |
| 태그-Name | pista-alb-web |
| 태그-Team | team1 |
| 태그-Username | pyh5523 |
| 태그-Environment | test |
Auto Scaling
Auto Scaling 생성(pista-asg-web)
1단계 시작 템플릿 구성
| 항목 | 값 |
|---|---|
| Auto Scaling 그룹 이름 | pista-as-web |
| 시작 템플릿 | template |
| 버전 | Latest(1) |

2단계 인스턴스 시작 옵션 선택
| 항목 | 값 |
|---|---|
| VPC | pista-vpc |
| 가영 영역 및 서브넷 | pista-subnet-private 3 |
| pista-subnet-private1-1a | |
| pista-subnet-private2-1b | |
| pista-subnet-private3-1c | |
| 가용 영역 배포 | 균형 잡힌 최선 노력 |

3단계 다른 서비스와 통합
| 항목 | 값 |
|---|---|
| 로드 밸런싱 | 기존 로드 밸런서 있음 |
| 기존 로드 밸런서 대강 그룹 | target group |
| 로드 밸런서 이름 | pista-alb-web1 |
| 로드 밸런서 체계 | Internet-facing |
| 가용 영역 및 서브넷 | 맞는지 확인 |
| 리스너 및 라우팅 | HTTP - 80 - pista-target-web1 |
| VPC Lattice 통합 옵션 | 없음 |
| 상태 확인 유예 기간 | 15초 |
| ![as-] |
4단계 그룹 크기 및 크기 조정 구성
| 항목 | 값 |
|---|---|
| 그룹 크기 | 2 |
| 크기 조정 | 최소: 2 최대: 3 |
| Automatic scaling | 크기조정 정책 없음 |
| 인스턴스 유지 관리 정책 | 혼합 동작:정책 없음 |
| 추가 용량 설정 | 기본값 |
5단계 알림 추가
6단계 태그 추가
| 항목 | 값 |
|---|---|
| 태그-Name | pista-tg-web |
| 태그-Team | team1 |
| 태그-Username | pyh5523 |
| 태그-Environment | test |

7단계 검토