AWS EC2와 RDS 프리티어로 설정하기
AWS EC2와 RDS 프리티어로 설정하기
AWS EC2-RDS 프리티어 설정 가이드
이번 포스트는 AWS 프리티어를 활용해서 EC2와 RDS를 연결해서 사용하는 법을 정리해보려고한다.
이전까지는 GCP에서 무료크레딧을 이용해서 진행했었는데 가지고있는 가용할 수 있는 자원을 다 소진해버려서 AWS환경을 사용해볼겸 진행해봤다.
과금으로 유명한 AWS니 만큼 과금요소를 최대한 줄이고 조심해서 프리티어를 활용해보자.
필자는 참고로 맥유저인데 예전부터 사용하던 FIG(현 Amazon Q, 큰 기업으로 가다니 뭔가 뿌듯하다?)를 사용하면서 AWS 계정을 만들어 둔 상태에서 진행했다.
계정만 만들어 두고 VPC나 EC2등 서비스를 사용하지 않았으니 빈 계정과 마찬가지니 만약 참고한다면 이미 진행한 내용들은 넘기고 진행해도 좋을 것 같다.
목차
1. VPC 생성
- AWS 콘솔 → VPC 서비스 이동
- “VPC 생성” 클릭
- 설정:
- “VPC 등” 옵션 선택 (중요!)
- 이름 태그 자동 생성: my-vpc
- IPv4 CIDR 블록: 10.0.0.0/16
- IPv6 CIDR 블록: 없음
- 테넌시: 기본값
- 가용 영역(AZ) 수: 1
- 퍼블릭 서브넷 수: 1
- 프라이빗 서브넷 수: 1
- NAT 게이트웨이: 없음
- VPC 엔드포인트: 없음
2. 보안 그룹 생성
EC2 보안 그룹 (ec2-sg)
- EC2 서비스 → 보안 그룹
- “보안 그룹 생성” 클릭
- 설정:
- 보안 그룹 이름: ec2-sg(이름은 자유다)
- 설명: Security group for EC2
- VPC: 방금 생성한 VPC 선택
- 인바운드 규칙:
- 유형: SSH
- 포트: 22
- 소스: Anywhere (0.0.0.0/0)
- 아웃바운드 규칙: 기본값 유지
RDS 보안 그룹 (rds-sg)
- “보안 그룹 생성” 클릭
- 설정:
- 보안 그룹 이름: rds-sg(여기도 이름은 자유다)
- 설명: Security group for RDS
- VPC: 방금 생성한 VPC 선택
- 인바운드 규칙:
- 유형: MySQL/Aurora
- 포트: 3306
- 소스: ec2-sg 보안 그룹 ID 선택
- 아웃바운드 규칙: 기본값 유지
3. EC2 인스턴스 생성
- EC2 서비스에서 “인스턴스 시작”
- 설정:
- 이름: my-ec2
- AMI: Ubuntu Server
- 인스턴스 유형: t2.micro (프리티어)
- 키 페어:
- 새 키 페어 생성
- 이름: my-key
- 형식: .pem
- 네트워크 설정:
- VPC: 생성한 VPC
- 서브넷: 퍼블릭 서브넷
- 퍼블릭 IP 자동 할당: 활성화
- 보안 그룹: ec2-sg
- 스토리지:
- 크기: 30GB (프리티어 한도에 맞춰서 진행, 넘어가면 과금이니 주의하자)
- 유형: gp2
4. RDS 데이터베이스 생성
- RDS 서비스에서 “데이터베이스 생성”
- 설정:
- 표준 생성
- MySQL 8.0.28
- 프리티어 템플릿
- 설정:
- DB 인스턴스 식별자: 이름은 마음대로 작성
- 마스터 사용자 이름: admin
- 마스터 암호 설정
- 인스턴스 구성:
- db.t3.micro
- 스토리지:
- 20GB (프리티어 한도)
- gp2
- 연결:
- VPC: 생성한 VPC
- 서브넷 그룹: Private 서브넷
- 퍼블릭 액세스: 아니요
- 보안 그룹: rds-sg
- 추가 구성:
- 백업: 비활성화
- 유지 관리: 기본값
- 삭제 방지: 비활성화
5. 데이터베이스 접속 테스트
- EC2 접속:
1 2
chmod 400 my-key.pem ssh -i .pem(파일) ubuntu@[EC2-퍼블릭-IP]
필자는 이 부분에서 ec2-user로 알고있었는데 ubuntu로 AMI를 만들어서 ec2-user -> ubuntu가 되어버렸다.
ssh -i my-key.pem ec2-user@[EC2-퍼블릭-IP]이 명령문이 디폴트인것 같다. - MySQL 클라이언트 설치:
1 2
sudo apt update sudo apt install mysql-client -y
- RDS 접속:
1
mysql -h [RDS-엔드포인트] -u admin -p
RDS 엔드포인트는 RDS 페이지에서 상세내용으로 확인가능하다.
- 데이터베이스 생성 및 테스트:
1 2 3 4 5
CREATE DATABASE mydb; USE mydb; CREATE TABLE test (id INT, name VARCHAR(50)); INSERT INTO test VALUES (1, 'test'); SELECT * FROM test;
프리티어 주의사항
이거 어기면 바로 과금이니 주의하자(페이지에서 주의사항으로 알려준다.)
- EC2:
- t2.micro 인스턴스만 무료
- 스토리지 30GB까지 무료
- 750시간/월 무료
- RDS:
- db.t3.micro 인스턴스만 무료
- 스토리지 20GB까지 무료
- 750시간/월 무료
- VPC 관련:
- VPC, 서브넷, 보안 그룹은 무료
- NAT Gateway는 유료이므로 사용하지 않음
추가) 여기까지는 AWS 설정이고 로컬환경에 연결은 하지 않은 상태이다.
로컬에서 연결하려면 추가적인 작업이 필요하니 다음 글로 정리해두겠다.
This post is licensed under CC BY 4.0 by the author.