반응형

1. AWS DMS 설정 준비

 

1. RDS 인스턴스 생성

이미 RDS 인스턴스가 생성되어 있다면 이 단계를 건너뛰세요.

RDS에서 MySQL 인스턴스를 생성합니다. 인스턴스 생성 과정에서 적절한 VPC, 서브넷, 보안 그룹 설정을 확인해야 합니다.

 

 

2. IAM 역할 생성

AWS DMS에 필요한 IAM 역할을 생성해야 합니다.

필요한 권한은 AmazonDMSVPCManagementRole, AmazonDMSCloudWatchLogsRole, AmazonDMSRedshiftS3Role입니다.

 

2. AWS DMS 구성

 

1. Replication Instance 생성

AWS Management Console에서 DMS 서비스로 이동합니다.

Replication Instances에서 새로운 레플리케이션 인스턴스를 생성합니다. -

Replication instances를 선택한 후 Create replication instance를 클릭합니다.

복제 인스턴스 세부 정보를 입력합니다:

인스턴스 식별자: dms-replication-instance

인스턴스 클래스: 요구 사항에 맞는 인스턴스 유형 선택

할당된 저장소: 요구 사항에 맞는 스토리지 크기 선택

VPC: EC2와 RDS가 있는 VPC 선택

EC2와 RDS가 있는 동일한 VPC에 레플리케이션 인스턴스를 배치하고, 퍼블릭 액세스 여부를 선택합니다.

 

2. Endpoint 생성

DMS 콘솔에서 Endpoints로 이동하여 두 개의 엔드포인트를 생성합니다.

 

Source Endpoint (EC2 MySQL)

Endpoint type: Source

Engine type: MySQL

Server name: EC2 인스턴스의 퍼블릭 IP 주소 또는 도메인

Port: MySQL 기본 포트 (3306)

Username: MySQL 사용자 이름

Password: MySQL 비밀번호

Database name: MySQL 데이터베이스 이름 (특정 데이터베이스만 마이그레이션하려면)

Target Endpoint (RDS MySQL)

Endpoint type: Target

Engine type: MySQL

Server name: RDS 인스턴스의 엔드포인트 (콘솔에서 확인 가능)

Port: MySQL 기본 포트 (3306)

Username: RDS MySQL 사용자 이름

Password: RDS MySQL 비밀번호

Database name: MySQL 데이터베이스 이름

 

3. Migration Task 생성

Database migration tasks에서 새 마이그레이션 태스크를 생성합니다.

Source와 Target Endpoint를 설정합니다.

Migration type을 Migrate existing data 또는 Migrate existing data and replicate ongoing changes로 선택합니다.

Migrate existing data: 기존 데이터만 마이그레이션합니다.

Migrate existing data and replicate ongoing changes: 기존 데이터 마이그레이션과 동시에 변경 사항을 실시간으로 복제합니다.

테이블 매핑 설정에서 모든 스키마와 테이블을 포함하도록 설정합니다 (% 사용).

태스크 설정에서 데이터 검증, LOB 모드 등의 옵션을 설정할 수 있습니다.

4. Migration Task 시작

태스크를 생성한 후 Start 버튼을 눌러 태스크를 실행합니다.

콘솔에서 태스크 진행 상태를 모니터링할 수 있습니다.

 



Table mappings 섹션에서 테이블 매핑을 설정

시스템 테이블을 제외하려면 다음과 같이 설정하시면 됩니다:

 

1. Schema:

mysql, information_schema, performance_schema, sys 등 시스템 데이터베이스를 제외하려면 각각의 스키마 이름을 Schema 필드에 입력합니다.

2. Source name:

각 스키마에 대해 시스템 테이블이 위치한 스키마 이름을 입력합니다. 예를 들어, mysql 스키마를 제외하려면 mysql을 입력합니다.

3. Source table name:

테이블 이름을 제외하려면, %를 사용하여 모든 테이블을 선택할 수 있습니다.

4. Action:

Exclude로 설정합니다.

 

db 데이터베이스만 가져오도록 DMS 테이블 매핑 규칙을 설정하려면, 다음과 같이 설정할 수 있습니다.

1. Schema 필드: db 입력

2. Source table name: % (모든 테이블을 의미)

3. Action: Include

 

위 설정으로 DMS가 db 데이터베이스의 모든 테이블을 포함하여 마이그레이션하도록 구성됩니다. 다른 데이터베이스는 이 설정으로 제외됩니다.

db 라는 네임스페이스의 db 만 가져옵니다. 

{
  "rules": [
    {
      "rule-type": "selection",
      "rule-id": "1",
      "rule-name": "include-db",
      "object-locator": {
        "schema-name": "db",
        "table-name": "%"
      },
      "rule-action": "include",
      "filters": []
    }
  ]
}

 

Mysql 타임존 수정 방법

1. MySQL 파라미터 그룹 수정

 

RDS의 MySQL 인스턴스에서 타임존을 변경하려면 먼저 파라미터 그룹에서 time_zone 파라미터를 수정해야 합니다.

 

1. 파라미터 그룹 생성 또는 수정:

AWS Management Console에 로그인한 후, RDS 콘솔로 이동합니다.

왼쪽 탐색 창에서 **“Parameter groups”**를 클릭합니다.

새로운 파라미터 그룹을 생성하거나 기존의 파라미터 그룹을 수정합니다.

파라미터 그룹에서 time_zone 파라미터를 찾습니다.

time_zone 파라미터 값을 원하는 타임존으로 설정합니다 (예: Asia/Seoul, UTC, Europe/London 등).

2. 파라미터 그룹 적용:

RDS 인스턴스에 해당 파라미터 그룹을 적용합니다.

파라미터 그룹을 적용한 후에는 RDS 인스턴스를 재부팅해야 새로운 타임존이 적용됩니다

 

2. RDS 인스턴스에 파라미터 그룹 적용

 

1. RDS 인스턴스 수정:

RDS 콘솔에서 타임존을 변경할 RDS 인스턴스를 선택한 후 **“Modify”**를 클릭합니다.

DB parameter group에서 새로 생성한 파라미터 그룹을 선택합니다.

인스턴스를 수정한 후, **“Apply immediately”**를 선택하여 변경 사항을 즉시 적용합니다.

2. 재부팅 필요:

파라미터 그룹이 적용된 후, RDS 인스턴스를 재부팅해야 변경된 타임존이 적용됩니다.

.

반응형

+ Recent posts