クラスターの作成 - Amazon ElastiCache for Redis

クラスターの作成

以下の例は、AWS Management Console、AWS CLI および ElastiCache APIを使用して Redis クラスターを作成する方法を示しています。

ElastiCache は、Redis エンジンを使用する場合にレプリケーションをサポートします。データが Redis 読み取り/書き込みプライマリクラスターに書き込まれるときと、読み取り専用セカンダリクラスターに伝達されるときのレイテンシーをモニタリングするため、ElastiCache は特殊なキー ElastiCacheMasterReplicationTimestamp をクラスターに追加します。このキーは、協定世界時 (UTC) の現在の時刻です。Redis クラスターが後でレプリケーショングループに追加される可能性があるため、このキーは、最初はレプリケーショングループのメンバーではない Redis クラスターであっても、すべての Redis クラスターに含まれます。レプリケーショングループの詳細については、「レプリケーショングループを使用する高可用性」を参照してください。

Redis (クラスターモードが無効) クラスターを作成するには、「Redis (クラスターモードが無効) クラスターの作成 (コンソール)」のステップに従います。

クラスターのステータスが [available] になり次第、Amazon EC2 にアクセス権を付与して接続し、使用を開始できます。詳細については、「ステップ 3: クラスターへのアクセスの許可」および「ステップ 4: クラスターのノードに接続する」を参照してください。

重要

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

Redis 3.2.4 以降を実行している場合は、Redis (クラスターモードが有効) クラスターを作成できます。Redis (クラスターモードが有効) クラスターでは、1~500 個のシャード (API/CLI: ノードグループ) でデータを分割できます。ただし、現段階ではいくつかの制限があります。Redis (クラスターモードが無効) と Redis (クラスターモードが有効) の比較については、「サポートされている ElastiCache for Redis のバージョン」を参照してください。

