티스토리 뷰
이전에 SpringBoot와 Node 프로젝트를 도커 이미지로 생성하여 ECR 리포지토리에 올리고 ECS로 서비스하는 과정을 알아보았습니다.
이번에는 SpringBoot와 Node 프로젝트에서 접속하는 DocumentDB 클러스터를 생성하고 로컬 DataGrip에서 접속하는 방법을 알아보겠습니다.
1. DB 보안 그룹 생성
먼저 생성할 DocumentDB의 보안 그룹을 만들겠습니다. 인바운드 규칙으로는 우선 Anywhere - IPv4, Anywhere - IPv6 소스에서 27017 포트로 들어올 수 있도록 지정하겠습니다. (나중에는 Anywhere이 아닌 백엔드 서비스의 보안그룹으로 변경해야 합니다.)
2. DocumentDB 서브넷 그룹 생성
DocumentDB에서 서브넷 그룹 메뉴를 선택해 서브넷 그룹을 "생성"합니다. DocumentDB를 private subnet에 생성할 것이기 때문에 기존에 생성한 VPC와 해당 VPC의 private subnet을 선택하여 그룹을 생성합니다.
3. DocumentDB 클러스터 생성
아래와 같이 DocumentDB 클러스터 설정을 하고 생성합니다. (고급 설정 표시를 통해 네트워크와 삭제 보호 설정을 진행합니다. 아래에 나오지 않은 나머지 설정은 그대로 사용하겠습니다.)
4. public subnet에 Bastion Host EC2 생성
위와 같이 생성을 하고 나면 백엔드 서비스에서는 접속이 가능하지만 로컬에서 확인이 불가합니다. 따라서 로컬에서 private subnet에 생성된 DocumentDB에 접속하기 위해서 먼저 public subnet에 EC2를 하나 생성하겠습니다. 이 EC2를 통해서 private subnet에 있는 DocumentDB에 접속합니다. (public subnet이 2개인데 아무 곳에나 생성하면 됩니다. EC2 생성은 이전 글을 참고하세요.)
5. ssh로 bastion host 접속 후 DocumentDB 접속 pem 파일 받기 및 로컬로 복사
로컬에서 ssh로 EC2에 접속한 뒤, 아래 명령어로 DocumentDB 접속을 위한 인증서를 다운받습니다.
wget https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem
이후 이 파일을 아래 명령을 통해 로컬 호스트로 복사합니다. (아래 명령을 로컬 터미널에서 실행해주세요!) 그리고 받은 pem 파일을 백엔드 프로젝트 루트 디렉토리에 추가해줍니다.
scp -i ~/.ssh/XXXXX.pem [ec2-user계정명]@[ec2 instance의 public DNS]:~/rds-combined-ca-bundle.pem ~/
6. DataGrip에서 DocumentDB로 접속
이제 JetBrains의 DataGrip 툴을 사용하여 DocumentDB에 접속해보겠습니다.
SSH 접속과 SSL 방식을 둘다 지정해주면 로컬에서 private subnet에 생성된 DocumentDB에 접속하여 데이터 등을 확인할 수 있습니다.
지금까지 구성된 내용을 전체 구조에서 보면 다음과 같습니다.
이렇게 백엔드 구성을 완료했습니다. 이제 프론트엔드와 백엔드를 연결하는 API Gateway를 생성해보겠습니다.
'AWS' 카테고리의 다른 글
[AWS CloudFront] CloudFront에서 API Gateway로 요청 전달 (0) | 2021.12.16 |
---|---|
[AWS APIGateway] API Gateway에서 private subnet의 NLB와 통신 (0) | 2021.12.16 |
[AWS CodePipeline] ECR 이미지 수정 시 자동으로 ECS로 배포 (0) | 2021.12.16 |
[AWS ECS] ECR 이미지를 ECS로 실행 (컨테이너 실행 및 관리) (0) | 2021.12.16 |
[AWS ECR] Node project 도커 이미지로 올리기 (0) | 2021.12.15 |
- Total
- Today
- Yesterday
- 조합
- array
- sort
- permutation
- CodeCommit
- BFS
- CodePipeline
- EC2
- java
- search
- Algorithm
- Combination
- 수학
- DFS
- cloudfront
- string
- 에라토스테네스의 체
- spring
- programmers
- ionic
- 프로그래머스
- Baekjoon
- ECR
- AWS
- SWIFT
- Dynamic Programming
- CodeDeploy
- 순열
- 소수
- map
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |