のターゲットOSSとしての Redis の使用 AWS Database Migration Service - AWS データベース移行サービス

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

のターゲットOSSとしての Redis の使用 AWS Database Migration Service

Redis は、データベース、キャッシュ、およびメッセージブローカーとして使用されるオープンソースのインメモリデータ構造ストアOSSです。データ インメモリを管理すると、読み取りまたは書き込みオペレーションにかかる時間が 1 msec 未満になり、毎秒数億のオペレーションが実行される可能性があります。インメモリデータストアである Redis は、ミリ秒未満の応答時間を必要とする最も要求の厳しいアプリケーションOSSを強化します。

を使用すると AWS DMS、サポートされているソースデータベースからターゲット Redis データストアに最小限のダウンタイムでOSSデータを移行できます。Redis の詳細については、「Redis OSSドキュメントOSS」を参照してください。

オンプレミス Redis に加えてOSS、 は以下 AWS Database Migration Service をサポートします。

  • ターゲットデータストアとしての Amazon ElastiCache (Redis OSS)。 ElastiCache (Redis OSS) は Redis OSSクライアントと連携し、開いている Redis OSS データ形式を使用してデータを保存します。

  • ターゲットデータストアとしての Amazon MemoryDB。MemoryDB は Redis と互換性OSSがあり、現在使用されているすべての Redis OSS データ構造、、APIsおよび コマンドを使用してアプリケーションを構築できます。

のターゲットOSSとして Redis を使用する方法の詳細については AWS DMS、以下のセクションを参照してください。

のターゲットとして Redis OSSクラスターを使用するための前提条件 AWS DMS

DMS は、スタンドアロン設定で、または複数のノードにまたがってデータが自動的にシャーディングされる Redis OSSクラスターとして、オンプレミスの Redis OSSターゲットをサポートします。シャーディングとは、複数のサーバーまたはノードに分散されるシャードと呼ばれる小さなチャンクにデータを分離するプロセスです。実際、シャードは総データ セットのサブセットを含むデータ パーティションであり、全体的なワークロードのスライスを提供します。

Redis OSSはキー値 NoSQL データストアであるため、ソースがリレーショナルデータベースの場合に使用する Redis OSSキーの命名規則は schema-name.table-name.primary-key です。Redis ではOSS、キーと値に特殊文字 % を含めることはできません。それ以外の場合、 はレコードをDMSスキップします。

注記

ElastiCache (Redis OSS) をターゲットとして使用している場合、 はクラスターモードが有効な設定のみDMSをサポートします。 ElastiCache (Redis OSS) バージョン 6.x 以降を使用してクラスターモードが有効なターゲットデータストアを作成する方法の詳細については、「Amazon ElastiCache (Redis OSS) ユーザーガイド」の「開始方法」を参照してください。

データベースの移行を開始する前に、以下の条件で Redis OSSクラスターを起動します。

  • クラスターに 1 つ以上のシャードがあります。

  • ElastiCache (Redis OSS) ターゲットを使用している場合は、クラスターがIAMロールベースのアクセスコントロールを使用しないようにしてください。代わりに、Redis Auth OSS を使用してユーザーを認証します。

  • マルチ AZ (アベイラビリティーゾーン) を有効にします。

  • データベースから移行されるデータに適合するのに十分なメモリがクラスターにあることを確認します。

  • 最初の移行タスクを開始する前に、ターゲット Redis OSSクラスターにすべてのデータがないことを確認してください。

クラスター構成を作成する前に、データ移行のセキュリティ要件を決定する必要があります。DMS は、暗号化設定に関係なく、ターゲットレプリケーショングループへの移行をサポートします。ただし、暗号化を有効または無効にできるのは、クラスター構成を作成するときに限られます。

のターゲットとして Redis を使用する場合の制限 AWS Database Migration Service

Redis をターゲットOSSとして使用する場合は、次の制限が適用されます。

  • Redis OSSはキー値 no-sql データストアであるため、ソースがリレーショナルデータベースの場合に使用する Redis OSSキーの命名規則は ですschema-name.table-name.primary-key

  • Redis ではOSS、キー値に特殊文字 を含めることはできません%。それ以外の場合、 はレコードをDMSスキップします。

  • DMS は、 %文字を含む行を移行しません。

  • DMS は、フィールド名に %文字を含むフィールドを移行しません。

  • フルLOBモードはサポートされていません。

  • (Redis ) をターゲットとして使用する場合、プライベート認証局 ElastiCache (CAOSS) はサポートされていません。