ElastiCache コンソールを使用して Redis (クラスターモードが有効) クラスターを作成するには
  1. AWS Management Console にサインインして、Amazon ElastiCache コンソール (https://console.aws.amazon.com/elasticache/) を開きます。

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

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

  4. [Create VPC] (VPC の作成) を選択し、「Virtual Private Cloud (VPC) の作成」のステップに従います。

  5. ElastiCache ダッシュボードページで、[Create cluster] (クラスターを作成) を選択して、[Create Redis cluster] (Redis クラスターを作成) を選択します。

  6. [Cluster settings] (クラスター設定) で、以下を実行します。

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

    2. [Cluster mode] (クラスターモード) で、[Enabled] (有効) を選択します。

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

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

  7. [Location] (場所):

    AWS Cloud
    1. [AWS Cloud] (AWS クラウド) の場合、[Multi-AZ] (マルチ AZ) および [Auto-failover] (自動フェイルオーバー) のデフォルト設定を受け入れることをお勧めします。詳細については、「マルチ AZ を用いた ElastiCache for Redis でのダウンタイムの最小化」を参照してください。

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

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

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

      3. [パラメータグループ] で、パラメータグループを選択するか、新しいパラメータグループを作成します。パラメータグループはクラスターのランタイムパラメーターを制御します。パラメータグループの詳細については、「Redis 固有のパラメータ」および「パラメータグループを作成する」を参照してください。

        注記

        パラメータグループを選択してエンジン設定値を設定すると、そのパラメータグループが Global Datastore 内のすべてのクラスターに適用されます。[Parameter Groups] ページの yes/no グローバル属性は、パラメータグループが Global Datastore の一部であるかどうかを示します。

      4. [ノードタイプ] で、下向き矢印 ( ) を選択します。[ノードタイプの変更] ダイアログボックスで、必要なノードタイプの [インスタンスファミリー] の値を選択します。次に、このクラスターで使用するノードタイプを選択し、[保存] を選択します。

        詳細については、「ノードサイズの選択」を参照してください。

        r6gd ノードタイプを選択すると、データ階層化が自動的に有効になります。詳細については、「データ階層化」を参照してください。

      5. [シャード数] で、この Redis (クラスターモードが有効) クラスターに必要なシャード (パーティション/ノードグループ) の数を選択します。

        Redis (クラスターモードが有効) の一部のバージョンでは、クラスター内のシャード数を動的に変更できます。

      6. [シャード当たりのレプリカ数] で、各シャードに必要なリードレプリカのノード数を選択します。

        Redis (クラスターモードが有効) には、次の制限があります。

        • マルチ AZ が有効になっている場合は、シャードごとに少なくとも 1 つのレプリカがあることを確認してください。

        • コンソールを使用してクラスターを作成する場合、シャードごとのレプリカ数は同じになります。

        • シャードあたりのリードレプリカ数は固定され、変更できません。シャード (API/CLI: ノードグループ) あたりのレプリカ数を増減する必要がある場合は、新しいレプリカ数で新しいクラスターを作成する必要があります。詳細については、「外部で作成されたバックアップによる新しいクラスターのシード」を参照してください。

    3. [Subnet group settings] (サブネットグループ設定) で、このクラスターに適用するサブネットを選択します。ElastiCache はデフォルトの IPv4 サブネットグループを提供しています。または、新しいサブネットグループを作成することもできます。IPv6 の場合は、IPv6 CIDR ブロックを使用するサブネットグループを作成する必要があります。

      詳細については、「VPC にサブネットを作成する」を参照してください。

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

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

    4. [Availability zone placements] (アベイラビリティーゾーンの配置) には 2 つのオプションがあります。

      • [指定なし] – ElastiCache がアベイラビリティーゾーンを選択します。

      • [アベイラビリティーゾーンの指定] – 各クラスターに対するアベイラビリティーゾーンを指定します。

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

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

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

    6. [Advanced Redis settings] (Redis の詳細設定) で

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

        1. データを暗号化するには、次のオプションがあります。

          • [保管時の暗号化] – ディスクに保存されているデータの暗号化を有効にします。詳細については、「保管時の暗号化」を参照してください。

            注記

            別の暗号化キーを指定するには、[カスタマー管理の AWS KMS キー] を選択し、キーを選択することもできます。詳細については、「AWS KMS のカスタマー管理の CMK の使用」を参照してください。

          • [転送中の暗号化] – 転送中のデータの暗号化を有効にします。詳細については、「転送中の暗号化」を参照してください。Redis エンジンバージョン 6.0 以降では、転送中の暗号化を有効にすると、次のアクセスコントロールオプションのいずれかを指定するよう求められます。

            • アクセスコントロールなし — これがデフォルトの設定です。これは、クラスターへのユーザーアクセスに制限がないことを示します。

            • [ユーザーグループのアクセスコントロールリスト] — クラスターにアクセスできるユーザーのセットが定義されているユーザーグループを選択します。詳細については、「コンソールおよび CLI を使用したユーザーグループの管理」を参照してください。

            • [Redis AUTH デフォルトユーザー] – Redis サーバーの認証メカニズムです。詳細については、「Redis AUTH」を参照してください。

          • [Redis AUTH] – Redis サーバーの認証メカニズムです。詳細については、「Redis AUTH」を参照してください。

          注記

          3.2.6 以降の Redis バージョン (バージョン 3.2.10 を除く) では、Redis AUTH のみがオプションとなります。

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

          VPC セキュリティグループの詳細については、Amazon VPC ユーザーガイドの「VPC のセキュリティグループ」を参照してください。

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

      Redis のバックアップと復元の詳細については、「ElastiCache for Redis のバックアップと復元 」を参照してください。

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

      詳細については、「メンテナンスの管理」を参照してください。

    9. (オプション) [ログ]:

      • [ログの形式] の下で、[テキスト] または [JSON] を選択します。

      • [送信先の種類] の下で、[[CloudWatch Logs] または [Kinesis Firehose] を選択します。

      • [ログの送信先] の下で、[新規作成] を選択して CloudWatch Logs ロググループ名または Kinesis Data Firehose ストリーム名を入力するか、[既存のものを選択] を選択してから CloudWatch Logs ロググループ名または Kinesis Data Firehose ストリーム名を選択します。

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

    11. [Next] を選択します。

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

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

    2. Outposts の使用」のステップに従います。

ElastiCache コンソールではなく ElastiCache API または AWS CLI を使用して同等のものを作成するには、以下を参照してください。

クラスターのステータスが [available] になり次第、EC2 にアクセス権を付与して接続し、使用を開始できます。詳細については、「ステップ 3: クラスターへのアクセスの許可」および「ステップ 4: クラスターのノードに接続する」を参照してください。

重要

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

AWS CLI を使用してクラスターを作成するには、create-cache-cluster コマンドを使用します。

重要

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

Redis (クラスターモードが無効) クラスターの作成 (CLI)

例 — リードレプリカのない Redis (クラスターモードが無効) クラスター

次の CLI コードでは、レプリカのない Redis (クラスターモードが無効) キャッシュクラスターを作成します。

注記

r6gd ファミリーのノードタイプを使用してクラスターを作成する場合は、data-tiering-enabled パラメーターを渡す必要があります。

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 \ --cache-parameter-group default.redis6.x \ --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 ^ --cache-parameter-group default.redis6.x ^ --snapshot-arns arn:aws:s3:::my_bucket/snapshot.rdb

Redis (クラスターモードが有効) クラスターの作成 (AWS CLI)

Redis (クラスターモードが有効) クラスター (API/CLI: レプリケーショングループ) は、create-cache-cluster オペレーションを使用して作成できません。Redis (クラスターモードが有効) クラスター (API/CLI: レプリケーショングループ) を作成するには、「Redis (クラスターモードが有効) レプリケーショングループを最初から作成する (AWS CLI)」を参照してください。

詳細については、「AWS CLI for ElastiCache リファレンストピック create-replication-group 」を参照してください。

ElastiCache API を使用してクラスターを作成するには、CreateCacheCluster アクションを使用します。

重要

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

Redis (クラスターモードが無効) キャッシュクラスターの作成 (ElastiCache API)

次のコードで、Redis (クラスターモードが無効) キャッシュクラスター (ElastiCache API) を作成します。

改行は読みやすくするために追加しています。

https://elasticache.us-west-2.amazonaws.com/ ?Action=CreateCacheCluster &CacheClusterId=my-cluster &CacheNodeType=cache.r4.large &CacheParameterGroup=default.redis3.2 &Engine=redis &EngineVersion=3.2.4 &NumCacheNodes=1 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &SnapshotArns.member.1=arn%3Aaws%3As3%3A%3A%3AmyS3Bucket%2Fdump.rdb &Timestamp=20150508T220302Z &Version=2015-02-02 &X-Amz-Algorithm=&AWS;4-HMAC-SHA256 &X-Amz-Credential=<credential> &X-Amz-Date=20150508T220302Z &X-Amz-Expires=20150508T220302Z &X-Amz-SignedHeaders=Host &X-Amz-Signature=<signature>

Redis (クラスターモードが有効) でのキャッシュクラスターの作成 (ElastiCache API)

Redis (クラスターモードが有効) クラスター (API/CLI: レプリケーショングループ) は、CreateCacheCluster オペレーションを使用して作成できません。Redis (クラスターモードが有効) クラスター (API/CLI: レプリケーショングループ) を作成するには、「Redis (クラスターモードが有効) レプリケーショングループを最初から作成する (ElastiCache API)」を参照してください。

詳細については、「ElastiCache API リファレンストピック CreateReplicationGroup」を参照してください。