Aurora PostgreSQL 호환 글로벌 데이터베이스를 만들려면 어떻게 해야 합니까?

6분 분량
0

Amazon Aurora PostgreSQL 호환 에디션 글로벌 데이터베이스를 만들고 싶습니다.

간략한 설명

Aurora Global Database는 전 세계적으로 분산된 애플리케이션에 사용됩니다. 이러한 데이터베이스는 여러 AWS 리전에 걸쳐 있을 수 있으므로 읽기 전용 보조 DB 클러스터를 다른 리전에 배치하여 로컬 읽기를 지원할 수 있습니다. 또한 Aurora Global Database는 AWS 리전 장애 발생 시 빠른 복구 메커니즘을 제공합니다.

다음 메서드를 사용하여 Aurora PostgreSQL 호환 글로벌 데이터베이스를 만들 수 있습니다.

  • AWS Console을 사용하여 Aurora PostgreSQL 호환 글로벌 데이터베이스를 생성합니다.
  • 기존 Aurora 클러스터를 사용하여 Aurora PostgreSQL 호환 글로벌 데이터베이스를 생성합니다.
  • Amazon Relational Database Service(RDS) for PostgreSQL 스냅삿을 Aurora PostgreSQL 호환 글로벌 데이터베이스로 마이그레이션합니다.
  • Amazon RDS for PostgreSQL 데이터베이스를 Aurora PostgreSQL 호환 글로벌 데이터베이스로 마이그레이션합니다.

해결 방법

참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생할 경우 AWS CLI의 최신 버전을 사용하고 있는지 확인하세요.

Aurora PostgreSQL 호환 글로벌 데이터베이스를 생성하기 전에 다음을 수행합니다.

AWS Console을 사용하여 Aurora PostgreSQL 호환 글로벌 데이터베이스 생성

  1. 기본 리전에서 Amazon RDS 콘솔을 엽니다.
  2. **데이터베이스 생성(Create database)**을 선택합니다.
  3. 데이터베이스 생성 방법(Database creation method)에서 **표준 생성(Standard create)**을 선택합니다.
  4. 엔진 유형(Engine type)에서 Amazon Aurora를 선택합니다.
  5. 버전(Edition)에서 **Amazon Aurora PostgreSQL 호환 버전(Amazon Aurora PostgreSQL-Compatible Edition)**을 선택합니다.
  6. 필터(filters)에서 **글로벌 데이터베이스 기능을 지원하는 버전 보기(Show versions that support the global database feature)**를 켭니다.
  7. 사용 가능한 버전(Available versions) 드롭다운 목록에서 사용하려는 PostgreSQL 버전을 선택합니다.
  8. 사용 사례에 따라 템플릿에서 프로덕션(Production) 또는 **개발 및 테스트(Dev/Test)**를 선택합니다.
  9. 설정(Settings) 섹션에서 DB 클러스터 식별자(DB cluster identifier)에 기본 DB 클러스터의 이름을 입력합니다. 마스터 사용자 이름(Master user name)에 PostgreSQL의 기본 마스터 사용자를 입력하거나 자신의 사용자 이름을 입력합니다.
  10. 인스턴스 구성(Instance configuration) 섹션에서 DB 인스턴스 클래스를 선택합니다.
  11. 가용성 내구성(Availability durability) 섹션에서는 다른 AZ에 Aurora 복제본을 생성하도록 선택하는 것이 가장 좋습니다. 이 옵션을 선택하지 않으면 나중에 읽기 전용 복제본을 생성할 수 있습니다.
  12. 연결(Connectivity) 섹션에서 사용하려는 옵션을 선택합니다. 또한 사용하려는 VPC, DB 서브넷 그룹(DB Subnet group) 및 **VPC 보안 그룹(VPC Security group)**을 선택합니다.
  13. **추가 구성(Additional configuration)**에서는 데이터베이스 포트를 지정할 수 있습니다. 기본 포트는 5432입니다.
  14. **데이터베이스 인증(Database authentication)**에서는 기본적으로 암호 인증이 사용됩니다. 선택적으로 데이터베이스에 대해 IAM 데이터베이스 인증, Kerberos 인증 또는 둘 다를 켤 수 있습니다.
  15. 데이터베이스 옵션(Database options) 섹션에서 **초기 데이터베이스 이름(Initial Database name)**을 입력합니다. DB 클러스터 파라미터 그룹(DB cluster parameter group), DB 파라미터 그룹(DB parameter group) 및 **장애 조치 우선순위(Failover priority)**를 선택합니다. 백업(Backup), 암호화(Encryption), 유지 관리(Maintenance)삭제 보호(Deletion Protection) 옵션을 검토합니다.
  16. **데이터베이스 생성(Create database)**을 선택합니다. 클러스터를 사용할 준비가 되면 클러스터, 라이터 및 복제본 노드의 상태가 **사용 가능(Available)**으로 변경됩니다.
  17. Aurora PostgreSQL 글로벌 데이터베이스에는 기본 Aurora DB 클러스터가 아닌 다른 AWS 리전에 하나 이상의 보조 Aurora DB 클러스터가 있어야 합니다. 최대 5개의 보조 DB 클러스터를 Aurora PostgreSQL 글로벌 데이터베이스에 연결할 수 있습니다. 생성한 Aurora PostgreSQL 데이터베이스를 선택합니다. 작업(Actions) 드롭다운 목록에서 **AWS 리전 추가(Add AWS Region)**를 선택합니다.
  18. 리전 추가(Add a Region) 페이지에서 글로벌 데이터베이스의 이름을 입력하고 보조 리전을 선택합니다. 새 리전의 Aurora 클러스터에 대한 나머지 정보를 검토하고 작성합니다.
    참고: 각 Aurora DB 클러스터에 대해 선택하는 이름은 모든 AWS 리전에서 고유해야 합니다. 서로 다른 리전에 있더라도 여러 Aurora DB 클러스터에 동일한 이름을 사용할 수는 없습니다.
  19. 리전 추가(Add Region) 버튼을 클릭합니다.