リレーショナルデータベースまたは非リレーショナルデータベースから Redis OSSターゲットへのデータの移行

任意のソースSQLまたは No data store SQLから Redis OSSターゲットに直接データを移行できます。Redis OSSターゲットへの移行のセットアップと開始は、DMSコンソールまたは を使用した全ロードおよび変更データキャプチャの移行と似ていますAPI。Redis OSSターゲットへのデータベース移行を実行するには、次の手順を実行します。

  • 移行のすべてのプロセスを実行するレプリケーション インスタンスを作成します。詳細については、「レプリケーション インスタンスの作成」をご参照ください。

  • ソースエンドポイントを指定します。詳細については、「ソースおよびターゲットエンドポイントの作成」を参照してください。

  • クラスターDNSの名前とポート番号を見つけます。

  • SSL 接続の検証に使用できる証明書バンドルをダウンロードします。

  • 次の説明に従って、ターゲット エンドポイントを指定します。

  • 使用するテーブルとレプリケーション プロセスを定義するタスクまたはタスクセットを作成します。詳細については、「[Creating a task] (タスクの作成)」をご参照ください。

  • ソースデータベースからターゲット クラスターにデータを移行します。

データベースの移行は、次の 2 つのいずれかの方法で開始します:

  1. AWS DMS コンソールを選択し、そこで各ステップを実行できます。

  2. AWS Command Line Interface () を使用できますAWS CLI。CLI で を使用する方法の詳細については AWS DMS、「」のAWS CLIAWS DMS「」を参照してください。

クラスターDNSの名前とポート番号を見つけるには
  • 次の AWS CLI コマンドを使用して、 replication-group-idにレプリケーショングループの名前を指定します。

    aws elasticache describe-replication-groups --replication-group-id myreplgroup

    ここで、出力には、 Address 属性DNSの名前と、クラスター内のプライマリノードの Port 属性のポート番号が表示されます。

    ... "ReadEndpoint": { "Port": 6379, "Address": "myreplgroup- 111.1abc1d.1111.uuu1.cache.example.com" } ...

    ターゲットとして MemoryDB を使用している場合は、次の AWS CLI コマンドを使用して Redis OSSクラスターにエンドポイントアドレスを指定します。

    aws memorydb describe-clusters --clusterid clusterid
SSL 接続の検証に使用する証明書バンドルをダウンロードする
  • コマンドラインで、以下の wget コマンドを入力します。Wget は、インターネットからファイルをダウンロードするために使用される無料のGNUコマンドラインユーティリティツールです。

    wget https://s3.aws-api-domain/rds-downloads/rds-combined-ca-bundle.pem

    ここで、 は、指定された S3 バケットと が提供する.pem ファイルにアクセスするために必要な リージョンの Amazon S3 ドメインaws-api-domainを完了します。 AWS rds-combined-ca-bundle

AWS DMS コンソールを使用してターゲットエンドポイントを作成するには

このエンドポイントは、すでに実行されている Redis OSSターゲット用です。

  • コンソールで、ナビゲーションペインから [Endpoints] (エンドポイント) を選択し、次に‭ [Create Endpoint] (エンドポイントの作成) を選択します。次の表で設定について説明します。

    使用するオプション この操作を行います

    [Endpoint type] (エンドポイントタイプ)

    [Target] (ターゲット) エンドポイントタイプを選択します。

    [Endpoint identifier] (エンドポイント識別子)

    エンドポイントの名前を入力します。例えば、名前に my-redis-target などのエンドポイントタイプを含めます。

    Target Engine (ターゲット エンジン)

    このエンドポイントに接続するデータベースエンジンのタイプとして Redis OSS を選択します。

    クラスター名

    Redis OSSクラスターDNSの名前を入力します。

    [ポート]

    Redis OSSクラスターのポート番号を入力します。

    SSL セキュリティプロトコル

    プレーンテキストまたはSSL暗号化 を選択します。

    プレーンテキスト — このオプションは、エンドポイントとデータベース間のトラフィックに対して Transport Layer Security (TLS) 暗号化を提供しません。

    SSL 暗号化 — このオプションを選択した場合は、SSL認証局 (CA) 証明書を入力してサーバーの証明書ARNを検証し、暗号化された接続を行います。

    オンプレミス Redis の場合OSS、 はパブリック認証機関 (CA) とプライベート認証機関 (CA) の両方DMSをサポートします。 ElastiCache (Redis OSS) の場合、 はパブリック CA のみDMSをサポートします。

    [Authentication type] (認証タイプ)

    Redis への接続中に実行する認証のタイプを選択しますOSS。オプションには[None] (なし) および [Authentication role] (認証ロール)、[Authentication token] (認証トークン) が含まれます。

    認証ロールを選択した場合は、[Authentication username] (認証ユーザー名) と[Authentication password] (認証パスワード) を入力します。

    認証トークンを選択した場合は、[Authentication password] (認証パスワード) のみ入力します。

    レプリケーションインスタンス

    [Optional] (オプション) 接続をテストする場合のみ、[Create replication instance] (レプリケーション インスタンスの作成) ページで以前に入力したレプリケーション インスタンスの名前を選択します。

