翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
独自の ElastiCache Redis OSSクラスターの設計
以下は、独自の ElastiCache Redis OSSクラスターを設計するために実行する必要がある 1 回限りのアクションです。
設定の詳細については、 ElastiCache 「」を参照してくださいセットアップ ElastiCache。
ステップ 1: サブネットグループの作成
クラスターを作成する前に、まずサブネットグループを作成します。キャッシュサブネットグループは、 のキャッシュクラスターに指定できるサブネットのコレクションですVPC。でキャッシュクラスターを起動するときはVPC、キャッシュサブネットグループを選択する必要があります。次に、 ElastiCache はそのキャッシュサブネットグループを使用して、そのサブネット内の IP アドレスをクラスター内の各キャッシュノードに割り当てます。
新しいサブネットグループを作成する場合は、使用可能な IP アドレス数に注意してください。サブネットの空き IP アドレス数が非常に少ない場合は、クラスターに追加できるノード数が制約される可能性があります。この問題を解決するために、クラスターのアベイラビリティーゾーンで十分な数の IP アドレスを使用できるように、サブネットグループに 1 つ以上のサブネットを割り当てることができます。その後で、クラスターにノードを追加できます。
以下の手順では、mysubnetgroup
(コンソール)および AWS CLIというサブネットグループを作成する方法を示します。
次の手順では、サブネットグループ (コンソール) を作成する方法を示します。
サブネットグループ (コンソール) を作成するには
-
AWS マネジメントコンソールにサインインし、 で ElastiCache コンソールを開きますhttps://console.aws.amazon.com/elasticache/
。 -
ナビゲーションリストで [ Subnet Groups] を選択します。
-
Create Subnet Group を選択します。
-
Create Subnet Group ウィザードで、次の操作を行います。すべての設定が正しいことを確認したら、[Yes, Create] を選択します。
-
Name ボックスにサブネットグループの名前を入力します。
-
Description ボックスにサブネットグループの説明を入力します。
-
VPC ID ボックスで、VPC作成した Amazon を選択します。
-
[Availability Zone] および [Subnet ID] リストで、プライベートサブネットのアベイラビリティーゾーンまたは [Local Zone] と ID を選択し、[Add] を選択します。
-
-
表示された確認メッセージで、Close を選択します。
新しいサブネットグループは、 ElastiCache コンソールのサブネットグループリストに表示されます。ウィンドウの下部で、サブネットグループを選択して、ウィンドウの下部で詳細 (このグループに関連付けられているすべてのサブネットなど) を確認します。
コマンドプロンプトで、create-cache-subnet-group
コマンドを使用してサブネットグループを作成します。
Linux、macOS、Unix の場合:
aws elasticache create-cache-subnet-group \ --cache-subnet-group-name
mysubnetgroup
\ --cache-subnet-group-description"Testing"
\ --subnet-idssubnet-53df9c3a
Windows の場合:
aws elasticache create-cache-subnet-group ^ --cache-subnet-group-name
mysubnetgroup
^ --cache-subnet-group-description"Testing"
^ --subnet-idssubnet-53df9c3a
このコマンドでは、次のような出力が生成されます。
{
"CacheSubnetGroup": {
"VpcId": "vpc-37c3cd17",
"CacheSubnetGroupDescription": "Testing",
"Subnets": [
{
"SubnetIdentifier": "subnet-53df9c3a",
"SubnetAvailabilityZone": {
"Name": "us-west-2a"
}
}
],
"CacheSubnetGroupName": "mysubnetgroup"
}
}
詳細については、 AWS CLI 「」トピックを参照してください。create-cache-subnet-group.
ステップ 2: クラスターを作成する
実稼働用のクラスターを作成する前に、ビジネスニーズに合わせてクラスターをどのように設定するかを検討する必要があります。これらの問題については、ElastiCache でクラスターを準備する セクションで対応します。この「使用開始」の演習では、クラスターモードを無効にしてクラスターを作成し、適用するデフォルトの設定値を受け入れます。
作成するクラスターはライブとなりますが、サンドボックスで実行されるわけではありません。インスタンスを削除するまで、インスタンスの標準 ElastiCache 使用料が発生します。ここで説明する演習を一気に完了し、終了時にクラスターを削除すれば、使用料合計はごくわずかです (通常 1 ドル未満です)。 ElastiCache 使用料の詳細については、「Amazon ElastiCache
クラスターは、Amazon VPCサービスに基づいて仮想プライベートクラウド (VPC) で起動されます。
Redis OSS (クラスターモードが無効) クラスターの作成 (コンソール)
ElastiCache コンソールを使用して Redis OSS (クラスターモードが無効) クラスターを作成するには
-
にサインイン AWS Management Console し、 で Amazon ElastiCache コンソールを開きますhttps://console.aws.amazon.com/elasticache/
。 -
右上隅のリストから、このクラスターを起動する AWS リージョンを選択します。
-
ナビゲーションペインで、[Get started] (開始) を選択します。
VPC 「仮想プライベートクラウドの作成 (VPC)」で説明されているステップに従って作成を選択します。
ElastiCache ダッシュボードページで、Valkey キャッシュまたは Redis OSSキャッシュを選択します。この演習では、Redis OSSキャッシュを選択し、Redis OSSキャッシュの作成を選択します。
-
[クラスター設定] で、以下を実行します。
[Configure and create a new cluster] (新しいクラスターを設定および作成) を選択します。
[Cluster mode] (クラスターモード) で、[Disabled] (無効) を選択します。
-
[Cluster info] (クラスター情報) で、[Name] (名前) の値を入力します。
-
(オプション) [Description] (説明) の値を入力します。
[Location] (場所):
クラスターのステータスが利用可能になるとすぐに、Amazon にクラスターEC2へのアクセスを許可し、クラスターに接続して、使用を開始できます。詳細については、ステップ 3. クラスターへのアクセスを許可するおよびステップ 4. クラスターのノードに接続するを参照してください。
重要
クラスターが使用可能になった後、クラスターがアクティブである間は (実際に使用していない場合でも)、時間に応じた料金が発生します。このクラスターに対する課金を中止するには、クラスターを削除する必要があります。「でのクラスターの削除 ElastiCache」を参照してください。
例
次のCLIコードは、レプリカなしで Redis OSS (クラスターモードが無効) キャッシュクラスターを作成します。
Linux、macOS、Unix の場合:
aws elasticache create-cache-cluster \ --cache-cluster-id
my-cluster
\ --cache-node-typecache.r4.large
\ --engineredis
\ --num-cache-nodes1
\ --snapshot-arnsarn:aws:s3:::my_bucket/snapshot.rdb
Windows の場合:
aws elasticache create-cache-cluster ^ --cache-cluster-id
my-cluster
^ --cache-node-typecache.r4.large
^ --engineredis
^ --num-cache-nodes1
^ --snapshot-arnsarn:aws:s3:::my_bucket/snapshot.rdb
有効になっているクラスターモードを使用するには、以下のトピックを参照してください。
コンソールを使用するには、「Valkey または Redis OSS (クラスターモードが有効) クラスターの作成 (コンソール)」を参照してください。
を使用するには AWS CLI、「」を参照してくださいValkey または Redis OSS (クラスターモードが有効) クラスターの作成 (AWS CLI)。
ステップ 3: クラスターへのアクセスの許可
このセクションでは、Amazon EC2インスタンスの起動と接続に精通していることを前提としています。詳細については、「Amazon EC2 入門ガイド」を参照してください。
すべての ElastiCache クラスターは、Amazon EC2インスタンスからアクセスするように設計されています。最も一般的なシナリオは、同じ Amazon Virtual Private Cloud (Amazon VPC) の Amazon EC2インスタンスから ElastiCache クラスターにアクセスすることです。これは、この演習でも同様です。
デフォルトでは、クラスターへのネットワークアクセスは、クラスターの作成に使用されたアカウントに制限されます。EC2 インスタンスからクラスターに接続する前に、EC2インスタンスがクラスターにアクセスすることを許可する必要があります。必要なステップは、クラスターを EC2-VPCClassic または EC2-Classic のどちらで起動したかによって異なります。
最も一般的なユースケースは、EC2インスタンスにデプロイされたアプリケーションが同じ のクラスターに接続する必要がある場合ですVPC。同じ 内のEC2インスタンスとクラスター間のアクセスを管理する最も簡単な方法は、次の操作を行うことVPCです。
-
クラスターVPCのセキュリティグループを作成します。このセキュリティグループは、クラスターインスタンスへのアクセスを制限するのに使用できます。たとえば、このセキュリティグループのカスタムルールを作成して、クラスターの作成時にクラスターに割り当てたポートと、クラスターへのアクセスに使用する IP アドレスを使用してTCPアクセスを許可できます。
Redis OSSクラスターとレプリケーショングループのデフォルトポートは です
6379
。重要
Amazon ElastiCache セキュリティグループは、Amazon Virtual Private Cloud 環境 () で実行されていないクラスターにのみ適用されますVPC。Amazon Virtual Private Cloud で実行している場合、[セキュリティグループ ] はコンソールのナビゲーションペインでは使用できません。
Amazon で ElastiCache ノードを実行している場合はVPC、 ElastiCache セキュリティグループとは異なる Amazon VPC セキュリティグループを使用してクラスターへのアクセスを制御します。Amazon ElastiCache での の使用の詳細についてはVPC、「」を参照してください。 Amazon VPC と ElastiCache のセキュリティ
-
EC2 インスタンス (ウェブサーバーとアプリケーションサーバー) VPCのセキュリティグループを作成します。このセキュリティグループは、必要に応じて、 VPCのルーティングテーブルを介してインターネットからEC2インスタンスへのアクセスを許可できます。例えば、このセキュリティグループのルールを設定して、ポート 22 経由でEC2インスタンスTCPへのアクセスを許可できます。
-
EC2 インスタンス用に作成したセキュリティグループからの接続を許可するクラスターのセキュリティグループにカスタムルールを作成します。これは、セキュリティグループのメンバーにクラスターへのアクセスを許可します。
注記
でのローカルゾーンの使用 ElastiCache の使用を予定している場合、これが有効になっていることを確認します。そのローカルゾーンにサブネットグループを作成すると、 VPCはそのローカルゾーンに拡張され、 VPCはそのサブネットを他のアベイラビリティーゾーンのサブネットとして扱います。関連するすべてのゲートウェイとルートテーブルが自動的に調整されます。
別のVPCセキュリティグループからの接続を許可するルールをセキュリティグループに作成するには
-
AWS マネジメントコンソールにサインインし、https://console.aws.amazon.com/vpc
で Amazon VPCコンソールを開きます。 -
ナビゲーションペインで、[Security Groups] を選択します。
-
クラスターインスタンスに使用するセキュリティグループを選択または作成します。インバウンドルール で、インバウンドルールの編集 を選択し、ルールの追加 を選択します。このセキュリティグループは、他のセキュリティグループのメンバーへのアクセスを許可します。
-
タイプ カスタムTCPルール を選択します。
-
Port Range ポートには、クラスター作成時に使用したポートを指定します。
Redis OSSクラスターとレプリケーショングループのデフォルトポートは です
6379
。 -
ソース ボックスに、セキュリティグループの ID の入力を開始します。リストから、Amazon EC2インスタンスに使用するセキュリティグループを選択します。
-
-
終了したら、保存 を選択します。
アクセスを有効にしたので、次のセクションで説明するように、ノードに接続する準備が整いました。
別の Amazon 、別の AWS リージョンVPC、または企業ネットワークからElastiCache クラスターにアクセスする方法については、以下を参照してください。
ステップ 4: クラスターのノードに接続する
続行する前に、「ステップ 3: クラスターへのアクセスの許可」を完了します。
このセクションでは、Amazon EC2インスタンスを作成し、そのインスタンスに接続できることを前提としています。これを行う方法については、「Amazon EC2 入門ガイド」を参照してください。
Amazon EC2インスタンスは、クラスターノードへの接続を許可した場合にのみ接続できます。
ノードのエンドポイントを見つける
クラスターが使用可能な状態で、クラスターへのアクセスを許可したら、Amazon EC2インスタンスにログインしてクラスターに接続できます。そのためには、最初にエンドポイントを確認する必要があります。
Valkey または Redis OSS (クラスターモードが無効) クラスターのエンドポイントの検索 (コンソール)
Redis OSS (クラスターモードが無効) クラスターにノードが 1 つしかない場合、ノードのエンドポイントは読み取りと書き込みの両方に使用されます。クラスターに複数のノードがある場合は、プライマリエンドポイント、リーダーエンドポイント、ノードエンドポイントの 3 種類のエンドポイントがあります。
プライマリエンドポイントは、クラスター内のプライマリノードに常に解決されるDNS名前です。プライマリエンドポイントは、リードレプリカのプライマリロールへの昇格など、クラスターに対する変更の影響を受けません。書き込みアクティビティの場合、アプリケーションをプライマリエンドポイントに接続することをお勧めします。
リーダーエンドポイントは、エンドポイントへの着信接続を ElastiCache 、 for Redis OSSクラスター内のすべてのリードレプリカ間で均等に分割します。アプリケーションがいつ接続を作成するか、アプリケーションが接続をどのように (再) 利用するかなどの追加要因によって、トラフィックの分散が決定されます。レプリカが追加または削除されても、読み込みエンドポイントはリアルタイムでクラスターの変更に対応します。 ElastiCache for Redis OSSクラスターの複数のリードレプリカを異なるアベイラ AWS ビリティーゾーン (AZ) に配置して、リーダーエンドポイントの高可用性を確保できます。
注記
リーダーエンドポイントはロードバランサーではありません。これは、ラウンドロビン方式でレプリカノードの 1 つの IP アドレスに解決されるDNSレコードです。
読み取りアクティビティの場合、アプリケーションはクラスター内のいずれのノードにも接続できます。プライマリエンドポイントとは異なり、ノードエンドポイントは特定のエンドポイントに解決されます。レプリカの追加または削除など、クラスターに変更を加えた場合は、アプリケーションでノードエンドポイントを更新する必要があります。
Redis OSS (クラスターモードが無効) クラスターのエンドポイントを検索するには
-
にサインイン AWS Management Console し、 https://console.aws.amazon.com/elasticache/
で ElastiCache コンソールを開きます。 -
ナビゲーションペインから、Redis OSSキャッシュを選択します。
クラスター画面には、既存の Valkey または Redis OSSサーバーレスキャッシュ、Redis OSS (クラスターモードが無効) クラスター、Redis OSS (クラスターモードが有効) クラスターを含むリストが表示されます。Redis OSS (クラスターモードが無効) クラスターの作成 (コンソール) のセクションで作成したものを選択します。
-
クラスターのプライマリエンドポイントやリーダーエンドポイントを検索するには、クラスターの名前 (ラジオボタンではない) を選択します。
Redis OSS (クラスターモードが無効) クラスターのプライマリエンドポイントとリーダーエンドポイント
クラスターに 1 つのみのノードがある場合、プライマリエンドポイントはないため、次のステップに進むことができます。
-
Redis OSS (クラスターモードが無効) クラスターにレプリカノードがある場合は、クラスターの名前を選択し、Nodes タブを選択することで、クラスターのレプリカノードエンドポイントを見つけることができます。
ノードの画面では、クラスター内のプライマリとレプリカの各ノードがそのエンドポイントと共に表示されます。
Redis OSS (クラスターモードが無効) クラスターのノードエンドポイント
-
エンドポイントをクリップボードにコピーするには:
-
一度に 1 つのみ、コピーするエンドポイントを見つけます。
-
エンドポイントアドレスのすぐ前にあるコピーアイコンを選択します。
エンドポイントがクリップボードにコピーされます。エンドポイントを使用してノードに接続する方法については、「ノードに接続する」を参照してください。
-
Redis OSS (クラスターモードが無効) プライマリエンドポイントは次のようになります。転送時の暗号化が有効かどうかによって違いがあります。
転送時の暗号化が無効
clusterName.xxxxxx
.nodeId
.regionAndAz
.cache.amazonaws.com:port
redis-01.7abc2d.0001.usw2.cache.amazonaws.com:6379
転送時の暗号化が有効
master.clusterName
.xxxxxx
.regionAndAz
.cache.amazonaws.com:port
master.ncit.ameaqx.use1.cache.amazonaws.com:6379
エンドポイントを見つける方法の詳細については、実行中のエンジンとクラスターの該当するトピックを参照してください。
必要なエンドポイントができたので、EC2インスタンスにログインし、クラスターまたはレプリケーショングループに接続できます。次の例では、valkey-cli ユーティリティを使用して、クラスターに接続します。最新バージョンの valkey-cli では、SSL/TLS for connecting encryption/authentication有効なクラスターもサポートされています。
次の例では、Amazon Linux および Amazon Linux 2 を実行している Amazon EC2インスタンスを使用します。他の Linux ディストリビューションでの valkey-cli のインストールとコンパイルの詳細については、ご使用のオペレーティングシステムのドキュメントを参照してください。
注記
このプロセスでは、計画外の使用のみの、valkey-cli ユーティリティを使用した接続のテストをカバーしています。サポートされるクライアントのリストについては、「Valkey ドキュメント
クラスターモードが無効な非暗号化クラスターへの接続
次のコマンドを実行してクラスターに接続し、
primary-endpoint
とport number
をクラスターのエンドポイントとポート番号に置き換えます。(Valkey と Redis のデフォルトポートは 6379 OSSです)。src/valkey-cli -h
primary-endpoint
-pport number
次のようなコマンドプロンプトが表示されます。
primary-endpoint
:port number
Valkey コマンドと Redis OSS コマンドを実行できるようになりました。
set x Hello OK get x "Hello"
クラスターモードが有効の非暗号化クラスターへの接続
次のコマンドを実行してクラスターに接続し、
configuration-endpoint
と をクラスターのエンドポイントとポート番号port number
に置き換えます。(Valkey と Redis のデフォルトポートは 6379 OSSです)。src/valkey-cli -h
configuration-endpoint
-c -pport number
注記
前述のコマンドでは、オプション -c は - および -ASK MOVEDリダイレクト
の後にクラスターモードを有効にします。 次のようなコマンドプロンプトが表示されます。
configuration-endpoint
:port number
Valkey コマンドと Redis OSS コマンドを実行できるようになりました。リダイレクトは、-c オプションを使用して有効にしたために発生します。リダイレクトが有効になっていない場合、コマンドは MOVED エラーを返します。MOVED エラーの詳細については、「 クラスター仕様
」を参照してください。 set x Hi -> Redirected to slot [16287] located at 172.31.28.122:6379 OK set y Hello OK get y "Hello" set z Bye -> Redirected to slot [8157] located at 172.31.9.201:6379 OK get z "Bye" get x -> Redirected to slot [16287] located at 172.31.28.122:6379 "Hi"
暗号化/認証が有効なクラスターへの接続
デフォルトでは、valkey-cli は Valkey および Redis に接続するTCPときに暗号化されていない接続を使用しますOSS。オプションは、前のコマンドラインアクセスをダウンロードしてセットアップするセクションに示すように、valkey-cli コンパイル時に SSL/TLS BUILD_TLS=yes
を有効にします。有効化AUTHはオプションです。ただし、 を有効にするには、転送中の暗号化を有効にする必要がありますAUTH。暗号化と認証の詳細については ElastiCache 、「」を参照してくださいElastiCache 転送時の暗号化 (TLS)。
注記
valkey-cli でオプション --tls
を使用して、クラスターモードが有効および無効の両方の暗号化されたクラスターに接続できます。クラスターに AUTHトークンが設定されている場合は、 オプションを使用してAUTHパスワード-a
を指定できます。
次の例では、 cluster-endpoint
と をクラスターのエンドポイントとポート番号port number
に置き換えてください。(Redis のデフォルトポートは 6379 OSSです)。
クラスターモードが無効の暗号化されたクラスターに接続する
次の例では、暗号化および認証が有効のクラスターに接続します。
src/valkey-cli -h
cluster-endpoint
--tls -ayour-password
-pport number
次の例では、暗号化のみが有効なクラスターに接続します。
src/valkey-cli -h
cluster-endpoint
--tls -pport number
クラスターモードが有効の暗号化されたクラスターへの接続
次の例では、暗号化および認証が有効のクラスターに接続します。
src/valkey-cli -c -h
cluster-endpoint
--tls -ayour-password
-pport number
次の例では、暗号化のみが有効なクラスターに接続します。
src/valkey-cli -c -h
cluster-endpoint
--tls -pport number
クラスターに接続したら、暗号化されていないクラスターの前述の例に示すように、Valkey または Redis OSS コマンドを実行できます。
valkey-cli または Redis-cli の代替
クラスターがクラスターモード有効ではなく、valkey-cli または redis-cli コンパイルを行わずに、短いテストのためにクラスターに接続する必要がある場合、telnet または openssl を使用できます。次のコマンド例では、 cluster-endpoint
と をクラスターのエンドポイントとポート番号port number
に置き換えてください。(Redis のデフォルトポートは 6379 OSSです)。
次の例では、暗号化および/または認証が有効のクラスターモードが無効のクラスターに接続します。
openssl s_client -connect
cluster-endpoint
:port number
クラスターにパスワードが設定されている場合は、まずクラスターに接続します。接続後、次のコマンドを使用してクラスターを認証してから、Enter
キーを押します。次の例では、 をクラスターのパスワードyour-password
に置き換えます。
Auth
your-password
次の例では、暗号化または認証が有効ではないクラスターモードが無効のクラスターに接続します。
telnet
cluster-endpoint
port number
Valkey または Redis を使用して EC2 Windows インスタンスからクラスターに接続するにはOSSCLI、valkey-cli パッケージをダウンロードし、valkey-cli.exe を使用して EC2 Windows インスタンスから Valkey または Redis OSSクラスターに接続する必要があります。
次の例では、valkey-cli ユーティリティを使用して、暗号化が有効ではなく、Valkey または Redis を実行しているクラスターに接続しますOSS。Valkey と使用可能なコマンドの詳細については、Valkey ウェブサイトの「Valkey commands
valkey-cli を使用して暗号化が有効になっていない Valkey または Redis OSSクラスターに接続するには
-
選択した接続ユーティリティを使用して Amazon EC2インスタンスに接続します。Amazon EC2インスタンスに接続する方法については、「Amazon EC2 入門ガイド」を参照してください。
インターネットブラウザhttps://github.com/microsoftarchive/redis/releases/download/win-3.0.504/Redis-x64-3.0.504.zip
でリンクをコピーして貼り付け、 で利用可能なリリースから Redis OSSクライアントの zip ファイルをダウンロードします。 GitHub https://github.com/microsoftarchive/redis/releases/tag/win-3.0.504 zip ファイルを目的のフォルダ/パスに展開します。
コマンドプロンプトを開き、Valkey ディレクトリに移動して、コマンド
c:\Valkey>valkey-cli -h
を実行します。Valkey_Cluster_Endpoint
-p 6379以下に例を示します。
c:\Valkey>valkey-cli -h cmd.xxxxxxx.ng.0001.usw2.cache.amazonaws.com -p 6379
-
Valkey または Redis OSS コマンドを実行します。
これでクラスターに接続され、次のような Valkey または Redis OSS コマンドを実行できます。
set a "hello"
// Set key "a" with a string value and no expiration OKget a
// Get value for key "a" "hello"get b
// Get value for key "b" results in miss (nil)set b "Good-bye" EX 5
// Set key "b" with a string value and a 5 second expiration "Good-bye"get b
// Get value for key "b" "Good-bye" // wait >= 5 secondsget b
(nil) // key has expired, nothing returnedquit
// Exit from valkey-cli