翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
のターゲットOSSとしての Redis の使用 AWS Database Migration Service
Redis は、データベース、キャッシュ、およびメッセージブローカーとして使用されるオープンソースのインメモリデータ構造ストアOSSです。データ インメモリを管理すると、読み取りまたは書き込みオペレーションにかかる時間が 1 msec 未満になり、毎秒数億のオペレーションが実行される可能性があります。インメモリデータストアである Redis は、ミリ秒未満の応答時間を必要とする最も要求の厳しいアプリケーションOSSを強化します。
を使用すると AWS DMS、サポートされているソースデータベースからターゲット Redis データストアに最小限のダウンタイムでOSSデータを移行できます。Redis の詳細については、「Redis 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 つのいずれかの方法で開始します:
-
AWS DMS コンソールを選択し、そこで各ステップを実行できます。
-
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
または ModifyEndpoint
APIオペレーションを使用できます。
AWS DMS コンソールの Redis OSSターゲットの場合は、エンドポイントの作成またはエンドポイントの変更コンソールページでエンドポイント固有の設定を指定します。
CreateEndpoint
および ModifyEndpoint
APIオペレーションを使用する場合は、 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
— (オプション) 有効な値はplaintext
とssl-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。有効な値は、none
、auth-token
、およびauth-role
です。auth-token
オプションには「」が必要ですAuthPassword
「 を指定し、auth-role
オプションには「」が必要ですAuthUserName
" および "AuthPassword
「 が提供されます。