エンドポイントのすべての情報の提供が完了すると、 AWS DMS はデータベース移行中に使用する Redis OSSターゲットエンドポイントを作成します。

移行タスクの作成とデータベース移行のスタートについては、「[Creating a task] (タスクの作成)」をご参照ください。

ターゲットOSSとしての Redis のエンドポイント設定の指定

ターゲットエンドポイントを作成または変更するには、コンソールまたは CreateEndpointまたは ModifyEndpointAPIオペレーションを使用できます。

AWS DMS コンソールの Redis OSSターゲットの場合は、エンドポイントの作成またはエンドポイントの変更コンソールページでエンドポイント固有の設定を指定します。

CreateEndpoint および ModifyEndpointAPIオペレーションを使用する場合は、 RedisSettingsオプションのリクエストパラメータを指定します。次の例では、 AWS CLIを使用してこの操作を行う方法を示しています。

aws dms create-endpoint --endpoint-identifier my-redis-target --endpoint-type target --engine-name redis --redis-settings '{"ServerName":"sample-test-sample.zz012zz.cluster.eee1.cache.bbbxxx.com","Port":6379,"AuthType":"auth-token", "SslSecurityProtocol":"ssl-encryption", "AuthPassword":"notanactualpassword"}' { "Endpoint": { "EndpointIdentifier": "my-redis-target", "EndpointType": "TARGET", "EngineName": "redis", "EngineDisplayName": "Redis", "TransferFiles": false, "ReceiveTransferredFiles": false, "Status": "active", "KmsKeyId": "arn:aws:kms:us-east-1:999999999999:key/x-b188188x", "EndpointArn": "arn:aws:dms:us-east-1:555555555555:endpoint:ABCDEFGHIJKLMONOPQRSTUVWXYZ", "SslMode": "none", "RedisSettings": { "ServerName": "sample-test-sample.zz012zz.cluster.eee1.cache.bbbxxx.com", "Port": 6379, "SslSecurityProtocol": "ssl-encryption", "AuthType": "auth-token" } } }

--redis-settingsパラメータは次のとおりです:

  • ServerName– (必須) タイプ ではstring、データが移行される Redis OSSクラスターを指定し、同じ 内にありますVPC。

  • Port— (必須) タイプ number で、エンドポイントへのアクセスに使用されるポート値。

  • SslSecurityProtocol— (オプション) 有効な値は plaintextssl-encryption です。デフォルト: ssl-encryption

    plaintext オプションは、エンドポイントとデータベース間のトラフィックに対して Transport Layer Security (TLS) 暗号化を提供しません。

    ssl-encryption を使用して暗号化された接続を行います。 ssl-encryptionでは、サーバーの証明書を検証ARNするためにSSL認証局 (CA) は必要ありませんが、オプションで SslCaCertificateArn設定を使用して識別できます。認証局が指定されていない場合、 ARNは Amazon ルート CA DMSを使用します。

    オンプレミス Redis OSSターゲットを使用する場合、 SslCaCertificateArnを使用してパブリックまたはプライベート認証局 (CA) を にインポートしDMS、サーバー認証ARNにそれを提供できます。 ElastiCache (Redis OSS) をターゲットとして使用する場合、プライベート CA はサポートされていません。

  • AuthType– (必須) Redis に接続するときに実行する認証のタイプを示しますOSS。有効な値は、noneauth-token、および auth-role です。

    auth-token オプションには「」が必要ですAuthPassword「 を指定し、 auth-roleオプションには「」が必要ですAuthUserName" および "AuthPassword「 が提供されます。