Babelfish for Aurora PostgreSQL DB 클러스터 생성 - Amazon Aurora

Babelfish for Aurora PostgreSQL DB 클러스터 생성

Babelfish for Aurora PostgreSQL은 Aurora PostgreSQL 버전 13.4 이상에서 지원됩니다.

AWS Management Console 또는 AWS CLI를 사용하여 Babelfish에서 Aurora PostgreSQL DB 클러스터를 생성할 수 있습니다.

참고

Aurora PostgreSQL 클러스터에서 babelfish_db 데이터베이스 이름은 Babelfish용으로 예약되어 있습니다. Babelfish for Aurora PostgreSQL에 자체 "babelfish_db" 데이터베이스를 생성하면 Aurora가 Babelfish를 성공적으로 프로비저닝하지 못합니다.

AWS Management Console에서 실행되는 Babelfish를 사용하여 클러스터를 만들려면
  1. https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 열고 데이터베이스 생성(Create database)을 선택합니다.

    실행 중인 Babelfish를 사용하여 Aurora PostgreSQL 클러스터를 생성합니다.
  2. 데이터베이스 생성 방법 선택(Choose a database creation method)에서 다음 중 하나를 수행합니다.

    • 자세한 엔진 옵션을 지정하려면 표준 생성(Standard create)을 선택합니다.

    • Aurora 클러스터에 대한 모범 사례를 지원하는 사전 구성된 옵션을 사용하려면 간편한 생성(Easy create)을 선택합니다.

  3. 엔진 유형에서 Aurora(PostgreSQL 호환)를 선택합니다.

  4. 필터 표시(Show filters)를 선택한 다음, Babelfish for PostgreSQL 기능을 지원하는 버전 표시(Show versions that support the Babelfish for PostgreSQL feature)를 선택하여 Babelfish를 지원하는 엔진 유형을 나열합니다. Babelfish는 현재 Aurora PostgreSQL 13.4 이상 버전에서 지원됩니다.

  5. 사용 가능한 버전(Available versions)에서 Aurora PostgreSQL 버전을 선택합니다. 최신 Babelfish 기능을 사용하려면 가장 높은 Aurora PostgreSQL 메이저 버전을 선택하세요.

    Aurora PostgreSQL 버전을 선택합니다.
  6. 템플릿(Templates)에서 사용 사례에 맞는 템플릿을 선택합니다.

  7. DB 클러스터 식별자(DB cluster identifier)에서 나중에 쉽게 찾을 수 있는 이름을 DB 클러스터 목록에 입력합니다.

  8. 마스터 사용자 이름(Master username)에 관리자 사용자 이름을 입력합니다. Aurora PostgreSQL의 기본값은 postgres입니다. 기본값을 적용하거나 다른 이름을 선택할 수 있습니다. 예를 들어, SQL Server 데이터베이스에 사용된 이름 지정 규칙을 따르려면 마스터 사용자 이름에 sa(시스템 관리자)를 입력하면 됩니다.

    현재 sa라는 이름의 사용자를 생성하지 않는 경우 선택한 클라이언트를 사용하여 나중에 사용자를 하나 만들 수 있습니다. 사용자를 생성한 후 ALTER SERVER ROLE 명령을 이용하여 클러스터의 sysadmin 그룹(역할)에 사용자를 추가합니다.

    주의

    마스터 사용자 이름은 항상 소문자를 사용해야 하며, 그러지 않으면 DB 클러스터가 TDS 포트를 통해 Babelfish에 연결할 수 없습니다.

  9. 마스터 암호(Master password)에서 강력한 암호를 만들고 암호를 확인합니다.

  10. 다음 옵션의 경우 Babelfish 설정(Babelfish settings) 섹션에서 DB 클러스터 설정을 지정합니다. 각 설정에 대한 자세한 내용은 Aurora DB 클러스터 설정 섹션을 참조하세요.

  11. Babelfish 기능을 사용할 수 있도록 하려면 Babelfish 켜기(Turn on Babelfish) 상자를 선택합니다.

    Aurora PostgreSQL 클러스터에서 Babelfish를 켭니다.
  12. DB 클러스터 파라미터 그룹(DB cluster parameter group)에서 다음 중 하나를 수행합니다.

    • 새로 생성(Create new)을 선택하여 Babelfish를 켠 상태에서 새 파라미터 그룹을 생성합니다.

    • 기존 선택(Choose existing)을 선택하여 기존 파라미터 그룹을 사용합니다. 기존 그룹을 사용하는 경우 클러스터를 생성하기 전에 그룹을 수정하고 Babelfish 파라미터에 대한 값을 추가해야 합니다. Babelfish 파라미터에 대한 자세한 내용은 Babelfish용 DB 클러스터 파라미터 그룹 설정 섹션을 참조하세요.

      기존 그룹을 사용하는 경우 다음 상자에 그룹 이름을 입력합니다.

  13. 데이터베이스 마이그레이션 모드(Database migration mode)에서 다음 중 하나를 선택합니다.

    • 단일 SQL Server 데이터베이스를 마이그레이션할 단일 데이터베이스(Single database).

      경우에 따라 Babelfish를 사용하지 않고 기본 Aurora PostgreSQL로 완전히 마이그레이션하는 것을 목표로 여러 사용자 데이터베이스를 함께 마이그레이션할 수 있습니다. 최종 애플리케이션에 통합 스키마(단일dbo 스키마)가 필요한 경우 먼저 SQL Server 데이터베이스를 단일 SQL 서버 데이터베이스로 통합해야 합니다. 그런 다음, 단일 데이터베이스(Single database)모드를 사용하여 Babelfish로 마이그레이션합니다.

    • 여러 SQL Server 데이터베이스를 마이그레이션할 다중 데이터베이스(Multiple databases)(단일 SQL Server 설치에서 시작). 다중 데이터베이스 모드는 단일 SQL Server 설치에서 시작되지 않은 여러 데이터베이스를 통합하지 않습니다. 여러 데이터베이스 마이그레이션에 대한 자세한 내용은 단일 데이터베이스 또는 여러 데이터베이스에서 Babelfish 사용 섹션을 참조하세요.

    참고

    Aurora PostgreSQL 버전 16에서는 기본적으로 여러 데이터베이스가 데이터베이스 마이그레이션 모드로 선택됩니다.

    SQL Server 데이터베이스에 대한 마이그레이션 모드를 선택합니다.
  14. 기본 데이터 정렬 로캘(Default collation locale)에서 서버 로캘을 입력합니다. 기본값은 en-US입니다. 데이터 정렬에 대한 자세한 내용은 Babelfish에서 지원하는 데이터 정렬 섹션을 참조하세요.

  15. 데이터 정렬 이름(Collation name) 필드에 기본 데이터 정렬을 입력합니다. 기본값은 sql_latin1_general_cp1_ci_as입니다. 자세한 내용은 Babelfish에서 지원하는 데이터 정렬섹션을 참조하세요.

  16. Babelfish TDS 포트의 경우 기본 포트인 1433을 입력합니다. 현재 Babelfish는 DB 클러스터에 1433 포트만 지원합니다.

  17. DB 파라미터 그룹(DB parameter group)에서 파라미터 그룹을 선택하거나 Aurora에서 기본 설정으로 새 그룹을 생성하도록 합니다.

  18. 장애 조치 우선순위(Failover priority)에서 인스턴스에 대한 장애 조치 우선순위를 선택합니다. 값을 선택하지 않은 경우 기본값은 tier-1입니다. 기본 인스턴스 장애로부터 복구할 때 이 우선 순위에 따라 복제본이 승격되는 순서가 결정됩니다. 자세한 내용은 Aurora DB 클러스터의 내결함성 단원을 참조하십시오.

  19. 백업 보존 기간(Backup retention period)에서 Aurora가 데이터베이스 백업 사본을 보존하는 기간(1~35일)을 선택합니다. 백업 복사본은 데이터베이스를 마지막 특정 시점으로 복원(PITR)하는 데 사용할 수 있습니다. 기본 보존 기간은 7일입니다.

    Aurora PostgreSQL 버전을 선택합니다.
  20. 스냅샷을 생성할 때 DB 인스턴스 태그를 DB 스냅샷에 복사하려면 태그를 스냅샷에 복사(Copy tags to snapshots)를 선택합니다.

    참고

    스냅샷에서 DB 클러스터를 복원할 때는 Babelfish for Aurora PostgreSQL DB 클러스터로 복원되지 않습니다. Babelfish를 다시 활성화하려면 DB 클러스터 파라미터 그룹의 기본 설정을 제어하는 파라미터를 켜야 합니다. Babelfish 파라미터에 대한 자세한 내용은 Babelfish용 DB 클러스터 파라미터 그룹 설정 단원을 참조하세요.

  21. 암호화 사용 설정(Enable Encryption)을 선택하면 이 DB 클러스터의 미사용 데이터 암호화(Aurora 스토리지 암호화)를 설정할 수 있습니다.

  22. 성능 개선 도우미 사용 설정(Enable Performance Insights)을 선택하여 Amazon RDS 성능 개선 도우미를 설정할 수 있습니다.

  23. DB 클러스터가 실행되는 운영 체제에 대한 실시간 지표 수집을 시작하려면 향상된 모니터링 사용 설정(Enable enhanced monitoring)을 선택합니다.

  24. PostgreSQL 로그(PostgreSQL log)를 선택하여 Amazon CloudWatch Logs에 로그 파일을 게시합니다.

  25. 마이너 버전 자동 업그레이드 사용 설정(Enable auto minor version upgrade)을 선택하여 마이너 버전 업그레이드가 사용 가능할 때 Aurora DB 클러스터를 자동으로 업데이트합니다.

  26. 유지 관리 기간(Maintenance window)에서 다음을 수행합니다.

    • Amazon RDS가 수정하거나 유지 관리를 수행할 시간을 선택하려면 기간 선택(Select window)을 선택합니다.

    • 예정되지 않은 시간에 Amazon RDS 유지 관리를 수행하려면 선호 시간 없음(No preference)을 선택합니다.

  27. 삭제 방지 사용 설정(Enable deletion protection)을 선택하여 실수로 데이터베이스가 삭제되지 않도록 보호합니다.

    이 기능을 설정하면 데이터베이스를 직접 삭제할 수 없습니다. 대신, 데이터베이스를 삭제하기 전에 데이터베이스 클러스터를 수정하고 이 기능을 해제해야 합니다.

    추가 Aurora PostgreSQL 관리 기능 중에서 선택합니다.
  28. 데이터베이스 생성(Create database)을 선택합니다.

