翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
独自の ElastiCache (バルキー) クラスターの設計
ElastiCache (バルキー) クラスターの設計を開始するために実行する必要がある 1 回限りのアクションを次に示します。
ステップ 1: サブネットグループの作成
ElastiCache (バルキー) クラスターを作成する前に、まずサブネットグループを作成します。キャッシュサブネットグループは、 内のキャッシュクラスターに指定するサブネットのコレクションですVPC。でキャッシュクラスターを起動するときはVPC、キャッシュサブネットグループを選択する必要があります。次に、そのキャッシュサブネットグループ ElastiCache を使用して、そのサブネット内の IP アドレスをクラスター内の各キャッシュノードに割り当てます。
新しいサブネットグループを作成する場合は、使用可能な IP アドレス数に注意してください。サブネットの空き IP アドレス数が非常に少ない場合は、クラスターに追加できるノード数が制約される可能性があります。この問題を解決するために、クラスターのアベイラビリティーゾーンで十分な数の IP アドレスを使用できるように、サブネットグループに 1 つ以上のサブネットを割り当てることができます。その後で、クラスターにノードを追加できます。
設定の詳細については、 ElastiCache 「」を参照してくださいのセットアップ ElastiCache。
以下の手順では、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 を選択します。
-
アベイラビリティーゾーンとサブネット ID リストで、プライベートサブネットのアベイラビリティーゾーンまたは でのローカルゾーンの使用 ElastiCache と ID を選択し、 の追加を選択します。
-
-
表示された確認メッセージで、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) で起動されます。
Valkey (クラスターモードが無効) クラスターの作成 (コンソール)
ElastiCache コンソールを使用して Valkey (クラスターモードが無効) クラスターを作成するには
-
にサインイン AWS Management Console し、 で Amazon ElastiCache コンソールを開きますhttps://console.aws.amazon.com/elasticache/
。 -
右上隅のリストから、このクラスターを起動する AWS リージョンを選択します。
-
ナビゲーションペインで、[Get started] (開始) を選択します。
「仮想VPCプライベートクラウドの作成」 (VPC) で説明されているステップに従って作成「」を選択します。
ElastiCache ダッシュボードページで、Valkey キャッシュまたは Redis OSSキャッシュ を選択し、Valkey キャッシュの作成 または Redis OSSキャッシュ を選択します。
-
[クラスター設定] で、以下を実行します。
[Configure and create a new cluster] (新しいクラスターを設定および作成) を選択します。
[Cluster mode] (クラスターモード) で、[Disabled] (無効) を選択します。
-
[Cluster info] (クラスター情報) で、[Name] (名前) の値を入力します。
-
(オプション) [Description] (説明) の値を入力します。
[Location] (場所):
クラスターのステータスが使用可能になるとすぐに、クラスターEC2へのアクセスを Amazon に許可し、クラスターに接続して使用を開始できます。詳細については、「ステップ 3. クラスターへのアクセスを許可する」および「ステップ 4. クラスターのノードに接続する」を参照してください。
重要
クラスターが使用可能になった後、クラスターがアクティブである間は (実際に使用していない場合でも)、時間に応じた料金が発生します。このクラスターに対する課金を中止するには、クラスターを削除する必要があります。「でのクラスターの削除 ElastiCache」を参照してください。
例
次のCLIコードは、レプリカのない Valkey (クラスターモードが無効) キャッシュクラスターを作成します。
Linux、macOS、Unix の場合:
aws elasticache create-cache-cluster \ --cache-cluster-id
my-cluster
\ --cache-node-typecache.r4.large
\ --enginevalkey
\ --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
^ --enginevalkey
^ --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インスタンスにデプロイされたアプリケーションが同じ のクラスターに接続する必要がある場合ですVPC。同じ のEC2インスタンスとクラスター間のアクセスを管理する最も簡単な方法はVPC、以下を実行することです。
-
クラスターVPCのセキュリティグループを作成します。このセキュリティグループは、クラスターインスタンスへのアクセスを制限するのに使用できます。例えば、このセキュリティグループのカスタムルールを作成して、クラスターの作成時にクラスターに割り当てたポートと、クラスターTCPへのアクセスに使用する IP アドレスを使用してアクセスを許可できます。
Valkey または Redis OSSクラスターとレプリケーショングループのデフォルトポートは です
6379
。重要
Amazon ElastiCache セキュリティグループは、Amazon Virtual Private Cloud 環境 () で実行されていないクラスターにのみ適用されますVPC。Amazon Virtual Private Cloud で実行している場合、[セキュリティグループ ] はコンソールのナビゲーションペインでは使用できません。
Amazon で ElastiCache ノードを実行している場合はVPC、 ElastiCache セキュリティグループとは異なる Amazon VPC セキュリティグループを使用してクラスターへのアクセスを制御します。Amazon ElastiCache での の使用の詳細についてはVPC、「」を参照してください。 Amazon VPCs と ElastiCache セキュリティ
-
EC2 インスタンス (ウェブサーバーとアプリケーションサーバー) VPC のセキュリティグループを作成します。このセキュリティグループは、必要に応じて、 VPCのルーティングテーブルを介してインターネットからEC2インスタンスへのアクセスを許可できます。例えば、このセキュリティグループのルールを設定して、ポート 22 経由でEC2インスタンスTCPへのアクセスを許可できます。
-
EC2 インスタンス用に作成したセキュリティグループからの接続を許可するカスタムルールをクラスターのセキュリティグループに作成します。これは、セキュリティグループのメンバーにクラスターへのアクセスを許可します。
注記
[Local Zones] の使用を計画している場合、それらが有効になっていることを確認します。そのローカルゾーンにサブネットグループを作成すると、 VPCはそのローカルゾーンに拡張され、 VPCはサブネットを他のアベイラビリティーゾーンの任意のサブネットとして扱います。関連するすべてのゲートウェイとルートテーブルが自動的に調整されます。
別のVPCセキュリティグループからの接続を許可するルールをセキュリティグループに作成するには
-
AWS マネジメントコンソールにサインインし、https://console.aws.amazon.com/vpc
で Amazon VPCコンソールを開きます。 -
ナビゲーションペインで、[Security Groups] を選択します。
-
クラスターインスタンスに使用するセキュリティグループを選択または作成します。インバウンドルール で、インバウンドルールの編集 を選択し、ルールの追加 を選択します。このセキュリティグループは、他のセキュリティグループのメンバーへのアクセスを許可します。
-
タイプ からカスタムTCPルール を選択します。
-
Port Range ポートには、クラスター作成時に使用したポートを指定します。
Valkey または Redis OSSクラスターとレプリケーショングループのデフォルトポートは です
6379
。 -
ソース ボックスに、セキュリティグループの ID の入力を開始します。リストから、Amazon EC2インスタンスに使用するセキュリティグループを選択します。
-
-
終了したら、保存 を選択します。
アクセスを有効にしたので、次のセクションで説明するように、ノードに接続する準備が整いました。
別の Amazon 、別の AWS リージョンVPC、または企業ネットワークからElastiCache クラスターにアクセスする方法については、以下を参照してください。
ステップ 4. クラスターのノードに接続する
続行する前に、「ステップ 3. クラスターへのアクセスを許可する」を完了します。
このセクションでは、Amazon EC2インスタンスを作成し、接続できることを前提としています。これを行う方法については、「Amazon EC2 入門ガイド」を参照してください。
Amazon EC2インスタンスは、クラスターノードへの接続を許可した場合にのみ接続できます。
ノードのエンドポイントを見つける
クラスターが使用可能な状態で、クラスターへのアクセスを許可したら、Amazon EC2インスタンスにログインしてクラスターに接続できます。そのためには、最初にエンドポイントを確認する必要があります。
Valkey (クラスターモードが無効) クラスターのエンドポイントの検索 (コンソール)
Valkey (クラスターモードが無効) クラスターに 1 つのノードしかない場合、ノードのエンドポイントは読み取りと書き込みの両方に使用されます。クラスターに複数のノードがある場合は、プライマリエンドポイント、リーダーエンドポイント、ノードエンドポイントの 3 種類のエンドポイントがあります。
プライマリエンドポイントは、クラスター内のプライマリノードに常に解決されるDNS名前です。プライマリエンドポイントは、リードレプリカのプライマリロールへの昇格など、クラスターに対する変更の影響を受けません。書き込みアクティビティの場合、アプリケーションをプライマリエンドポイントに接続することをお勧めします。
リーダーエンドポイントは、 ElastiCache クラスター内のすべてのリードレプリカ間でエンドポイントへの着信接続を均等に分割します。アプリケーションがいつ接続を作成するか、アプリケーションが接続をどのように (再) 利用するかなどの追加要因によって、トラフィックの分散が決定されます。レプリカが追加または削除されても、読み込みエンドポイントはリアルタイムでクラスターの変更に対応します。 ElastiCache クラスターの複数のリードレプリカを異なる AWS アベイラビリティーゾーン (AZ) に配置して、リーダーエンドポイントの高可用性を確保できます。
注記
リーダーエンドポイントはロードバランサーではありません。これは、レプリカノードの 1 つの IP アドレスにラウンドロビン方式で解決されるDNSレコードです。
読み取りアクティビティの場合、アプリケーションはクラスター内のいずれのノードにも接続できます。プライマリエンドポイントとは異なり、ノードエンドポイントは特定のエンドポイントに解決されます。レプリカの追加または削除など、クラスターに変更を加えた場合は、アプリケーションでノードエンドポイントを更新する必要があります。
Valkey (クラスターモードが無効) クラスターのエンドポイントを検索するには
-
にサインイン AWS Management Console し、 https://console.aws.amazon.com/elasticache/
で ElastiCache コンソールを開きます。 -
ナビゲーションペインから、バルキーキャッシュ または Redis OSSキャッシュ を選択します。
クラスター画面には、既存の Valkey または Redis OSSサーバーレスキャッシュ、Valkey (クラスターモードが無効)、および Valkey (クラスターモードが有効) クラスターを含むリストが表示されます。Valkey (クラスターモードが無効) クラスターの作成 (コンソール) のセクションで作成したものを選択します。
-
クラスターのプライマリエンドポイントやリーダーエンドポイントを検索するには、クラスターの名前 (ラジオボタンではない) を選択します。
Valkey (クラスターモードが無効) クラスターのプライマリエンドポイントとリーダーエンドポイント
クラスターに 1 つのみのノードがある場合、プライマリエンドポイントはないため、次のステップに進むことができます。
-
Valkey (クラスターモードが無効) クラスターにレプリカノードがある場合は、クラスター名を選択し、Nodes タブを選択することで、クラスターのレプリカノードエンドポイントを見つけることができます。
ノードの画面では、クラスター内のプライマリとレプリカの各ノードがそのエンドポイントと共に表示されます。
Valkey (クラスターモードが無効) クラスターのノードエンドポイント
-
エンドポイントをクリップボードにコピーするには:
-
一度に 1 つのみ、コピーするエンドポイントを見つけます。
-
エンドポイントアドレスのすぐ前にあるコピーアイコンを選択します。
エンドポイントがクリップボードにコピーされます。エンドポイントを使用してノードに接続する方法については、「ノードに接続する」を参照してください。
-
Valkey (クラスターモードが無効) のプライマリエンドポイントは次のようになります。転送時の暗号化が有効かどうかによって違いがあります。
転送時の暗号化が無効
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 もサポートしています。
次の例では、Amazon Linux と Amazon Linux 2 を実行する Amazon EC2インスタンスを使用しています。他の Linux ディストリビューションで valkey-cli をインストールしてコンパイルする方法については、特定のオペレーティングシステムのドキュメントを参照してください。
注記
このプロセスでは、計画外使用のみを目的として valkey-cli ユーティリティを使用して接続をテストします。サポートされている Valkey および Redis OSSクライアントのリストについては、「 Valkey ドキュメント
クラスターモードが無効な非暗号化クラスターへの接続
次のコマンドを実行してクラスターに接続し、 を置き換えます。
primary-endpoint
また、port number
クラスターのエンドポイントとポート番号。(Valkey または Redis のデフォルトポートOSSは 6379 です)。src/valkey-cli -h
primary-endpoint
-pport number
Valkey または Redis OSS コマンドプロンプトの結果は次のようになります。
primary-endpoint
:port number
Valkey コマンドまたは Redis OSS コマンドを実行できるようになりました。
set x Hello OK get x "Hello"
クラスターモードが有効の非暗号化クラスターへの接続
次のコマンドを実行してクラスターに接続し、 を置き換えます。
configuration-endpoint
また、port number
クラスターのエンドポイントとポート番号。(Valkey または Redis のデフォルトポートOSSは 6379 です)。src/valkey-cli -h
configuration-endpoint
-c -pport number
注記
前のコマンドでは、オプション -c は - ASKおよび -MOVED リダイレクト
の後にクラスターモードを有効にします。 Valkey または Redis OSS コマンドプロンプトの結果は次のようになります。
configuration-endpoint
:port number
Valkey コマンドまたは Redis OSS コマンドを実行できるようになりました。リダイレクトは、-c オプションを使用して有効にしたために発生します。リダイレクトが有効になっていない場合、 コマンドはMOVEDエラーを返します。MOVED エラーの詳細については、「Redis OSSクラスター仕様
」を参照してください。 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
クラスターのエンドポイントとポート番号。(Valkey または Redis のデフォルトポートOSSは 6379 です)。
クラスターモードが無効の暗号化されたクラスターに接続する
次の例では、暗号化および認証が有効のクラスターに接続します。
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 代替
クラスターがクラスターモードを有効にしておらず、短いテストのためにクラスターに接続する必要があるが、valkey-cli コンパイルを経由しない場合、telnet または openssl を使用できます。次のコマンド例では、必ず を置き換えてください。cluster-endpoint
また、port number
クラスターのエンドポイントとポート番号。(Valkey または Redis のデフォルトポートOSSは 6379 です)。
次の例では、暗号化および/または認証が有効のクラスターモードが無効のクラスターに接続します。
openssl s_client -connect
cluster-endpoint
:port number
クラスターにパスワードが設定されている場合は、まずクラスターに接続します。接続後、次のコマンドを使用してクラスターを認証してから、Enter
キーを押します。次の例では、your-password
クラスターのパスワードを使用します。
Auth
your-password
次の例では、暗号化または認証が有効ではないクラスターモードが無効のクラスターに接続します。
telnet
cluster-endpoint
port number
Valkey または Redis を使用して EC2 Windows インスタンスから Valkey CLIまたは Redis OSSクラスターに接続するにはOSSCLI、valkey-cli パッケージをダウンロードし、valkey-cli.exe を使用して EC2 Windows インスタンスから Valkey または Redis OSSクラスターに接続する必要があります。
次の例では、valkey-cli ユーティリティを使用して、暗号化が有効になっていず、Valkey または Redis を実行しているクラスターに接続しますOSS。Valkey または Redis OSSと使用可能なコマンドの詳細については、Valkey ウェブサイトの「Valkey コマンドと Redis OSS コマンド
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
にリンクをコピーして貼り付け、 で利用可能なリリースから Valkey クライアントの zip ファイルをダウンロードします。 GitHub https://github.com/microsoftarchive/redis/releases/tag/win-3.0.504 zip ファイルを目的のフォルダ/パスに展開します。
コマンドプロンプトを開き、Valkey ディレクトリに変更して、コマンド を実行します
c:\Valkey>valkey-cli -h
。Redis_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
次のステップ
入門演習を試したので、以下のセクションを参照して、 ElastiCache および利用可能なツールの詳細を確認できます。
入門演習を完了したら、以下のセクションを読んで ElastiCache 管理の詳細を確認できます。
-
キャッシュは、キャッシュしたいすべてのデータに対応できるだけの十分な大きさにします。同時に、必要以上にキャッシュを大きくしたくはないものです。このトピックを使って、最良のノードサイズを選択します。
-
クラスターの効率に影響を及ぼす可能性がある問題を特定し、対処します。