

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

# Redis OSS 用のノードベースの ElastiCache クラスターの作成
<a name="SubnetGroups.designing-cluster-pre.redis"></a>

Redis OSS 用のノードベースの ElastiCache クラスターを設計するには、以下の 1 回限り必要なアクションを行います。

ElastiCache のセットアップの詳細については、「[ElastiCache のセットアップ](set-up.md)」を参照してください。

**Topics**
+ [

## ステップ 1: サブネットグループの作成
](#SubnetGroups.Creating-gs.redis)
+ [

## ステップ 2: クラスターを作成する
](#GettingStarted.CreateCluster.redis)
+ [

## ステップ 3: クラスターへのアクセスの許可
](#GettingStarted.AuthorizeAccess.redis)
+ [

## ステップ 4: クラスターのノードに接続する
](#GettingStarted.ConnectToCacheNode.redis)

## ステップ 1: サブネットグループの作成
<a name="SubnetGroups.Creating-gs.redis"></a>

クラスターを作成する前に、まずサブネットグループを作成します。*キャッシュサブネットグループ*とは、VPC 内でクラスターとして指定できるサブネットの集合です。VPC でクラスターを起動する場合は、キャッシュサブネットグループを選択する必要があります。次に、ElastiCache ではそのキャッシュサブネットグループを使用して、サブネット内の IP アドレスをクラスター内の各キャッシュノードに割り当てます。

新しいサブネットグループを作成する場合は、使用可能な IP アドレス数に注意してください。サブネットの空き IP アドレス数が非常に少ない場合は、クラスターに追加できるノード数が制約される可能性があります。この問題を解決するために、クラスターのアベイラビリティーゾーンで十分な数の IP アドレスを使用できるように、サブネットグループに 1 つ以上のサブネットを割り当てることができます。その後で、クラスターにノードを追加できます。

以下の手順では、`mysubnetgroup` (コンソール)およびAWS CLIというサブネットグループを作成する方法を示します。

### サブネットグループの作成 (コンソール)
<a name="SubnetGroups.Creating.CON.redis"></a>

次の手順では、サブネットグループ (コンソール) を作成する方法を示します。

**サブネットグループ (コンソール) を作成するには**

1. AWSマネジメントコンソールにサインインし、[https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/) で ElastiCache コンソールを開きます。

1. ナビゲーションリストで [** Subnet Groups**] を選択します。

1. **Create Subnet Group** を選択します。

1. **Create Subnet Group** ウィザードで、次の操作を行います。すべての設定が正しいことを確認したら、[**Yes, Create**] を選択します。

   1. **Name** ボックスにサブネットグループの名前を入力します。

   1. **Description** ボックスにサブネットグループの説明を入力します。

   1. [**VPC ID**] ボックスで、作成した Amazon VPC を選択します。

   1. [**Availability Zone**] および [**Subnet ID**] リストで、プライベートサブネットのアベイラビリティーゾーンまたは [[Local Zone](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/Local_zones.html)] と ID を選択し、[**Add**] を選択します。  
![\[イメージ: サブネット VPC 画面の作成\]](http://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/dg/images/vpc-03.png)

1. 表示された確認メッセージで、**Close** を選択します。

ElastiCache コンソールの [**サブネットグループ**] のリストに新しいサブネットグループが表示されます。ウィンドウの下部で、サブネットグループを選択して、ウィンドウの下部で詳細 (このグループに関連付けられているすべてのサブネットなど) を確認します。

### サブネットグループを作成する (AWS CLI)
<a name="SubnetGroups.Creating.redis.CLI"></a>

コマンドプロンプトで、`create-cache-subnet-group` コマンドを使用してサブネットグループを作成します。

Linux、macOS、Unix の場合:

```
aws elasticache create-cache-subnet-group \
    --cache-subnet-group-name mysubnetgroup \
    --cache-subnet-group-description "Testing" \
    --subnet-ids subnet-53df9c3a
```

Windows の場合:

```
aws elasticache create-cache-subnet-group ^
    --cache-subnet-group-name mysubnetgroup ^
    --cache-subnet-group-description "Testing" ^
    --subnet-ids subnet-53df9c3a
```

このコマンドでは、次のような出力が生成されます。

```
{
    "CacheSubnetGroup": {
        "VpcId": "vpc-37c3cd17", 
        "CacheSubnetGroupDescription": "Testing", 
        "Subnets": [
            {
                "SubnetIdentifier": "subnet-53df9c3a", 
                "SubnetAvailabilityZone": {
                    "Name": "us-west-2a"
                }
            }
        ], 
        "CacheSubnetGroupName": "mysubnetgroup"
    }
}
```

詳細については、AWS CLI「」トピックを参照してください[create-cache-subnet-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-cache-subnet-group.html)。

## ステップ 2: クラスターを作成する
<a name="GettingStarted.CreateCluster.redis"></a>

実稼働用のクラスターを作成する前に、ビジネスニーズに合わせてクラスターをどのように設定するかを検討する必要があります。これらの問題については、[ElastiCache でクラスターを準備する](Clusters.Prepare.md) セクションで対応します。この「使用開始」の演習では、クラスターモードを無効にしてクラスターを作成し、適用するデフォルトの設定値を受け入れます。

作成するクラスターはライブとなりますが、サンドボックスで実行されるわけではありません。インスタンスを削除するまで、ElastiCache の標準使用料が発生します。ここで説明する演習を一気に完了し、終了時にクラスターを削除すれば、使用料合計はごくわずかです (通常 1 ドル未満です)。ElastiCache の使用料の詳細については、「[Amazon ElastiCache](https://aws.amazon.com/elasticache/)」を参照してください。

クラスターは、Amazon VPC サービスに基づいて Virtual Private Cloud (VPC) で起動されます 

### Redis OSS (クラスターモードが無効) クラスターの作成 (コンソール)
<a name="Clusters.Create.CON.Redis-gs"></a>

**ElastiCache コンソールを使用して Redis OSS (クラスターモードが無効) クラスターを作成するには**

1. にサインインAWS マネジメントコンソールし、[https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/) で Amazon ElastiCache コンソールを開きます。

1. 右上隅のリストから、このクラスターを起動するAWSリージョンを選択します。

1. ナビゲーションペインで、**[Get started]** (開始) を選択します。

1. **[VPC の作成]** を選択し、「[Virtual Private Cloud (VPC) の作成](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/VPCs.CreatingVPC.html)」のステップに従います。

1. ElastiCache ダッシュボードページで、**[Valkey キャッシュ]** または **[Redis OSS キャッシュ]** を選択します。この演習では、**[Redis OSS キャッシュ]** を選択してから、**[Redis OSS キャッシュを作成]** を選択します。

1. **[クラスター設定]** で、以下を実行します。

   1. **[Configure and create a new cluster]** (新しいクラスターを設定および作成) を選択します。

   1. **[Cluster mode]** (クラスターモード) で、**[Disabled]** (無効) を選択します。

   1. **[Cluster info]** (クラスター情報) で、**[Name]** (名前) の値を入力します。

   1. (オプション) **[Description]** (説明) の値を入力します。

1. **[Location]** (場所):

------
#### [ AWS Cloud  ]

   1. **[AWSクラウド]** で、**[マルチ AZ]** および **[自動フェイルオーバー]** のデフォルト設定を受け入れることをお勧めします。詳細については、「[マルチ AZ による ElastiCache for Redis OSS のダウンタイムの最小化](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/AutoFailover.html)」を参照してください。

   1. **[Cluster settings]** (クラスター設定)

      1. **[Engine version]** (エンジンバージョン) で、使用可能なバージョンを選択します。

      1. **[Port]** (ポート) で、デフォルトポート 6379 を使用します。異なるポートを使用する理由がある場合は、そのポート番号を入力します。

      1. **[パラメータグループ]** で、パラメータグループを選択するか、新しいパラメータグループを作成します。パラメータグループはクラスターのランタイムパラメータを制御します。パラメータグループの詳細については、「[Valkey および Redis OSS パラメータ](ParameterGroups.Engine.md#ParameterGroups.Redis)」および「[ElastiCache パラメータグループを作成する](ParameterGroups.Creating.md)」を参照してください。
**注記**  
パラメータグループを選択してエンジン設定値を設定すると、そのパラメータグループが Global Datastore 内のすべてのクラスターに適用されます。**[パラメータグループ]** ページの yes/no **[グローバル]** 属性は、パラメータグループがグローバルデータストアの一部であるかどうかを示します。

      1. **[ノードタイプ]** で、下向き矢印 (![\[Downward-pointing triangle icon, typically used to indicate a dropdown menu.\]](http://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/dg/images/ElastiCache-DnArrow.png)) を選択します。**[ノードタイプの変更]** ダイアログボックスで、必要なノードタイプの **[インスタンスファミリー]** の値を選択します。次に、このクラスターで使用するノードタイプを選択し、**[保存]** を選択します。

         詳細については、「[ノードサイズの選択](CacheNodes.SelectSize.md)」を参照してください。

         r6gd ノードタイプを選択すると、データ階層化が自動的に有効になります。詳細については、「[ElastiCache のデータ階層化](data-tiering.md)」を参照してください。

      1. **[Number of replicas]** (レプリケーション数) で、必要なリードレプリカの数を選択します。マルチ AZ を有効にした場合、数値は 1～5 の間である必要があります。

   1. **[Connectivity]** (接続) で

      1. **[Network type]** (ネットワークタイプ) で、このクラスターがサポートする IP バージョンを選択します。

      1. [**Subnet groups**] (サブネットグループ) で、このクラスターに適用するサブネットを選択します。ElastiCache はそのキャッシュサブネットグループを使用して、そのサブネット内でノードに関連付けるサブネットおよび IP アドレスを選択します。ElastiCache クラスターでは、デュアルスタックモードで動作するには IPv4 アドレスと IPv6 アドレスの両方が割り当てられたデュアルスタックサブネットが必要であり、IPv6 専用として動作するには IPv6 専用サブネットが必要です。

         新しいサブネットグループを作成するときは、そのサブネットグループが属する **VPC ID** を入力します。

         詳細については、以下を参照してください。
         + [ElastiCache でネットワークタイプを選択する](network-type.md).
         + [VPC にサブネットを作成します](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#AddaSubnet)。

         [ElastiCache での Local Zones の使用](Local_zones.md) である場合は、ローカルゾーンにあるサブネットを作成または選択する必要があります。

         詳細については、「[サブネットおよびサブネットグループ](SubnetGroups.md)」を参照してください。

   1. **[Availability zone placements]** (アベイラビリティーゾーンの配置) には 2 つのオプションがあります。
      + **[指定なし]** – ElastiCache がアベイラビリティーゾーンを選択します。
      + [**アベイラビリティーゾーンの指定**] – 各クラスターに対するアベイラビリティーゾーンを指定します。

        アベイラビリティーゾーンの指定を選択した場合、クラスターのシャードごとにリストからアベイラビリティーゾーンを選択します。

      詳細については、「[ElastiCache のリージョンとアベイラビリティーゾーンの選択](RegionsAndAZs.md)」を参照してください。

   1. **[Next]** (次へ) を選択します。

   1. **[Redis OSS の詳細設定]** の下

      1. **[Security]** (セキュリティ): 

        1. データを暗号化するには、次のオプションがあります。
           + **保管時の暗号化** – ディスクに保存されているデータの暗号化を有効にします。詳細については、「[保管時の暗号化](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/at-rest-encryption.html)」を参照してください。
**注記**  
**カスタマーマネージド KMS AWSキーを選択し、キーを選択することで**、別の暗号化キーを指定できます。詳細については、「[AWS KMS のカスタマー管理の CMK の使用](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/at-rest-encryption.html#using-customer-managed-keys-for-elasticache-security)」を参照してください。
           + [**転送中の暗号化**] – 転送中のデータの暗号化を有効にします。詳細については、「[転送中の暗号化](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/in-transit-encryption.html)」を参照してください。Redis OSS 用の ElastiCache エンジンバージョン 6.0 以降では、転送中の暗号化を有効にすると、次の **[アクセスコントロール]** オプションのいずれかを指定するよう求められます。
             + **アクセスコントロールなし** — これがデフォルトの設定です。これは、クラスターへのユーザーアクセスに制限がないことを示します。
             + [**ユーザーグループのアクセスコントロールリスト**] — クラスターにアクセスできるユーザーのセットが定義されているユーザーグループを選択します。詳細については、「[コンソールおよび CLI を使用したユーザーグループの管理](Clusters.RBAC.md#User-Groups)」を参照してください。
             + **[認証デフォルトユーザー]** – Valkey および Redis OSS サーバーの認証メカニズム。詳細については、「[AUTH](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/auth.html)」を参照してください。
           + **[認証]** – Redis OSS サーバーの認証メカニズム。詳細については、「[AUTH](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/auth.html)」を参照してください。
**注記**  
3.2.6 以降の Redis OSS バージョン (バージョン 3.2.10 を除く) では、[Redis OSS 認証] のみがオプションとなります。

        1. **セキュリティグループ** で、このクラスターに必要なセキュリティグループを選択します。*セキュリティグループ*は、クラスターへのネットワークアクセスを制御するためのファイアウォールとして機能します。VPC のデフォルトのセキュリティグループを使用するか、新しいセキュリティグループを作成できます。

           VPC セキュリティグループの詳細については、*Amazon VPC ユーザーガイド*の「[VPC のセキュリティグループ](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)」を参照してください。

   1. 自動バックアップを定期的にスケジュールする場合は、**[自動バックアップの有効化]** を選択し、自動バックアップを保持して自動的に削除するまでの日数を入力します。自動バックアップを定期的にスケジュールしない場合は、**[自動バックアップを有効化]** チェックボックスをオフにします。いずれの場合も、常に手動バックアップを作成するオプションがあります。

      バックアップと復元の詳細については、「[スナップショットおよび復元](backups.md)」を参照してください。

   1. (オプション) メンテナンスウィンドウを指定します。*[メンテナンスウィンドウ]* は、ElastiCache がクラスターのシステムメンテナンスを毎週スケジュールする時間の長さ (通常は 1 時間単位) です。ElastiCache がメンテナンスの日時を選択することを許可するか (*[No preference]* (指定なし))、自分で日時と期間を選択できます (*[Specify maintenance window]* (メンテナンスウィンドウを指定))。リストから *[メンテナンス期間を指定]* を選択した場合は、メンテナンス期間の*開始日*、*開始時刻*および*所要時間* (時間単位) を選択します。すべての時刻は協定世界時 (UCT) です。

      詳細については、「[ElastiCache クラスターメンテナンスの管理](maintenance-window.md)」を参照してください。

   1. (オプション) **[ログ]**:
      + [**ログの形式**] の下で、[**テキスト**] または [**JSON**] を選択します。
      + **[送信先のタイプ]** の下で、**[CloudWatch Logs]** または **[Kinesis Firehose]** を選択します。
      + **[ログの送信先]** の下で、**[新規作成]** を選択して CloudWatch Logs ロググループ名または Firehose ストリーム名を入力するか、**[既存の選択]** を選択してから CloudWatch Logs ロググループ名または Firehose ストリーム名を選択します。

   1. **[Tags]** (タグ) で、クラスターと他の ElastiCache リソースを管理しやすくするために、タグ形式で各リソースに独自のメタデータを割り当てることができます。詳細については、「[ElastiCache リソースのタグ付け](Tagging-Resources.md)」を参照してください。

   1. **[次へ]** をクリックします。

   1. すべてのエントリと選択を確認し、必要な修正を行います。準備が完了したら、**[Create]** (作成) を選択します。

------
#### [ On premises ]

   1. **[On premises]** (オンプレミス) では、**[Auto-failover]** (自動フェイルオーバー) を有効のままにしておくことをお勧めします。詳細については、「[マルチ AZ による ElastiCache for Redis OSS のダウンタイムの最小化](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/AutoFailover.html)」を参照してください

   1. クラスターの作成を完了するには、「[Outposts の使用](https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/ElastiCache-Outposts.html)」の手順に従います。

------

クラスターのステータスが [*available*] になり次第、Amazon EC2 にアクセス権を付与して接続し、使用を開始できます。詳細については、「[ステップ 3. クラスターへのアクセスを許可する](SubnetGroups.designing-cluster-pre.valkey.md#GettingStarted.AuthorizeAccess.valkey)」および「[ステップ 4. クラスターのノードに接続する](SubnetGroups.designing-cluster-pre.valkey.md#GettingStarted.ConnectToCacheNode.valkey)」を参照してください。

**重要**  
クラスターが使用可能になった後、クラスターがアクティブである間は (実際に使用していない場合でも)、時間に応じた料金が発生します。このクラスターに対する課金を中止するには、クラスターを削除する必要があります。「[ElastiCache でのクラスターの削除](Clusters.Delete.md)」を参照してください。

### Redis OSS (クラスターモードが無効) クラスターの作成 (AWS CLI)
<a name="Clusters.Create.CLI.Redis-gs"></a>

**Example**  
次の CLI コードでは、レプリカのない Redis OSS (クラスターモードが無効) クラスターを作成します。  
Linux、macOS、Unix の場合:  

```
aws elasticache create-cache-cluster \
--cache-cluster-id my-cluster \
--cache-node-type cache.r4.large \
--engine redis \
--num-cache-nodes 1 \
--snapshot-arns arn:aws:s3:::my_bucket/snapshot.rdb
```
Windows の場合:  

```
aws elasticache create-cache-cluster ^
--cache-cluster-id my-cluster ^
--cache-node-type cache.r4.large ^
--engine redis ^
--num-cache-nodes 1 ^
--snapshot-arns arn:aws:s3:::my_bucket/snapshot.rdb
```

有効になっているクラスターモードを使用するには、以下のトピックを参照してください。
+ コンソールを使用するには、「[Valkey または Redis OSS (クラスターモードが有効) クラスターの作成 (コンソール)](Clusters.Create.md#Clusters.Create.CON.RedisCluster)」を参照してください。
+ を使用するにはAWS CLI、「」を参照してください[Valkey または Redis OSS (クラスターモードが有効) クラスターの作成 (AWS CLI)](Clusters.Create.md#Clusters.Create.CLI.RedisCluster)。

## ステップ 3: クラスターへのアクセスの許可
<a name="GettingStarted.AuthorizeAccess.redis"></a>

 このセクションでは、Amazon EC2 インスタンスの起動と接続に慣れていることを前提としています。詳細については、「*[Amazon EC2 入門ガイド](https://docs.aws.amazon.com/AWSEC2/latest/GettingStartedGuide/)*」を参照してください。

すべての ElastiCache クラスターは Amazon EC2 インスタンスからアクセスするように設計されています。最も一般的なシナリオは、同じ Amazon Virtual Private Cloud (Amazon VPC) 内の Amazon EC2 インスタンスから ElastiCache クラスターにアクセスすることであり、それがこの演習でのケースとなります。

デフォルトでは、クラスターへのネットワークアクセスは、クラスターの作成に使用されたアカウントに制限されます。EC2 インスタンスからクラスターに接続するには、EC2 インスタンスにクラスターへのアクセスを許可する必要があります。必要なステップはクラスターを EC2-VPC で起動したか、EC2-Classic で起動したかによって異なります。

最も一般的ユースケースは、EC2 インスタンスにデプロイされたアプリケーションが同じ VPC のクラスターに接続する必要がある場合です。同じ VPC 内の EC2 インスタンスとクラスター間のアクセスを管理する方法として最も簡単なのは、次の方法です。

1. クラスターの VPC セキュリティグループを作成します。このセキュリティグループは、クラスターインスタンスへのアクセスを制限するのに使用できます。例えば、クラスターを作成したときに割り当てたポートと、クラスターにアクセスするのに使用する IP アドレスを使用して TCP へのアクセスを許可する、このセキュリティグループのカスタムルールを作成できます。

   Redis OSS クラスターとレプリケーショングループのデフォルトのポートは `6379` です。
**重要**  
Amazon ElastiCache セキュリティグループは、Amazon Virtual Private Cloud (VPC) 環境で実行されて*いない*クラスターのみに適用されます。Amazon Virtual Private Cloud で実行している場合、[**セキュリティグループ** ] はコンソールのナビゲーションペインでは使用できません。  
ElastiCache ノードを Amazon VPC で実行している場合は、Amazon VPC セキュリティグループでクラスターへのアクセスを制御します。これは、ElastiCache セキュリティグループとは異なります。Amazon VPC で ElastiCache を使用する方法については、「[Amazon VPC と ElastiCache のセキュリティ](VPCs.md)」を参照してください。

1. EC2 インスタンス (ウェブサーバーとアプリケーションサーバー) 用の VPC セキュリティグループを作成します。このセキュリティグループは、必要に応じて VPC のルーティングテーブルを介してインターネットから EC2 インスタンスへのアクセスを許可できます。例えば、ポート 22 経由で EC2 インスタンスへの TCP アクセスを許可するルールをこのセキュリティグループに設定できます。

1. EC2 インスタンス用に作成したセキュリティグループからの接続を許可するクラスターのセキュリティグループで、カスタムルールを作成します。これは、セキュリティグループのメンバーにクラスターへのアクセスを許可します。

**注記**  
[ElastiCache での Local Zones の使用](Local_zones.md) の使用を予定している場合、これが有効になっていることを確認します。そのローカルゾーンにサブネットグループを作成すると、VPC はそのローカルゾーンに拡張され、VPC はそのサブネットを他のアベイラビリティーゾーンのサブネットとして扱います。関連するすべてのゲートウェイとルートテーブルが自動的に調整されます。

**他のセキュリティグループからの接続を許可する VPC セキュリティグループでルールを作成するには**

1. AWSマネジメントコンソールにサインインし、[https://console.aws.amazon.com/vpc](https://console.aws.amazon.com/vpc) で Amazon VPC コンソールを開きます。

1. ナビゲーションペインで、[**Security Groups**] を選択してください。

1. クラスターインスタンスに使用するセキュリティグループを選択または作成します。**インバウンドルール** で、**インバウンドルールの編集** を選択し、**ルールの追加** を選択します。このセキュリティグループは、他のセキュリティグループのメンバーへのアクセスを許可します。

1. **Type** で **Custom TCP Rule** を選択します。

   1. **Port Range** ポートには、クラスター作成時に使用したポートを指定します。

      Redis OSS クラスターとレプリケーショングループのデフォルトのポートは `6379` です。

   1. **ソース** ボックスに、セキュリティグループの ID の入力を開始します。リストから、Amazon EC2 インスタンスに使用するセキュリティグループを選択します。

1. 終了したら、**保存** を選択します。  
![\[\]](http://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/dg/images/VPC-Rules.png)

アクセスを有効にしたので、次のセクションで説明するように、ノードに接続する準備が整いました。

別の Amazon VPC、別のAWSリージョン、または企業ネットワークから ElastiCache クラスターにアクセスする方法については、以下を参照してください。
+ [Amazon VPC の ElastiCache キャッシュにアクセスするためのアクセスパターン](elasticache-vpc-accessing.md)
+ [外部から ElastiCache リソースにアクセスするAWS](accessing-elasticache.md#access-from-outside-aws)

## ステップ 4: クラスターのノードに接続する
<a name="GettingStarted.ConnectToCacheNode.redis"></a>

続行する前に、「[ステップ 3: クラスターへのアクセスの許可](#GettingStarted.AuthorizeAccess.redis)」を完了します。

このセクションでは、Amazon EC2 インスタンスが作成済みであり、このインスタンスに接続できることを前提としています。これを行う手順については、「[Amazon EC2 入門ガイド](https://docs.aws.amazon.com/AWSEC2/latest/GettingStartedGuide/)」を参照してください。

Amazon EC2 インスタンスは、許可されている場合にのみクラスターノードに接続できます。

### ノードのエンドポイントを見つける
<a name="GettingStarted.FindEndpoints.redis"></a>

クラスターが*利用可能*な状態であり、クラスターへのアクセスを許可されている場合は、Amazon EC2 インスタンスにログインしてクラスターに接続できます。そのためには、最初にエンドポイントを確認する必要があります。

#### Valkey または Redis OSS (クラスターモードが無効) クラスターのエンドポイントを検索する (コンソール)
<a name="Endpoints.Find.Redis-gs"></a>

Redis OSS (クラスターモードが無効) クラスターに 1 つのみのノードがある場合、ノードのエンドポイントは読み取りと書き込みの両方に使用されます。クラスターに複数のノードがある場合は、*プライマリエンドポイント*、*リーダーエンドポイント*、*ノードエンドポイント*の 3 種類のエンドポイントがあります。

プライマリエンドポイントは、常にクラスターのプライマリノードに解決される DNS 名です。プライマリエンドポイントは、リードレプリカのプライマリロールへの昇格など、クラスターに対する変更の影響を受けません。書き込みアクティビティの場合、アプリケーションをプライマリエンドポイントに接続することをお勧めします。

リーダーエンドポイントによって、ElastiCache for Redis OSS クラスター内のすべてのリードレプリカ間でエンドポイントへの着信接続が均等に分割されます。アプリケーションがいつ接続を作成するか、アプリケーションが接続をどのように (再) 利用するかなどの追加要因によって、トラフィックの分散が決定されます。レプリカが追加または削除されても、読み込みエンドポイントはリアルタイムでクラスターの変更に対応します。ElastiCache for Redis OSS クラスターの複数のリードレプリカを異なるAWSアベイラビリティーゾーン (AZ) に配置して、リーダーエンドポイントの高可用性を確保できます。

**注記**  
リーダーエンドポイントはロードバランサーではありません。これは、ラウンドロビン方式でレプリカノードの 1 つの IP アドレスに解決される DNS レコードです。

読み取りアクティビティの場合、アプリケーションはクラスター内のいずれのノードにも接続できます。プライマリエンドポイントとは異なり、ノードエンドポイントは特定のエンドポイントに解決されます。レプリカの追加または削除など、クラスターに変更を加えた場合は、アプリケーションでノードエンドポイントを更新する必要があります。

**Redis OSS (クラスターモードが無効) クラスターのエンドポイントを検索するには**

1. にサインインAWS マネジメントコンソールし、[https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/) で ElastiCache コンソールを開きます。

1. ナビゲーションペインで、**[Redis OSS キャッシュ]** を選択します。

   クラスター画面には、既存の Valkey または Redis OSS サーバーレスキャッシュ、Redis OSS (クラスターモードが無効) クラスターと Redis OSS (クラスターモードが有効) クラスターを含むリストが表示されます。[Redis OSS (クラスターモードが無効) クラスターの作成 (コンソール)](#Clusters.Create.CON.Redis-gs) のセクションで作成したものを選択します。

1. クラスターのプライマリエンドポイントやリーダーエンドポイントを検索するには、クラスターの名前 (ラジオボタンではない) を選択します。  
![\[イメージ: Redis OSS (クラスターモードが無効) クラスターのプライマリエンドポイント\]](http://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/dg/images/Reader-Endpoint.png)

   *Redis OSS (クラスターモードが無効) クラスターのプライマリエンドポイントとリーダーエンドポイント*

   クラスターに 1 つのみのノードがある場合、プライマリエンドポイントはないため、次のステップに進むことができます。

1. Redis OSS (クラスターモードが無効) クラスターにレプリカノードがある場合は、クラスターの名前を選択してから **[ノード]** タブを選択して、クラスターのレプリカノードエンドポイントを検索できます。

   ノードの画面では、クラスター内のプライマリとレプリカの各ノードがそのエンドポイントと共に表示されます。  
![\[イメージ: Redis OSS (クラスターモードが無効) クラスターのノードエンドポイント\]](http://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/dg/images/ElastiCache-Endpoints-Redis-Node.png)

   *Redis OSS (クラスターモードが無効) クラスターのノードエンドポイント*

1. エンドポイントをクリップボードにコピーするには:

   1. 一度に 1 つのみ、コピーするエンドポイントを見つけます。

   1. エンドポイントアドレスのすぐ前にあるコピーアイコンを選択します。

   エンドポイントがクリップボードにコピーされます。エンドポイントを使用してノードに接続する方法については、「[ノードに接続する](nodes-connecting.md)」を参照してください。

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
```

エンドポイントを見つける方法の詳細については、実行中のエンジンとクラスターの該当するトピックを参照してください。
+ [ElastiCache での接続エンドポイントの検索](Endpoints.md)
+ [Valkey または Redis OSS (クラスターモードが有効) クラスターのエンドポイントを検索する (コンソール)](Endpoints.md#Endpoints.Find.RedisCluster)—クラスターの設定エンドポイントが必要です。
+ [エンドポイントの検索 (AWS CLI)](Endpoints.md#Endpoints.Find.CLI)
+ [エンドポイントの検索 (ElastiCache API)](Endpoints.md#Endpoints.Find.API)

### Valkey または Redis OSS クラスターまたはレプリケーショングループに接続する (Linux)
<a name="GettingStarted.ConnectToCacheNode.Redis.Linux"></a>

これで、必要なエンドポイントがわかったので、EC2 インスタンスにログインし、クラスターまたはレプリケーショングループに接続できます。次の例では、*valkey-cli* ユーティリティを使用して、クラスターに接続します。valkey-cli の最新バージョンでは、暗号化/認証が有効なクラスターを接続するための SSL/TLS もサポートしています。

次の例では、Amazon Linux および Amazon Linux 2 を実行している Amazon EC2 インスタンスを使用しています。他の Linux ディストリビューションでの valkey-cli のインストールとコンパイルの詳細については、ご使用のオペレーティングシステムのドキュメントを参照してください。

**注記**  
このプロセスでは、計画外の使用のみの、valkey-cli ユーティリティを使用した接続のテストをカバーしています。サポートされるクライアントのリストについては、「[Valkey ドキュメント](https://valkey.io/)」を参照してください。ElastiCache でAWS SDKs「」を参照してください[チュートリアル: Python と ElastiCache の開始方法](ElastiCache-Getting-Started-Tutorials.md)。

#### クラスターモードが無効な非暗号化クラスターへの接続
<a name="Connecting-to-a-cluster-mode-disabled-unencrypted-cluster.redis"></a>

1. 次のコマンドを実行してクラスターに接続し、*[primary-endpoint]* と *[ポート番号]* をクラスターのエンドポイントとポート番号に置き換えます。(Valkey および Redis OSS のデフォルトポートは 6379 です。)

   ```
   src/valkey-cli -h primary-endpoint -p port number
   ```

   次のようなコマンドプロンプトが表示されます。

   ```
   primary-endpoint:port number
   ```

1. これで Valkey および Redis OSS コマンドを実行できるようになりました。

   ```
   set x Hello
   OK
   
   get x
   "Hello"
   ```

#### クラスターモードが有効の非暗号化クラスターへの接続
<a name="Connecting-to-a-cluster-mode-enabled-unencrypted-cluster.redis"></a>

1. 次のコマンドを実行してクラスターに接続し、*[configuration-endpoint]* と *[ポート番号]* をクラスターのエンドポイントとポート番号に置き換えます。(Valkey および Redis OSS のデフォルトポートは 6379 です。)

   ```
   src/valkey-cli -h configuration-endpoint -c -p port number
   ```
**注記**  
上記のコマンドで、-c オプションを指定すると、[-ASK および -MOVED リダイレクト](https://redis.io/topics/cluster-spec)が続くクラスターモードが有効になります。

   次のようなコマンドプロンプトが表示されます。

   ```
   configuration-endpoint:port number
   ```

1. これで Valkey および Redis OSS コマンドを実行できるようになりました。リダイレクトは、-c オプションを使用して有効にしたために発生します。リダイレクトが有効でない場合、このコマンドは MOVED エラーを返します。MOVED エラーの詳細については、「[cluster specification](https://valkey.io/topics/cluster-spec)」を参照してください。

   ```
   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"
   ```

#### 暗号化/認証が有効なクラスターへの接続
<a name="Connecting-to-an-Encryption-Authentication-enabled-cluster.redis"></a>

デフォルトでは、valkey-cli は Valkey および Redis OSS への接続時に暗号化されていない TCP 接続を使用します。オプション `BUILD_TLS=yes` により、前の「[コマンドラインアクセスをダウンロードしてセットアップする](set-up.md#Download-and-install-cli)」セクションで示されたように、valkey-cli コンパイル時に SSL/TLS を有効にします。AUTH の有効化はオプションです。ただし、AUTH を有効にするために、転送時の暗号化を有効にする必要があります。ElastiCache の暗号化と認証の詳細については、「[ElastiCache の転送時の暗号化 (TLS)](in-transit-encryption.md)」を参照してください。

**注記**  
valkey-cli でオプション `--tls` を使用して、クラスターモードが有効および無効の両方の暗号化されたクラスターに接続できます。クラスターに AUTH トークンが設定されている場合は、オプション `-a` を使用して AUTH パスワードを指定します。

以下の例では、[*cluster-endpoint*] と [*ポート番号*] をクラスターのエンドポイントとポート番号に置き換えてください。(Redis OSS のデフォルトポートは 6379 です。)

**クラスターモードが無効の暗号化されたクラスターに接続する** 

次の例では、暗号化および認証が有効のクラスターに接続します。

```
src/valkey-cli -h cluster-endpoint --tls -a your-password -p port number
```

次の例では、暗号化のみが有効なクラスターに接続します。

```
src/valkey-cli -h cluster-endpoint --tls -p port number
```

**クラスターモードが有効の暗号化されたクラスターへの接続** 

次の例では、暗号化および認証が有効のクラスターに接続します。

```
src/valkey-cli -c -h cluster-endpoint --tls -a your-password -p port number
```

次の例では、暗号化のみが有効なクラスターに接続します。

```
src/valkey-cli -c -h cluster-endpoint --tls -p port number
```

クラスターに接続した後、暗号化されていないクラスターに対して、前の例に示されているように Valkey または Redis OSS コマンドを実行できます。

#### valkey-cli または Redis-cli の代替
<a name="Redis-cli-alternative"></a>

クラスターがクラスターモード有効ではなく、valkey-cli または redis-cli コンパイルを行わずに、短いテストのためにクラスターに接続する必要がある場合、telnet または openssl を使用できます。以下のコマンド例では、[*cluster-endpoint*] と [*ポート番号*] をクラスターのエンドポイントとポート番号に置き換えてください。(Redis OSS のデフォルトポートは 6379 です。)

次の例では、暗号化および/または認証が有効のクラスターモードが無効のクラスターに接続します。

```
openssl s_client -connect cluster-endpoint:port number
```

クラスターにパスワードが設定されている場合は、まずクラスターに接続します。接続後、次のコマンドを使用してクラスターを認証してから、`Enter` キーを押します。次の例では、[*your-password*] をクラスターのパスワードに置き換えます。

```
Auth your-password
```

次の例では、暗号化または認証が有効ではないクラスターモードが無効のクラスターに接続します。

```
telnet cluster-endpoint port number
```

### Valkey または Redis OSS クラスターまたはレプリケーショングループに接続する (Windows)
<a name="GettingStarted.ConnectToCacheNode.Redis.Windows"></a>

Valkey または Redis OSS CLI を使用して、EC2 Windows インスタンスからクラスターに接続するには、*valkey-cli* パッケージをダウンロードし、*valkey-cli.exe* を使用して EC2 Windows インスタンスから Valkey または Redis OSS クラスターに接続する必要があります。

次の例では、*valkey-cli* ユーティリティを使用して、暗号化が有効ではなく、Valkey または Redis OSS を実行しているクラスターに接続します。Valkey と使用可能なコマンドの詳細については、Valkey ウェブサイトの「[Valkey commands](http://valkey.io/commands)」を参照してください。

***valkey-cli* を使用して、暗号化が有効になっていない Valkey または Redis OSS クラスターに接続するには**

1. 選択した接続ユーティリティを使用して、Amazon EC2 インスタンスに接続します。Amazon EC2 インスタンスに接続する方法については、「[Amazon EC2 入門ガイド](https://docs.aws.amazon.com/AWSEC2/latest/GettingStartedGuide/)」を参照してください。

1. リンク [https://github.com/microsoftarchive/redis/releases/download/win-3.0.504/Redis-x64-3.0.504.zip](https://github.com/microsoftarchive/redis/releases/download/win-3.0.504/Redis-x64-3.0.504.zip) をコピーしてインターネットブラウザに貼り付け、GitHub の利用可能なリリース ([https://github.com/microsoftarchive/redis/releases/tag/win-3.0.504](https://github.com/microsoftarchive/redis/releases/tag/win-3.0.504)) から Redis OSS クライアントの zip ファイルをダウンロードします。

   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
   ```

1. Valkey または Redis OSS コマンドを実行します。

    これで、クラスターに接続され、以下のような Valkey または Redis OSS コマンドを実行できます。

   ```
   set a "hello"          // Set key "a" with a string value and no expiration
   OK
   get 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 seconds
   get b
   (nil)                  // key has expired, nothing returned
   quit                   // Exit from valkey-cli
   ```