데이터베이스(Databases) 목록에서 Babelfish에 대해 설정된 새 데이터베이스를 찾을 수 있습니다. 상태(Status) 열은 배포가 완료되면 사용 가능(Available)이 표시됩니다.

Babelfish가 실행되는 Aurora PostgreSQL 클러스터입니다.

AWS CLI를 사용하여 Babelfish for Aurora PostgreSQL을 생성할 때는 클러스터에 사용할 DB 클러스터 파라미터 그룹의 이름에 명령을 전달해야 합니다. 자세한 내용은 DB 클러스터 사전 조건 단원을 참조하십시오.

AWS CLI를 사용하여 Babelfish에서 Aurora PostgreSQL DB 클러스터를 생성할 수 있기 전에 다음을 수행합니다.

AWS CLI를 사용하여 Babelfish가 있는 Aurora PostgreSQL DB 클러스터를 생성하려면

다음 예에서는 기본 마스터 사용자 이름(postgres)을 사용합니다. 필요에 따라 DB 클러스터에 대해 생성한 사용자 이름(예: sa 또는 기본값을 사용하지 않은 경우에 선택한 사용자 이름)으로 대체합니다.

  1. 파라미터 그룹을 생성합니다.

    대상 LinuxmacOS, 또는Unix:

    aws rds create-db-cluster-parameter-group \ --endpoint-url endpoint-url \ --db-cluster-parameter-group-name parameter-group \ --db-parameter-group-family aurora-postgresql14 \ --description "description"

    Windows의 경우:

    aws rds create-db-cluster-parameter-group ^ --endpoint-url endpoint-URL ^ --db-cluster-parameter-group-name parameter-group ^ --db-parameter-group-family aurora-postgresql14 ^ --description "description"
  2. 파라미터 그룹을 수정하여 Babelfish를 설정합니다.

    대상 LinuxmacOS, 또는Unix:

    aws rds modify-db-cluster-parameter-group \ --endpoint-url endpoint-url \ --db-cluster-parameter-group-name parameter-group \ --parameters "ParameterName=rds.babelfish_status,ParameterValue=on,ApplyMethod=pending-reboot"

    Windows의 경우:

    aws rds modify-db-cluster-parameter-group ^ --endpoint-url endpoint-url ^ --db-cluster-parameter-group-name paramater-group ^ --parameters "ParameterName=rds.babelfish_status,ParameterValue=on,ApplyMethod=pending-reboot"
  3. 새 DB 클러스터에 대한 DB 서브넷 그룹과 VPC(Virtual Private Cloud) 보안 그룹 ID를 확인한 다음, create-db-cluster 명령을 호출합니다.

    대상 LinuxmacOS, 또는Unix:

    aws rds create-db-cluster \ --db-cluster-identifier cluster-name\ --master-username postgres \ --manage-master-user-password \ --engine aurora-postgresql \ --engine-version 14.3 \ --vpc-security-group-ids security-group \ --db-subnet-group-name subnet-group-name \ --db-cluster-parameter-group-name parameter-group

    Windows의 경우:

    aws rds create-db-cluster ^ --db-cluster-identifier cluster-name ^ --master-username postgres ^ --manage-master-user-password ^ --engine aurora-postgresql ^ --engine-version 14.3 ^ --vpc-security-group-ids security-group ^ --db-subnet-group-name subnet-group ^ --db-cluster-parameter-group-name parameter-group

    이 예제에서는 마스터 사용자 암호를 생성하고 이를 Secrets Manager에서 관리하는 --manage-master-user-password 옵션을 지정합니다. 자세한 내용은 Amazon Aurora 및 AWS Secrets Manager를 통한 암호 관리 단원을 참조하십시오. 또는 --master-password 옵션을 사용하여 암호를 직접 지정하고 관리할 수 있습니다.

  4. DB 클러스터에 대한 프라이머리 인스턴스를 명시적으로 생성합니다. 다음과 같이 create-db-instance 명령을 호출할 때 3단계에서 생성한 클러스터의 이름을 --db-cluster-identifier 인수에 사용합니다.

    대상 LinuxmacOS, 또는Unix:

    aws rds create-db-instance \ --db-instance-identifier instance-name \ --db-instance-class db.r6g \ --db-subnet-group-name subnet-group \ --db-cluster-identifier cluster-name \ --engine aurora-postgresql

    Windows의 경우:

    aws rds create-db-instance ^ --db-instance-identifier instance-name ^ --db-instance-class db.r6g ^ --db-subnet-group-name subnet-group ^ --db-cluster-identifier cluster-name ^ --engine aurora-postgresql