Aurora PostgreSQL Limitless Database 데이터 로드 유틸리티 사용
Aurora는 Aurora PostgreSQL DB 클러스터 또는 RDS for PostgreSQL DB 인스턴스에서 Limitless Database로 직접 데이터를 로드하는 유틸리티를 제공합니다.
데이터 로드 유틸리티를 사용하려면 다음 단계를 수행합니다.
제한 사항
데이터 로드 유틸리티에는 다음과 같은 제한 사항이 있습니다.
-
enum
,ARRAY
,BOX
,CIRCLE
,LINE
,LSEG
,PATH
,PG_LSN
,PG_SNAPSHOT
,POLYGON
,TSQUERY
,TSVECTOR
,TXID_SNAPSHOT
데이터 유형은 지원되지 않습니다. -
로드 중에
VARBIT
데이터 유형에서 선행 0(0
)이 제거됩니다. -
소스 테이블에 복합 프라이머리 키가 있는 경우 데이터 마이그레이션이 실패합니다.
-
대상 테이블에 외래 키가 있는 경우 데이터 마이그레이션이 실패합니다.
-
RDS for PostgreSQL 다중 AZ DB 클러스터에서 데이터 로드는 지원되지 않습니다.
사전 조건
데이터 로드 유틸리티에는 다음과 같은 사전 조건이 있습니다.
-
소스 데이터베이스는 Aurora PostgreSQL 또는 RDS for PostgreSQL 버전 11.x 이상을 사용해야 합니다.
-
소스 데이터베이스는 대상 DB 샤드 그룹과 동일한 AWS 계정 및 AWS 리전에 있어야 합니다.
-
소스 DB 클러스터 또는 DB 인스턴스가
available
상태여야 합니다. -
소스 데이터베이스와 무한 데이터베이스의 테이블은 테이블 이름, 열 이름 및 열 데이터 유형이 동일해야 합니다.
-
소스 및 대상 테이블에는 열과 열 순서가 동일한 프라이머리 키가 있어야 합니다.
-
데이터 로드 명령을 실행하려면 무한 데이터베이스에 연결할 수 있는 환경이 있어야 합니다. 사용 가능한 명령은 다음과 같습니다.
-
rds_aurora.limitless_data_load_start
-
rds_aurora.limitless_data_load_cancel
-
-
CDC의 경우:
-
소스 데이터베이스와 대상 DB 샤드 그룹 모두 동일한 DB 서브넷 그룹, VPC 보안 그룹 및 데이터베이스 포트를 사용해야 합니다. 이러한 설정은 소스 데이터베이스와 DB 샤드 그룹의 라우터 모두에 대한 네트워크 연결을 위한 것입니다.
-
소스 데이터베이스에서 논리적 복제를 활성화해야 합니다. 소스 데이터베이스 사용자에게 논리적 복제를 읽을 권한이 있어야 합니다.
-
소스 데이터베이스 준비
데이터 로드를 위해 소스 데이터베이스에 액세스하려면 수신 네트워크 트래픽을 허용해야 합니다. 다음 단계를 수행합니다.
소스 데이터베이스로의 네트워크 트래픽을 허용하는 방법
AWS Management Console에 로그인하고 https://console.aws.amazon.com/ec2/
에서 Amazon EC2 콘솔을 엽니다. -
보안 그룹 페이지로 이동합니다.
-
소스 DB 클러스터 또는 인스턴스에서 사용하는 보안 그룹의 보안 그룹 ID를 선택합니다.
예를 들어 보안 그룹 ID는
sg-056a84f1712b77926
입니다. -
인바운드 규칙 탭에서 다음을 수행합니다.
-
인바운드 규칙 편집을 선택합니다.
-
소스 DB 클러스터 또는 인스턴스에 대한 새 인바운드 규칙을 추가합니다.
-
포트 범위 - 소스 데이터베이스의 데이터베이스 포트로, 일반적으로
5432
입니다. -
보안 그룹 ID - 이 예시에서는
sg-056a84f1712b77926
입니다.
-
-
-
아웃바운드 규칙 탭에서 다음을 수행합니다.
-
아웃바운드 규칙 편집을 선택합니다.
-
소스 DB 클러스터 또는 인스턴스에 대한 새 아웃바운드 규칙을 추가합니다.
-
데이터베이스 포트 -
All traffic
(0-65535
포트 포함) -
보안 그룹 ID - 이 예시에서는
sg-056a84f1712b77926
입니다.
-
-
AWS Management Console에 로그인하고 https://console.aws.amazon.com/vpc/
에서 Amazon VPC 콘솔을 엽니다. -
네트워크 ACL 페이지로 이동합니다.
-
기본 네트워크 ACL에 설명된 대로 기본 네트워크 ACL 구성을 추가합니다.
대상 데이터베이스 준비
Aurora PostgreSQL Limitless Database 테이블 만들기의 프로시저에 따라 DB 샤드 그룹에 대상 테이블을 만듭니다.
대상 테이블에는 소스 테이블과 동일한 스키마, 테이블 이름 및 프라이머리 키가 있어야 합니다.
데이터베이스 자격 증명 만들기
소스 및 대상 데이터베이스에서 데이터베이스 사용자를 만들고 사용자에게 필요한 권한을 부여해야 합니다. 자세한 내용은 PostgreSQL 설명서에서 CREATE USER
소스 데이터베이스 자격 증명 만들기
소스 데이터베이스 사용자가 명령에서 전달되어 로드를 시작합니다. 이 사용자에게는 소스 데이터베이스에서 복제를 수행할 권한이 있어야 합니다.
-
데이터베이스 마스터 사용자(또는
rds_superuser
역할을 가진 다른 사용자)를 사용하여LOGIN
권한이 있는 소스 데이터베이스 사용자를 만듭니다.CREATE USER
source_db_username
WITH PASSWORD 'source_db_user_password
'; -
소스 데이터베이스 사용자에게
rds_superuser
역할을 부여합니다.GRANT rds_superuser to
source_db_username
; -
full_load_and_cdc
모드를 사용하는 경우 소스 데이터베이스 사용자에게rds_replication
역할을 부여합니다.rds_replication
역할은 논리적 슬롯을 관리하고 논리적 슬롯을 사용하여 데이터를 스트리밍할 수 있는 권한을 부여합니다.GRANT rds_replication to
source_db_username
;
대상 데이터베이스 자격 증명 만들기
대상 데이터베이스 사용자는 DB 샤드 그룹의 대상 테이블에 쓸 수 있는 권한이 있어야 합니다.
-
데이터베이스 마스터 사용자(또는
rds_superuser
역할을 가진 다른 사용자)를 사용하여LOGIN
권한이 있는 대상 데이터베이스 사용자를 만듭니다.CREATE USER
destination_db_username
WITH PASSWORD 'destination_db_user_password
'; -
대상 데이터베이스 사용자에게
rds_superuser
역할을 부여합니다.GRANT rds_superuser to
destination_db_username
;