PostgreSQL 생성하기
1. RDS PostgreSQL 생성하기
1. AWS RDS 페이지 접속하기
https://aws.amazon.com/ko/rds/
2. RDS 대시보드 접속해서 [데이터베이스 생성] 버튼 클릭한다.
3. 데이터베이스 생성 방식 선택에서 '표준 생성'을 선택한다.
4. 엔진 옵션은 'PostgreSQL'을 선택한다
5. 엔진 버전은 기본으로 선택한다.
6. 템플릿은 프리티어로 시도한다. (이 계정에서 프리티어가 얼마 안 남았다고 메일이 날아온 상황이었다.)
7. 템플릿을 '프리티어'로 선택하면 가용성 및 내구성 부분의 선택창이 막힌다.
8. 설정 항목을 작성한다.
- DB 인스턴스 식별자를 작성해 준다.
- 마스터 사용자 이름은 username에 해당하는 값으로 로그인 ID다.
- 'AWS Secrets Manager에서 마스터 보안 인증 정보 관리'는 체크 해제한다. 이렇게 해야 우리가 직접 암호를 작성할 수 있다.
- '암호 자동 생성'도 체크 해제한다.
- 마스터 암호와 암호 확인을 작성한다.
9. 인스턴스 구성은 기본으로 설정했다.
10. 스토리지에서 '스토리지 자동 조정'은 체크 해제해 준다.
- 체크를 해주면 나중에 임계값이 초과되면 요금이 추가발생 된다.
11. 연결을 설정한다.
- 컴퓨팅 리소스 항목이다.
- EC2 컴퓨팅 리소스에 연결 안 함
- 이걸 선택해야 로컬 pc에서 접근 가능하다.
- EC2 컴퓨팅 리소스에 연결
- 이건 VPC 내부에 있는 리소스끼리만 접근할 수 있어서 내 로컬 환경에서 접근이 불가능하다.
- 이걸 선택하면 아래 “퍼블릭 액세스” 에서 “예”가 비활성화된다.
- EC2 컴퓨팅 리소스에 연결 안 함
- VPC는 기본으로 설정한다.
- 퍼블릭 액세스는 "예"를 선택한다.
12. 가용 영역 선택은 자유다.
- 나는 '기본 설정 없음'을 선택했다.
- 이걸 선택하면 AWS는 가용 영역을 자동으로 선택해 데이터베이스 인스턴스를 생성한다.
- 즉, AWS가 인스턴스에 대한 가용 영역을 최적화할 수 있는 유연성을 가지게 되며, 이는 가용성이나 비용 측면에서 이점을 제공할 수 있다.
- 하지만 특정 가용 영역에 데이터베이스 인스턴스를 배치하고 싶다면, 가용 영역을 직접 선택해야 한다.
12. RDS 프록시를 설정한다.
- RDS 프록시는 추가 비용이 든다.
- 그러나 일단 RDS 프록시를 설명하자면, 애플리케이션과 데이터베이스 사이의 연결을 관리한다.
- 이 서비스는 데이터베이스 로드를 분산시키고, 연결을 풀링하여 애플리케이션의 확장성과 안정성을 높이는데 도움을 준다.
13. 그 아래 '추가 구성'을 확장해 데이터베이스 포트를 확인한다.
14. 그 아래 '데이터베이스 인증'과 '모니터링'은 기본값으로 둔다.
15. 추가 구성을 설정한다.
- 초기 데이터베이스 이름은 최초 스키마명이 된다.
- (캡처에는 member로 작성했지만 이는 postgresql의 예약어라 생성에 실패했다. 다른 이름으로 작성해 주었다.)
16. 백업은 전부 기본으로 설정했다.
17. 암호화는 선택 해제했다.
- '암호화 활성화'를 선택하면 인스턴스가 저장하는 데이터는 암호화되어 저장된다.
18. 로그 내보내기에서 'PostgreSQL 로그'를 선택했다.
19. 그 아래 이제 요금 관련 정보를 확인하고 [데이터베이스 생성]을 클릭한다.
20. [데이터베이스 생성]을 클릭하면 아래와 같은 화면으로 이동된다.
21. 조금 기다렸더니 아래와 같이 화면이 변경되면서 성공적으로 생성된 모습을 확인할 수 있다.
22. 상세 보기를 위해 DB 식별자를 클릭해 들어갔다.
23. 하단의 "연결 및 보안" 설정도 확인한다. 여기서 엔드포인트로 외부에서 연결하게 될 것이다.
2. 보안 그룹에 포트 열어주기
1. RDS가 생성이 완료되었다면 이제 외부에서 접속할 수 있게 5432 포트를 열어줘야 한다.
- 생성된 데이터베이스 상세 보기로 들어가서 "연결 및 보안" 탭에서 [보안 > VPC 보안 그룹]에 해당하는 링크를 클릭해서 들어간다.
2. 보안그룹으로 이동된 화면에서 "인바운드 규칙" 탭으로 이동한다. 그리고 [인바운드 규칙 편집]을 클릭한다.
3. 왼쪽 하단에 [규칙 추가] 버튼을 눌러서 아래처럼 PostgreSQL 포트를 열어준다.
4. 그리고 [규칙 저장]을 클릭한다.
5. 그럼 생성 완료다!
3. 이제 외부 도구를 이용해서 RDS에 접속해보자. (나는 DataGrip을 사용하겠다.)
Data Sources | PostgreSQL |
Name | DateGrip에서 보이는 이름 |
Host | RDS 엔드포인트 |
Port | 5432 |
User | 마스터 사용자 이름 |
Password | 마스터 암호 |
Database | 데이터베이스 이름 (스키마명) |
URL | jdbc:postgresql://<RDS_엔드포인트>:5432/데이터베이스_이름 |
- DataGrip에 위 내용으로 작성하고 연결 성공한 모습이다.
'AWS' 카테고리의 다른 글
[AWS] ECS와 RDS 연동하기 (3) - Secrets Manager 이용해서 환경변수 적용하기 (0) | 2023.11.03 |
---|---|
[AWS] ECS와 RDS 연동하기 (2) - SpringBoot와 PostgreSQL 연동하기 (0) | 2023.11.03 |
[AWS] CodePipeline을 이용한 CI/CD (4) - 배포 오류 해결 (S3 거치지 않고 ECR에서 이미지 가져오기) (2) | 2023.11.01 |
[AWS] CodePipeline을 이용한 CI/CD (3) - 빌드 오류 해결 (IAM 역할에 권한 정책 연결) (0) | 2023.11.01 |
[AWS] CodePipeline을 이용한 CI/CD (2) - 빌드 오류 해결 (S3 접근 권한) (2) | 2023.10.31 |