기존 Aurora 클러스터를 사용하여 Aurora PostgreSQL 호환 글로벌 데이터베이스 생성

  1. 기본 리전에서 Amazon RDS 콘솔을 엽니다.
  2. 리소스(Resources) 섹션에서 **DB 인스턴스(DB Instances)**를 선택합니다.
  3. 사용하려는 기존 Aurora PostgreSQL 클러스터를 선택합니다.
  4. 작업(Actions) 드롭다운 목록에서 **AWS 리전 추가(Add AWS Region)**를 선택합니다.
  5. 리전 추가(Add a Region) 페이지에서 글로벌 데이터베이스의 이름을 입력한 다음 보조 리전을 선택합니다.
  6. **리전 추가(Add Region)**를 선택합니다.

RDS for PostgreSQL 스냅샷을 Aurora PostgreSQL 호환 글로벌 데이터베이스로 마이그레이션

  1. 기본 리전에서 Amazon RDS 콘솔을 엽니다.
  2. 탐색 창에서 **스냅샷(Snapshots)**을 선택합니다.
  3. 마이그레이션하려는 RDS for PostgreSQL 스냅샷을 선택합니다.
  4. **작업(Actions)**을 선택하고 드롭다운 목록에서 **스냅샷 마이그레이션(Migrate Snapshot)**을 선택합니다.
  5. 데이터베이스 마이그레이션(Migrate database) 페이지의 **DB 엔진으로 마이그레이션(Migrate to DB engine)**에서 aurora-postgresql을 선택합니다.
  6. 마이그레이션(Migrate) 버튼을 선택합니다. 그러면 RDS for PostgreSQL 스냅샷에서 Aurora PostgreSQL 호환 클러스터가 생성됩니다.
  7. Aurora PostgreSQL 호환 클러스터를 생성한 후 탐색 창에서 **데이터베이스(Databases)**를 선택합니다.
  8. 마이그레이션된 Aurora PostgreSQL 호환 클러스터를 선택합니다.
  9. 작업(Actions) 드롭다운 목록에서 **AWS 리전 추가(Add AWS Region)**를 선택합니다.
  10. 리전 추가(Add a Region) 페이지에서 글로벌 데이터베이스의 이름을 입력한 다음 보조 리전을 선택합니다.
  11. **리전 추가(Add Region)**를 선택합니다.

