일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 배포 파이프라인
- Bastion Server
- Intellij
- tenneling
- golang
- 윈도우키보드
- Helm V3
- 컴포지트패턴
- 디자인패턴
- Buffered channel
- 배포 프로세스
- intellij ide
- Kubernetes
- GoF
- 대규모 시스템 설계
- gitops
- System Design
- Infra
- Golines
- go
- http 413
- UnBuffered channel
- AWS Infra
- body size
- apollo router
- goland
- notification system
- AWS
- GoF 디자인패턴
- Logrus
- Today
- Total
Fall in IT.
AWS 인프라 구성 간단하게 맛보기2 (RDS 추가하기) 본문
안녕하세요.
오늘은 지난번에 구축한 인프라를 바탕으로 Private Subnet 영역을 새롭게 추가하고 2개의 가용영역에 RDS 인스턴스를 추가해 다중 AZ 배포를 통해 고가용성을 달성해보겠습니다.
RDS(Amazon Relational Database Service)란?
RDS는 AWS에서 제공하는 관계형 데이터베이스 서비스이다.
클라우드에서 간편하게 데이터베이스를 설치, 운영 및 확장을 할 수 있는 관리형 서비스 모음입니다.
인프라 구성
인프라 구성은 아래와 같다. (이전에 실습한 인프라를 바탕으로 시작합니다. 해당 내용은 여기서 확인 가능합니다.)
- 가용영역 a와 b에 RDS 인스턴스를 생성할 서브넷 영역을 생성한다.
즉, a영역에 10.0.100.0/24, b영역에 10.0.200.0/24의 서브넷을 생성한다. (VPC는 당연히 기존에 사용한 VPC를 선택합니다) - 만들어진 서브넷을 사용하여 DB 서브넷 그룹을 생성한다.
- RDS 인스턴스를 생성한다.
여기서 Multi-AZ 배포를 선택한다. - RDS의 보안그룹의 인바운드 규칙은 Public Subnet 영역의 Bastion Server의 접속과 Private Subnet 영역의 Application Server의 접속을 허용하기 위해서 각각의 보안그룹을 선택해 허용한다.
위의 내용중에 몇 가지 궁금할 수 있는 부분들에 대해서 정리하고 넘어가겠습니다.
RDS 인스턴스가 만들어지는 영역을 Private Subnet으로 만든 이유는 무엇인가요?
- RDS가 기본적으로 외부에서 접속하지 못하도록 하기 위함입니다. 다만, 관리자는 로컬에서 터널링(Bastion Server)을 통해서 RDS에 접속할 수 있어야합니다. 또 내부 애플리케이션 서버들도 DB에 접근이 가능해야하기 때문에 Private Subnet 영역에 RDS 인스턴스를 할당하고 보안그룹의 인바운드 규칙에 두 가지를 추가해주었습니다.
RDS 인스턴스가 만들어지는 영역을 기존의 Private Subnet을 사용하지 않고 따로 만든 이유는 무엇인가요?
- 물론 기존의 Private Subnet을 사용해도 무방합니다. 하지만 저는 애플리케이션 서버의 네트워크망과 RDS 서버의 네트워크 망이 분리되어서 관리되길 원했습니다. 그 이유는, 추후에 네트워크 관리나 유지보수 측면에서 더 효율적이라고 판단했습니다.
RDS 인스턴스가 만들어지는 영역의 Private Subnet의 CIDR을 /23으로 하지않고 /24로 하는 이유는 무엇인가요?
- 애플리케이션 서버가 할당되는 영역보다 DB 서버가 할당되는 영역의 호스트수는 더 적게 있어도 괜찮을거라고 생각했습니다.
250개 정도, 가용영역이 2곳이기 때문에 500개 정도면 충분하지 않을까(?)란 생각에 RDS가 할당되는 Private Subnet 영역은 CIDR을 /24로 설정하였습니다.
실습
1. RDS가 생성될 Private Subnet 영역 생성
2. DB SubnetGroup 생성
3. RDS 인스턴스 생성
다중 AZ 배포가 가능하도록 선택한다.
연결 정보 등록시 주의할 점은 퍼블릭 엑세스를 금지해야하고, 보안 그룹은 새롭게 생성하고 Bastion Server와 Application Server들만 접근 가능하게 설정해야합니다.
추가로 RDS 서브넷 그룹이 사용하는 VPC를 설정한다. Bastion Server와 Application Server의 보안그룹 아이디로 들어오는 접속을 허용해주었습니다.
참조
모두 즐거운 코딩하세요~
'Amazon Web Service(AWS)' 카테고리의 다른 글
AWS 환경설정하기 (0) | 2021.11.29 |
---|---|
Amazon EKS에 컨테이너 웹 앱 배포 (0) | 2021.11.28 |
AWS CDK 간단정리 (0) | 2021.11.04 |
AWS의 S3를 활용하여 간단하게 정적 웹사이트 호스팅하는방법 (0) | 2020.06.17 |
AWS - EC2 하드디스크 용량 늘리기 (4) | 2019.03.15 |