source

AWS RDS 읽기 복제품:몇 개의 테이블과 열의 복제를 방지하려면 어떻게 해야 합니까?

gigabyte 2022. 10. 29. 09:15
반응형

AWS RDS 읽기 복제품:몇 개의 테이블과 열의 복제를 방지하려면 어떻게 해야 합니까?

저는 RDS MariaDB를 사용하고 있으며 분석에 사용할 수 있는 슬레이브 DB가 필요합니다.AWS Read Replica를 찾고 있지만 중요한 정보를 저장하는 몇 개의 테이블과 열의 복제를 건너뛸 수 있는 프로비저닝을 제공하지 않으므로 슬레이브 DB에 해당 정보를 포함시키고 싶지 않습니다.

AWS Read Replica를 사용하여 몇 개의 테이블과 열의 복제를 건너뛸 수 있습니까?또는 AWS Read Replica에서 이 정보를 Replica DB에서 삭제할 수 있는 AWS Lambda를 작성할 수 있습니까?

AWS Database Migration Service는 다음과 같은 경우에 사용할 수 있습니다.

  • AWS 데이터베이스 마이그레이션 서비스를 사용하여 이기종 소스와 대상 데이터베이스 간에 지속적인 복제를 설정할 수 있습니다.
  • AWS DMS는 소스 및 타깃 데이터베이스 모두에 대해 MariaDB를 지원합니다.
  • AWS DMS는 소스 데이터베이스에서 테이블별 선택을 지원합니다.
  • AWS DMS는 대상 데이터베이스로 변환하는 동안 열을 제거할 수 있습니다.

FAQ에 따르면:

Q. 지속적인 데이터 복제를 위해 일회성 데이터 마이그레이션 외에 AWS Database Migration Service를 사용할 수 있습니까?

예, AWS Database Migration Service는 RDS 및 EC2 기반 데이터베이스로의 일회성 데이터 마이그레이션뿐만 아니라 지속적인 데이터 복제에도 사용할 수 있습니다.AWS Database Migration Service는 소스 데이터베이스의 변경 사항을 캡처하여 트랜잭션별로 일관된 방식으로 대상에 적용합니다.데이터 센터에서 AWS의 데이터베이스로 연속 복제를 수행하거나 반대로 AWS의 데이터베이스에서 데이터 센터 데이터베이스로 복제할 수 있습니다.동종 또는 이종 데이터베이스 간에 지속적인 복제를 수행할 수도 있습니다.레플리케이션을 계속하는 경우는, 고가용성을 위해서 Multi-AZ 를 사용하는 것을 추천합니다.

AWS DMS에 익숙하지 않은 경우 공식 설명서 '시작하기' 페이지를 보고 아래를 계속하십시오.


소스와 동일한 스키마를 사용하여 대상 데이터베이스를 만듭니다.단, 채우지 않을 테이블과 열은 제외합니다.

원본 및 대상 데이터베이스를 DMS와 연결하면 테이블을 제외하거나 열을 제거하는 특정 테이블 매핑과 함께 마이그레이션을 수행하는 태스크를 작성할 수 있습니다.

테이블 제외

rule-action exclude를 사용하여 선택 규칙을 생성하고 제외할 테이블을 지정합니다.다음 문자로 시작하는 탭 이름을 가진 테이블을 제외한 모든 테이블을 마이그레이션하는 설명서의 예DMS%:

{
    "rules": [
        {
            "rule-type": "selection",
            "rule-id": "1",
            "rule-name": "1",
            "object-locator": {
                "schema-name": "Test",
                "table-name": "%"
            },
            "rule-action": "include"
        },
        {
            "rule-type": "selection",
            "rule-id": "2",
            "rule-name": "2",
            "object-locator": {
                "schema-name": "Test",
                "table-name": "DMS%"
            },
            "rule-action": "exclude"
        }
    ]
}

컬럼 삭제

rule-action remove 및 rule-target any를 사용하여 제거할 열의 스키마, 테이블 및 열 이름을 지정하여 변환 규칙을 만듭니다.다음 예에서는 매뉴얼에서도 모든 열을 테스트에서 제거합니다.캐릭터로 시작하는 배우 테이블col:

{
    "rules": [{
        "rule-type": "selection",
        "rule-id": "1",
        "rule-name": "1",
        "object-locator": {
            "schema-name": "test",
            "table-name": "%"
        },
        "rule-action": "include"
    }, {
        "rule-type": "transformation",
        "rule-id": "2",
        "rule-name": "2",
        "rule-action": "remove-column",
        "rule-target": "column",
        "object-locator": {
            "schema-name": "test",
            "table-name": "Actor",
            "column-name": "col%"
        }
    }]
 }

상세 정보

RDS 읽기 복제본은 읽기 전용입니다.이 복제본을 직접 수정할 수 없습니다.

더 나은 방법은 분석 사용자가 특정 테이블에 액세스할 수 없도록 적절한 테이블 및 열 수준 사용 권한을 생성하는 것입니다.

MySQL 테이블 및 열 수준 권한

언급URL : https://stackoverflow.com/questions/47103576/aws-rds-read-replica-how-can-i-avoid-replication-of-few-tables-and-columns

반응형