MySQL을 AWS SCT에 대한 소스로 사용 - AWS Schema Conversion Tool

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

MySQL을 AWS SCT에 대한 소스로 사용

AWS SCT를 사용하여 스키마, 데이터베이스 코드 객체 및 애플리케이션 코드를 MySQL에서 다음 대상으로 변환할 수 있습니다.

  • Amazon RDS for PostgreSQL

  • Amazon Aurora PostgreSQL-Compatible Edition

  • Amazon RDS for MySQL

자세한 내용은 다음 단원을 참조하세요.

MySQL을 소스 데이터베이스로 사용할 수 있는 권한

MySQL이 소스일 경우 필요한 권한은 다음과 같습니다.

  • SELECT ON *.*

  • SHOW VIEW ON *.*

MySQL 소스에 연결

다음 절차를 통해 AWS Schema Conversion Tool을 사용하여 MySQL 소스 데이터베이스에 연결합니다.

MySQL 소스 데이터베이스에 연결하려면
  1. AWS Schema Conversion Tool에서 소스 추가를 선택합니다.

  2. MySQL을 선택한 후 다음을 선택합니다.

    소스 추가 대화 상자가 나타납니다.

  3. 연결 이름에 데이터베이스의 이름을 입력합니다. AWS SCT는 왼쪽 패널의 트리에 이 이름을 표시합니다.

  4. AWS Secrets Manager의 데이터베이스 보안 인증 정보를 사용하거나 수동으로 입력합니다.

    • Secrets Manager의 데이터베이스 보안 인증 정보를 사용하려면 다음 지침을 따릅니다.

      1. AWS Secret에서 보안 암호의 이름을 선택합니다.

      2. Populate를 선택하여 Secrets Manager에서 데이터베이스 연결 대화 상자에 있는 모든 값을 자동으로 채웁니다.

      Secrets Manager의 데이터베이스 보안 인증 사용에 대한 자세한 내용은 AWS Secrets Manager 사용 섹션을 참조하세요.

    • MySQL 소스 데이터베이스 연결 정보를 수동으로 입력하려면 다음 지침을 사용합니다.

      파라미터 작업
      [Server name]

      소스 데이터베이스 서버의 도메인 이름 시스템(DNS) 이름 또는 IP 주소를 입력합니다.

      IPv6 주소 프로토콜을 사용하여 소스 MySQL 데이터베이스에 연결할 수 있습니다. 이렇게 하려면 다음 예제와 같이 대괄호를 사용하여 IP 주소를 입력해야 합니다.

      [2001:db8:ffff:ffff:ffff:ffff:ffff:fffe]
      [Server port]

      소스 데이터베이스 서버에 연결하는 데 사용되는 포트를 입력합니다.

      User namePassword

      소스 데이터베이스 서버에 연결하는 데 필요한 데이터베이스 보안 인증 정보를 입력합니다.

      프로젝트에서 데이터베이스에 연결하도록 선택한 경우에만 AWS SCT에서 암호를 사용하여 소스 데이터베이스에 연결합니다. 소스 데이터베이스의 암호가 노출될 위험을 방지하기 위해 AWS SCT는 기본적으로 암호를 저장하지 않습니다. AWS SCT 프로젝트를 닫았다 다시 열 경우 필요에 따라 소스 데이터베이스에 연결하기 위한 암호를 입력하라는 메시지가 표시됩니다.

      Use SSL(SSL 사용)

      SSL(Secure Sockets Layer)을 사용하여 데이터베이스에 연결하려면 이 옵션을 선택합니다. SSL 탭에서 다음 추가 정보를 적절히 제공합니다.

      • Require SSL: SSL을 통해서만 서버에 연결하려면 이 옵션을 선택합니다.

        따라서 Require SSL을 선택하면 서버가 SSL을 지원하지 않는 경우 서버에 연결할 수 없습니다. Require SSL을 선택하지 않고 서버가 SSL을 지원하지 않는 경우 SSL을 사용하지 않고 계속 서버에 연결할 수 있습니다. 자세한 내용은 보안 연결을 사용하도록 MySQL 구성을 참조하세요.

      • Verify server certificate: 트러스트 스토어를 사용하여 서버 인증서를 확인하려면 이 옵션을 선택합니다.

      • 트러스트 스토어: 인증서가 있는 트러스트 스토어의 위치입니다.

      Store Password

      AWS SCT는 SSL 인증서와 데이터베이스 암호를 저장할 안전한 볼트를 생성합니다. 이 옵션을 활성화하면 데이터베이스 암호를 저장하고 암호 입력 없이 빠르게 데이터베이스에 연결할 수 있습니다.

      MySql driver path

      소스 데이터베이스에 연결할 때 사용할 드라이버의 경로를 입력합니다. 자세한 내용은 필수 데이터베이스 드라이버 다운로드 섹션을 참조하세요.

      드라이버 경로를 전역 프로젝트 설정에 저장할 경우 드라이버 경로가 연결 대화 상자에 표시되지 않습니다. 자세한 내용은 전역 설정에 드라이버 경로 저장 섹션을 참조하세요.

  5. Test Connection을 선택하여 AWS SCT가 소스 데이터베이스에 연결할 수 있는지 확인합니다.

  6. 연결을 선택하여 소스 데이터베이스에 연결합니다.

PostgreSQL을 대상 데이터베이스로 사용하기 위한 권한

PostgreSQL을 대상으로 사용하려면 AWS SCT에 CREATE ON DATABASE 권한이 필요합니다. 각 대상 PostgreSQL 데이터베이스에 대해 이 권한을 부여해야 합니다.

변환된 공개 동의어를 사용하려면 데이터베이스 기본 검색 경로를 "$user", public_synonyms, public으로 변경합니다.

다음 코드 예제를 사용하여 데이터베이스 사용자를 생성하고 권한을 부여할 수 있습니다.

CREATE ROLE user_name LOGIN PASSWORD 'your_password'; GRANT CREATE ON DATABASE db_name TO user_name; ALTER DATABASE db_name SET SEARCH_PATH = "$user", public_synonyms, public;

이전 예제에서 user_name을 사용자 이름으로 바꿉니다. 그런 다음 db_name을 대상 데이터베이스의 이름으로 바꿉니다. 마지막으로 your_password를 안전한 암호로 바꿉니다.

PostgreSQL에서는 스키마 소유자 또는 superuser만 스키마를 삭제할 수 있습니다. 소유자는 스키마 소유자가 일부 객체를 소유하지 않은 경우에도 스키마 및 이 스키마에 포함된 모든 객체를 삭제할 수 있습니다.

여러 사용자를 통해 대상 데이터베이스를 변환하고 다른 스키마를 적용할 때 AWS SCT에서 스키마를 삭제할 수 없는 경우 오류 메시지가 표시될 수 있습니다. 이 오류 메시지가 표시되지 않도록 하려면 superuser 역할을 사용하세요.