AWS SCT ソースとしての MySQL の使用 - AWS Schema Conversion Tool

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS SCT ソースとしての MySQL の使用

AWS SCT を使用して、MySQL からのスキーマ、データベースコードオブジェクトおよびアプリケーションコードを次のターゲットに変換できます。

  • Amazon RDS for PostgreSQL

  • Amazon Aurora PostgreSQL 互換エディション

  • Amazon RDS for MySQL

詳細については、次のセクションを参照してください。

ソースデータベースとしての MySQL の権限

ソースとして MySQL に必要な権限を以下に示します。

  • SELECT ON *.*

  • SHOW VIEW ON *.*

ソースとしての MySQL への接続

以下の手順を使用して、AWS Schema Conversion Tool を使用する MySQL ソースデータベースに接続します。

MySQL ソースデータベースに接続するには
  1. AWS Schema Conversion Tool で、[Add source] (ソースの追加) を選択します。

  2. [MySQL] を選択し、その後 [Next] (次へ) を選択します。

    [Add source] (ソースの追加) ダイアログボックスが表示されます。

  3. [接続名] にデータベースの名前を入力します。AWS SCT で、この名前が左側のパネルのツリーに表示されます。

  4. AWS Secrets Manager からのデータベース認証情報を使用するか、手動で入力してください。

    • Secrets Manager のデータベース認証情報を使用するには、以下の手順に従ってください。

      1. [AWS シークレット]で、シークレットの名前を選択します。

      2. [入力] を選択すると、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 name (ユーザー名) と [Password] (パスワード)

      データベース認証情報を入力して、ソース データベース サーバーに接続します。

      AWS SCT でパスワードを使用して、プロジェクト内のデータベースに接続することを選択する場合にのみソースデータベースに接続します。ソースデータベースのパスワードの漏洩を防ぐため、デフォルトで AWS SCT にパスワードは保存されません。AWS SCT プロジェクトを閉じて再び開いた場合は、必要に応じて、ソースデータベースへの接続に使用するパスワードの入力を求められます。

      SSL の使用

      データベースへの接続に Secure Sockets Layer (SSL) を使用する場合は、このオプションを選択します。[SSL] タブで、必要に応じて、以下の追加情報を提供します。

      • [SSL を必須]: SSL を使用してのみサーバーに接続する場合は、このオプションを選択します。

        [Require SSL] (SSL を必須) を選択した場合は、サーバーで SSL がサポートされていないと、サーバーに接続することはできません。[Require SSL] (SSL を必須) を選択しなかった場合は、サーバーで SSL がサポートされていなくても、SSL を使用せずにサーバーに接続できます。詳細については、「セキュア接続を使用するように MySQL を設定する」を参照してください。

      • [サーバー証明書を確認する]: 信頼ストアを使用してサーバー証明書を確認するには、このオプションを選択します。

      • [信頼ストア]: 証明書を保存している信頼ストアの場所。

      Store Password

      AWS SCT は、安全なボールトを作成して、SSL 証明書とデータベースパスワードを保存します。このオプションを有効にすると、データベースのパスワードが保存されるため、パスワードを入力しなくてもデータベースにすばやく接続できます。

      [MySql ドライバーパス]

      ソースデータベースへの接続に使用するドライバのパスを入力します。詳細については、「必要なデータベースドライバーのダウンロード」を参照してください。

      ドライバパスをグローバルプロジェクト設定に保存する場合、ドライバパスは接続ダイアログボックスに表示されません。詳細については、「グローバル設定でのドライバパスの保存」を参照してください。

  5. [Test Connection] (接続のテスト) を選択して、AWS SCT がソースデータベースに正常に接続できることを確認します。

  6. [Connect] (接続) を選択して、ソースデータベースに接続します。

ターゲットデータベースとしての 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 ロールを使用してください。