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 인스턴스를 재부팅해야 변경된 타임존이 적용됩니다.
.
'인프라 > AWS' 카테고리의 다른 글
aws ec2 ubuntu 서버 생성 및 mysql 설치 그리고 java 17 설치 (0) | 2024.09.09 |
---|---|
CloudWatch Logs 에이전트 설치 - Ec2 인스턴스 (0) | 2024.06.26 |
EC2 에 클라우드 와치 적용하기(Cloud Watch) (0) | 2024.06.25 |
CloudFront란 (0) | 2020.05.08 |