RDS for PostgreSQL 데이터베이스를 Aurora PostgreSQL 호환 글로벌 데이터베이스로 마이그레이션

  1. 기본 리전에서 Amazon RDS 콘솔을 엽니다.
  2. 탐색 창에서 **데이터베이스(Databases)**를 선택합니다.
  3. 변환하려는 RDS for PostgreSQL 데이터베이스를 선택합니다.
  4. 작업(Actions) 드롭다운 목록에서 **Aurora 읽기 전용 복제본 생성(Create Aurora read replica)**을 선택합니다.
  5. Aurora 읽기 전용 복제본 생성(Create Aurora read replica) 페이지에서 모든 필드를 검토하고 작성한 다음 **읽기 전용 복제본 생성(Create read replica)**을 선택합니다.
  6. Aurora 읽기 전용 복제본을 생성했으면 이제 Aurora 읽기 전용 복제본을 승격할 수 있습니다.
  7. 참고: 복제본을 승격시키기 전에 RDS for PostgreSQL에 활동이 없는지 확인하세요. 또한 복제본 지연이 0인지 확인하세요.
  8. 생성한 Aurora 읽기 전용 복제본을 선택합니다.
  9. 작업(Actions) 드롭다운 목록에서 **승격(promote)**을 선택합니다.
  10. 승격 프로세스 후 Aurora 복제본 클러스터는 라이터 인스턴스가 있는 리전 Aurora DB 클러스터가 됩니다. 새로 승격된 리전 Aurora DB 클러스터를 선택합니다.
  11. 작업(Actions) 드롭다운 목록에서 **AWS 리전 추가(Add AWS Region)**를 선택합니다.
  12. 리전 추가(Add a Region) 페이지에서 글로벌 데이터베이스의 이름을 입력한 다음 보조 리전을 선택합니다.
  13. **리전 추가(Add Region)**를 선택합니다.

보조 리전에 헤드리스 Aurora DB 클러스터 생성

Aurora Global Database에는 다른 AWS 리전에 하나 이상의 보조 Aurora DB 클러스터가 필요합니다. 컴퓨팅 비용을 줄이기 위해 헤드리스 보조 Aurora DB 클러스터를 생성할 수 있습니다. 이렇게 하면 스토리지에 대한 요금만 청구됩니다. 이 설정 방법을 사용하면 Recovery Time Objective(RTO)가 더 높아질 수 있지만 재해 복구(DR) 설정 비용을 줄일 수 있습니다.

PostgreSQL의 경우 AWS CLI를 사용하여 헤드리스 Aurora DB 클러스터를 생성합니다. 헤드리스 Aurora DB 클러스터를 생성하는 데 사용되는 Linux/macOS AWS CLI 명령의 다음 예를 참조하세요.

참고: 명령을 실행하기 전에 이 명령의 <> 자리 표시자를 실제 값으로 바꾸세요.

이 명령과 함께 사용할 수 있는 옵션 목록은 create-db-cluster 참조 설명서를 참조하세요.

aws rds --region <target_region> \
  create-db-cluster \
     --db-cluster-identifier <value> \
     --global-cluster-identifier <value>  \
     --engine aurora-postgresql \
     --kms-key-id <value> \
     --engine-version <value> \
     --db-cluster-parameter-group-name <value>\
     --db-subnet-group-name <value> \
     --vpc-security-group-ids <value> \
     --backup-retention-period <value>

관련 정보

Amazon Aurora Global Database

AWS 공식
AWS 공식업데이트됨 일 년 전