AWS VPC INFRA 기본 구성 단계
|
VPC → IGW → Subnet → Routing Table → 보안 그룹
|
USER DATA EC2 인스턴스 생성
< AWS EC2 인스턴스를 생성하면서 사용자 데이터(User Data) 스크립트를 넣어, 자동으로 Server 세팅하고 웹 페이지 출력 >
[ EC2 인스턴스 ]
- EC2(Elastic Compute Cloud) : AWS에서 제공하는 가상 Server
- 인스턴스 생성시 특정 스크립트를 입력하면 Server가 만들어지면서 동시에 프로그램 설치, 설정 변경, 파일 작성 같은 작업을 자동으로 수행할 수 있음 ( = User Data)
[ USER DATA ]
- EC2 인스턴스가 최초 부팅할 때 실행되는 초기 설정 스크립트
- 보통 Bash 스크립트 형식으로 작성
- 장점
- Server 초기 세팅을 자동화 → 일일이 SSH로 접속해서 설치/설정 안 해도 됨
- 동일한 세팅을 여러 Server에 쉽게 배포 가능
< 실습 >
AWS EC2 인스턴스를 생성하고, 웹 서버를 설치하여 웹 페이지를 정상적으로 구동
✔ VPC, Subnet, IGW, RTB 구성
✔ EC2 인스턴스 생성
✔ User Data로 초기 Server 설정 및 Apache 설치
✔ Public IP 연결 후 접속 TEST

인스턴스 생성시 사용자 데이터 입력
( User Data )
root passwd(aws1234!), 키 파일 없이 SSH 비밀번호 로그인 허용, root 로그인 허용, 웹 서버(httpd) 설치, 홈페이지 출력 문구(Welcome to AWS Web Server), 웹 서버 시작
#!/bin/bash
echo "aws1234!" | passwd --stdin root
sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config
systemctl restart sshd
dnf -y install httpd
echo "<H1>Welcome to AWS Web Server 01</H1>" > /var/www/html/index.html
systemctl restart httpd
> 결과
AWS EC2 인스턴스에 SSH로 접속한 뒤, Apache 웹 서버를 통해 웹 페이지가 정상 출력

EC2 인스턴스에 SSH로 root 접속 성공

EC2 서버에 설치한 웹 서버 정상 구동, 브라우저에 웹 페이지 출력
SUBNET
PUBLIC vs PRIVATE
|
|
Public Subnet
|
Private Subnet
|
|
외부 인터넷 접속
|
O
|
X
|
|
외부에서 접근 가능
|
내부 통신만 가능
|
|
|
IGW 연결
|
O
|
X
|
|
RTB 설정
|
0.0.0.0/0 → IGW
|
0.0.0.0/0 → NAT 게이트웨이 또는 없음
|
|
사용 목적
|
접속용
|
보안용
|
|
웹 서버, Bastion 서버
|
DB 서버, 백엔드 서버
|
[ PUBLIC SUBNET ]
퍼블릭 IP 자동 할당 + 0.0.0.0/0이 IGW로 나가야 Public
|
퍼블릭 IP 자동 할당 활성화
|
|
RTB : 0.0.0.0/0 → IGW 연결
|
[ PRIVATE SUBNET ]
퍼블릭 IP 없음 + 0.0.0.0/0이 NAT 또는 없음이면 Private
|
퍼블릭 IP 자동 할당 비활성화
|
|
RTB : 0.0.0.0/0 → NAT 게이트웨이 또는 연결 없음
|
AWS LOAD BALANCER
[ LOAD BALANCER ]
여러 Server에 트래픽을 골고루 분산해주는 기능 (Server 과부하 방지)
[ AWS LOAD BALANCER ]
ELB : Elastic Load Balancer
< ELB 종류 >
- ALB : 웹사이트 서버용
- NLB : 초고속 통신 서버용
- GWLB : 보안장비 연결

|
ALB (Application Load Balancer)
|
웹사이트, 앱 서버용 (HTTP/HTTPS 기반)
|
|
ex) 웹사이트, 쇼핑몰 서버, 로그인페이지 등
|
|
|
NLB (Network Load Balancer)
|
초고속, TCP/UDP 트래픽용 (속도 ↑, 지연 시간 ↓)
|
|
ex) 게임 서버, 채팅 서버, 대용량 통신 서버 등
|
|
|
GWLB (Gateway Load Balancer)
|
보안/방화벽 장비 트래픽 분산용
|
|
ex) 방화벽 트래픽 분산, 외부 공격 감지 시스템 설치 등
|
- EC2 > 로드밸런싱 > 로드밸런서

LOADBALANCER 생성

EC2 > 로드밸런서

ALB 생성 (웹 서비스 구축 시 ALB는 필수)


Subnet은 2개 이상, 가용 영역 다르게 설정 후

로드 밸런서 생성시 선택




DNS 이름으로 접속

RDS INSTANCE
Relational Database Service
[ RDS 인스턴스 ]
AWS에서 제공하는 완전 관리형 Database Server
- 직접 DB Server를 설치하거나
- 패치, 백업, 스케일링을 관리하지 않아도 AWS가 알아서 해주는 형태의 DB Server 머신
|
인스턴스
|
EC2처럼 서버를 "한 대" 띄우는 것 (단, DB 전용)
|
|
엔진 종류
|
MySQL, PostgreSQL, Oracle, SQL Server, MariaDB, Aurora 중 선택 가능
|
|
관리
|
패치, 업그레이드, 백업, 장애조치, 복제 등을 AWS가 자동으로 처리
|
|
설정
|
CPU, 메모리 스펙 / 디스크 크기 / 고가용성 옵션 등
|
- RDS > 서브넷 그룹




RDS > 데이터베이스 > 데이터베이스 생성 (=RDS 인스턴스 생성)




- 보안 그룹 생성
- 보안 그룹 이름
- MYSQL(3306)
- VPC - 01
- Inbound Mysql/Aurora
- Outbound all
- DB 서브넷 그룹 생성
- VPC 선택
- 서브넷 추가
- 가용영역 / 서브넷 - 프라이빗 선택
pse1234!
mydb
- RDS 생성
- DB 생성
- 엔진 유형 - MYSQL
- 템플릿 - 테스트
- 설정 - 식별자 / 마스터 이름
- 자격증명 관리 - 자체 관리 - 마스터 암호
- 클러스터 스토리지 구성 - aurora standard
- 인스턴스 구성 - 버스터블 클래스
- 가용성 및 내구성 - 복제본 생성하지 않음
- 연결 - EC 2 리소스 연결 안함
- VPC 선택
- 네트워크 유형
- DB 서브넷 가용영역 추가 설정
- 퍼블릭 액세스 - 아니요
- 추가 구성
- 초기 DB 이름 설정
- 암호화 활성화 체크 해제
- 유지 관리 기간 기본 설정 없음
- 읽기 (인스턴스) 추가
mysql -h domain -u admin -p mydb




'IT 엔지니어 > CLOUD' 카테고리의 다른 글
| AWS - Public INSTANCE (2) | 2025.06.07 |
|---|---|
| AWS - IAM / S3 / VPC (3) | 2025.06.06 |
| K8S - strorage (0) | 2025.06.04 |
| K8S -MONGO DB (0) | 2025.06.03 |
| K8S - ConfigMap -1 (3) | 2025.06.02 |