...

Amazon ElastiCache - ユーザーガイド

by user

on
Category: Documents
662

views

Report

Comments

Transcript

Amazon ElastiCache - ユーザーガイド
Amazon ElastiCache
ユーザーガイド
API Version 2015-02-02
Amazon ElastiCache ユーザーガイド
Amazon ElastiCache: ユーザーガイド
Copyright © 2017 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner
that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not
owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by
Amazon.
Amazon ElastiCache ユーザーガイド
Table of Contents
Amazon ElastiCache とは .................................................................................................................... 1
以下の資料も参照してください。 .................................................................................................. 1
ElastiCache が適している用途 ...................................................................................................... 2
インメモリデータキャッシュ ................................................................................................ 2
ゲームリーダーボード (Redis ソートリスト) ........................................................................... 3
メッセージング (Redis pub/sub) ........................................................................................... 4
推奨データ (Redis カウンターとハッシュ) .............................................................................. 5
その他の Redis の用途 ........................................................................................................ 5
お客様の声 ........................................................................................................................ 6
ElastiCache リソース .................................................................................................................. 7
チュートリアルの動画 ................................................................................................................. 8
入門動画チュートリアル ...................................................................................................... 8
上級者向け動画チュートリアル ............................................................................................. 9
用語 ........................................................................................................................................ 10
コンポーネントと機能 ............................................................................................................... 12
ノード ............................................................................................................................. 12
シャード (Redis) ............................................................................................................... 13
クラスター ....................................................................................................................... 13
レプリケーション .............................................................................................................. 15
リージョンとアベイラビリティーゾーン ............................................................................... 17
エンドポイント ................................................................................................................. 17
パラメータグループ .......................................................................................................... 18
セキュリティ .................................................................................................................... 18
セキュリティグループ ....................................................................................................... 18
サブネットグループ .......................................................................................................... 19
バックアップ/スナップショット (Redis) ............................................................................... 19
イベント .......................................................................................................................... 19
ElastiCache へのアクセス .......................................................................................................... 20
ElastiCache の管理 ................................................................................................................... 21
ElastiCache の管理 (コンソール) ......................................................................................... 21
ElastiCache の管理 (AWS CLI) ........................................................................................... 21
ElastiCache の管理 (AWS SDK) .......................................................................................... 21
ElastiCache の管理 (ElastiCache API) .................................................................................. 21
はじめに .......................................................................................................................................... 22
ステップ 1: AWS アカウントの作成 ............................................................................................ 22
ステップ 2: クラスターを起動する .............................................................................................. 23
ステップ 3: (オプション) クラスターの詳細を表示する ................................................................... 25
ステップ 4: アクセスを許可する ................................................................................................. 26
EC2-VPC でクラスターを起動した場合 ................................................................................ 27
EC2-Classic でクラスターを起動した場合 ............................................................................ 27
ステップ 5: クラスターのノードに接続する .................................................................................. 28
ステップ 5.1: ノードのエンドポイントを見つける .................................................................. 28
ステップ 5.2: Memcached ノードに接続する ........................................................................ 28
ステップ 5.2: Redis クラスターまたはレプリケーショングループに接続する ............................. 30
ステップ 6: クラスターを削除する .............................................................................................. 31
ここからどこへ進むべきですか? ................................................................................................. 33
エンジンとバージョン ....................................................................................................................... 34
エンジンの選択: Memcached、Redis (クラスターモードが無効)、または Redis (クラスターモードが
有効) ....................................................................................................................................... 35
使用可能なエンジンバージョンの確認 .......................................................................................... 37
使用可能なエンジンバージョンの確認 (コンソール) ................................................................ 37
使用可能なエンジンバージョンの確認 (AWS CLI) .................................................................. 37
使用可能なエンジンバージョンの確認 (ElastiCache API) ......................................................... 37
Memcached バージョンの比較 .................................................................................................... 39
API Version 2015-02-02
iii
Amazon ElastiCache ユーザーガイド
Memcached バージョン 1.4.33 ...........................................................................................
Memcached バージョン 1.4.24 ...........................................................................................
Memcached バージョン 1.4.14 ...........................................................................................
Memcached バージョン 1.4.5 .............................................................................................
Redis バージョンの比較 .............................................................................................................
Redis バージョン 3.2.4 (拡張) ............................................................................................
Redis バージョン 2.8.24 (拡張) ...........................................................................................
Redis バージョン 2.8.23 (拡張) ...........................................................................................
Redis バージョン 2.8.22 (拡張) ...........................................................................................
Redis バージョン 2.8.21 ....................................................................................................
Redis バージョン 2.8.19 ....................................................................................................
Redis バージョン 2.8.6 ......................................................................................................
Redis バージョン 2.6.13 ....................................................................................................
エンジンバージョンのアップグレード ..........................................................................................
Memcached エンジンのアップグレードに関する重要事項 .......................................................
Redis エンジンのアップグレードに関する重要事項 ................................................................
エンジンバージョンのアップグレード方法 ............................................................................
メンテナンスウィンドウ ............................................................................................................
リージョンとアベイラビリティーゾーンの選択 ......................................................................................
Redis リードレプリカおよび Memcached ノードの配置 .................................................................
サポートされているリージョンおよびエンドポイント ....................................................................
エンドポイントの検索 .......................................................................................................................
コンソールを使用した Memcached エンドポイントの検索 ..............................................................
コンソールを使用した Redis クラスターのエンドポイントの検索 .....................................................
Redis (クラスターモードが有効) クラスターのエンドポイントの検索 ((コンソール)) ...........................
エンドポイントの検索 (AWS CLI) ...............................................................................................
ノードとクラスターのエンドポイントの検索 (AWS CLI) .........................................................
レプリケーショングループのエンドポイントの検索 (AWS CLI) ................................................
エンドポイントの検索 (ElastiCache API) ......................................................................................
ノードとクラスターのエンドポイントの検索 (ElastiCache API) ...............................................
レプリケーショングループのエンドポイントの検索 (ElastiCache API) ......................................
ベストプラクティス ..........................................................................................................................
Redis スナップショットを作成するための十分なメモリがあることの確認 .........................................
バックグラウンド書き込みプロセスとメモリ使用率 ................................................................
バックグラウンド書き込み実行中のメモリ不足の回避 ............................................................
Redis AOF 使用時のディスク容量不足の問題の緩和 .......................................................................
耐障害性に対するより適切なアプローチとしての Redis マルチ AZ の有効化 ..............................
障害の軽減 ...............................................................................................................................
Memcached 実行時の障害を軽減する ...................................................................................
Redis 実行時の障害の軽減 .................................................................................................
ベストプラクティス ..........................................................................................................
効率的な負荷分散のための ElastiCache クライアントの設定 ...........................................................
Java を使用した整合性のあるハッシュ .................................................................................
PHP を使用した整合性のあるハッシュ .................................................................................
.NET を使用した整合性のあるハッシュ ................................................................................
エラーメッセージ ..............................................................................................................................
キャッシュ戦略 .................................................................................................................................
遅延読み込み ............................................................................................................................
シナリオ 1: キャッシュヒット ............................................................................................
シナリオ 2: キャッシュミス ...............................................................................................
遅延読み込みの利点と欠点 .................................................................................................
遅延読み込みコード ..........................................................................................................
書き込みスルー .........................................................................................................................
書き込みスルーの利点と欠点 ..............................................................................................
書き込みスルーコード .......................................................................................................
TTL の追加 ..............................................................................................................................
コード例 ..........................................................................................................................
API Version 2015-02-02
iv
39
39
40
40
41
42
43
43
43
44
44
44
44
44
45
45
46
46
48
48
49
52
53
55
57
59
59
60
63
63
63
65
65
66
66
67
67
68
68
69
71
71
72
72
73
74
76
76
76
77
77
78
78
78
79
79
79
Amazon ElastiCache ユーザーガイド
関連トピック ............................................................................................................................ 80
ノード ............................................................................................................................................. 81
シャード (Redis) ....................................................................................................................... 81
ノードサイズの選択 .................................................................................................................. 83
Memcached ノードサイズの選択 ......................................................................................... 83
Redis ノードサイズの選択 ................................................................................................. 84
リザーブドノード ...................................................................................................................... 87
リザーブドノードサービス ................................................................................................. 87
使用可能なリザーブドキャッシュノードサービスの説明 ......................................................... 89
リザーブドノードの購入 .................................................................................................... 91
リザーブドノードの説明 .................................................................................................... 94
サポートされているノードの種類 ................................................................................................ 96
ノードが置き換え対象となった場合に実行可能なアクション ........................................................... 98
Memcached ..................................................................................................................... 98
Redis .............................................................................................................................. 98
ノードの自動検出 (Memcached) ........................................................................................................ 101
自動検出の利点 ....................................................................................................................... 102
自動検出の動作 ....................................................................................................................... 103
キャッシュノードへの接続 ................................................................................................ 103
通常のクラスターオペレーション ...................................................................................... 104
その他のオペレーション ................................................................................................... 105
自動検出の使用 ....................................................................................................................... 107
ステップ 1: 設定エンドポイントを取得する ........................................................................ 107
ステップ 2: ElastiCache クラスタークライアントをダウンロードする ..................................... 108
ステップ 3: アプリケーションプログラムを変更する ............................................................ 109
キャッシュノードへの手動接続 ................................................................................................. 112
クライアントライブラリへの自動検出の追加 ............................................................................... 113
キャッシュエンジンバージョン 1.4.14 以上 ......................................................................... 113
キャッシュエンジンバージョン 1.4.14 未満 ......................................................................... 113
出力形式 ........................................................................................................................ 114
自動検出クライアント .............................................................................................................. 114
クライアントのインストールとコンパイル .......................................................................... 115
クライアントの設定 ......................................................................................................... 125
シャード (Redis) ............................................................................................................................. 130
クラスター ..................................................................................................................................... 131
Memcached のバージョン ........................................................................................................ 132
Redis のバージョン ................................................................................................................. 132
その他の ElastiCache クラスターオペレーション ......................................................................... 132
クラスターの作成 .................................................................................................................... 133
クラスターの作成: Memcached (コンソール) ....................................................................... 134
Redis (クラスターモードが無効) クラスターの作成 ((コンソール)) .......................................... 136
Redis (クラスターモードが有効) クラスターの作成 ((コンソール)) .......................................... 140
クラスター (CLI) の作成 ................................................................................................... 144
クラスター (API) の作成 ................................................................................................... 146
クラスターの詳細を表示する ..................................................................................................... 148
クラスターの詳細を表示する: Memcached (コンソール) ........................................................ 148
Redis (クラスターモードが無効) クラスターの詳細の表示 ((コンソール)) ................................. 150
Redis (クラスターモードが有効) クラスターの詳細の表示 ((コンソール)) ................................. 151
クラスターの詳細の表示 ((AWS CLI)) ................................................................................. 152
クラスターの詳細の表示 ((ElastiCache API)) ....................................................................... 154
クラスターの変更 .................................................................................................................... 155
クラスターの変更 ((コンソール)) ....................................................................................... 155
キャッシュクラスターの変更 ((AWS CLI)) ........................................................................... 156
キャッシュクラスターの変更 ((ElastiCache API)) ................................................................. 157
クラスターの再起動 ................................................................................................................. 158
クラスターの再起動 ((コンソール)) .................................................................................... 158
キャッシュクラスターの再起動 ((AWS CLI)) ....................................................................... 158
API Version 2015-02-02
v
Amazon ElastiCache ユーザーガイド
キャッシュクラスターの再起動 ((ElastiCache API)) .............................................................. 159
クラスターのモニタリング ........................................................................................................ 160
クラスターへのノードの追加 ..................................................................................................... 160
クラスターへのノードの追加 ((コンソール)) ........................................................................ 160
キャッシュクラスターへのノードの追加 ((AWS CLI)) ........................................................... 163
キャッシュクラスターへのノードの追加 ((ElastiCache API)) .................................................. 164
クラスターからのノードの削除 ................................................................................................. 166
クラスターからのノードの削除 ((コンソール)) ..................................................................... 166
クラスターからのノードの削除 ((AWS CLI)) ....................................................................... 167
クラスターからのノードの削除 ((ElastiCache API)) .............................................................. 170
保留中のノードの追加または削除オペレーションのキャンセル ....................................................... 172
保留中のノードの追加またはノード削除オペレーションのキャンセル ((コンソール)) ................. 172
クラスターの削除 .................................................................................................................... 173
クラスターの削除 ((コンソール)) ....................................................................................... 173
キャッシュクラスターの削除 ((AWS CLI)) ........................................................................... 173
キャッシュクラスターの削除 ((ElastiCache API)) ................................................................. 173
スケーリング .................................................................................................................................. 175
Memcached のスケーリング ..................................................................................................... 176
Memcached の水平スケーリング ....................................................................................... 176
Memcached の垂直スケーリング ....................................................................................... 177
Redis (クラスターモードが無効) クラスターのスケーリング .......................................................... 179
Redis クラスターのスケールアップ .................................................................................... 179
単一ノード Redis キャッシュクラスターのスケールダウン .................................................... 185
レプリカノードを含む Redis のクラスターのスケーリング ............................................................ 188
レプリカを含む Redis クラスターのスケールアップ ............................................................. 189
レプリカを含む Redis クラスターのスケールダウン ............................................................. 195
読み込みキャパシティーの増加 ......................................................................................... 197
読み込みキャパシティーの削減 ......................................................................................... 198
レプリケーション (Redis) ................................................................................................................. 199
Redis レプリケーション ........................................................................................................... 201
Redis (クラスターモードが無効) ........................................................................................ 201
Redis (クラスターモードが有効) ........................................................................................ 201
レプリケーション: Redis (クラスターモードが無効) と Redis (クラスターモードが有効) .................... 202
どちらを使用すればよいですか? ........................................................................................ 204
レプリケーション: 自動フェイルオーバーとマルチ AZ (Redis) ....................................................... 205
自動フェイルオーバーの概要 ............................................................................................. 205
自動フェイルオーバーと Multi-AZ に関する注意事項 ............................................................. 205
マルチ AZ および自動フェイルオーバーレスポンスの障害シナリオ ......................................... 206
マルチ AZ で自動フェイルオーバーを有効にする ................................................................. 209
同期とバックアップの実装方法 ................................................................................................. 211
Redis バージョン 2.8.22 以降 ........................................................................................... 211
Redis バージョン 2.8.22 以前 ........................................................................................... 211
レプリカを持つクラスターの作成 .............................................................................................. 212
既存のクラスターによる、レプリカを持つクラスターの作成 .................................................. 213
ゼロからのレプリケーショングループの作成 ....................................................................... 217
レプリケーショングループの詳細の表示 ..................................................................................... 231
レプリカを持つ Redis (クラスターモードが無効) の詳細の表示: Redis (クラスターモードが無効) 231
レプリケーショングループの詳細の表示: Redis (クラスターモードが有効) ............................... 232
レプリケーショングループの詳細の表示: (AWS CLI) ............................................................ 232
レプリケーショングループの詳細の表示: (ElastiCache API) ................................................... 234
レプリケーショングループのエンドポイントの検索 ...................................................................... 236
レプリカを持つクラスターの変更 .............................................................................................. 237
Redis クラスターの変更 ((コンソール)) .............................................................................. 237
レプリケーショングループの変更 ((AWS CLI)) .................................................................... 237
レプリケーショングループの変更 ((ElastiCache API)) ........................................................... 237
レプリカを持つクラスターの削除 .............................................................................................. 239
レプリケーショングループの削除 ((コンソール)) .................................................................. 239
API Version 2015-02-02
vi
Amazon ElastiCache ユーザーガイド
レプリケーショングループの削除 ((AWS CLI)) ....................................................................
レプリケーショングループの削除 ((ElastiCache API)) ...........................................................
リードレプリカの追加 ..............................................................................................................
クラスターへのリードレプリカの追加 ((コンソール)) ............................................................
レプリケーショングループへのリードレプリカの追加 ((AWS CLI)) .........................................
レプリケーショングループへのリードレプリカの追加 ((ElastiCache API)) ................................
リードレプリカの昇格 ..............................................................................................................
リードレプリカをプライマリに昇格させる ((コンソール)) ......................................................
リードレプリカをプライマリに昇格させる ((AWS CLI)) ........................................................
リードレプリカをプライマリに昇格させる ((ElastiCache API)) ...............................................
リードレプリカの削除 ..............................................................................................................
バックアップと復元の管理 (Redis) .....................................................................................................
制約 ......................................................................................................................................
コスト ...................................................................................................................................
パフォーマンスに対するバックアップの影響 ...............................................................................
Redis 2.8.22 以降を実行する場合のバックアップ .................................................................
Redis バージョン 2.8.22 以前を実行する場合のバックアップ .................................................
Scheduling Automatic Backups ..................................................................................................
Taking Manual Backups ...........................................................................................................
手動バックアップの作成 (コンソール) ................................................................................
手動バックアップの作成 (AWS CLI) ...................................................................................
手動バックアップの作成 (ElastiCache API) .........................................................................
Taking a Final Backup .............................................................................................................
最終バックアップの作成 ((コンソール)) ..............................................................................
最終バックアップの作成 ((AWS CLI)) .................................................................................
最終バックアップの作成 ((ElastiCache API)) .......................................................................
バックアップの詳細の表示 ........................................................................................................
バックアップの詳細の表示 ((コンソール)) ...........................................................................
バックアップの詳細の表示 ((AWS CLI)) ..............................................................................
バックアップの詳細の表示 ((ElastiCache API)) ....................................................................
バックアップのコピー ..............................................................................................................
バックアップのコピー ((コンソール)) .................................................................................
バックアップのコピー ((AWS CLI)) ....................................................................................
バックアップのコピー ((ElastiCache API)) ..........................................................................
バックアップのエクスポート .....................................................................................................
ステップ 1: Amazon S3 バケットを作成する .......................................................................
ステップ 2: ElastiCache に Amazon S3 バケットへのアクセスを許可する ...............................
ステップ 3: ElastiCache バックアップをエクスポートする ....................................................
Restoring From a Backup .........................................................................................................
Restoring From a Backup (コンソール) ..............................................................................
Restoring From a Backup (AWS CLI) .................................................................................
Restoring From a Backup (ElastiCache API) .......................................................................
Using a Backup to Seed a Cluster .............................................................................................
ステップ 1: Redis バックアップを作成する .........................................................................
ステップ 2: バックアップを Amazon S3 にアップロードする ................................................
ステップ 3: .rdb ファイルへの読み込みアクセスを ElastiCache に許可する ..............................
ステップ 4: ElastiCache クラスターと .rdb ファイルデータを提携させる .................................
Tagging Backups ....................................................................................................................
Deleting a Backup ...................................................................................................................
Deleting a Backup (コンソール) ........................................................................................
Deleting a Backup (AWS CLI) ...........................................................................................
Deleting a Backup (ElastiCache API) .................................................................................
AOF (Redis Append Only Files) ................................................................................................
セキュリティグループ [EC2-Classic] ..................................................................................................
セキュリティグループを作成する ..............................................................................................
セキュリティグループを作成する (コンソール) ....................................................................
セキュリティグループを作成する (AWS CLI) ......................................................................
API Version 2015-02-02
vii
239
239
240
240
240
241
242
242
243
243
245
246
246
247
247
247
247
249
250
250
251
253
256
256
256
257
259
259
259
259
261
261
261
262
263
263
264
265
269
269
269
270
271
271
271
272
273
274
275
275
275
275
276
277
279
279
279
Amazon ElastiCache ユーザーガイド
セキュリティグループを作成する (ElastiCache API) .............................................................
利用可能な セキュリティグループを一覧表示する ........................................................................
使用可能なセキュリティグループの一覧表示 ((コンソール)) ...................................................
使用可能なセキュリティグループの一覧表示 ((AWS CLI)) .....................................................
使用可能なセキュリティグループの一覧表示 ((ElastiCache API)) ............................................
セキュリティグループの表示 .....................................................................................................
セキュリティグループの表示 ((コンソール)) ........................................................................
セキュリティグループの表示 ((AWS CLI)) ...........................................................................
セキュリティグループの表示 ((ElastiCache API)) .................................................................
Amazon EC2 セキュリティグループへのネットワークアクセスの許可 .............................................
Amazon EC2 セキュリティグループへのネットワークアクセスの許可 (コンソール) ..................
Amazon EC2 セキュリティグループへのネットワークアクセスの許可 (AWS CLI) .....................
Amazon EC2 セキュリティグループへのネットワークアクセスの許可 (ElastiCache API) ............
パラメータとパラメータグループ ......................................................................................................
パラメーター管理 ....................................................................................................................
パラメータグループの階層 ........................................................................................................
パラメーターグループを作成する ..............................................................................................
パラメータグループを作成する (コンソール) .......................................................................
パラメータグループを作成する (AWS CLI) .........................................................................
パラメータグループを作成する (ElastiCache API) ................................................................
パラメータグループを名前別に一覧表示する ...............................................................................
パラメータグループを名前別に一覧表示する (コンソール) .....................................................
パラメータグループを名前別に一覧表示する (AWS CLI) .......................................................
パラメータグループを名前別に一覧表示する (ElastiCache API) ..............................................
パラメータグループの値を一覧する ...........................................................................................
パラメータグループの値を一覧する (コンソール) .................................................................
パラメータグループの値を一覧する (AWS CLI) ...................................................................
パラメータグループの値を一覧する (ElastiCache API) ..........................................................
パラメータグループを変更する .................................................................................................
パラメータグループを変更する (コンソール) .......................................................................
パラメータグループを変更する (AWS CLI) .........................................................................
パラメータグループを変更する (ElastiCache API) ................................................................
パラメータグループを削除する .................................................................................................
パラメータグループを削除する (コンソール) .......................................................................
パラメータグループを削除する (AWS CLI) .........................................................................
パラメータグループを削除する (ElastiCache API) ................................................................
Memcached 固有のパラメータ ..................................................................................................
Memcached 1.4.33 で追加されたパラメータ .......................................................................
Memcached 1.4.24 で追加されたパラメータ .......................................................................
Memcached 1.4.14 で追加されたパラメータ .......................................................................
Memcached 1.4.5 では、パラメータがサポートされていました。 ...........................................
Memcached 接続オーバーヘッド .......................................................................................
Memcached のノードタイプ固有のパラメータ .....................................................................
Redis 固有のパラメータ ...........................................................................................................
Redis 3.2.4 パラメーターの変更 ........................................................................................
Redis 2.8.24 (拡張) で追加されたパラメータ .......................................................................
Redis 2.8.23 (拡張) で追加されたパラメータ .......................................................................
Redis 2.8.22 (拡張) で追加されたパラメータ .......................................................................
Redis 2.8.21 で追加されたパラメータ ................................................................................
Redis 2.8.19 で追加されたパラメータ ................................................................................
Redis 2.8.6 で追加されたパラメータ ..................................................................................
Redis 2.6.13 パラメータ ..................................................................................................
Redis のノードタイプ固有のパラメータ .............................................................................
サブネットおよびサブネットグループ ................................................................................................
サブネットグループの作成 ........................................................................................................
サブネットグループの作成 ((コンソール)) ...........................................................................
サブネットグループの作成 ((AWS CLI)) ..............................................................................
API Version 2015-02-02
viii
279
281
281
281
281
282
282
282
282
284
284
284
285
286
287
288
289
289
289
290
292
292
292
293
295
295
295
296
298
298
298
299
300
300
300
300
302
302
304
305
309
311
312
313
314
316
317
318
319
319
319
322
328
331
332
332
333
Amazon ElastiCache ユーザーガイド
サブネットグループの作成 ((ElastiCache API)) ....................................................................
クラスターまたはレプリケーショングループにサブネットグループを割り当てる ..............................
サブネットグループの変更 ........................................................................................................
サブネットグループの変更 ((コンソール)) ...........................................................................
サブネットグループの変更 ((AWS CLI)) ..............................................................................
サブネットグループの変更 ((ElastiCache API)) ....................................................................
サブネットグループの削除 ........................................................................................................
サブネットグループの削除 ((コンソール)) ...........................................................................
サブネットグループの削除 ((AWS CLI)) ..............................................................................
サブネットグループの削除 ((ElastiCache API)) ....................................................................
Amazon VPC と ElastiCache ............................................................................................................
ElastiCache および Amazon VPC ..............................................................................................
Amazon VPC 内の ElastiCache の概要 ...............................................................................
なぜ EC2 Classic の代わりに Amazon VPC を ElastiCache デプロイメントで使用するのです
か。 ..............................................................................................................................
前提条件 ........................................................................................................................
ルーティングとセキュリティ .............................................................................................
Amazon VPC ドキュメント ..............................................................................................
Virtual Private Cloud (VPC) の作成 ............................................................................................
Amazon VPC バケットの作成 (コンソール) .........................................................................
キャッシュサブネットグループの作成 ........................................................................................
Amazon VPC でのキャッシュクラスターの作成 ...........................................................................
Amazon VPC でのキャッシュクラスターの作成 (コンソール) ................................................
Amazon VPC でレプリケーショングループを作成する ..................................................................
Amazon VPC でレプリケーショングループを作成する (コンソール) .......................................
Amazon VPC で実行中のクラスターまたはレプリケーショングループに接続する .............................
1. Amazon EC2 インスタンスを作成する ............................................................................
2. Amazon EC2 インスタンスに IP アドレスを割り当てる .....................................................
3. Amazon EC2 インスタンスに接続する ............................................................................
セキュリティ ..................................................................................................................................
セキュリティグループ ..............................................................................................................
Amazon VPC: Amazon VPC セキュリティグループ ..............................................................
Amazon EC2-Classic: ElastiCache セキュリティグループ .....................................................
認証とアクセスコントロール .....................................................................................................
認証 ..............................................................................................................................
アクセスコントロール ......................................................................................................
アクセス管理の概要 .........................................................................................................
アイデンティティベースのポリシー (IAM ポリシー) を使用する .............................................
ElastiCache API の権限リファレンス .................................................................................
AWS 外部からの ElastiCache リソースへのアクセス ............................................................................
要件 ......................................................................................................................................
考慮事項 ................................................................................................................................
制約事項 ................................................................................................................................
AWS 外部から ElastiCache リソースにアクセスする方法 ..............................................................
以下の資料も参照してください。 ..............................................................................................
モニタリング ..................................................................................................................................
使用状況のモニタリング ...........................................................................................................
ElastiCache メトリクスのディメンション ...........................................................................
ホストレベルのメトリクス ................................................................................................
Memcached のメトリクス ................................................................................................
Redis のメトリクス .........................................................................................................
モニタリングすべきメトリクス .........................................................................................
メトリクスの統計と期間の選択 .........................................................................................
Monitoring CloudWatch Cache Cluster and Cache Node Metrics .............................................
イベントのモニタリング ...........................................................................................................
ElastiCacheAmazon SNS 通知の管理 .................................................................................
Viewing ElastiCache Events ..............................................................................................
API Version 2015-02-02
ix
333
335
336
336
336
336
338
338
338
338
340
341
341
343
344
344
344
346
346
348
349
349
350
350
351
351
352
353
356
356
356
356
358
358
359
360
364
369
373
373
373
374
374
376
377
378
378
378
379
381
384
385
385
388
388
392
Amazon ElastiCache ユーザーガイド
イベント通知と Amazon SNS ...........................................................................................
タグによるコストのモニタリング ..............................................................................................
コンソールを使用したタグの管理 ......................................................................................
AWS CLI を使用したタグの管理 ........................................................................................
ElastiCache API を使用したタグの管理 ..............................................................................
Copying Tags to Your ElastiCache Resource ......................................................................
ElastiCache API の使用 ....................................................................................................................
クエリ API の使用 ...................................................................................................................
Query パラメータ ............................................................................................................
クエリリクエストの認証 ...................................................................................................
利用可能なライブラリ ..............................................................................................................
アプリケーションのトラブルシューティング ...............................................................................
エラーの取得 ..................................................................................................................
トラブルシューティングのヒント ......................................................................................
API 呼び出しのログ作成 ...........................................................................................................
CloudTrail 内の ElastiCache 情報 ......................................................................................
ElastiCache ログファイルエントリの解読 ...........................................................................
チュートリアル ...............................................................................................................................
ドキュメント履歴 ............................................................................................................................
AWS の用語集 ................................................................................................................................
API Version 2015-02-02
x
393
399
400
404
407
409
411
411
411
411
413
414
414
414
415
415
415
419
420
428
Amazon ElastiCache ユーザーガイド
以下の資料も参照してください。
Amazon ElastiCache とは
『Amazon ElastiCache User Guide』にようこそ。ElastiCache は、クラウドでのメモリ内分散キャッシュ
環境のセットアップ、管理、およびスケーリングを容易に行えるようにするウェブサービスです。この
サービスは、パフォーマンスとコスト効率に優れ、スケーラブルなキャッシュソリューションを提供する
と共に、分散キャッシュ環境のデプロイと管理に伴う複雑性を排除します。
ElastiCache を使用すると、ハードウェアをプロビジョニングしたりソフトウェアをインストールしたり
しなくても、キャッシュ環境をデプロイすることができます。Memcached または Redis プロトコル準拠
キャッシュエンジンソフトウェアから選択し、ソフトウェアアップグレードとパッチ管理が ElastiCache
により実行されるようにできます。セキュリティー強化のため、ElastiCache はクラスターへのネット
ワークアクセスの完全な制御を実現する Amazon Virtual Private Cloud (Amazon VPC) 環境で実行できま
す。AWS マネジメントコンソール で数回クリックするだけで、ElastiCache 環境にリソース (ノード、ク
ラスター、またはリードレプリカなど) を追加し、ビジネスニーズとアプリケーション要件を満たすこと
ができます。
Memcached または Redis を使用する既存のアプリケーションは、ほとんど変更を加えずに ElastiCache
を使用できます。アプリケーションに必要なのは、デプロイした ElastiCache ノードのホスト名とポート
番号だけです。Memcached 用の ElastiCache 自動検出機能を使用すると、アプリケーションは、使用可
能なホスト名とポート番号のリストを維持しなくても、キャッシュクラスター内のすべてのノードを特定
して接続できます。このようにして、アプリケーションはクラスターのノードメンバーシップの変更から
効果的に隔離されます。
ElastiCache には、重要なプロダクションデータベースの信頼性を向上させる各種機能があります:
• キャッシュノードの障害の自動検出と復旧。
• 障害が発生したプライマリクラスターの Redis レプリケーショングループのリードレプリカへの自動
フェイルオーバー (マルチ AZ)。
• ノードとクラスターの柔軟なアベイラビリティーゾーンの配置。
• Amazon EC2、CloudWatch、CloudTrail、Amazon SNS など他の AWS サービスとの統合によるセキュ
アで高パフォーマンスなマネージドインメモリキャッシングソリューションの提供。
以下の資料も参照してください。
Amazon ElastiCache を使用したスケールに応じたパフォーマンス
API Version 2015-02-02
1
Amazon ElastiCache ユーザーガイド
ElastiCache が適している用途
ElastiCache が適している用途
最新のニュース、トップ 10 のリーダーボード、製品カタログ、またはイベントのチケットを販売できま
す。スピードの勝負です。ウェブサイトやビジネスの成功は、コンテンツを配信するスピードに大きく左
右されます。NY Times による 2012 年の調査「For Impatient Web Users, an Eye Blink Is Just Too Long
to Wait」によると、ユーザーは競合サイト間で 250 ミリ秒 (1/4 秒) の違いを認識して、遅いサイトより
も速度の速いサイトのほうを選びます。2007 年にアマゾンが行ったテスト「How Webpage Load Time Is
Related to Visitor Loss」では、ロード時間が 100 ミリ秒 (1/10 秒) 長くなるごとに、売上げが 1 % 減少す
るとの結果が出ています。ある人物がデータを必要とする場合、ウェブページであろうとビジネスの意思
決定にかかわるレポートであろうと、そのデータをキャッシュしておくことで、より速く配信できます。
可能な最も短いレイテンシーでウェブページを配信するために、ウェブページのキャッシュ費用を負担す
ることは、ビジネス上可能ですか。
最も頻繁にリクエストされる項目をキャッシュするべきであることは、考えるまでもなく明白です。しか
し、なぜそれほど頻繁にリクエストされる項目をキャッシュしようとしないのでしょうか。最も最適化さ
れたデータベースクエリまたはリモート API コールを使用しても、インメモリキャッシュからの取得に比
べれば、著しく時間がかかります。著しく時間がかかることで、顧客を他社に取られてしまうことを忘れ
ないでください。
次の例で、ElastiCache を使用してアプリケーションの全体的なパフォーマンスを向上させるいくつかの
方法を説明します。
インメモリデータキャッシュ
インメモリキー値ストアの主な目的は、データのコピーに超高速 (ミリ秒以下のレイテンシー) で低コス
トなアクセスを提供することです。ほとんどのデータストアには、頻繁にアクセスされてもほとんど更新
されることのないデータ領域があります。さらにデータベースのクエリは、キーと値のペアのキャッシュ
を検索するよりも常に時間がかかり、キーの検索にコストがかかります。データベースのクエリによって
は、複数のテーブルにまたがるクエリや集中的な計算が必要なクエリなど、その実行に高いコストがかか
るものもあります。このようなクエリの結果をキャッシュすることで、クエリのコストを一度だけ支払え
ば、クエリを再実行することなくデータを何回でもすぐに取得できるようになります。
キャッシュの方法。
キャッシュするデータを決める場合は、以下の点を考慮する必要があります。
速度とコスト – データベースからデータを取得するには、キャッシュから取得するより常に時間とコスト
がかかります。データベースのクエリによっては、本質的により低速で高コストのものもあります。たと
えば、複数のテーブルにわたって実行されるクエリは、単純な単一テーブルに対するクエリよりもコスト
が高くつきます。興味深いデータを取得するのに時間のかかるコストの高いクエリが必要となるのであれ
ば、キャッシュを検討する価値があります。データを比較的単純なクエリで迅速に取得できる場合であっ
ても、その他の要因によってはキャッシュを検討する価値があります。
データとアクセスパターン – キャッシュするデータを決定するには、データ自体とアクセスパターンを理
解することも必要です。たとえば、すぐに変化するデータやほとんどアクセスされることのないデータを
キャッシュすることには意味がありません。キャッシュに有意な利点を持たせるには、ソーシャルメディ
アサイトの個人プロファイルのような、比較的静的で頻繁にアクセスされるデータである必要がありま
す。逆にキャッシュによる速度またはコストのメリットがない場合は、データをキャッシュする意味はあ
りません。たとえば、検索結果を返すウェブページをキャッシュすることは、そのようなクエリとその結
果はほとんど固有のものであるため、意味がありません。
古い – 定義上、キャッシュされたデ—タは、たとえそれが特定の状況下で古いものではなくても、古い
データであることに変わりはありません。したがって、常に古いものとみなして扱う必要があります。
データがキャッシュの候補となりうるかどうかを決定する際に、古いデータに対するアプリケーションの
耐障害性を判断する必要があります。アプリケーションでは、あるコンテキストで古いデータを許容でき
API Version 2015-02-02
2
Amazon ElastiCache ユーザーガイド
ゲームリーダーボード (Redis ソートリスト)
ても、別のコンテキストでは許容できない場合もあります。たとえば、ウェブサイトで上場株式の価格を
提供している場合、価格が最大で n 分まで遅れる可能性があることが免責事項である場合、データが古い
ことは許容されます。しかし、同じ株式をブローカーが売買するときの価格を提供する場合は、リアルタ
イムのデータが必要になります。
要約すると、データをキャッシュする際には以下のことを検討します:
• また、キャッシュからの取得に比べて、時間とコストがかかります。
• 十分な頻度でアクセスされる。
• 比較的静的であるか、急速に変化する場合はデータの古さが重要な問題とならないこと。
詳細については、「キャッシュ戦略 (p. 76)」を参照してください。
ゲームリーダーボード (Redis ソートリスト)
Redis ソートセットは、計算の複雑性がアプリケーションから Redis クラスターへのリーダーボードに関
連付けられています。
ゲームのハイスコアのトップ 10 のなどのリーダーボードは計算が複雑で、大勢のプレーヤーが同時にプ
レーしており、スコアが継続的に変化する場合は、とくに複雑となります。Redis ソートセットは、一意
性と要素の順番を保証します。Redis ソートセットを使用すると、ソートセットに新しい要素が追加され
るたびに リアルタイムで再ランキングが行われ、セットの適切な順位の位置にその要素が設定されます。
Example - Redis リーダー ボード
この例では、ZADD を使用して 4 人のゲーマーとそのスコアがソートされたリストに入力されていま
す。ZREVRANGEBYSCORE コマンドは、プレーヤーをスコアの高い者から順に一覧します。次に、ZADDを使
用して既存のエントリを上書きして、June のスコアを更新します。最後に ZREVRANGEBYSCORE が、プレー
ヤーをスコアの高い順にランク付けして一覧し、June のランキングが上昇したことが示されます。
ZADD
ZADD
ZADD
ZADD
leaderboard
leaderboard
leaderboard
leaderboard
132 Robert
231 Sandra
32 June
381 Adam
ZREVRANGEBYSCORE leaderboard +inf -inf
1) Adam
2) Sandra
3) Robert
4) June
ZADD leaderboard 232 June
ZREVRANGEBYSCORE leaderboard +inf -inf
1) Adam
2) June
3) Sandra
4) Robert
次のコマンドは、June にすべてのプレーヤー間での自分のランクを通知します。ランク付けがゼロベース
であるため、ZREVRANK は 2 番目の位置にいる June に対して 1 を返します。
ZREVRANK leaderboard June
1
詳細については、ソートセットの「Redis のドキュメント」を参照してください。
API Version 2015-02-02
3
Amazon ElastiCache ユーザーガイド
メッセージング (Redis pub/sub)
メッセージング (Redis pub/sub)
E メールメッセージを送信すると、1 人以上の指定された受信者にメッセージが送信されます。publish/
subscribe のパラダイムでは、メッセージをその受信者にではなく、受信者を特定しないまま特定の
チャンネルに送信します。メッセージの受信者は、そのチャネルに登録している人物です。たとえば、
お客様が news.sports.golf チャネルに登録しているとします。news.sports.golf へのすべての登録者
は、news.sports.golf チャンネルに発行されるメッセージをすべて受信します。
Redis の publish/subscribe 機能は、キー空間とは無関係です。したがって、あらゆるレベルで干渉される
ことはありません。
登録中
チャンネルに発行されるメッセージを受信するには、チャンネルに登録する必要があります。1 つのチャ
ンネル、複数の指定されたチャンネル、またはパターンに一致するすべてのチャンネルに登録できます。
登録をキャンセルするには、登録時に指定したチャンネルから、またはパターンマッチングを使用して登
録した場合はパターンに一致するすべてのチャンネルから登録解除します。
Example - 1 つのチャンネルへの登録
1 つのチャンネルに登録するには、登録するチャンネルを指定して SUBSCRIBE コマンドを使用します。
以下の例では、クライアントは news.sports.golf チャンネルに登録します。
SUBSCRIBE news.sports.golf
しばらくすると、クライアントは、登録解除するチャンネルを指定した UNSUBSCRIBE コマンドを使用
して、チャンネルへの登録をキャンセルします。
UNSUBSCRIBE news.sports.golf
Example - 複数の指定されたチャンネルへの登録
複数の指定されたチャンネルに登録するには、SUBSCRIBE コマンドを使用してチャンネルに登録しま
す。以下の例では、クライアントは news.sports.golf、news.sports.soccer、news.sports.skiing のすべての
チャンネルに登録します。
SUBSCRIBE news.sports.golf news.sports.soccer news.sports.skiing
特定のチャンネルへの登録をキャンセルするには、UNSUBSCRIBE コマンドを使用して、登録解除する
チャンネルを指定します。
UNSUBSCRIBE news.sports.golf
複数のチャンネルへの登録をキャンセルするには、UNSUBSCRIBE コマンドを使用して、登録解除する
チャンネルを指定します。
UNSUBSCRIBE news.sports.golf news.sports.soccer
すべての登録をキャンセルするには、各チャンネルを指定して UNSUBSCRIBE を使用するか、いずれの
チャンネルも指定せずに UNSUBSCRIBE を使用します。
UNSUBSCRIBE news.sports.golf news.sports.soccer news.sports.skiing
API Version 2015-02-02
4
Amazon ElastiCache ユーザーガイド
推奨データ (Redis カウンターとハッシュ)
UNSUBSCRIBE
Example - パターンマッチングを使用した登録
クライアントは PSUBSCRIBE コマンドを使用して、パターンに一致するすべてのチャンネルに登録でき
ます。
以下の例では、クライアントはすべてのチャンネルに登録します。SUBSCRIBE 使用してすべてのスポー
ツチャンネルを個々に登録するのではなく、PSUBSCRIBE コマンドでパターンマッチングを使用します。
PSUBSCRIBE news.sports.*
これらのチャンネルへの登録をキャンセルするには、PUNSUBSCRIBE コマンドを使用します。
PUNSUBSCRIBE news.sports.*
Important
[P]SUBSCRIBE コマンドに送られるチャンネルの文字列と、[P]UNSUBSCRIBE コマンドに
送られるチャンネルの文字列は一致している必要があります。news.* に PSUBSCRIBE し
て、news.sports.* から PUNSUBSCRIBE したり、news.sports.golf から UNSUBSCRIBE したり
はできません。
発行
チャンネルへのすべての登録者にメッセージを送信するには、PUBLISH コマンドを使用してチャンネル
とメッセージを指定します。以下の例では、"It's Saturday and sunny. I'm headed to the links." というメッ
セージをnews.sports.golf チャンネルに発行しています。
PUBLISH news.sports.golf "It's Saturday and sunny. I'm headed to the links."
クライアントは、登録しているチャンネルに発行することはできません。
詳細については、『Redis ドキュメント』の「Pub/Sub」を参照してください。
推奨データ (Redis カウンターとハッシュ)
Redis カウンターとハッシュは、推奨のコンパイルを簡単にします。ユーザーが製品を「好き」になるた
びに、項目: productID: 好みに 1 を加えます。ユーザーが製品を「嫌い」になるたびに、項目: productID:
嫌いに 1 を加えます。Redis ハッシュを使用して、その製品を好きなまたは嫌いなユーザー全員のリスト
を保持できます。
Example - 好き & 嫌い
INCR
HSET
INCR
HSET
item:38923:likes
item:38923:ratings Susan 1
item:38923:dislikes
item:38923:ratings Tommy -1
その他の Redis の用途
Salvatore Sanfilippo による記事 (How to take advantage of Redis just adding it to your stack) で、数多くの
よく知られたデータベースが、Redis を使用して問題を簡単に解決している方法が紹介されており、デー
タベースからのロードが不要になり、パフォーマンスが向上することが説明されています。
API Version 2015-02-02
5
Amazon ElastiCache ユーザーガイド
お客様の声
お客様の声
「お客様の声」を参照して、airbnb、PBS、esri、その他の企業が、Amazon ElastiCache を活用して自社
の顧客体験を向上させながら成長しているのをご覧ください。
API Version 2015-02-02
6
Amazon ElastiCache ユーザーガイド
ElastiCache リソース
Amazon ElastiCache リソース
以下のセクションを読んでから開始することをお勧めします。また、必要に応じて参照し直してくださ
い。
• サービスのハイライトと価格設定 – 製品詳細ページには、ElastiCache の全般的な製品概要、サービス
のハイライト、価格設定が掲載されています。
• ElastiCache 動画 –「ElastiCache チュートリアルの動画 (p. 8)」セクションでは Amazon
ElastiCache が紹介されており、ElastiCache の一般的ユースケースと、ElastiCache を使用してレイテ
ンシーを減らしアプリケーションのスループットを向上させる方法のデモがあります。
• はじめに –「Amazon ElastiCache の使用開始 (p. 22)」セクションには、キャッシュクラスターの作
成、キャッシュクラスターへのアクセス認可、キャッシュノードへの接続、キャッシュクラスターの削
除のプロセスを実行する例が掲載されています。
• スケールに応じたパフォーマンス – Amazon ElastiCache を使用したスケールに応じたパフォーマンス
ホワイトペーパーでは、アプリケーションがスケールに応じて適切に機能するためのキャッシュ戦略を
ご紹介しています。
前述のセクションを完了したら、これらのセクションを参照してください。
• エンジンとバージョン (p. 34)
ElastiCache では、— Memcached と Redis の 2 つのエンジンがサポートされます。このトピックで
は、どのエンジンがお客様のシナリオに最良であるかを判断するのに役立ちます。
• ノードサイズの選択 (p. 83)
キャッシュは、キャッシュしたいすべてのデータに対応できるだけの十分な大きさにします。同時に、
必要以上にキャッシュを大きくしたくはないものです。このトピックでは、最良のノードのサイズを選
択するのに役立ちます。
• Amazon ElastiCache の実装のベストプラクティス (p. 65)
クラスターの効率に影響を及ぼす可能性がある問題を特定し、対処します。
AWS Command Line Interface を使用する場合は、以下のドキュメントが作業を始めるのに役立ちます。
• AWS Command Line Interface のドキュメント
このセクションには、AWS CLI のダウンロード、システムでの CLI の実行、AWS 認証情報の指定に関
する情報が記載されています。
• ElastiCache に関する AWS CLI のドキュメント
これは、構文と例など、ElastiCache 用 AWS CLI のコマンド に関するすべてが掲載された別個のドキュ
メントです。
一般に使用されているさまざまなプログラミング言語を使用して、ElastiCache API を活用するアプリケー
ションプログラムを記述できます。次にいくつかのリソースを示します。
• Amazon Web Services 用のツール
Amazon Web Services には、ElastiCache をサポートする多数のソフトウェア開発キット (SDK) が用意
されています。ElastiCache のコードは、Java、.NET、PHP、Ruby、および他の言語で記述できます。
これらの SDK では、リクエストが ElastiCache の形式に設定されて、レスポンスが解析され、再試行ロ
ジックとエラー処理が提供されるため、アプリケーション開発が大幅に簡略化されます。
• ElastiCache API の使用 (p. 411)
API Version 2015-02-02
7
Amazon ElastiCache ユーザーガイド
チュートリアルの動画
AWS SDK を使用しない場合、クエリ API を使用して ElastiCache を直接操作することができます。こ
のセクションには、リクエストを作成および認証してレスポンスを処理する際のトラブルシューティン
グのヒントと情報が掲載されています。
• Amazon ElastiCache API Reference
これは、構文と例など、ElastiCache API 操作に関するすべてが掲載された別個のドキュメントです。
ElastiCache チュートリアルの動画
このセクションには、Amazon ElastiCache の基本的な概念と高度な概念を理解できるチュートリアルの動
画が含まれています。AWS のトレーニングについては、「AWS トレーニングと認定」を参照してくださ
い。
入門動画チュートリアル
Amazon ElastiCache に関する入門者向け動画チュートリアルは、以下を参照してください。
トピック
• Amazon ElastiCache のご紹介 (p. 8)
• DAT204—AWS NoSQL サービスでのスケーラブルなアプリケーションの構築 (re:Invent 2015)
(p. 8)
• DAT207 — Amazon ElastiCache によるアプリケーションパフォーマンスの向上 (AWS re:Invent 2013)
(p. 8)
Amazon ElastiCache のご紹介
このチュートリアルでは、主要な Amazon ElastiCache の概念について学習して、Amazon クラウドでの
ElastiCache クラスターの作成と起動のデモを確認し、無料の Qwik Labs で演習を行います。
Amazon ElastiCache のご紹介。
DAT204—AWS NoSQL サービスでのスケーラブルなアプリケー
ションの構築 (re:Invent 2015)
このセッションでは、NoSQL データベースの利点について説明し、AWS が提供する主な NoSQL サービ
スである Amazon DynamoDB と Amazon ElastiCache の概要を確認します。その後、当社の主要なお客
様である Expedia と Mapbox を取り上げ、ユースケースやアーキテクト上の課題、さらには AWS NoSQL
サービスを利用した対処方法について、設計パターンやベストプラクティスの情報を交えながら確認しま
す。このセッションを通じて、NoSQL とその強力な機能についての理解を深め、データベース関連の課題
に自信を持って対処できるようになります。
DAT204—AWS NoSQL サービスでのスケーラブルなアプリケーションの構築 (re:Invent 2015)
DAT207 — Amazon ElastiCache によるアプリケーションパ
フォーマンスの向上 (AWS re:Invent 2013)
このチュートリアルでは、Amazon ElastiCache を使用して Memcached または Redis 互換インメモリ
キャッシングシステムを簡単にデプロイして、アプリケーションパフォーマンスを高める方法について学
習できます。Amazon ElastiCache を使用してアプリケーションのレイテンシーを改善し、データベース
サーバーの負荷を下げる方法について説明します。また、アプリケーションが増加しても管理とスケーリ
ングが簡単なキャッシュ Layer を構築する方法も示します。このセッション中、キャッシュを有効にする
API Version 2015-02-02
8
Amazon ElastiCache ユーザーガイド
上級者向け動画チュートリアル
ことによりメリットが得られるさまざまなシナリオとユースケースについて調べ、Amazon ElastiCache に
用意されている機能について説明します。
DAT207 - Amazon ElastiCache によるアプリケーションパフォーマンスの向上 (re:Invent 2013)
上級者向け動画チュートリアル
Amazon ElastiCache に関する上級者向けチュートリアル動画は、以下を参照してください。
トピック
• DAT407 — Amazon ElastiCache の詳細 (re:Invent 2015) (p. 9)
• SDD402 — Amazon ElastiCache の詳細 (re:Invent 2014) (p. 9)
• DAT307 — Amazon ElastiCache のアーキテクチャおよびデザインパターンの詳細 (re:Invent 2013)
(p. 9)
DAT407 — Amazon ElastiCache の詳細 (re:Invent 2015)
ElastiCache の設計やアーキテクチャを理解するために、その裏側をのぞいてみましょう。ま
ず、Memcached や Redis の一般的な設計パターンを示すと共に、お客様がこれらをメモリ内の操作でど
のように使用し、アプリケーションのレイテンシーやスループットをどのように向上させてきたかを説明
します。このセッションでは、Amazon ElastiCache に関連するベストプラクティス、設計パターン、アン
チパターンについて概説します。
DAT407 — Amazon ElastiCache の詳細 (re:Invent 2015)
SDD402 — Amazon ElastiCache の詳細 (re:Invent 2014)
このチュートリアルでは、一般的なキャッシュのユースケース、Memcached エンジンと Redis エンジ
ン、ニーズに合うエンジンを判断するのに役立つパターン、整合性のあるハッシュ、高速でスケーラブル
なアプリケーションを構築する他の手段について調べます。Adobe が Amazon ElastiCache を使用してカ
スタマーエクスペリエンスを高め、ビジネスを拡大している方法について、Adobe のプリンシパルサイエ
ンティストである Frank Wiebe 氏が詳しく説明します。
DAT402 — Amazon ElastiCache の詳細 (re:Invent 2014)
DAT307 — Amazon ElastiCache のアーキテクチャおよびデザイ
ンパターンの詳細 (re:Invent 2013)
このチュートリアルでは、キャッシュ、キャッシュ戦略、拡張、モニタリングについて検討します。ま
た、Memcached エンジンと Redis エンジンの比較も行います。このセッション中、Amazon ElastiCache
に関連するベストプラクティスとデザインパターンも確認します。
DAT307 - Amazon ElastiCache のアーキテクチャおよびデザインパターンの詳細 (AWS re:Invent 2013) 。
API Version 2015-02-02
9
Amazon ElastiCache ユーザーガイド
用語
ElastiCache の用語
2016 年 10 月に、Amazon ElastiCache では Redis 3.2 のサポートが発表され、特に、データの分割のサ
ポートが追加されました。以前のバージョンとの互換性を維持するために、新しい Redis の機能を含むよ
うに現在の API/CLI (API バージョン 2015-02-02) オペレーションを拡張する予定です。並行して、この新
しい機能に使用される ElastiCache コンソールでは、業界全体で一般的となっている用語を使用する予定
です。つまり、API/CLI で使用される用語が、コンソールで使用される用語と異なる場合があります。以
下の表では、API/CLI とコンソールとで異なる場合のある用語を示しています。
キャッシュクラスター/ノードとノードの比較
レプリカノードがないときは、ノードとキャッシュクラスターは 1 対 1 で対応するため、ElastiCache
コンソールでは多くの場合、それらの用語は区別しないで使用されます。今後、コンソールでは一貫
してノードという用語を使用します。唯一の例外は、レプリカノードの有無にかかわらずクラスター
の作成プロセスを開始する、[Create Cluster] ボタンです。
ElastiCache API または AWS CLI の用語に変更はありません。
キャッシュ xxx と xxx の比較
コンソールでは、キャッシュノード、キャッシュクラスター、キャッシュパラメータグループのよう
な用語からキャッシュという単語が省かれました。コンソールでは現在、これらをノード、クラス
ター、パラメータグループと呼んでいます。
ElastiCache API または AWS CLI の用語に変更はありません。
ノードグループとシャードの比較
ノードグループとシャードは、リードレプリカノードがある場合にのみ存在します。シャードとノー
ドグループは似ています。いずれもレプリケーションを実装しますが、内部構造がわずかに異なりま
す。シャードは最大 6 の Redis ノードの集合です。ノードグループは最大 6 の Redis 単一ノードクラ
スターの集合です。いずれの場合も、レプリケーションは、1 つのノード/クラスターを読み書き可能
プライマリとして、他のすべてのノード/クラスターを読み取り専用レプリカとして実装されます。視
覚的な比較については、以下の「レプリケーショングループとクラスターの比較」の図を参照してく
ださい。ElastiCache コンソールでは、レプリケーショングループという用語は使用されなくなり、代
わりにクラスターという用語が使用されます。
ElastiCache API または AWS CLI の用語に変更はありません。
API Version 2015-02-02
10
Amazon ElastiCache ユーザーガイド
用語
レプリケーショングループとクラスターの比較
上記で定義しているように、Redis クラスター (API/CLI ではレプリケーショングループ) はシャード
(API/CLI ではノードグループ) の集合です。
Redis (クラスターモードが無効) クラスターに複数のシャード (API/CLI ではノードグループ) が含ま
れることはありません。Redis (クラスターモードが有効) クラスターのデータは 15 のシャード (API/
CLI ではノードグループ) 間で分割できます。
ElastiCache API または AWS CLI の用語に変更はありません。
API Version 2015-02-02
11
Amazon ElastiCache ユーザーガイド
コンポーネントと機能
ElastiCache コンポーネントと機能
このセクションのトピックは、Amazon ElastiCache デプロイメントの主なコンポーネントの概要です。
トピック
• ElastiCache ノード (p. 12)
• ElastiCache シャード (Redis) (p. 13)
• ElastiCache クラスター (p. 13)
• ElastiCache レプリケーション (Redis) (p. 15)
• リージョンとアベイラビリティーゾーン (p. 17)
• ElastiCache エンドポイント (p. 17)
• ElastiCache パラメータグループ (p. 18)
• ElastiCache のセキュリティ (p. 18)
• ElastiCache セキュリティグループ (p. 18)
• ElastiCache サブネットグループ (p. 19)
• ElastiCache バックアップ/スナップショット (Redis) (p. 19)
• ElastiCache イベント (p. 19)
ElastiCache ノード
ノードとは、ElastiCache のデプロイにおける最小の構成要素です。ノードは他のノードから分離する
か、一定の関係を設定できます。
ノードは、安全なネットワークに接続された RAM の固定サイズの断片です。各ノードでは、クラスター
の作成時に選択された項目に応じて、Memcached または Redis のインスタンスが実行されます。必要に
応じて、異なるインスタンスタイプにノードのクラスターを拡大または縮小できます。詳細については、
「スケーリング (p. 175)」を参照してください。
クラスター内の各ノードは同じインスタンスタイプで、同じキャッシュエンジンを実行します。各キャッ
シュノードはそれぞれ Domain Name Service (DNS) 名とポートを持っています。それぞれ関連付けられて
いる異なるメモリ量で、複数のタイプのキャッシュノードがサポートされています。サポートされるイン
スタンスタイプノードのリストについては、「サポートされているノードの種類 (p. 96)」を参照してく
ださい。
従量課金制ノードを購入して、ノードの使用分に対してのみ料金を支払うか、大幅な割引価格でリザーブ
ドノードを購入できます。使用率が高い場合は、リザーブドノードを購入するほうがコストを削減できま
す。クラスターを常に使用しており、急激な使用率の増加には一時的にノードを追加して対処している場
合は、多数のリザーブドノードを購入してほとんどの時間実行することができます。一時的にノードを追
加する必要がある場合は従量制料金で購入できます。リザーブドノードの詳細については、「ElastiCache
リザーブドノード (p. 87)」を参照してください。
Memcached エンジンでは自動検出がサポートされます。– 自動検出は、クライアントプログラムが、
キャッシュクラスター内のすべてのノードを識別し、それらのすべてのノードへの接続を開始して維持す
る機能です。自動検出を使用すると、アプリケーションは個々のノードに手動で接続する必要がありませ
ん。その代わり、アプリケーションは設定エンドポイントに接続します。設定エンドポイントの DNS エ
ントリには、各キャッシュノードエンドポイントの CNAME エントリが含まれています。したがって、
設定エンドポイントに接続することによって、アプリケーションはクラスター内のすべてのノードについ
てすぐに知ることができ、すべてのノードに接続できます。アプリケーションで個々のキャッシュノード
エンドポイントをハードコードする必要はありません。自動検出の詳細については、「ノードの自動検出
(Memcached) (p. 101)」を参照してください。
ノードの詳細については、「ElastiCache ノード (p. 81)」を参照してください。
API Version 2015-02-02
12
Amazon ElastiCache ユーザーガイド
シャード (Redis)
ElastiCache シャード (Redis)
Redis シャード (API/CLI ではノードグループ) は 1 ~ 6 の関連ノードのグループです。Redis (クラスター
モードが無効) クラスターには、常に 1 つのみのシャードが含まれます。Redis (クラスターモードが有効)
クラスターには、1 ~ 15 のシャードを含めることができます。
複数ノードシャードでは、1 つの読み書き可能プライマリノードと 1 ~ 5 のレプリカノードを含
めることで、レプリケーションを実装します。詳細については、「ElastiCache レプリケーション
(Redis) (p. 199)」を参照してください。
Redis シャードの構成
シャードの詳細については、「シャード (Redis) (p. 130)」を参照してください。
ElastiCache クラスター
クラスターは、単一または複数の ElastiCache ノード (p. 12) または ElastiCache シャード (Redis)
(p. 13) の論理グループです。データは Redis (クラスターモードが有効) クラスター内のシャード間で
分割されます。
クラスターを対象とした多くの ElastiCache オペレーションがあります。
• クラスターの作成
• クラスターの変更
• クラスター (Redis のすべてのバージョン) のスナップショットを作成する
• クラスターの削除
• クラスターのエレメントの表示
• クラスター間で送受信されるコスト配分タグの追加または削除
詳細については、次の関連トピックを参照してください。
• ElastiCache クラスター (p. 131) および ElastiCache ノード (p. 81)
クラスター、ノードおよび関連オペレーションに関する情報。
• AWS サービスの制限: Amazon ElastiCache
ノードまたはクラスターの最大数など、ElastiCache の制限についての情報。
これらの制限を超過する必要がある場合は、Amazon ElastiCache キャッシュノードリクエストフォー
ムを使用してリクエストを作成します。
API Version 2015-02-02
13
Amazon ElastiCache ユーザーガイド
クラスター
• 障害の軽減 (p. 68)
クラスターおよびレプリケーショングループの耐障害性向上に関する情報。
一般的なクラスターの設定
選択したエンジンによって、クラスター設定は異なります。
Memcached は、1 つのリージョンのお客様あたり最大 100 のノードと、1 ~ 20 のノードを持つ各クラス
ターをサポートします。Memcached クラスターのノードにデータを分割することができます。
Redis クラスターには 1 ~ 15 のシャード (API ではノードグループ) が含まれており、それぞれがデータ
のパーティションです。Redis (クラスターモードが無効) クラスターには、常に 1 つのみのシャードが含
まれます。
以下は、Memcached エンジンと Redis エンジンの一般的なクラスター設定です。
Memcached クラスター
Memcached エンジンを実行している場合、クラスターは 1 ~ 20 個のノードを持つことができます。デー
タベースをノード間で分割できます。アプリケーションによって各ノードのエンドポイントに対して読み
書きされます。詳細については、「ノードの自動検出 (Memcached) (p. 101)」を参照してください。
耐障害性を改善するために、クラスターのリージョン内のさまざまなアベイラビリティーゾーン (AZs)
に Memcached ノードを配置します。この方法により、1 つのアベイラビリティーゾーンで発生した障
害がクラスター全体とアプリケーションに与える影響を最小限できます。詳細については、「障害の軽
減 (p. 68)」を参照してください。
Memcached クラスターの需要の変化に合わせて、ノードの追加や削除で規模を拡大したり縮小したりで
きます。また、新しいノードにまたがってデータを再分割できます。データを分割するときは、整合性の
あるハッシュを使用することをお勧めします。整合性のあるハッシュの詳細については、「効率的な負荷
分散のための ElastiCache クライアントの設定 (p. 71)」を参照してください。
単一ノードおよび複数ノード Memcached クラスター
Memcached クラスター: 単一ノードおよび複数ノードクラスター
Redis クラスター
Redis クラスターには、1 ~ 15 のシャード (API / CLI ではノードグループ) が含まれます。Redis (クラ
スターモードが無効) クラスターには、常に 1 つのみのシャード (API/CLI ではノードグループ) が含まれ
ます。Redis シャードには、1 ~ 6 のノードが含まれます。シャードに複数のノードがある場合、シャー
ドでは、1 つを読み書き可能プライマリノード、その他を読み取り専用レプリカノードとするレプリケー
ションが可能です。
耐障害性を高めるために、Redis クラスターでは 2 つ以上のノードを含め、自動フェイルオーバーを備え
たマルチ AZ を有効にすることをお勧めします。詳細については、「障害の軽減 (p. 68)」を参照してく
ださい。
Redis (クラスターモードが無効) クラスターの需要の変化に応じて、別のノードインスタンスタイプにク
ラスターを移動することで、クラスターをスケールアップ/ダウンできます。アプリケーションで読み取り
API Version 2015-02-02
14
Amazon ElastiCache ユーザーガイド
レプリケーション
のワークロードが高い場合は、Redis (クラスターモードが無効) クラスターに読み取り専用レプリカを追
加することをお勧めします。それにより、読み取りを適切な数のノード間に分散させることができます。
ElastiCache では、Redis (クラスターモードが無効) クラスターのより大きいノードタイプへの動的な変更
がサポートされています。スケールアップ/ダウンの詳細については、「Redis (クラスターモードが無効)
クラスターのスケーリング (p. 179)」または「レプリカノードを含む Redis のクラスターのスケーリン
グ (p. 188)」を参照してください。
ElastiCache レプリケーション (Redis)
ここでの説明を読み進める前に、「ElastiCache の用語 (p. 10)」を参照して、ElastiCache コンソールと
API/CLI とでの用語の違いを理解してください。
レプリケーションは、2 ~ 6 のノードをシャード (API/CLI ではノードグループ) にまとめることで実装さ
れます。これらのノードの 1 つは読み書き可能プライマリノードです。他のすべてのノードは読み取り専
用レプリカノードです。
各レプリカノードは、プライマリノードからのデータのコピーを維持します。レプリカノードは、非同期
レプリケーションメカニズムを使用して、プライマリノードとの同期を維持します。アプリケーション
は、クラスターのどのノードからでも読み込みことができますが、書き込むことができるのはプライマリ
ノードのみになります。リードレプリカは、読み取りを複数のエンドポイントに分散させることで拡張で
きます。リードレプリカは、データの複数のコピーを維持することで、耐障害性が向上します。複数のア
ベイラビリティーゾーンにリードレプリカを配置することで、耐障害性が向上します。耐障害性の詳細に
ついては、「障害の軽減 (p. 68)」を参照してください。
Redis (クラスターモードが無効) クラスターでは、1 つのみのシャード (API/CLI ではノードグループ) が
サポートされています。Redis (クラスターモードが有効) クラスターでは、1 ~ 15 のシャード (ノードグ
ループ) がサポートされています。
以下の図では、コンソールのビューと用語を使用して、Redis (クラスターモードが無効) と Redis (クラス
ターモードが有効) クラスターのレプリケーションを示しています。
Redis のレプリケーション (コンソールビュー)、1 つのシャードと複数のシャード
API/CLI の観点からのレプリケーションでは、以前のバージョンとの互換性を維持するために異なる用語
を使用していますが、結果は同じです。以下の図では、レプリケーションの実装に関する API/CLI の用語
を示しています。
レプリケーション: Redis (クラスターモードが無効) および Redis (クラスターモードが有効) の比較
API Version 2015-02-02
15
Amazon ElastiCache ユーザーガイド
レプリケーション
次の表では、Redis (クラスターモードが無効) レプリケーショングループと Redis (クラスターモードが有
効) レプリケーショングループのさまざまな機能を比較しています。
Redis (クラスターモードが無効)
Redis (クラスターモードが有効)
1
1 ~ 15
ノードグループあたりのレプリ
カ数
0~5
0~5
データのパーティション化
いいえ
はい
はい
いいえ
いいえ
いいえ
サポートの拡大
はい
いいえ
エンジンアップグレードのサ
ポート
はい
該当なし
レプリカをプライマリに昇格
はい
いいえ
オプション
必須
はい †
はい †
ノードグループ
レプリカの追加/削除
ノードグループの追加/削除
自動フェイルオーバーを備えた
マルチ AZ
バックアップ/復元
注:
どのプライマリにもレプリカがなく、プライマリに障害が発生した場合†、そのプライマリのデータがす
べて失われます。
バックアップ/復元は、同じ数のノードグループを持つレプリケーショングループに対して行う必要があ
ります。
すべてのシャード (API/CLI ではノードグループ) とノードは同じリージョンに存在する必要があります。
ただし、そのリージョン内の複数のアベイラビリティーゾーンに個別のノードをプロビジョニングできま
す。
リードレプリカでは、データが 2 つ以上のノードにプライマリと 1 つ以上のリードレプリカにレプリケー
トされているので、潜在的なデータ損失からデータが保護されます。信頼性を高め、より迅速な復旧を可
能にするために、異なるアベイラビリティーゾーンに 1 つ以上のリードレプリカを作成し、AOF を使用
する代わりに自動フェイルオーバーを備えたマルチ AZ を有効にすることをお勧めします。自動フェイル
オーバーを備えたマルチ AZ が有効になっている場合、AOF は無効になります。詳細については、「レプ
リケーション: 自動フェイルオーバーとマルチ AZ (Redis) (p. 205)」を参照してください。
レプリケーション: 制限と例外
• AOF は cache.t1.micro のノードタイプではサポートされていません。
• 自動フェイルオーバーを備えたマルチ AZ は Redis バージョン 2.6.8 以降でのみサポートされていま
す。
• 自動フェイルオーバーを備えたマルチ AZ はノードタイプ T1 および T2 ではサポートされていません。
AOF とマルチ AZ の詳細については、「障害の軽減 (p. 68)」を参照してください。
API Version 2015-02-02
16
Amazon ElastiCache ユーザーガイド
リージョンとアベイラビリティーゾーン
リージョンとアベイラビリティーゾーン
Amazon ElastiCache は世界中の複数のリージョンで利用でき、ビジネス要件に合った場所で ElastiCache
クラスターを起動できます。たとえば、顧客に最も近いリージョンで起動する場合や、特定の法的な要件
を満たす必要がある場合などです。
デフォルトでは、AWS SDK、AWS CLI、ElastiCache API、ElastiCache コンソールは米国西部 (オレゴン)
リージョンを参照しています。ElastiCache が他のリージョンでも利用可能になると、そのリージョンの
エンドポイントもアプリケーションの HTTP リクエスト、AWS SDK、AWS CLI、ElastiCache コンソール
で利用できるようになります。
各リージョンは、他のリージョンと完全に分離されるように設計されています。各リージョンには複数の
アベイラビリティーゾーンがあります。別のアベイラビリティーゾーンでノードを起動して、最大限の耐
障害性を実現できます。リージョンとアベイラビリティーゾーンの詳細については、「リージョンとアベ
イラビリティーゾーンの選択 (p. 48)」を参照してください。
リージョンとアベイラビリティーゾーン
ElastiCache でサポートされているリージョンおよびそのエンドポイントについては、「サポートされて
いるリージョンおよびエンドポイント (p. 49)」を参照してください。
ElastiCache エンドポイント
エンドポイントは、アプリケーションが ElastiCache ノードまたはクラスターに接続するのに使用する一
意のアドレスです。
Memcached のエンドポイント
Memcached クラスターの各ノードには、独自のエンドポイントがあります。クラスターには、設定エン
ドポイントと呼ばれるエンドポイントもあります。自動検出を有効にして設定エンドポイントに接続した
場合、クラスターからノードの追加や削除を行った後であっても、アプリケーションは自動的に各ノード
エンドポイントを検出します。詳細については、「ノードの自動検出 (Memcached) (p. 101)」を参照し
てください。
単一ノード Redis クラスターのエンドポイント
単一ノード Redis クラスターのエンドポイントは、読み取りおよび書き込みのためにクラスターに接続す
るのに使用されます。
複数ノード Redis クラスターのエンドポイント
複数ノード Redis (クラスターモードが無効) クラスターには、2 種類のエンドポイントがあります。プラ
イマリエンドポイントは常に、プライマリロールで特定のノードが変わっても、クラスター内のプライ
マリノードに接続します。クラスターへのすべての書き込みには、プライマリエンドポイントを使用しま
す。
Redis (クラスターモードが無効) クラスター内のリードエンドポイントは常に、特定のノードを参照しま
す。リードレプリカを追加または削除するたびに、アプリケーションで関連するノードエンドポイントを
更新する必要があります。
API Version 2015-02-02
17
Amazon ElastiCache ユーザーガイド
パラメータグループ
Redis (クラスターモードが有効) クラスターには、1 つの設定エンドポイントがあります。設定エンドポイ
ントに接続することで、アプリケーションはクラスター内のシャードごとにプライマリおよびリードエン
ドポイントを検出できます。
詳細については、「ElastiCache エンドポイントの検索 (p. 52)」を参照してください。
ElastiCache パラメータグループ
キャッシュパラメータグループは、サポートされるエンジンソフトウェアのランタイム設定を管理する簡
単な方法です。Memcached と Redis には、メモリの使用状況、削除のポリシー、項目サイズなどを制御
する多くのパラメータがあります。ElastiCache パラメータグループは、一連の Memcached または Redis
固有のパラメータで、クラスターに適用してそのクラスター内のすべてのノードで正確に同じ設定が行わ
れることを保証します。
サポートされているパラメータのリスト、デフォルト値、変更可能なパラメータについて
は、DescribeEngineDefaultParameters (describe-engine-default-parameters) を参照してください。
ElastiCache パラメータグループの詳細については、「パラメータとパラメータグループ (p. 286)」を参
照してください。
ElastiCache のセキュリティ
セキュリティ強化のため、ElastiCache ノードのアクセスは、ホワイトリストに登録された Amazon EC2
インスタンスで実行されているアプリケーションに制限されます。キャッシュサブネットグループまたは
セキュリティグループを使用することで、クラスターにアクセスできる Amazon EC2 インスタンスを制御
できます。
デフォルトでは、すべての新しい ElastiCache クラスターが Amazon Virtual Private Cloud (Amazon VPC)
環境で起動されます。サブネットグループを使用して、特定のサブネットで実行されている Amazon EC2
インスタンスからのクラスターアクセスを許可できます。クラスターを Amazon VPC の外部で実行するこ
とを選択した場合、セキュリティグループを作成して、特定の Amazon EC2 セキュリティグループ内に実
行されている Amazon EC2 インスタンスを承認できます。
ElastiCache セキュリティグループ
Note
ElastiCache セキュリティグループは、Amazon Virtual Private Cloud (Amazon VPC) 環境で実行
されていないクラスターにのみ適用されます。ElastiCache ノードを Amazon VPC で実行してい
る場合は、Amazon VPC セキュリティグループでキャッシュクラスターへのアクセスを制御しま
す。これは、ElastiCache セキュリティグループとは異なります。
ElastiCache を Amazon VPC で使用する方法については、「Amazon Virtual Private Cloud
(Amazon VPC) と ElastiCache (p. 340)」を参照してください。
ElastiCache を使用すると、セキュリティグループを使用して、クラスターへのアクセスを制御すること
ができます。セキュリティグループは、クラスターへのネットワークアクセスをコントロールするファイ
アウォールのように動作します。デフォルトでは、クラスターへのネットワークアクセスはオフになって
います。アプリケーションからクラスターにアクセスできるようにするには、特定の Amazon EC2 セキュ
リティグループのホストからのアクセスを明示的に有効にする必要があります。進入ルールの設定後、同
じルールがそのセキュリティグループに関連するすべてのクラスターに適用されます。
クラスターへのネットワークアクセスを許可するには、セキュリティグループを作成
し、AuthorizeCacheSecurityGroupIngress API または authorize-cache-security-group-ingress AWS CLI コ
マンドを使用して、必要な Amazon EC2 セキュリティグループを認証します (その結果として、許可さ
れている Amazon EC2 インスタンスを指定します)。セキュリティグループは、作成時にクラスターに関
連付けるか、ElastiCache マネージメントコンソールまたは ModifyCacheCluster または (modify-cachecluster) ElastiCache 用 AWS CLI のコマンド を使用して、クラスターに関連付けることができます。
API Version 2015-02-02
18
Amazon ElastiCache ユーザーガイド
サブネットグループ
Important
IP レンジベースのアクセスコントロールは現在、クラスターでは有効になっていません。クラス
ターのすべてのクライアントは、Amazon EC2 ネットワーク内にある必要があり、前に説明した
ように、セキュリティグループによって許可されている必要があります。
セキュリティグループの詳細については、セキュリティグループ [EC2-Classic] (p. 277) を参照してくだ
さい。
ElastiCache サブネットグループ
サブネットグループは、Amazon Virtual Private Cloud (Amazon VPC) 環境で実行しているクラスターに対
して指定できるサブネット (通常はプライベート) の集合です。
Amazon VPC でクラスターを作成する場合は、キャッシュサブネットグループを指定する必要がありま
す。ElastiCache はそのキャッシュサブネットグループを使用して、そのサブネット内でキャッシュノー
ドに関連付けるサブネットおよび IP アドレスを選択します。
Amazon VPC 環境でのキャッシュサブネットグループの使用方法の詳細については、「Amazon
Virtual Private Cloud (Amazon VPC) と ElastiCache (p. 340)」、「ステップ 4: アクセスを許可す
る (p. 26)」、「サブネットおよびサブネットグループ (p. 331)」を参照してください。
ElastiCache バックアップ/スナップショット (Redis)
バックアップは、Redis クラスターのポイントインタイムコピーです。バックアップは、既存のクラス
ターを復元するか、または新しいクラスターをシードするのに使用できます。バックアップは、クラス
ターのすべてのデータといくつかのメタデータで構成されます。バックアップは Memcached エンジンで
はサポートされません。
ポイントインタイムバックアップを保持するために Redis がバックアップを作成している間、バックアッ
プされているクラスターのデータとは別に、プロセス分岐とクラスターへのすべての書き込みが利用可能
なメモリに記録されます。このため、これらの書き込み対応するための十分なメモリが追加で必要となり
ます。ノードタイプを選択する場合、Redis を使用する場合はこのことに注意します。Redis デプロイ用
のノードタイプの選択については、「Redis スナップショットを作成するための十分なメモリがあること
の確認 (p. 65)」を参照してください。
詳細については、「ElastiCache バックアップと復元 (Redis) (p. 246)」を参照してください。
ElastiCache イベント
ノード追加の失敗、ノード追加の成功、セキュリティグループの変更などのような重要なイベントが
キャッシュクラスターで発生すると、ElastiCache は特定の Amazon SNS トピックに通知を送信します。
主要イベントをモニタリングすることで、クラスターの現在の状態を知り、イベントに基づいて是正措置
を取ることができます。
ElastiCache イベントの詳細については、「ElastiCache イベントのモニタリング (p. 388)」を参照して
ください。
API Version 2015-02-02
19
Amazon ElastiCache ユーザーガイド
ElastiCache へのアクセス
Amazon ElastiCache へのアクセス
Amazon ElastiCache インスタンスは、Amazon EC2 インスタンス経由でのみアクセスできます。
Amazon Virtual Private Cloud (Amazon VPC) で ElastiCache を起動した場合、同一 Amazon VPC の
Amazon EC2 インスタンスから、または別の Amazon VPC の Amazon EC2 から VPC ピア接続を使用し
て、ElastiCache インスタンスにアクセスできます。
ElastiCache インスタンスを EC2 Classic で起動した場合、そのインスタンスに関連付けられた Amazon
EC2 セキュリティグループに、キャッシュセキュリティグループへのアクセスを許可することで、EC2 イ
ンスタンスにクラスターへのアクセスを許可することができます。デフォルトでは、クラスターへのアク
セスはそのクラスターを起動したアカウントに制限されています。
Amazon EC2 にクラスターへのアクセス許可を付与する方法の詳細については、「ステップ 4: アクセスを
許可する (p. 26)」と「AWS 外部からの ElastiCache リソースへのアクセス (p. 373)」を参照してくだ
さい。
API Version 2015-02-02
20
Amazon ElastiCache ユーザーガイド
ElastiCache の管理
ElastiCache の管理
Amazon EC2 インスタンスに ElastiCache クラスターへのアクセスを許可した場合、ElastiCache ク
ラスターを管理するには、AWS マネジメントコンソール、AWS CLI for ElastiCache、AWS SDK for
ElastiCache、ElastiCache API の 4 つの方法があります。
ElastiCache の管理 (コンソール)
AWS マネジメントコンソール は、Amazon ElastiCache を管理する最も簡単な方法です。このコンソー
ルを使用すると、コードを記述しなくても、キャッシュクラスターの作成、キャッシュノードの追加と削
除、他の管理タスクを実行することができます。コンソールには、CloudWatch からのキャッシュノード
パフォーマンスグラフも表示され、キャッシュエンジンアクティビティ、メモリと CPU の使用率などの
メトリクスが示されます。詳細については、この「ユーザーガイド」の特定のトピックを参照してくださ
い。
ElastiCache の管理 (AWS CLI)
AWS Command Line Interface (AWS CLI) for ElastiCache を使用することもできます。AWS CLI では、
キャッシュクラスターの起動や停止など、1 つずつ行う操作を簡単に実行できます。さらに、選択したス
クリプト言語から ElastiCache 用 AWS CLI のコマンド を呼び出して、繰り返し行うタスクを自動化する
こともできます。AWS CLI の詳細については、『ユーザーガイド』と『AWS Command Line Interface
Reference』を参照してください。
ElastiCache の管理 (AWS SDK)
アプリケーションから ElastiCache にアクセスする場合、AWS Software Development Kit (SDK) のいずれ
かを使用できます。SDK は、ElastiCache API 呼び出しをラップし、ElastiCache API の低レベルの詳細か
らアプリケーションを隔離します。開発者が認証情報を指定すれば、SDK ライブラリによって認証とリク
エスト署名の処理が自動的に行われます。AWS SDK の使用の詳細については、「Amazon Web Services
用のツール」を参照してください。
ElastiCache の管理 (ElastiCache API)
さらに、ElastiCache ウェブサービス API に対して直接アプリケーションコードを記述することもでき
ます。API を使用する場合、HTTP リクエストの構築と認証、ElastiCache からの結果の解析、エラーの
処理に必要なコードを記述する必要があります。この API の詳細については、「ElastiCache API の使
用 (p. 411)」を参照してください。
API Version 2015-02-02
21
Amazon ElastiCache ユーザーガイド
ステップ 1: AWS アカウントの作成
Amazon ElastiCache の使用開始
独自の AWS アカウントを作成するにあたって、このセクションのトピックでは、ElastiCache コンソー
ルを使用したスタンドアロン Redis (クラスターモードが無効) クラスターの作成、アクセス権限付与、接
続、削除の手順について説明します。
Amazon ElastiCache では、Redis レプリケーショングループを使用することで、高可用性がサポートされ
ています。Redis レプリケーショングループとその作成方法については、「ElastiCache レプリケーション
(Redis) (p. 199)」を参照してください。
Redis バージョン 3.2 から、ElastiCache Redis は、レプリケーショングループを実装した各ノードグルー
プにより、複数のノードにわたるデータの分割をサポートします。この演習では、スタンドアロン Redis
クラスターを作成します。
トピック
• ステップ 1: AWS アカウントの作成 [1 回] (p. 22)
• ステップ 2: クラスターを起動する (p. 23)
• ステップ 3: (オプション) クラスターの詳細を表示する (p. 25)
• ステップ 4: アクセスを許可する (p. 26)
• ステップ 5: クラスターのノードに接続する (p. 28)
• ステップ 6: クラスターを削除します [追加料金の発生を防ぐため]。 (p. 31)
• ここからどこへ進むべきですか? (p. 33)
ステップ 1: AWS アカウントの作成 [1 回]
ElastiCache を使用するには、AWS アカウントが必要です。アカウントを持っていない場合は、サイン
アップ時に作成するための画面が表示されます。サインアップした AWS サービスの料金は、そのサービ
スを使用しない限り発生することはありません。
AWS アカウントを作成するには
1.
https://aws.amazon.com/ を開き、[AWS アカウントの作成] を選択します。
2.
オンラインの手順に従います。
サインアップ手順の一環として、通話呼び出しを受け取り、電話のキーパッドを用いて PIN を入力す
ることが求められます。
API Version 2015-02-02
22
Amazon ElastiCache ユーザーガイド
ステップ 2: クラスターを起動する
ステップ 2: クラスターを起動する
続ける前に、「ステップ 1: AWS アカウントの作成 [1 回] (p. 22)」を完了したことを確認してくださ
い。
ここで起動するクラスターはライブとなります。サンドボックスで実行されるわけではありません。イ
ンスタンスを削除するまで、ElastiCache の標準使用料が発生します。ここで説明する演習を一気に完了
し、終了時にクラスターを削除すれば、使用料合計はごくわずかです (通常 1 ドル未満です)。ElastiCache
使用料の詳細については、https://aws.amazon.com/elasticache/ を参照してください。
Important
Amazon VPC でクラスターが起動されます。クラスターの作成を開始する前に、サブネットグ
ループを作成する必要があります。詳細については、「サブネットグループの作成 (p. 332)」を
参照してください。
スタンドアロン Redis (クラスターモードが無効) クラスターを作成するには
1.
AWS マネジメントコンソールにサインインし、Amazon ElastiCache コンソール (https://
console.aws.amazon.com/elasticache/) を開きます。
2.
[Get Started Now] を選択します。
すでに使用可能なクラスターがある場合は、[Launch Cluster] を選択します。
3.
[Cluster engine] で、[Redis] を選択します。
4.
[Cluster Mode enabled (Scale Out)] が選択されていないことを確認してください。
5.
[Redis settings] セクションに以下のように入力します。
a.
[Name] ボックスに、クラスターの名前を入力します。
クラスターの命名上の制約
• 1~20 文字の英数字またはハイフンを使用する必要があります。
• 先頭は文字にする必要があります。
• 連続する 2 つのハイフンを含めることはできません。
• 末尾をハイフンすることはできません。
b.
[Engine version compatibility] リストから、このクラスターで実行する Redis エンジンバージョン
を選択します。ここでは、以前のバージョンを実行する特定の理由がある場合を除いて、最新の
バージョンを選択することをお勧めします。
c.
[Port] の値は、デフォルトポート (6379) のままにしておきます。異なるポートを使用する理由が
ある場合は、そのポート番号を入力します。
d.
[Parameter group] で、このクラスターで使用するパラメータグループを選択するか、[Create
new] を選択して、このクラスターで使用する新しいパラメータグループを作成します。この演習
では、[default] のパラメータグループを受け入れます。
詳細については、「パラメーターグループを作成する (p. 289)」を参照してください。
e.
[Node type] で、このクラスターに使用するノードタイプを選択します。この演習では、上記の表
で [t2] インスタンスファミリーを選択してから、[cache.t2.small]、[Save] の順に選択します。
詳細については、「ノードサイズの選択 (p. 83)」を参照してください。
f.
[Number of replicas] から、このクラスターに必要なリードレプリカの数を選択します。この演習
ではスタンドアロンクラスターを作成するため、[None] を選択します。
[None] を選択すると、[Replication group description] フィールドが消えます。
6.
[Advanced Redis settings] を選択し、セクションに以下のように入力します。
API Version 2015-02-02
23
Amazon ElastiCache ユーザーガイド
ステップ 2: クラスターを起動する
Note
Redis (クラスターモードが有効) レプリケーショングループを作成する場合、[Advanced
Redis settings] の詳細はわずかに異なります。Redis (クラスターモードが有効) レプリケー
ショングループを作成するステップバイステップのウォークスルーについては、「ゼロから
の Redis (クラスターモードが有効) レプリケーショングループの作成 (p. 224)」を参照して
ください。
a.
[Subnet group] リストから、このクラスターに適用するサブネットを選択します。この演習で
は、[default] を選択します。
詳細については、「サブネットおよびサブネットグループ (p. 331)」を参照してください。
b.
このクラスターに対して [Availability zone(s)] を選択する方法を選択します。これには 2 つのオプ
ションがあります。
• No preference – ElastiCache がアベイラビリティーゾーンを選択します。
• Specify availability zones – ユーザーがクラスターに対するアベイラビリティーゾーンを指定し
ます。
この演習では、[Specify availability zones] を選択してから、[Primary] の下のリストからアベイラ
ビリティーゾーンを選択します。
詳細については、「リージョンとアベイラビリティーゾーンの選択 (p. 48)」を参照してくださ
い。
c.
[Security groups] リストから、このクラスターに使用するセキュリティグループを選択します。
この演習では、[default] を選択します。
詳細については、「ElastiCache とセキュリティグループ (p. 356)」を参照してください。
d.
.RDB ファイルからクラスターにデータをシードする場合は、[Seed RDB file S3 location] ボック
スに .RDB ファイルの Amazon S3 の場所を入力します。
詳細については、「Using a Backup to Seed a Cluster (p. 271)」を参照してください。
e.
これが本稼働クラスターではないため、[Enable automatic backups] チェックボックスはオフにし
ます。
Redis のバックアップと復元の詳細については、「ElastiCache バックアップと復元 (Redis)
(p. 246)」を参照してください。
f.
[Maintenance window] では、ElastiCache によってクラスターに対してスケジュールされる
毎週のシステムメンテナンス期間 (通常は 1 時間) を指定します。メンテナンス期間の日時
は、ElastiCache によって選択されるようにするか ([No preference])、自分で選択できます
([Specify maintenance window])。[Specify maintenance window] を選択した場合は、メンテナ
ンス期間の [Start day]、[Start time]、[Duration] (時間単位) を指定します。この演習では、[No
preference] を選択します。
詳細については、「メンテナンスウィンドウ (p. 46)」を参照してください。
g.
7.
[Notifications] は [Disabled] のままにします。
[Create cluster] を選択してクラスターを起動するか、[Cancel] を選択してオペレーションをキャンセ
ルします。
API Version 2015-02-02
24
Amazon ElastiCache ユーザーガイド
ステップ 3: (オプション) クラスターの詳細を表示する
ステップ 3: (オプション) クラスターの詳細を表示
する
続行する前に、「ステップ 2: クラスターを起動する (p. 23)」を完了したことを確認してください。
Redis (クラスターモードが無効) クラスターの詳細を表示するには
1.
AWS マネジメントコンソールにサインインし、Amazon ElastiCache コンソール (https://
console.aws.amazon.com/elasticache/) を開きます。
2.
ElastiCache コンソールのダッシュボードで [Redis] を選択し、いずれかのバージョンの Redis を実行
しているすべてのクラスターを一覧表示します。
3.
クラスターの詳細を表示するには、クラスター名の左側にあるボックスを選択します。クラスター化
された Redis ではなく、Redis エンジンを実行しているクラスターを必ず選択してください。これに
より、クラスターのプライマリエンドポイントを含む、クラスターの詳細が表示されます。
4.
ノード情報を表示するには
a.
クラスターの名前を選択します。
b.
[Nodes] タブを選択します。これにより、クラスターから読み込むために使用する必要がある
ノードのエンドポイントを含む、各ノードの詳細が表示されます。
c.
1 つまたは複数のノードのメトリクスを表示するには、ノード ID の左側のボックスを選択し、
[Time range] からメトリクスの時間範囲を選択します。複数のノードを選択すると、オーバーレ
イグラフが表示されます。
2 つの Redis ノードに関する過去 1 時間のメトリクス
API Version 2015-02-02
25
Amazon ElastiCache ユーザーガイド
ステップ 4: アクセスを許可する
ステップ 4: アクセスを許可する
このセクションでは、Amazon EC2 インスタンスの起動と接続に慣れていることを前提としています。詳
細については、Amazon EC2 入門ガイド をご覧ください。
すべての ElastiCache クラスターは Amazon EC2 インスタンスからアクセスするように設計されていま
す。クラスターとその関連 EC2 インスタンスは同じ Amazon Virtual Private Cloud (Amazon VPC) にある
ことが必要です。同じ VPC 内の EC2 インスタンス以外の場所から ElastiCache クラスターにアクセスす
る必要がある場合は、回避策としてキャッシュの VPC 内に EC2 ホストを 1 つ以上セットアップして外部
のプロキシとして動作させることができます。ホストをセットアップすると、追加のネットワークホップ
または追加の Secure Sockets Layer (SSL) オーバーヘッド (または両方) が追加され、料金が発生します。
ただし、多くのユースケースではコストは少額です。プロキシとなる EC2 インスタンスにクラスターへの
アクセスを許可する必要があります。AWS の外部から ElastiCache リソースにアクセスする方法について
は、「AWS 外部からの ElastiCache リソースへのアクセス (p. 373)」を参照してください。
デフォルトでは、クラスターへのネットワークアクセスは、クラスターの起動に使用されたユーザーアカ
ウントに制限されます。EC2 インスタンスからクラスターに接続するには、EC2 インスタンスにクラス
ターへのアクセスを許可する必要があります。必要な手順はクラスターを Amazon VPC 環境で起動したか
どうかによって異なります。
先に進む前に、EC2-VPC と EC2-Classic のどちらでクラスターを起動したかを確認します。
AWS マネジメントコンソール を使用して EC2-VPC と EC2-Classic のどちらでクラスターを起動
したかを調べるには
1.
AWS マネジメントコンソールにサインインをしたあと、https://console.aws.amazon.com/ec2/ にある
Amazon EC2 コンソールを開きます。
2.
右上隅の [Supported Platforms] を見つけます。
[Supported Platforms] の下に、[VPC] のみかまたは [EC2] および [VPC] の両方が表示されています。
[VPC] のみが表示されている場合は、「EC2-VPC でクラスターを起動した場合 (p. 27)」に進みま
す。
[EC2] および [VPC] の両方が表示されている場合は、「EC2-Classic でクラスターを起動した場
合 (p. 27)」に進みます。
詳細については、「Detecting Your Supported Platforms and Whether You Have a Default VPC」を参照し
てください。
AWS Command Line Interface (AWS CLI) を使用して EC2-VPC と EC2-Classic のどちらでクラス
ターを起動したかを調べるには
1.
コマンドウィンドウを開きます。
2.
コマンドプロンプトで、次のコマンドを入力します。
aws ec2 describe-account-attributes
出力に [VPC] のみが表示されている場合は、「EC2-VPC でクラスターを起動した場合 (p. 27)」に
進みます。
API Version 2015-02-02
26
Amazon ElastiCache ユーザーガイド
EC2-VPC でクラスターを起動した場合
出力に [EC2] および [VPC] の両方が表示されている場合は、「EC2-Classic でクラスターを起動した
場合 (p. 27)」に進みます。
EC2-VPC でクラスターを起動した場合
クラスターを Amazon Virtual Private Cloud (Amazon VPC) で起動した場合、同じ Amazon VPC で実行さ
れている Amazon EC2 インスタンスからのみ ElastiCache クラスターに接続できます。この場合、クラス
ターに対するネットワーク進入を許可する必要があります。
Caution
ElastiCache クラスターを 0.0.0.0/0 (ステップ 4.e.) に設定した場合、パブリック IP アドレスが割
り当てられず VPC 外からアクセスできないため、クラスターはインターネット接続できません。
ただし、お客様のアカウントの他の Amazon EC2 インスタンスにデフォルトのセキュリティグ
ループが適用され、そのインスタンスにパブリック IP アドレスが付与される場合があります。そ
れがポート 6379 で実行された場合、意図しなくてもサービスが公開されることがあります。そ
のため、ElastiCache でのみ使用される VPC のセキュリティグループを作成されることをお勧め
します。詳細については、「 カスタムセキュリティグループ」を参照してください。
Amazon VPC セキュリティグループからクラスターへのネットワーク進入を許可するには
1.
AWS マネジメントコンソールにサインインをしたあと、https://console.aws.amazon.com/ec2/ にある
Amazon EC2 コンソールを開きます。
2.
左のナビゲーションペインで、[Network & Security] の下にある [Security Groups] を選択します。
3.
セキュリティグループのリストで、Amazon VPC のセキュリティグループを選択します。ElastiCache
用のセキュリティグループを作成した場合を除き、このセキュリティグループは、default という名前
になります。
4.
[Inbound] タブを選択し、次の操作を行います。
a.
[Edit] を選択します。
b.
[Add rule] を選択します。
c.
[Type] 列で [Custom TCP rule] を選択します。
d.
[Port range] ボックスに、クラスターノードのポート番号を入力します。この番号は、クラスター
の起動時に指定した番号と同じ番号である必要があります。デフォルトのポートは次のとおりで
す。
• Memcached: ポート 11211
• Redis: ポート 6379
e.
[Source] ボックスで [Anywhere] を選択します。ポート範囲が 0.0.0.0/0 になるため、Amazon
VPC 内で起動したすべての Amazon EC2 インスタンスを ElastiCache ノードに接続できます。
f.
[Save] を選択します。
Amazon VPC で Amazon EC2 インスタンスを起動する場合、そのインスタンスは ElastiCache クラスター
に接続できます。
EC2-Classic でクラスターを起動した場合
クラスターを EC2-Classic で起動した場合、Amazon EC2 インスタンスにクラスターへのアクセスを許可
するには、そのインスタンスに関連付けられた Amazon EC2 セキュリティグループに、キャッシュセキュ
リティグループへのアクセスを許可する必要があります。
API Version 2015-02-02
27
Amazon ElastiCache ユーザーガイド
ステップ 5: クラスターのノードに接続する
Amazon EC2 セキュリティグループにクラスターへのアクセスを許可するには
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインで [Cache Security Groups] を選択します。
キャッシュセキュリティグループのリストが表示されます。
3.
default セキュリティグループを選択します。
4.
画面の下部のリストから、許可する EC2 セキュリティグループを選択します。
5.
[Add] を選択し、アクセスを許可します。
これで、セキュリティグループに関連付けられた Amazon EC2 インスタンスを、ElastiCache クラス
ターに接続できるようになりました。
セキュリティグループのアクセスを取り消すには、許可されたセキュリティグループのリストから該当の
セキュリティグループを選択し、[Remove] を選択します。
ステップ 5: クラスターのノードに接続する
続ける前に、「ステップ 4: アクセスを許可する (p. 26)」を完了したことを確認してください。
このセクションでは、Amazon EC2 インスタンスが作成済みであり、このインスタンスに接続できること
を前提としています。これを行う方法の手順については、『Amazon EC2 入門ガイド』を参照してくださ
い。
Amazon EC2 インスタンスは、許可されている場合にのみクラスターノードに接続できます。詳細につい
ては、「ステップ 4: アクセスを許可する (p. 26)」を参照してください。
ステップ 5.1: ノードのエンドポイントを見つける
クラスターへのアクセスを許可し、クラスターが available 状態になり、クラスターへのアクセスを許可
したら、Amazon EC2 インスタンスにログインし、クラスターのノードに接続できます。そのためには、
最初にノードエンドポイントを確認する必要があります。
ノードのエンドポイントを見つける方法については、該当するトピックを参照してください。必要なエン
ドポイントを見つけたら、ステップ 5.2 で使用するために、クリップボードにコピーします。
• ElastiCache エンドポイントの検索 (p. 52)
• Memcached クラスターのエンドポイントの検索 (コンソール) (p. 53)
• Redis (クラスターモードが無効) クラスターのエンドポイントの検索 ((コンソール)) (p. 55)
• Redis (クラスターモードが有効) クラスターのエンドポイントの検索 ((コンソール)) (p. 57)
• エンドポイントの検索 (AWS CLI) (p. 59)
• エンドポイントの検索 (ElastiCache API) (p. 63)
ステップ 5.2: Memcached ノードに接続する
これで、エンドポイントがわかったので、Amazon EC2 インスタンスにログインし、キャッシュノードに
接続できます。手順は使用するエンジンによって異なります。
次の例では、telnet ユーティリティを使用して Memcached を実行しているノードに接続します。
API Version 2015-02-02
28
Amazon ElastiCache ユーザーガイド
ステップ 5.2: Memcached ノードに接続する
Note
Memcached およびその使用可能なコマンドの詳細については、Memcached のウェブサイトを参
照してください。
telnet を使用してノードに接続するには
1.
選択した接続ユーティリティを使用して、Amazon EC2 インスタンスに接続します。
Note
Amazon EC2 インスタンスに接続する手順については、『Amazon EC2 入門ガイド』を参照
してください。
2.
Amazon EC2 インスタンスに telnet ユーティリティをダウンロードし、インストールしま
す。Amazon EC2 インスタンスのコマンドプロンプトで、以下のコマンドを入力し、コマンドプロン
プトで「y」と入力します。
sudo yum install telnet
Loaded plugins: priorities, security, update-motd, upgrade-helper
Setting up Install Process
Resolving Dependencies
--> Running transaction check
...(output omitted)...
Total download size: 63 k
Installed size: 109 k
Is this ok [y/N]: y
Downloading Packages:
telnet-0.17-47.7.amzn1.x86_64.rpm
|
63 kB
00:00
...(output omitted)...
Complete!
3.
Amazon EC2 インスタンスのコマンドプロンプトで、次のコマンドを入力します。この例に示されて
いるノードのエンドポイントを、使用するノードのエンドポイントに置き換えてください。
telnet mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com 11211
以下のような出力が表示されます。
Trying 128.0.0.1...
Connected to mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com.
Escape character is '^]'.
>
4.
Memcached コマンドを実行します。
これで、ノードに接続され、Memcached のコマンドを実行できます。次に例を示します。
set a 0 0 5
hello
STORED
get a
VALUE a 0 5
hello
// Set key "a" with no expiration and 5 byte value
// Set value as "hello"
// Get value for key "a"
API Version 2015-02-02
29
Amazon ElastiCache ユーザーガイド
ステップ 5.2: Redis クラスターまたは
レプリケーショングループに接続する
END
get b
END
>
// Get value for key "b" results in miss
ステップ 5.2: Redis クラスターまたはレプリケーショ
ングループに接続する
これで、必要なエンドポイントがわかったので、EC2 インスタンスにログインし、キャッシュノードに接
続できます。手順は使用するエンジンによって異なります。
次の例では、redis-cli ユーティリティを使用して Redis を実行しているクラスターに接続します。
Note
Redis とその使用可能なコマンドの詳細については、「Redis のコマンド」ウェブページを参照し
てください。
redis-cli を使用して Redis クラスターに接続するには
1.
選択した接続ユーティリティを使用して、Amazon EC2 インスタンスに接続します。
Note
Amazon EC2 インスタンスに接続する手順については、『Amazon EC2 入門ガイド』を参照
してください。
2.
redis-cli をビルドするには、GNU Compiler Collection (gcc) をダウンロードしてインストールする必
要があります。EC2 インスタンスのコマンドプロンプトで、以下のコマンドを入力します。確認のプ
ロンプトが表示されたら、「y」と入力します。
sudo yum install gcc
Loaded plugins: priorities, security, update-motd, upgrade-helper
Setting up Install Process
Resolving Dependencies
--> Running transaction check
...(output omitted)...
Total download size: 27 M
Installed size: 53 M
Is this ok [y/N]: y
Downloading Packages:
(1/11): binutils-2.22.52.0.1-10.36.amzn1.x86_64.rpm
(2/11): cpp46-4.6.3-2.67.amzn1.x86_64.rpm
(3/11): gcc-4.6.3-3.10.amzn1.noarch.rpm
| 5.2 MB
| 4.8 MB
| 2.8 kB
00:00
00:00
00:00
...(output omitted)...
Complete!
3.
redis-cli ユーティリティをダウンロードし、コンパイルします。このユーティリティは Redis ソフト
ウェアディストリビューションに含まれています。EC2 インスタンスのコマンドプロンプトで、以下
のコマンドを入力します。
Note
Ubuntu システムでは、make を実行する前に、make distclean.
API Version 2015-02-02
30
Amazon ElastiCache ユーザーガイド
ステップ 6: クラスターを削除する
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
を実行します。
4.
EC2 インスタンスのコマンドプロンプトで、以下のコマンドを入力します。この例に示されているク
ラスターのエンドポイントを実際のものに置き換えてください。
src/redis-cli -c -h mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com -p 6379
以下のような Redis コマンドのプロンプトが表示されます。
redis mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com 6379>
5.
Redis コマンドを実行します。
これで、クラスターに接続され、Redis のコマンドを実行できます。次に例を示します。
set a "hello"
OK
get a
"hello"
get b
(nil)
set b "Good-bye" EX 5
get b
"Good-bye"
// Set key "a" with a string value and no expiration
// Get value for key "a"
// Get value for key "b" results in miss
// Set key "b" with a string value and a 5 second expiration
// wait 5 seconds
get b
(nil)
quit
// key has expired, nothing returned
// Exit from redis-cli
ステップ 6: クラスターを削除します [追加料金の発
生を防ぐため]。
作業を始める前に、少なくとも「ステップ 2: クラスターを起動する (p. 23)」まで完了したことを確認
してください。
Important
ほとんどの場合、使用していないクラスターの削除が推奨されます。クラスターのステータス状
態が削除済みになるまで、利用に対して課金されます。
クラスターを削除するには
1.
AWS マネジメントコンソールにサインインし、Amazon ElastiCache コンソール (https://
console.aws.amazon.com/elasticache/) を開きます。
2.
ElastiCache コンソールダッシュボードで、削除するクラスターが実行されているエンジン
(Memcached または Redis) を選択します。
選択したエンジンを実行しているクラスターがすべて一覧表示されます。
3.
削除するクラスターを選択するには、クラスターのリストからそのクラスターの名前を選択します。
API Version 2015-02-02
31
Amazon ElastiCache ユーザーガイド
ステップ 6: クラスターを削除する
Important
ElastiCache コンソールから、一度に 1 つずつクラスターを削除できます。複数のクラス
ターを選択すると、削除オペレーションが無効になります。
4.
5.
[Actions] ボタンを選択し、アクションのリストから [Delete] を選択します。
[Delete Cluster] 確認画面:
a. これが Redis クラスターである場合、最終スナップショットを取得するかどうかと、最終スナップ
ショットが必要な場合は最終スナップショット名を指定します。
b. [Delete] を選択してクラスターを削除するか、[Cancel] を選択してクラスターを保持します。
[Delete] を選択した場合は、クラスターのステータスが削除中に変わります。
クラスターがクラスターのリストに表示されなくなるとすぐに、課金が停止されます。
おめでとうございます。Redis クラスターの起動、アクセス権の設定、クラスターへの接続、クラスター
の表示、クラスターの削除をひととおり体験しました。
API Version 2015-02-02
32
Amazon ElastiCache ユーザーガイド
ここからどこへ進むべきですか?
ここからどこへ進むべきですか?
これで入門演習は完了しました。ElastiCache と利用可能なツールについてさらに知識を深めるには、次
の各セクションを参照してください。
• AWS の使用開始
• アマゾン ウェブ サービスのツール
• AWS コマンドラインインターフェイス
• Amazon ElastiCacheAPI リファレンス
まだそれらをお読みでない場合は、ここにある ElastiCache トピックをお読みください。
開始方法の演習を完了したら、以下のセクションで ElastiCache の管理に関する詳細を確認できます。
• エンジンとバージョン (p. 34)
ElastiCache では、– Memcached と Redis の 2 つのエンジンがサポートされます。このトピックでは、
どのエンジンがお客様のシナリオに最良であるかを判断するのに役立ちます。
• ノードサイズの選択 (p. 83)
キャッシュは、キャッシュしたいすべてのデータに対応できるだけの十分な大きさにします。同時に、
必要以上にキャッシュを大きくしたくはないものです。このトピックでは、最良のノードのサイズを選
択するのに役立ちます。
• Amazon ElastiCache の実装のベストプラクティス (p. 65)
クラスターの効率に影響を及ぼす可能性がある問題を特定し、対処します。
API Version 2015-02-02
33
Amazon ElastiCache ユーザーガイド
エンジンとバージョン
Amazon ElastiCache では、Memcached と Redis のキャッシュエンジンがサポートされています。各エン
ジンにはいくつかのメリットがあります。このトピックの情報を参考にして、要件を満たす最適なエンジ
ンとバージョンを選択してください。
Important
キャッシュクラスターまたはレプリケーショングループの作成後、より新しいエンジンバージョ
ンにアップグレードできますが (「エンジンバージョンのアップグレード (p. 44)」を参照)、以
前のエンジンバージョンにダウングレードすることはできません。以前のエンジンバージョンを
使用する場合は、既存のキャッシュクラスターまたはレプリケーショングループを削除し、新た
にそれを以前のエンジンバージョンで作成する必要があります。
トピック
• エンジンの選択: Memcached、Redis (クラスターモードが無効)、または Redis (クラスターモードが
有効) (p. 35)
• 使用可能なエンジンバージョンの確認 (p. 37)
• Memcached バージョンの比較 (p. 39)
• Redis バージョンの比較 (p. 41)
• エンジンバージョンのアップグレード (p. 44)
• メンテナンスウィンドウ (p. 46)
API Version 2015-02-02
34
Amazon ElastiCache ユーザーガイド
エンジンの選択: Memcached、Redis (クラスターモー
ドが無効)、または Redis (クラスターモードが有効)
エンジンの選択: Memcached、Redis (クラスター
モードが無効)、または Redis (クラスターモードが
有効)
見かけ上エンジンは似ています。それぞれのエンジンは、インメモリキー/値ストアです。ただし、実際に
は大きな違いがあります。
以下がお客様の状況に当てはまる場合は、Memcached を選択します。
• できるだけシンプルなモデルが必要である。
• 複数のコアまたはスレッドを持つ大きなノードを実行する必要がある。
• システムでの需要の増減に応じてノードを追加または削除するスケールアウト / スケールイン機能が必
要である。
• 複数のシャード間でデータを分割する必要がある。
• データベースなどのオブジェクトをキャッシュする必要がある。
以下がお客様の状況に当てはまる場合は、Redis 2.8.x または Redis 3.2 (非クラスターモード) を
選択します。
• 文字列、ハッシュ、リスト、セット、ストアドセット、ビットマップなど、複雑なデータ型が必要であ
る。
• インメモリデータセットをソートまたはランク付けする必要がある。
• キーストアの永続性が必要である。
• 読み取り量が多いアプリケーションのために、プライマリからのデータを 1 つ以上のリードレプリカに
レプリケートする必要がある。
• プライマリノードが失敗した場合に、自動的なフェイルオーバーが必要である。
• 発行とサブスクライブ (pub/sub) 機能が必要 - クライアントにサーバー上のイベントを通知する必要が
ある。
• バックアップと復元の機能が必要である。
• 複数のデータベースをサポートする必要がある。
以下の違いがある Redis 2.8.x のすべての機能が必要な場合は、Redis 3.2 (クラスターモード) を
選択します。
• 2~ 15 のノードグループ間でデータを分割する必要がある (クラスターモードのみ)。
• 地理空間インデックス作成 (クラスターモードまたは非クラスターモード) が必要。
• 複数のデータベースをサポートする必要がない。
Important
Redis (クラスターモードが有効) クラスターモードには以下の制限があります。
• 大きなノードタイプに拡張しない。
• ノードグループ (パーティション) の数の変更なし。
• ノードグループ (パーティション) のレプリカの数の変更なし。
API Version 2015-02-02
35
Amazon ElastiCache ユーザーガイド
エンジンの選択: Memcached、Redis (クラスターモー
ドが無効)、または Redis (クラスターモードが有効)
Memcached、Redis (クラスターモードが無効)、Redis (クラスターモードが有効) の比較の概要
エンジンバージョン
データ型
Memcached
Redis (クラス
ターモードが無効)
Redis (クラス
ターモードが有効)
1.4.x
2.8.x & 3.2.x
3.2.x
シンプル †
Redis 2.8.x - 混在 *
複雑
Redis 3.2.x - 混在
マルチスレッド
はい
いいえ
いいえ
クラスターが変更可能
はい
はい
いいえ
ノードタイプのアップ
グレード
いいえ
はい
いいえ
エンジンのアップグ
レード
はい
はい
いいえ
データのパーティショ
ン化
はい
いいえ
はい
キーストアの永続性
いいえ
はい
はい
高可用性 (レプリケー
ション)
いいえ
はい
はい
プライマリの自動フェ
イルオーバー
いいえ
オプション
必須
パブリック/サブ機能
いいえ
はい
はい
リストのソート
いいえ
はい
はい
カウンターとハッシュ
いいえ
はい
はい
バックアップ/復元機能
いいえ
はい
はい
地理空間インデックス
作成
いいえ
Redis 2.8.x - いいえ
Redis の 3.2.x - はい
はい
注:
†文字列、オブジェクト (データベースなど)
*文字列セット、並べ替えられたセット、リスト、ハッシュ、ビットマップ、Hyperloglog
文字列、セット、ソートされたセット、リスト、ハッシュ、ビットマップ、Hyperloglog、Geospacial イ
ンデックス
クラスターのエンジンを選択した後は、そのエンジンの最新バージョンを使用することをお勧めしま
す。詳細については、「Memcached バージョンの比較 (p. 39)」または「Redis バージョンの比
較 (p. 41)」を参照してください。
API Version 2015-02-02
36
Amazon ElastiCache ユーザーガイド
使用可能なエンジンバージョンの確認
使用可能なエンジンバージョンの確認
一部のリージョンでは、利用できないエンジンバージョンがある場合があります。そのため、クラスター
またはレプリケーショングループを作成する前に、リージョンでサポートされているエンジンバージョン
を確認する必要があります。
ElastiCache コンソール、AWS CLI、または ElastiCache API を使って、リージョンでサポートされている
エンジンバージョンを確認することができます。
使用可能なエンジンバージョンの確認 (コンソール)
クラスターまたはレプリケーショングループを作成するときに、エンジンバージョンをリストから選択す
るように求められます。リストには現在のリージョンで使用可能なエンジンバージョンが含まれていま
す。
詳細については、「クラスターの作成 (p. 133)」または「ゼロからのレプリケーショングループの作
成 (p. 217)」を参照してください。
使用可能なエンジンバージョンの確認 (AWS CLI)
リージョンで使用可能なエンジンバージョンを確認するには、describe-cache-engine-versions オペ
レーションを使用します。
aws elasticache describe-cache-engine-versions
このオペレーションからの出力は以下のような JSON 形式になります。
{
"CacheEngineVersions": [
{
"Engine": "memcached",
"CacheEngineDescription": "memcached",
"CacheEngineVersionDescription": "memcached version 1.4.14",
"CacheParameterGroupFamily": "memcached1.4",
"EngineVersion": "1.4.14"
},
... some output omitted for brevity
{
"Engine": "redis",
"CacheEngineDescription": "Redis",
"CacheEngineVersionDescription": "redis version 2.8.6",
"CacheParameterGroupFamily": "redis2.8",
"EngineVersion": "2.8.6"
}
]
}
詳細については、「describe-cache-engine-versions」を参照してください。
使用可能なエンジンバージョンの確認 (ElastiCache
API)
リージョンで使用可能なエンジンバージョンを確認するには、DescribeCacheEngineVersions アクション
を使用します。
API Version 2015-02-02
37
Amazon ElastiCache ユーザーガイド
使用可能なエンジンバージョンの確認 (ElastiCache API)
https://elasticache.us-west-2.amazonaws.com/
?Action=DescribeCacheEngineVersions
&Version=2015-02-02
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&X-Amz-Credential=<credential>
詳細については、「DescribeCacheEngineVersions」を参照してください。
API Version 2015-02-02
38
Amazon ElastiCache ユーザーガイド
Memcached バージョンの比較
Memcached バージョンの比較
ElastiCache は Memcached のこれらのバージョンをサポートします。
トピック
• Memcached バージョン 1.4.33 (p. 39)
• Memcached バージョン 1.4.24 (p. 39)
• Memcached バージョン 1.4.14 (p. 40)
• Memcached バージョン 1.4.5 (p. 40)
Memcached バージョン 1.4.33
バージョン 1.4.24 以降に追加された Memcached の機能拡張には、以下が含まれます。
• 特定のスラブクラス、スラブクラスのリスト、またはすべてのスラブクラスのメタデータをダンプでき
る機能詳細については、「Memcached 1.4.31 リリースノート」を参照してください。
• デフォルト値が 1 MB を超える大きなアイテムに対応詳細については、「Memcached 1.4.29 リリース
ノート」を参照してください。
• 閉じる前にクライアントがアイドル状態だった時間を指定できる機能
クラスターを再起動せずに、Memcached で使用可能なメモリの量を動的に増やすことができる機能詳
細については、「Memcached 1.4.27 リリースノート」を参照してください。
• fetchers、mutations、evictions のログ記録がサポートされるようになりました。詳細については、
「Memcached 1.4.26 リリースノート」を参照してください。
• 解放されたメモリは、再度グローバルのプールに戻し、新しいスラブクラスに割り当て直すことができ
ます。詳細については、「Memcached 1.4.25 リリースノート」を参照してください。
• 複数のバグ修正。
• いくつかの新しいコマンドとパラメータ。リストについては、「Memcached 1.4.33 で追加されたパラ
メータ (p. 302)」を参照してください。
アップグレードの要件
古いバージョンの Memcached からアップグレードするときは、次の要件に注意する必要があります。以
下の条件では、CreateCacheCluster および ModifyCacheCluster は失敗します。
• もし slab_chunk_max > max_item_size.
• もし max_item_size modulo slab_chunk_max != 0.
• もし max_item_size > ((max_cache_memory - memcached_connections_overhead) / 4).
Note
(max_cache_memory - memcached_connections_overhead) は、データに使用可能なノードの
メモリです。詳細については、「Memcached 接続オーバーヘッド (p. 311)」を参照してくだ
さい。
Memcached バージョン 1.4.24
バージョン 1.4.14 以降に追加された Memcached の機能拡張には、以下が含まれます。
• バックグラウンドプロセスを使用した LRU (least recently used) の管理
API Version 2015-02-02
39
Amazon ElastiCache ユーザーガイド
Memcached バージョン 1.4.14
• ハッシュアルゴリズムとして使用する jenkins または murmur3 のオプションを追加しました。
• いくつかの新しいコマンドとパラメータ。リストについては、「Memcached 1.4.24 で追加されたパラ
メータ (p. 304)」を参照してください。
• 複数のバグ修正。
Memcached バージョン 1.4.14
バージョン 1.4.5 以降に追加された Memcached の機能拡張には、以下が含まれます。
• スラブ再分散機能の強化。
• パフォーマンスとスケーラビリティの強化。
• touch コマンドの導入により、既存の項目の有効期限を取得せずに更新する機能。
• 自動検出 — クライアントプログラムが、クラスター内のすべてのキャッシュノードを自動的に識別し、
それらのすべてのノードへの接続を開始して維持する機能。
Memcached バージョン 1.4.5
Memcached バージョン 1.4.5 は、Amazon ElastiCache でサポートされた最初のエンジンとバージョンで
す。
API Version 2015-02-02
40
Amazon ElastiCache ユーザーガイド
Redis バージョンの比較
Redis バージョンの比較
ElastiCache はこれらの Redis バージョンをサポートします。
トピック
• Redis バージョン 3.2.4 (拡張) (p. 42)
• Redis バージョン 2.8.24 (拡張) (p. 43)
• Redis バージョン 2.8.23 (拡張) (p. 43)
• Redis バージョン 2.8.22 (拡張) (p. 43)
• Redis バージョン 2.8.21 (p. 44)
• Redis バージョン 2.8.19 (p. 44)
• Redis バージョン 2.8.6 (p. 44)
• Redis バージョン 2.6.13 (p. 44)
Note
新しいバージョンの Redis ほど、より良く安定したユーザーエクスペリエンスを提供しているた
め、Redis バージョン 2.6.13、2.8.6、および 2.8.19 は ElastiCache コンソールから廃止されまし
た。お勧めしませんが、以前のいずれかの Redis バージョンを使用する必要がある場合は、AWS
CLI または ElastiCache API を使用できます。
詳細については、以下のトピックを参照してください。
AWS AWS CLI
ElastiCache API
クラスターの作成
キャッシュクラスターの作成
((AWS CLI)) (p. 144)
キャッシュクラスターの作成
((ElastiCache API)) (p. 146)
クラスターの変更
キャッシュクラスターの変更
((AWS CLI)) (p. 156)
キャッシュクラスターの変更
((ElastiCache API)) (p. 157)
レプリケーショングループの
作成
ゼロからの Redis (クラスター
モードが無効) レプリケー
ショングループの作成 ((AWS
CLI)) (p. 218)
ゼロからの Redis (クラス
ターモードが無効) レプリ
ケーショングループの作成
((ElastiCache API)) (p. 220)
ゼロからの Redis (クラスター
モードが有効) レプリケー
ショングループの作成 ((AWS
CLI)) (p. 224)
ゼロからの Redis (クラス
ターモードが有効) レプリ
ケーショングループの作成
((ElastiCache API)) (p. 228)
レプリケーショングループの
変更 ((AWS CLI)) (p. 237)
レプリケーショングルー
プの変更 ((ElastiCache
API)) (p. 237)
レプリケーショングループの
変更
Redis (クラスターモードが有効) クラスターまたはレプリケーショングループの作成に使用す
ることはできません。
Redis (クラスターモードが有効) クラスターまたはレプリケーショングループの変更に使用す
ることはできません。
API Version 2015-02-02
41
Amazon ElastiCache ユーザーガイド
Redis バージョン 3.2.4 (拡張)
Redis バージョン 3.2.4 (拡張)
Redis バージョン 3.2.4 で、Amazon ElastiCache でサポートされている Redis エンジンの次の主要バー
ジョンが導入されます。Redis 3.2.4 のユーザーは、以前のバージョンの Redis のすべての機能に加え
て、クラスターモードまたは非クラスターモードで実行するオプションも使用できます。次の表に以下の
内容がまとめてあります。
Redis 3.2.4 非クラスターモードとクラスターモードの比較
機能
非クラスターモード
クラスターモード
データのパーティション化
いいえ
はい
地理空間インデックス作成
はい
はい
ノードタイプの変更
はい
いいえ
レプリカの拡張
はい
いいえ
スケールアウト
いいえ
いいえ
複数
単一
データベースのサポート
注:
• パーティション – データを 2 ~ 15 のノードグループ (シャード) 間で分割可能 (各ノードグループでレ
プリケーションが有効)。
• 地理空間インデックス作成 – Redis 3.2 で、6 つの GEO コマンドによる地理空間インデックス作成の
サポートが追加されました。詳細については、Redis GEO* コマンドのドキュメントの Redis コマンド
ページ (GEO でフィルタリング) の「Redis コマンド: GEO」を参照してください。
Redis 3 の追加の機能については、『Redis 3.2 リリースノート』と『Redis 3.0 リリースノート』を参照
してください。
現在、ElastiCache マネージド Redis (クラスターモードが有効) では、Redis 3.2 の以下の機能はサポート
されていません。
• レプリカの移行
• クラスターの再分散
• Lua デバッガー
ElastiCache では、Redis 3.2 の以下の管理コマンドは無効になっています。
• cluster meet
• cluster replicate
• cluster flushslots
• cluster addslots
• cluster delslots
• cluster setslot
• cluster saveconfig
• cluster forget
• cluster failover
API Version 2015-02-02
42
Amazon ElastiCache ユーザーガイド
Redis バージョン 2.8.24 (拡張)
• cluster bumpepoch
• cluster set-config-epoch
• cluster reset
Redis 3.2.4 のパラメーターの詳細については、「Redis 3.2.4 パラメーターの変更 (p. 314)」を参照して
ください。
Redis バージョン 2.8.24 (拡張)
バージョン 2.8.23 以降に追加された、バグ修正および不正なメモリーアクセスのアドレスのログ記録を含
む Redis の改善詳細については、「Redis 2.8 リリースノート」を参照してください。
Redis バージョン 2.8.23 (拡張)
バージョン 2.8.22 以降に追加された Redis の機能拡張には、バグ修正も含まれます。詳細については、
「Redis 2.8 リリースノート」を参照してください。また、このリリースでは、新しいパラメータ closeon-slave-write もサポートされており、有効にした場合、読み取り専用レプリカに書き込もうとするクラ
イアントの接続は切断されます。
Redis 2.8.23 のパラメータの詳細については、『ElastiCache ユーザーガイド』の「Redis 2.8.23 (拡張) で
追加されたパラメータ (p. 317)」を参照してください。
Redis バージョン 2.8.22 (拡張)
バージョン 2.8.21 以降に追加された Redis の機能拡張には、以下が含まれます。
• 分岐なしのバックアップと同期のサポートにより、バックアップオーバーヘッドによるメモリの割り当
てを減らしてより多くのメモリをアプリケーションに割り当てることができます。詳細については、
「同期とバックアップの実装方法 (p. 211)」を参照してください。分岐なしのプロセスは、レイテン
シーとスループットの両方に影響を与える場合があります。レプリカの再同期時に書き込みのスルー
プットが高い場合、同期の時間全体を通じてアクセスできない場合があります。
• フェイルオーバーが発生した場合、可能な場合はレプリカがフル同期ではなくプライマリとの部分同期
を実行するため、レプリケーショングループはより早く復旧されます。さらに、プライマリとレプリカ
は同期中にディスクを使用しないため、速度が向上します。
• 2 つの新しい CloudWatch メトリクスのサポート。
• ReplicationBytes - レプリケーショングループのプライマリクラスターがリードレプリカに送信して
いるバイト数。
• SaveInProgress - バックグラウンド保存プロセスが実行されるかどうかを示すバイナリ値。
詳細については、「Redis のメトリクス (p. 381)」を参照してください。
• レプリケーション PSYNC 動作のいくつかの重要なバク修正。詳細については、「Redis 2.8 リリース
ノート」を参照してください。
• マルチ AZ レプリケーショングループのレプリケーションパフォーマンスの拡張とクラスターの安定性
を維持するために、非 ElastiCache レプリカのサポートが終了しました。
• レプリケーショングループのプライマリクラスターとレプリカ間でデータの整合性を改善するために、
プライマリクラスターと無関係にレプリカでキーを削除できなくしました。
• Redis 設定変数 appendonly および appendfsync Redis バージョン 2.8.22 以降ではサポートされていま
せん。
• メモリが少ない状況で、大きな出力アップロードバッファを持つクライアントはレプリカクラスターか
らの接続が解除される場合があります。接続が解除された場合、クライアントは再接続する必要があり
ます。このような状況は、多くの場合 PUBSUB クライアントで発生する可能性があります。
API Version 2015-02-02
43
Amazon ElastiCache ユーザーガイド
Redis バージョン 2.8.21
Redis バージョン 2.8.21
Redis のバージョン 2.8.19 で数多くのバグ修正が行われ、改善されました。詳細については、「Redis 2.8
リリースノート」を参照してください。
Redis バージョン 2.8.19
バージョン 2.8.6 以降に追加された Redis の機能拡張には、以下が含まれます。
• HyperLogLog のサポート。詳細については、「Redis の新しいデータ構造: HyperLogLog」を参照して
ください。
• ソートされたセットデータ型は、新しいコマンド ZRANGEBYLEX、ZLEXCOUNT、および ZREMRANGEBYLEX
で、辞書式範囲のクエリをサポートするようになりました。
• プライマリノードがレプリカノードに古いデータを送信しないようにするため、バックグラウンド保存
(bgsave) の子プロセスが中止された場合、マスター SYNC は失敗します。
• HyperLogLogBasedCommands CloudWatch メトリクスがサポートされました。詳細については、
「Redis のメトリクス (p. 381)」を参照してください。
Redis バージョン 2.8.6
バージョン 2.6.13 以降に追加された Redis の機能拡張には、以下が含まれます。
• リードレプリカの弾力性と耐障害性の向上。
• 部分的な再同期のサポート。
• 常に使用できる必要があるリードレプリカの最小数に関するユーザー定義のサポート。
• pub/sub のフルサポート — サーバー上のイベントをクライアントに通知。
• プライマリノードの障害の自動検出と、プライマリノードからセカンダリノードへのフェイルオー
バー。
Redis バージョン 2.6.13
Redis バージョン 2.6.13 は、Amazon ElastiCache でサポートされた Redis の最初のバージョンです。マ
ルチ AZ と自動フェイルオーバーは Redis 2.6.13 ではサポートされません。
エンジンバージョンのアップグレード
キャッシュクラスターを実現するプロトコルに準拠したソフトウェアを、ElastiCache でサポートされる
新しいバージョンにアップグレードするかどうかと、アップグレードの時期を管理します。このレベルの
コントロールにより、特定の Memcached または Redis のバージョンとの互換性を維持する、本稼働環境
にデプロイする前にアプリケーションで新しいバージョンをテストする、および独自の条件とタイムライ
ンでバージョンのアップグレードを実行することができます。
バージョンアップグレードは、互換性のリスクが伴うことがあるため、自動的には行われません。ご自分
の責任で実施してください。
クラスターまたはレプリケーショングループを変更し、新しいエンジンのバージョンを指定することで、
クラスターのバージョンアップグレードを開始します。詳細については、「ElastiCache クラスターの変
更 (p. 155)」または「レプリカを持つクラスターの変更 (p. 237)」を参照してください。
API Version 2015-02-02
44
Amazon ElastiCache ユーザーガイド
Memcached エンジンのアップグレードに関する重要事項
Important
• より新しいエンジンバージョンにアップグレードできますが、以前のエンジンバージョンにダ
ウングレードすることはできません。以前のエンジンバージョンを使用する場合は、既存のク
ラスターを削除し、新たにそれを以前のエンジンバージョンで作成する必要があります。
• エンジンのバージョン管理機能では、パッチ適用を可能な限りお客様が管理できるようにして
いますが、システムやキャッシュソフトウェアにおいて重要なセキュリティ脆弱性が万一発生
した場合は、お客様に代わって ElastiCache がクラスターにパッチを適用する可能性がありま
す。
• Redis (クラスターモードが有効) は、エンジンバージョンの変更をサポートしていません。
• ElastiCache では、有効なクラスターと無効なクラスターとの切り替えはサポートされていませ
ん。
Memcached エンジンのアップグレードに関する重要
事項
Memcached エンジンでは永続性がサポートされていないため、そのエンジンバージョンのアップグレー
ドは常に、クラスターのすべてのキャッシュデータを消去する破壊的なプロセスです。
Redis エンジンのアップグレードに関する重要事項
Amazon ElastiCache エンジンのアップグレードプロセスは、既存のデータをベストエフォートで保持する
ように設計されており、Redis レプリケーションが正常に実行される必要があります。
Important
Redis 2.x から Redis 3.x にエンジンをアップグレードできますが、Redis (クラスターモードが無
効) から Redis (クラスターモードが有効) にアップグレードすることはできません。Redis (クラ
スターモードが有効) にアップグレードするには、古いクラスターと新しいクラスターのシャード
(API/CLI: ノードグループ) の数が同じである限り、Redis (クラスターモードが無効) のスナップ
ショットを使用してシードできる新しい Redis (クラスターモードが有効) クラスターを作成する
必要があります。
• 単一の Redis クラスターや、マルチ AZ が無効になっているクラスターの場合、「Redis スナップ
ショットを作成するための十分なメモリがあることの確認 (p. 65)」で説明されているように、Redis
用に十分なメモリを確保することをお勧めします。これらの例では、プライマリがアップグレードプロ
セスの実行中にリクエストに対応できなくなります。
• マルチ AZ が有効になっている Redis クラスターの場合は、前述に加えて、書き込みの受信トラフィッ
クが少ない期間中にエンジンのアップグレードを予定することをお勧めします。プライマリは、フェイ
ルオーバー開始時の数分を除いて、アップグレードプロセスの実行中でも、引き続きリクエストに対応
します。
ブロックされた Redis エンジンのアップグレード
以下の表に示すように、保留中のスケールアップオペレーションがある場合、Redis エンジンのアップグ
レードオペレーションはブロックされます。
保留中のオペレーション
ブロックされたオペレーション
スケールアップ
即時のエンジンのアップグレード
エンジンのアップグレード
即時のスケールアップ
API Version 2015-02-02
45
Amazon ElastiCache ユーザーガイド
エンジンバージョンのアップグレード方法
保留中のオペレーション
ブロックされたオペレーション
スケールアップとエンジンのアップグレード
即時のスケールアップ
スケールアップとエンジンのアップグレード
即時のエンジンのアップグレード
エンジンのアップグレードのブロックを解除するには、以下のいずれかを実行します。
• [Apply immediately] チェックボックスをオフにすることで (CLI では --no-apply-immediately、API で
は ApplyImmediately=false を使用)、Redis エンジンのアップグレードオペレーションを次のメンテナ
ンス期間に予定します。
• Redis のエンジンアップグレードオペレーションを実行する次のメンテナンス期間 (またはその後) まで
待ちます。
• [Apply Immediately] チェックボックスをオンにし、このクラスターの変更に Redis のスケールアップ
オペレーションを追加します (CLI では --apply-immediately、API では ApplyImmediately=true を使
用)。 (これにより、エンジンのアップグレードがすぐに実行されて、次のメンテナンス期間中のエンジ
ンのアップグレードはキャンセルされます)
エンジンバージョンのアップグレード方法
クラスターまたはレプリケーショングループのバージョンアップは、ElastiCache コンソール、AWS
CLI、または ElastiCache API を使用して、より新しいエンジンバージョンを指定することで開始します。
詳細については、以下のトピックを参照してください。
Important
Redis (クラスターモードが有効) では、クラスターまたはレプリケーショングループを変更でき
ないことに注意してください。
クラスター
レプリケーショングループ
コンソールの使用
クラスターの変更 ((コンソー
ル)) (p. 155)
Redis クラスターの変更 ((コン
ソール)) (p. 237)
AWS CLI の使用
キャッシュクラスターの変更
((AWS CLI)) (p. 156)
レプリケーショングループの変
更 ((AWS CLI)) (p. 237)
ElastiCache API の使用
キャッシュクラスターの変更
((ElastiCache API)) (p. 157)
レプリケーショングループの変
更 ((ElastiCache API)) (p. 237)
メンテナンスウィンドウ
すべてのクラスターには、週ごとのメンテナンス時間があります。その時間内にシステムの変更が適
用されます。キャッシュクラスターの作成または変更時に、必要なメンテナンス時間を指定しない場
合、ElastiCache では、ランダムに選択された曜日に対してリージョン内で 60 分のメンテナンス時間を割
り当てます。
60 分のメンテナンス時間は、リージョンごとに決められた 8 時間の中でランダムに選択されます。次の表
に、デフォルトでメンテナンス時間が割り当てられる各リージョンの時間ブロックを示します。リージョ
ンのメンテナンス期間外で、希望するメンテナンス期間を選択できます。
API Version 2015-02-02
46
Amazon ElastiCache ユーザーガイド
メンテナンスウィンドウ
リージョンコード
ap-northeast-1
ap-south-1
ap-southeast-1
ap-southeast-2
cn-north-1
eu-central-1
eu-west-1
sa-east-1
us-east-1
us-gov-west-1
us-west-1
us-west-2
リージョン名
リージョンメンテナンスウィンドウ
アジアパシ
フィック (東京)
リージョン
13:00–21:00 UTC
アジアパシ
フィック (ムン
バイ) リージョ
ン
17:30–1:30 UTC
アジアパシ
フィック (シン
ガポール) リー
ジョン
14:00–22:00 UTC
アジアパシ
フィック (シド
ニー) リージョ
ン
12:00–20:00 UTC
中国(北京)
リージョン
14:00–22:00 UTC
欧州 (フランク
フルト) リー
ジョン
23:00–07:00 UTC
欧州 (アイルラ
ンド) リージョ
ン
22:00–06:00 UTC
南米 (サンパウ
ロ) リージョン
01:00–09:00 UTC
米国東部 (バー
ジニア北部)
リージョン
03:00–11:00 UTC
AWS GovCloud
(US) リージョン
06:00–14:00 UTC
米国西部 (北カ
リフォルニア)
リージョン
06:00–14:00 UTC
米国西部 (オレ
ゴン) リージョ
ン
06:00–14:00 UTC
メンテナンス時間は使用率の最も低い時間帯に設定する必要があります。このため、場合によっては変更
が必要になります。お客様がリクエストしたメンテナンス作業が発生する、時間範囲を最大 24 時間で指
定できます。お客様のリクエストにより延期または保留中のクラスターの変更は、この時間に行われま
す。
キャッシュクラスターの優先メンテナンス期間の調整方法の詳細については、「ElastiCache クラスター
の変更 (p. 155)」または「レプリカを持つクラスターの変更 (p. 237)」を参照してください。
API Version 2015-02-02
47
Amazon ElastiCache ユーザーガイド
Redis リードレプリカおよび Memcached ノードの配置
リージョンとアベイラビリティー
ゾーンの選択
AWS クラウドコンピューティングリソースは、高可用性データセンター設備に収容されています。スケー
ラビリティと信頼性を向上させるために、これらのデータセンターの設備は物理的に異なる場所に配置さ
れています。これらの場所は、リージョンとアベイラビリティーゾーンに分類されます。
リージョンは大きく、広く分散した地理的な場所です。アベイラビリティーゾーンは、他のゾーンからの
影響を受けないようにそれぞれが独立しており、同一リージョンの他のアベイラビリティーゾーンに対し
て、レイテンシーが短くコストのかからないネットワーク接続を提供します。
Important
各リージョンは完全に独立しています。お客様が開始した ElastiCache アクティビティ (クラス
ターの作成など) は、お客様の現在のデフォルトのリージョンでのみ実行されます。
特定のリージョン内のクラスターを作成または操作するには、対応するリージョンのサービスエンドポイ
ントを使用します。サービスエンドポイントについては、「サポートされているリージョンおよびエンド
ポイント (p. 49)」を参照してください。
リージョンとアベイラビリティーゾーン
トピック
• Redis リードレプリカおよび Memcached ノードの配置 (p. 48)
• サポートされているリージョンおよびエンドポイント (p. 49)
Redis リードレプリカおよび Memcached ノードの
配置
Amazon ElastiCache は、1 つまたは複数のアベイラビリティーゾーン (AZs) 内のすべてのクラスターの検
索をサポートしています。さらに、アベイラビリティーゾーン内のクラスターのメンバーの検索を選択し
API Version 2015-02-02
48
Amazon ElastiCache ユーザーガイド
サポートされているリージョンおよびエンドポイント
た場合は (推奨)、ElastiCache で、各メンバーの AZ を選択するか、ElastiCache に選択させることができ
ます。
クラスターやノードを複数のアベイラビリティーゾーンに配置することによって、1 つのアベイラビリ
ティーゾーンでの停電などの障害がシステム全体の障害の原因となる可能性を排除できます。1 つのアベ
イラビリティーゾーンにすべてのノードを配置した場合と、複数のアベイラビリティーゾーンにノードを
分散させた場合では、レイテンシーに大きな違いがないことがテストによって証明されました。
Memcached ノードのアベイラビリティーゾーンを指定するには、通常の方法で Memcached クラスター
を作成します。Launch Cluster ウィザードの [Cluster Details] ページで、[Preferred Zone] リストを使用し
てこのノードのアベイラビリティーゾーンを指定します。
Redis リードレプリカのアベイラビリティーゾーンを指定するには、まずレプリケーショングループを作
成し、そのレプリケーショングループに 1 ~ 5 個のリードレプリカを追加します。各リードレプリカに
異なるアベイラビリティーゾーンを指定できます。プライマリ Redis キャッシュクラスターとは異なるア
ベイラビリティーゾーンに Redis リードレプリカを作成する方法の詳細については、「レプリカを持つ
Redis クラスターの作成 (p. 212)」および「Redis クラスターへのリードレプリカの追加 (p. 240)」を
参照してください。
サポートされているリージョンおよびエンドポイン
ト
Amazon ElastiCache は複数のリージョンで利用でき、要件に合った場所で ElastiCache クラスターを起動
できます。たとえば、顧客に最も近いリージョンで起動する場合や、特定の法的な要件を満たす必要があ
る場合などです。
デフォルトでは、AWS SDK、AWS CLI、ElastiCache API、および ElastiCache コンソールは、米国西部
– オレゴンリージョンを参照しています。ElastiCache が他のリージョンでも利用可能になると、そのリー
ジョンのエンドポイントもアプリケーションの HTTP リクエスト、AWS SDK、AWS CLI、およびコン
ソールで利用できるようになります。
各リージョンは、他のリージョンと完全に分離されるように設計されています。各リージョンには複数の
アベイラビリティーゾーン (AZ) があります。別のアベイラビリティーゾーンのノードを起動して、最大限
の耐障害性を実現できます。リージョンとアベイラビリティーゾーンの詳細については、「リージョンと
アベイラビリティーゾーンの選択 (p. 48)」でこのトピックを参照してください。
ElastiCache がサポートされているリージョン
リージョン名
リージョン
エンドポイント
米国東部 (バージニア北
部) リージョン
us-east-1
elasticache.useast-1.amazonaws.com
米国東部(オハイオ)
リージョン
us-east-2
elasticache.useast-2.amazonaws.com
米国西部 (北カリフォル
ニア) リージョン
us-west-1
elasticache.uswest-1.amazonaws.com
米国西部 (オレゴン)
リージョン
us-west-2
elasticache.uswest-2.amazonaws.com
カナダ (中部) リージョ
ン
ca-central-1
プロトコル
HTTPS
HTTPS
HTTPS
HTTPS
elasticache.caHTTPS
central-1.amazonaws.com
このリージョンでは現
在、T2、M4 のノードタ
API Version 2015-02-02
49
Amazon ElastiCache ユーザーガイド
サポートされているリージョンおよびエンドポイント
リージョン名
リージョン
エンドポイント
ap-south-1
elasticache.apsouth-1.amazonaws.com
プロトコル
イプのみがサポートさ
れています。
アジアパシフィック (ム
ンバイ) リージョン
HTTPS
このリージョンでは現
在、T2、R3、M4 の
ノードタイプのみがサ
ポートされています。
アジアパシフィック (ソ
ウル) リージョン
ap-northeast-2
elasticache.apHTTPS
northeast-2.amazonaws.com
アジアパシフィック (シ
ンガポール) リージョン
ap-southeast-1
elasticache.apHTTPS
southeast-1.amazonaws.com
アジアパシフィック (シ
ドニー) リージョン
ap-southeast-2
elasticache.apHTTPS
southeast-2.amazonaws.com
アジアパシフィック (東
京) リージョン
ap-northeast-1
elasticache.apHTTPS
northeast-1.amazonaws.com
欧州 (フランクフルト)
リージョン
eu-central-1
elasticache.euHTTPS
central-1.amazonaws.com
欧州 (アイルランド)
リージョン
eu-west-1
elasticache.euwest-1.amazonaws.com
欧州 (ロンドン) リー
ジョン
eu-west-2
elasticache.euwest-2.amazonaws.com
南米 (サンパウロ) リー
ジョン
sa-east-1
elasticache.saeast-1.amazonaws.com
中国 (北京) リージョン
cn-north-1
AWS GovCloud (米国)
us-gov-west-1
HTTPS
HTTPS
このリージョンでは現
在、T2、M4 のノードタ
イプのみがサポートさ
れています。
このリージョンでは現
在、M4 ノードタイプは
サポートされていませ
ん。
HTTPS
elasticache.cnHTTPS
north-1.amazonaws.com.cn
elasticache.us-govwest-1.amazonaws.com
ElastiCache での AWS
GovCloud (米国) の使
用の詳細については、
「AWS GovCloud (米国)
リージョンでのサービ
ス: ElastiCache」を参照
してください。
API Version 2015-02-02
50
HTTPS
Amazon ElastiCache ユーザーガイド
サポートされているリージョンおよびエンドポイント
リージョンごとの AWS 製品およびサービスの表については、「リージョンごとの製品とサービス」を参
照してください。
API Version 2015-02-02
51
Amazon ElastiCache ユーザーガイド
ElastiCache エンドポイントの検索
エンドポイントを使用してアプリケーションがクラスターに接続します。エンドポイントはノードまたは
クラスターの一意のアドレスです。
使用するエンドポイント
• Memcached クラスター。自動検出を使用する場合は、クラスターの設定エンドポイントを Memcached
クライアントの設定に使用できます。つまり、自動検出をサポートするクライアントを使用する必要が
あります。
自動検出を使用しない場合は、読み取りと書き込みに個々のノードのエンドポイントを使用するように
クライアントを設定する必要があります。また、ノードの追加や削除時にはそれらのエンドポイントを
更新する必要があります。
• Redis スタンドアロンノード。ノードのエンドポイントを読み取りと書き込みの両方のオペレーション
に使用します。
• Redis (クラスターモードが無効) クラスター。プライマリエンドポイントをすべての書き込みオペレー
ションに使用します。個々のノードエンドポイント (API/CLI ではリードエンドポイント) を読み取りオ
ペレーションに使用します。
• Redis (クラスターモードが有効) クラスター。クラスターの設定エンドポイントをすべてのオペレー
ションに使用します。Redis クラスター (Redis 3.2) をサポートするクライアントを使用する必要があ
ります。個々のノードエンドポイント (API/CLI ではリードエンドポイント) から読み取ることもできま
す。
以下のセクションで、実行するエンジンに必要なエンドポイントの検索について説明します。
API Version 2015-02-02
52
Amazon ElastiCache ユーザーガイド
コンソールを使用した Memcached エンドポイントの検索
Memcached クラスターのエンドポイントの検索
(コンソール)
すべての Memcached エンドポイントは読み取り/書き込みエンドポイントです。Memcached クラスター
内のノードに接続するには、アプリケーションは、各ノードのエンドポイントを使用できるか、クラス
ターの設定エンドポイントと自動検出を使用できる必要があります。自動検出を使用するには、自動検出
をサポートするクライアントを使用する必要があります。
自動検出を使用するとき、クライアントアプリケーションは設定エンドポイントを使用して Memcached
クラスターに接続します。ノードの追加や削除を行ってクラスターをスケーリングするたびに、アプ
リケーションは自動的にクラスターのすべてのノードを「検出して、それらのどのノードにも接続で
きます。アプリケーションで自動検出が行われない場合は、ノードを追加したり削除したりするたびに
エンドポイントを手動で更新する必要があります。自動検出の詳細については、「ノードの自動検出
(Memcached) (p. 101)」を参照してください。
以下の手順では、ElastiCache コンソールを使用して、クラスターの設定エンドポイントまたは任意の
ノードエンドポイントを検索してコピーする方法について説明しています。
Memcached クラスターのエンドポイントを検索してコピーするには ((console))
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインから、[Memcached] を選択します。
3.
キャッシュクラスター画面には Memcached クラスターの一覧が表示されています。
エンドポイントについて希望する Memcached クラスターを検索します。
必要なすべてのエンドポイントが設定エンドポイントである場合は、これで完了です。設定エンドポ
イントは [設定エンドポイント] にあり、clusterName.xxxxxx.cfg.usw2.cache.amazonaws.com:port
のように表示されます。
個々のノードのエンドポイントを表示したり、クリップボードにコピーしたりするには、[Copy Node
Endpoint] を選択します。
Memcached クラスターのエンドポイント
4.
エンドポイントをクリップボードにコピーするには:
a.
b.
[Copy Node Endpoints] 画面で、コピーするエンドポイントを強調表示します。
強調表示されたエンドポイントを右 – クリックして、コンテキストメニューから [Copy] を選択し
ます。
強調表示されたエンドポイントがクリップボードにコピーされます。
API Version 2015-02-02
53
Amazon ElastiCache ユーザーガイド
コンソールを使用した Memcached エンドポイントの検索
設定エンドポイントとノードエンドポイントはよく似ています。その違いは以下の太字の部分です。
myclustername.xxxxxx.cfg.usw2.cache.amazonaws.com:port
"cfg"
myclustername.xxxxxx.0001.usw2.cache.amazonaws.com:port
# configuration endpoint contains
# node endpoint for node 0001
Important
自動検出クライアントが設定エンドポイントとして CNAME を認識するように、Memcached 設
定エンドポイントの CNAME を作成する場合は、CNAME に .cfg. を含める必要があります。
API Version 2015-02-02
54
Amazon ElastiCache ユーザーガイド
コンソールを使用した Redis ク
ラスターのエンドポイントの検索
Redis (クラスターモードが無効) クラスターのエン
ドポイントの検索 ((コンソール))
Redis (クラスターモードが無効) クラスターに 1 つのみのノードがある場合、ノードのエンドポイントは
読み取りと書き込みの両方に使用されます。Redis (クラスターモードが無効) クラスターに複数のノード
がある場合、2 種類のエンドポイントがあります。つまり、プライマリとして動作しているノードを参照
するプライマリエンドポイントと、ノードエンドポイントです。プライマリエンドポイントは書き込みに
使用されます。ノードエンドポイントは読み取りに使用されます。
Redis (クラスターモードが無効) クラスターのエンドポイントを検索するには
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインから、[Redis] を選択します。
クラスター画面には、Redis (クラスターモードが無効) および Redis (クラスターモードが有効) クラ
スターのリストが表示されます。
3.
クラスターのプライマリエンドポイントを検索するには、クラスターの名前の左にあるチェックボッ
クスをオンにします。
クラスターに 1 つのみのノードがある場合、プライマリエンドポイントはないため、次のステップに
進むことができます。
Redis (クラスターモードが無効) クラスターのプライマリエンドポイント
4.
クラスターのノードエンドポイントを検索するには、クラスターの名前を選択します。
ノードの画面では、クラスター内の各ノードがそのエンドポイントと共に表示されます。
Redis (クラスターモードが無効) クラスターのノードエンドポイント
5.
エンドポイントをクリップボードにコピーするには:
a.
コピーするエンドポイントを見つけ、選択します (一度に 1 つのみ)。
b.
選択したエンドポイントを右クリックし、コンテキストメニューから [Copy] を選択します。
強調表示されたエンドポイントがクリップボードにコピーされます。
API Version 2015-02-02
55
Amazon ElastiCache ユーザーガイド
コンソールを使用した Redis ク
ラスターのエンドポイントの検索
Redis のエンドポイントは clusterName.xxxxxx.0001.usw2.cache.amazonaws.com port のようになりま
す。
API Version 2015-02-02
56
Amazon ElastiCache ユーザーガイド
Redis (クラスターモードが有効) クラス
ターのエンドポイントの検索 ((コンソール))
Redis (クラスターモードが有効) クラスターのエン
ドポイントの検索 ((コンソール))
設定エンドポイントを読み取りと書き込みの両方のオペレーションに使用します。Redis によってアクセ
ス先のクラスターのノードが決定されます。
以下の手順では、Redis (クラスターモードが有効) クラスターエンドポイントを検索してコピーする方法
を示しています。
Redis (クラスターモードが有効) クラスターの設定エンドポイントを検索するには
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインから、[Redis] を選択します。
Redis のいずれかのバージョンを実行しているクラスターのリストが表示されます。
3.
クラスターのリストから、"Clustered Redis" を実行中のクラスターの左にあるチェックボックスをオ
ンにします。
画面が展開されて、選択したクラスターの詳細が表示されます。
4.
設定エンドポイントを見つけます。
Redis (クラスターモードが有効) クラスターの設定エンドポイント
Redis (クラスターモードが有効) クラスターのノードエンドポイントを検索するには
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインから、[Redis] を選択します。
Redis のいずれかのバージョンを実行しているクラスターのリストが表示されます。
3.
クラスターのリストから、"Clustered Redis" を実行中のクラスターの名前を選択します。
シャードのページが開きます。
4.
ノードエンドポイントの対応するシャードの名前を選択します。
5.
シャードのノードのリストには、各ノードのエンドポイントが表示されます。
[Endpoint] 列で、各ノードのエンドポイントを確認します。
API Version 2015-02-02
57
Amazon ElastiCache ユーザーガイド
Redis (クラスターモードが有効) クラス
ターのエンドポイントの検索 ((コンソール))
Redis (クラスターモードが有効) クラスターのノードエンドポイント
エンドポイントをクリップボードにコピーするには
1.
2.
先ほどのいずれかの手順を使用して、コピーするエンドポイントを検索します。
コピーするエンドポイントを選択します。
3.
強調表示されたエンドポイントを右クリックして、コンテキストメニューから [Copy] を選択します。
強調表示されたエンドポイントがクリップボードにコピーされます。
API Version 2015-02-02
58
Amazon ElastiCache ユーザーガイド
エンドポイントの検索 (AWS CLI)
エンドポイントの検索 (AWS CLI)
AWS CLI for Amazon ElastiCache を使用して、ノード、クラスター、レプリケーショングループのエンド
ポイントを検出できます。
トピック
• ノードとクラスターのエンドポイントの検索 (AWS CLI) (p. 59)
• レプリケーショングループのエンドポイントの検索 (AWS CLI) (p. 60)
ノードとクラスターのエンドポイントの検索 (AWS
CLI)
AWS CLI で describe-cache-clusters コマンドを使用して、クラスターとそのノードのエンドポ
イントを検出できます。Redis クラスターでは、そのコマンドがクラスターエンドポイントを返しま
す。Memcached クラスターでは、コマンドは設定エンドポイントを返します。オプションのパラメータ
--show-cache-node-info を含めた場合、コマンドはクラスター内の個々のノードにエンドポイントを返
します。
以下のコマンドは、Memcached クラスター mycluster の設定エンドポイント (ConfigurationEndpoint)
と個別のノードエンドポイント (Endpoint) を取得します。
Linux, macOS, or Unix 用:
aws elasticache describe-cache-clusters \
--cache-cluster-id mycluster \
--show-cache-node-info
Windows の場合:
aws elasticache describe-cache-clusters ^
--cache-cluster-id mycluster ^
--show-cache-node-info
上記のオペレーションからの出力は以下のような JSON 形式になります。
{
"CacheClusters": [
{
"Engine": "memcached",
"CacheNodes": [
{
"CacheNodeId": "0001",
"Endpoint": {
"Port": 11211,
"Address": "mycluster.1abc4d.0001.usw2.cache.amazonaws.com"
},
"CacheNodeStatus": "available",
"ParameterGroupStatus": "in-sync",
"CacheNodeCreateTime": "2016-09-22T21:30:29.967Z",
"CustomerAvailabilityZone": "us-west-2b"
},
{
"CacheNodeId": "0002",
"Endpoint": {
"Port": 11211,
API Version 2015-02-02
59
Amazon ElastiCache ユーザーガイド
レプリケーショングループのエ
ンドポイントの検索 (AWS CLI)
"Address": "mycluster.1abc4d.0002.usw2.cache.amazonaws.com"
},
"CacheNodeStatus": "available",
"ParameterGroupStatus": "in-sync",
"CacheNodeCreateTime": "2016-09-22T21:30:29.967Z",
"CustomerAvailabilityZone": "us-west-2b"
},
{
"CacheNodeId": "0003",
"Endpoint": {
"Port": 11211,
"Address": "mycluster.1abc4d.0003.usw2.cache.amazonaws.com"
},
"CacheNodeStatus": "available",
"ParameterGroupStatus": "in-sync",
"CacheNodeCreateTime": "2016-09-22T21:30:29.967Z",
"CustomerAvailabilityZone": "us-west-2b"
}
],
"CacheParameterGroup": {
"CacheNodeIdsToReboot": [],
"CacheParameterGroupName": "default.memcached1.4",
"ParameterApplyStatus": "in-sync"
},
"CacheClusterId": "mycluster",
"PreferredAvailabilityZone": "us-west-2b",
"ConfigurationEndpoint": {
"Port": 11211,
"Address": "mycluster.1abc4d.cfg.usw2.cache.amazonaws.com"
},
"CacheSecurityGroups": [],
"CacheClusterCreateTime": "2016-09-22T21:30:29.967Z",
"AutoMinorVersionUpgrade": true,
"CacheClusterStatus": "available",
"NumCacheNodes": 3,
"ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/
home#client-download:",
"CacheSubnetGroupName": "default",
"EngineVersion": "1.4.24",
"PendingModifiedValues": {},
"PreferredMaintenanceWindow": "mon:09:00-mon:10:00",
"CacheNodeType": "cache.m4.large"
}
]
}
Important
Memcached 設定エンドポイントの CNAME を作成する場合、PHP クライアントが設定エンドポ
イントとして CNAME を認識するためには、.cfg. を CNAME に含める必要があります。たとえ
ば、php.ini ファイルの session.save_path パラメータで mycluster.cfg.local を含めます。
詳細については、トピック「describe-cache-clusters」を参照してください。
レプリケーショングループのエンドポイントの検索
(AWS CLI)
AWS CLI で describe-replication-groups コマンドを使用して、レプリケーショングループとそのクラ
スターのエンドポイントを検出できます。このコマンドはそのレプリケーショングループのプライマリエ
ンドポイントと、レプリケーショングループのすべてのクラスターとそのエンドポイントのリストを返し
ます。
API Version 2015-02-02
60
Amazon ElastiCache ユーザーガイド
レプリケーショングループのエ
ンドポイントの検索 (AWS CLI)
以下のオペレーションは、レプリケーショングループ myreplgroup のプライマリエンドポイント
(PrimaryEndpoint) と個々のノードのエンドポイント (ReadEndpoint) を取得します。プライマリエンドポ
イントはすべての書き込みオペレーションに使用し、個々のノードのエンドポイントはすべての読み取り
オペレーションに使用します。
Linux, macOS, or Unix 用:
aws elasticache describe-replication-groups \
--replication-group-id myreplgroup
Windows の場合:
aws elasticache describe-replication-groups ^
--replication-group-id myreplgroup
このオペレーションからの出力は以下のような JSON 形式になります。
{
"ReplicationGroups": [
{
"Status": "available",
"Description": "test",
"NodeGroups": [
{
"Status": "available",
"NodeGroupMembers": [
{
"CurrentRole": "primary",
"PreferredAvailabilityZone": "us-west-2a",
"CacheNodeId": "0001",
"ReadEndpoint": {
"Port": 6379,
"Address": "myreplgroup-001.1abc4d.0001.usw2.cache.amazonaws.com"
},
"CacheClusterId": "myreplgroup-001"
},
{
"CurrentRole": "replica",
"PreferredAvailabilityZone": "us-west-2b",
"CacheNodeId": "0001",
"ReadEndpoint": {
"Port": 6379,
"Address": "myreplgroup-002.1abc4d.0001.usw2.cache.amazonaws.com"
},
"CacheClusterId": "myreplgroup-002"
},
{
"CurrentRole": "replica",
"PreferredAvailabilityZone": "us-west-2c",
"CacheNodeId": "0001",
"ReadEndpoint": {
"Port": 6379,
"Address": "myreplgroup-003.1abc4d.0001.usw2.cache.amazonaws.com"
},
"CacheClusterId": "myreplgroup-003"
}
],
"NodeGroupId": "0001",
"PrimaryEndpoint": {
"Port": 6379,
"Address": "myreplgroup.1abc4d.ng.0001.usw2.cache.amazonaws.com"
}
API Version 2015-02-02
61
Amazon ElastiCache ユーザーガイド
レプリケーショングループのエ
ンドポイントの検索 (AWS CLI)
}
],
"ReplicationGroupId": "myreplgroup",
"AutomaticFailover": "enabled",
"SnapshottingClusterId": "myreplgroup-002",
"MemberClusters": [
"myreplgroup-001",
"myreplgroup-002",
"myreplgroup-003"
],
"PendingModifiedValues": {}
}
]
}
詳細については、『AWS Command Line Interface Reference』の「describe-replication-groups」を参照し
てください。
API Version 2015-02-02
62
Amazon ElastiCache ユーザーガイド
エンドポイントの検索 (ElastiCache API)
エンドポイントの検索 (ElastiCache API)
Amazon ElastiCache API を使用して、ノード、クラスター、レプリケーショングループのエンドポイント
を検索できます。
トピック
• ノードとクラスターのエンドポイントの検索 (ElastiCache API) (p. 63)
• レプリケーショングループのエンドポイントの検索 (ElastiCache API) (p. 63)
ノードとクラスターのエンドポイントの検索
(ElastiCache API)
ElastiCache API を使用して、DescribeCacheClusters アクションでクラスターのエンドポイントとその
ノードを検出することができます。Redis クラスターでは、そのアクションがクラスターエンドポイント
を返します。Memcached クラスターでは、そのアクションは設定エンドポイントを返します。オプショ
ンのパラメーター ShowCacheNodeInfo を含めた場合、アクションはクラスター内の個々のノードのエンド
ポイントも返します。
以下のコマンドは、Memcached クラスター mycluster の設定エンドポイント (ConfigurationEndpoint)
と個別のノードエンドポイント (Endpoint) を取得します。
https://elasticache.us-west-2.amazonaws.com/
?Action=DescribeCacheClusters
&CacheClusterId=mycluster
&ShowCacheNodeInfo=true
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&Version=2015-02-02
&X-Amz-Credential=<credential>
Important
Memcached 設定エンドポイントの CNAME を作成する場合、PHP クライアントが設定エンドポ
イントとして CNAME を認識するためには、.cfg. を CNAME に含める必要があります。たとえ
ば、php.ini ファイルの session.save_path パラメータで mycluster.cfg.local を含めます。
レプリケーショングループのエンドポイントの検索
(ElastiCache API)
ElastiCache API を使用して、DescribeReplicationGroups アクションでレプリケーショングループのエ
ンドポイントとそのクラスターを検出できます。このアクションはそのレプリケーショングループのプラ
イマリエンドポイントと、レプリケーショングループのすべてのクラスターとそのエンドポイントのリス
トを返します。
以下のオペレーションは、レプリケーショングループ myreplgroup のプライマリエンドポイント
(PrimaryEndpoint) と個々のノードのエンドポイント (ReadEndpoint) を取得します。プライマリエンドポ
イントはすべての書き込みオペレーションに使用し、個々のノードのエンドポイントはすべての読み取り
オペレーションに使用します。
https://elasticache.us-west-2.amazonaws.com/
?Action=DescribeReplicationGroups
&ReplicationGroupId=myreplgroup
API Version 2015-02-02
63
Amazon ElastiCache ユーザーガイド
レプリケーショングループのエン
ドポイントの検索 (ElastiCache API)
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&Version=2015-02-02
&X-Amz-Credential=<credential>
詳細については、「DescribeReplicationGroups」を参照してください。
API Version 2015-02-02
64
Amazon ElastiCache ユーザーガイド
Redis スナップショットを作成する
ための十分なメモリがあることの確認
Amazon ElastiCache の実装のベスト
プラクティス
このトピックでは、Amazon ElastiCache を実装するためのベストプラクティスを示します。
トピック
• Redis スナップショットを作成するための十分なメモリがあることの確認 (p. 65)
• Redis AOF 使用時のディスク容量不足の問題の緩和 (p. 67)
• 障害の軽減 (p. 68)
• 効率的な負荷分散のための ElastiCache クライアントの設定 (p. 71)
Redis スナップショットを作成するための十分なメ
モリがあることの確認
バージョン 2.8.22 以降の Redis のスナップショットと同期
Redis 2.8.22 で分岐なしの保存プロセスが導入されました。これにより、同期および保存中にスワップを
使用することなく、アプリケーションにより多くのメモリを割り当てて使用することができます。詳細に
ついては、「同期とバックアップの実装方法 (p. 211)」を参照してください。
バージョン 2.8.22 以前の Redis のスナップショットおよび同期
Redis ElastiCache を使用する場合、Redis は多くの場合バックグラウンドの書き込みコマンドを呼び出し
ます。
• バックアップのためのスナップショットを作成するとき。
• レプリカとレプリケーショングループ内のプライマリを同期させるとき。
• Redis の AOF (Append-Only File) 機能を有効にするとき。
• レプリカをマスターに昇格するとき (プライマリ/レプリカの同期が実行される)。
API Version 2015-02-02
65
Amazon ElastiCache ユーザーガイド
バックグラウンド書き込みプロセスとメモリ使用率
Redis がバックグラウンドの書き込みプロセスを実行するときは、常に、このプロセスのオーバーヘッド
に対応するのに十分なメモリが利用できる必要があります。十分なメモリを利用できない場合、このプロ
セスは失敗します。このため、Redis クラスターの作成時には、十分なメモリがあるノードインスタンス
タイプを選択することが重要です。
バックグラウンド書き込みプロセスとメモリ使用率
バックグラウンド書き込みプロセスが呼び出されると、Redis は常にそのプロセスを生成 (フォーク) しま
す (Redis はシングルスレッドであることを思い出してください)。1 つのフォークがデータをディスクの
Redis .rdb スナップショットファイルに永続化します。もう 1 つのフォークは、すべての読み取りと書き
込みのオペレーションを処理します。スナップショットがポイントインタイムスナップショットであるこ
とを保証するために、すべてのデータの更新と追加が、データ領域とは別の使用可能なメモリ領域に書き
込まれます。
データをディスクに永続化しながら、すべての書き込みオペレーションを記録するのに十分なメモリが使
用できる限り、メモリ不足の問題は発生しません。次のいずれかに該当する場合は、メモリ不足の問題が
発生する可能性があります。
• アプリケーションで頻繁に書き込みオペレーションが実行され、新しいデータや更新されたデータを受
け入れるために使用可能なメモリが大量に必要になる。
• 新しいデータや更新されたデータを書き込むために使用できるメモリが少なすぎる。
• ディスクに永続化するのに長時間かかる大規模なデータセットがあり、大量の書き込みオペレーション
が必要になる。
次の図は、バックグラウンド書き込みプロセス実行時のメモリの使用を示しています。
バックアップを実行する際のパフォーマンスへの影響については、「パフォーマンスに対するバックアッ
プの影響 (p. 247)」を参照してください。
Redis がスナップショットを実行する方法の詳細については、http://redis.io を参照してください。
リージョンとアベイラビリティーゾーンの詳細については、「リージョンとアベイラビリティーゾーンの
選択 (p. 48)」を参照してください。
バックグラウンド書き込み実行中のメモリ不足の回避
BGSAVE または BGREWRITEAOF のようなバックグラウンド書き込みプロセスが呼び出されると、プロ
セスの失敗を防ぐためには、処理中の書き込みオペレーションが消費する量以上のメモリが必要となりま
す。最悪の場合のシナリオでは、バックグラウンド書き込みのオペレーション中にすべての Redis レコー
ドが更新され、新しいレコードがキャッシュに追加されます。このような理由で、reserved-memory を
API Version 2015-02-02
66
Amazon ElastiCache ユーザーガイド
Redis AOF 使用時のディスク容量不足の問題の緩和
maxmemory の値の半分以上に設定することをお勧めします。ノードタイプごとの maxmemory 値について
は、「Redis のノードタイプ固有のパラメータ (p. 328)」を参照してください。
maxmemory 値は、データとオペレーションのオーバーヘッドで使用できるメモリを示します。デフォルト
のパラメータグループの reserved-memory パラメータを変更することはできないため、クラスター用のカ
スタムパラメータグループを作成する必要があります。reserved-memory のデフォルト値は 0 です。この
場合、Redis はすべての maxmemory をデータ用に消費でき、バックグラウンド書き込みプロセスなどの
他の用途に使用できるメモリがほとんど残されない可能性があります。ノードインスタンスタイプごとの
maxmemory 値については、「Redis のノードタイプ固有のパラメータ (p. 328)」を参照してください。
ボックスで reserved-memory パラメータを使用して、Redis のメモリ使用量を抑えることができます。
ElastiCache での Redis 固有のパラメータの詳細については、「Redis 固有のパラメータ (p. 313)」を参
照してください。
パラメータグループの作成と変更については、「パラメーターグループを作成する (p. 289)」と「パラ
メータグループを変更する (p. 298)」を参照してください。
Redis AOF 使用時のディスク容量不足の問題の緩
和
Amazon ElastiCache の実装を計画した場合、障害の影響を最小限に抑えるような計画を立てる必要があり
ます。
AOF ファイルが復旧シナリオで役に立つという理由で AOF を有効にする場合があります。ノードの再起
動やサービスのクラッシュが発生したときに、Redis は AOF ファイルから更新を再生することによって、
再起動やクラッシュによって消失したデータを復旧します。
Warning
AOF はすべての障害のシナリオに対応できるわけではありません。たとえば、基になる物理サー
バーでハードウェア障害が発生したためノードでエラーが発生した場合、ElastiCache は別のサー
バーで新しいノードをプロビジョニングします。この場合、AOF ファイルは使用できなくなり、
データの復旧には使用できません。したがって、Redis はコールドキャッシュを使って再開され
ます。
耐障害性に対するより適切なアプローチとしての
Redis マルチ AZ の有効化
データの消失に備えて AOF を有効にしている場合は、AOF の代わりに、マルチ AZ を有効にしたレプリ
ケーショングループの使用を検討してください。Redis レプリケーショングループを使用している場合、
レプリカに障害が発生すると、レプリカは自動的に置き換えられ、プライマリクラスターと同期されま
す。Redis レプリケーショングループでマルチ AZ が有効になっており、プライマリに障害が発生した場
合、プライマリはリードレプリカにフェイルオーバーされます。一般的に、この機能は AOF ファイルか
らプライマリを再構築するよりも高速です。信頼性を高め、より迅速な復旧を可能にするため、異なるア
ベイラビリティーゾーンに 1 つ以上のリードレプリカを持つレプリケーショングループを作成し、AOF
を使用する代わりにマルチ AZ を有効にすることをお勧めします。このシナリオで AOF は必要ないた
め、ElastiCache はマルチ AZ レプリケーショングループで AOF を無効にします。
詳細については、次のトピックを参照してください。
• 障害の軽減 (p. 68)
• ElastiCache レプリケーション (Redis) (p. 199)
• レプリケーション: 自動フェイルオーバーとマルチ AZ (Redis) (p. 205)
API Version 2015-02-02
67
Amazon ElastiCache ユーザーガイド
障害の軽減
障害の軽減
Amazon ElastiCache の実装を計画した場合、障害がアプリケーションやデータに及ぼす影響を最小限にと
どめるように計画する必要があります。このセクションのトピックでは、アプリケーションおよびデータ
を障害から保護するために実行できるアプローチについて説明します。
トピック
• Memcached 実行時の障害を軽減する (p. 68)
• Redis 実行時の障害の軽減 (p. 69)
• ベストプラクティス (p. 71)
Memcached 実行時の障害を軽減する
Memcached エンジンを実行する場合に、障害の影響を最小にするためのオプションとして次のものがあ
ります。障害の軽減に対処する方法には、ノードの障害の軽減とアベイラビリティーゾーンの障害の軽減
の 2 つのタイプがあります。
ノードの障害の軽減
ノードの障害の影響を軽減するには、キャッシュデータをより多くのノードに広げます。Memcached が
レプリケーションをサポートしていないため、ノードの障害によって必ずクラスターからある程度のデー
タが失われます。
Memcached クラスターを作成すると、1 ~ 20 のノード、または特殊なリクエストによってそれ以上の
ノードを作成できます。大量のノード間でデータのパーティションを行うと、ノードで障害が発生した場
合のデータの損失が小さくなります。たとえば、10 のノード間でデータのパーティションを行うと、単一
のノードに約 10% のキャッシュデータが保存されることになります。この場合、ノードの障害が起きる
とキャッシュの約 10% が失われ、代替ノードが作成されプロビジョニングされたときに置き換える必要が
あります。同じデータがより大きな 3 つのノードにキャッシュされている場合は、ノードの障害によって
キャッシュされたデータの約 33% が失われます。
Memcached クラスターで 20 を超えるノードが必要な場合、またはリージョンで合計 100 を超えるノー
ドが必要な場合は、ElastiCache 上限緩和申請 (https://aws.amazon.com/http://aws.amazon.com/contactus/elasticache-node-limit-request/) に入力してください。
Memcached クラスターのノード数を指定する方法の詳細については、「クラスターの作成 ((コンソール)):
Memcached (p. 134)」を参照してください。
アベイラビリティーゾーンの障害の軽減
アベイラビリティーゾーンの障害の影響を軽減するためには、可能な限り多くのアベイラビリティーゾー
ンでノードを見つけます。AZ の障害が発生した場合には、アベイラビリティーゾーンでキャッシュされた
データではなく、その AZ でキャッシュされたデータのみが失われます。
なぜ大量のノードが必要ですか。
自分のリージョンに 3 つのアベイラビリティーゾーンのみがある場合、AZ で障害が発生してデータの約 3
分の 1 を失った場合に、なぜ 3 つ以上のノードが必要になるのですか。
これはいい質問です。当社では、ノードの障害とアベイラビリティーゾーンの障害の 2 つの明確な障害を
軽減しようとしてきました。ご指摘のとおり、データが各アベイラビリティーゾーンにまたがっており、
ゾーンの 1 つで障害が発生した場合は、ノード数に関係なくその AZ でキャッシュされたデータのみが失
われます。ただしノードで障害が発生した場合は、できるだけ多くのノードがあったほうが、失われる
キャッシュデータの割合が減ります。
API Version 2015-02-02
68
Amazon ElastiCache ユーザーガイド
Redis 実行時の障害の軽減
クラスターのノード数を決定する「魔法の公式」はありません。データ損失の影響と障害が発生する可能
性を考慮して、個別に判断を下してください。
Memcached クラスターのノード数を指定する方法の詳細については、「クラスターの作成 ((コンソール)):
Memcached (p. 134)」を参照してください。
リージョンとアベイラビリティーゾーンの詳細については、「リージョンとアベイラビリティーゾーンの
選択 (p. 48)」を参照してください。
Redis 実行時の障害の軽減
Redis エンジンを実行する場合に、クラスターまたはアベイラビリティーゾーンの障害の影響を最小にす
る方法として、次のオプションがあります。
クラスターの障害の軽減
Redis クラスターの障害の影響を軽減するには、次のオプションがあります:
トピック
• クラスターの障害の軽減: Redis Append Only Files (AOF) (p. 69)
• クラスターの障害の軽減: Redis レプリケーショングループ (p. 70)
クラスターの障害の軽減: Redis Append Only Files (AOF)
Redis で AOF が有効になっている場合、データが Redis クラスターに書き込まれるときは、常に対応する
トランザクションレコードが AOF に書き込まれます。Redis プロセスが再起動されると、ElastiCache が
代替のクラスターを作成しプロビジョニングします。次に、クラスターに対して AOF を実行して、データ
を再入力します。
クラスターの障害を軽減するための AOF を使用するショートカットには次のものがあります:
• これには時間がかかります。
クラスターの作成とプロビジョニングには数分かかります。AOF のサイズに応じて、クラスターに対し
て実行すると、アプリケーションがクラスターのデータにアクセスできないため、データベースに強制
的に直接アクセスしようとするため、より多くの時間がかかります。
• AOF は大きくできます。
クラスターへのすべての書き込みはトランザクションレコードに書き込まれるため、問題のデータセッ
トの .rdb ファイルよりも AOF のサイズがはるかに大きくなる場合があります。ElastiCache は、サイズ
に制限があるローカルインスタンスストアを利用するため、AOF を有効にすると、ディスク容量不足の
問題が発生する可能性があります。ディスク容量不足の問題は、マルチ AZ を有効にしたのレプリケー
ショングループを使用することで回避できます。
• AOF を使用してもすべての障害シナリオからデータを保護することはできません。
たとえば、基になる物理サーバーでハードウェア障害が発生したためクラスターでエラーが発生した場
合、ElastiCache は別のサーバーで新しいクラスターをプロビジョニングします。この場合、AOF ファ
イルが使用可能になることはなく、データの復元に使用できないため、Redis はコールドキャッシュか
ら開始します。
詳細については、「AOF (Redis Append Only Files) (p. 276)」を参照してください。
API Version 2015-02-02
69
Amazon ElastiCache ユーザーガイド
Redis 実行時の障害の軽減
クラスターの障害の軽減: Redis レプリケーショングループ
Redis レプリケーショングループは、アプリケーションの読み取りと書き込みが可能な単一のプライマリ
クラスターと、1 ~ 5 つの読み取り専用のレプリカクラスターで構成されます。データがプライマリクラ
スターに書き込まれるときは、常にリードレプリカクラスターでデータが非同期的に更新されます。
リードレプリカが失敗した場合
1.
ElastiCache が、失敗したリードレプリカを検出します。
2.
ElastiCache が、障害のあるクラスターをオフラインにします。
3.
ElastiCache が、同じ AZ の代替のクラスターを起動し、プロビジョニングします。
4.
新しいクラスターはそのプライマリクラスターと同期されます。
この間、アプリケーションは他のクラスターを使って読み書きを続行できます。
Redis マルチ AZ と自動フェイルオーバー
Redis レプリケーショングループでマルチ AZ の自動フェイルオーバーを有効にできます。マルチ AZ と自
動フェイルオーバーが有効になっているかどうかにかかわらず、障害のあるプライマリが検出され、自動
的に置き換えが行われます。これを実行する方法は、マルチ AZ が有効かどうかによって異なります。
マルチ AZ と自動フェイルオーバーが有効な場合
1.
ElastiCache がプライマリの障害を検出します。
2.
ElastiCache が、レプリケーションの遅延が最も小さいリードレプリカをプライマリに昇格します。
3.
他のレプリカと新しいプライマリクラスターを同期します。
4.
ElastiCache が、障害が発生したプライマリの AZ のリードレプリカをスピンアップします。
5.
新しいクラスターが、新たに昇格されたプライマリと同期されます。
レプリカクラスターへのフェイルオーバーは、一般的に新しいクラスターを作成しプロビジョニングする
よりも高速となります。これは、マルチ AZ が有効でない場合よりも、アプリケーションがクラスターへ
の書き込みを素早く再開できることを意味します。
詳細については、「レプリケーション: 自動フェイルオーバーとマルチ AZ (Redis) (p. 205)」を参照して
ください。
マルチ AZ と自動フェイルオーバーが無効な場合
1.
ElastiCache がプライマリの障害を検出します。
2.
ElastiCache がプライマリをオフラインにします。
3.
ElastiCache が新しいプライマリノードを作成、プロビジョニングし、失敗したプライマリと置き換
えます。
4.
ElastiCache が、新しいプライマリを既存のレプリカのいずれと同期させます。
5.
同期が終了すると、新しいノードはクラスターのプライマリとして機能します。
ステップ 1~4 のプロセス実行中、アプリケーションは、プライマリクラスターに書き込むことができませ
ん。ただし、アプリケーションはレプリカクラスターから読み込みを続けることができます。
保護を強化するために、別のアベイラビリティーゾーン (AZ) でレプリケーショングループのクラスター
を起動することをお勧めします。これを行った場合、AZ の障害の影響をその AZ のクラスターのみにとど
め、他のクラスターには影響を与えません。
詳細については、「ElastiCache レプリケーション (Redis) (p. 199)」を参照してください。
API Version 2015-02-02
70
Amazon ElastiCache ユーザーガイド
ベストプラクティス
アベイラビリティーゾーンの障害の軽減
アベイラビリティーゾーンの障害の影響を軽減するためには、可能な限り多くのアベイラビリティーゾー
ンでクラスターを見つけます。
クラスターがいくつあったとしても、そのすべてが同じアベイラビリティーゾーンにある場合は、その AZ
で壊滅的な障害が発生するとキャッシュデータのすべてが失われます。ただし、複数の AZ にクラスター
がある場合は、いずれかの AZ で障害が発生しても失われるのはその AZ のクラスターのみとなります。
クラスターを失った場合は、読み込みオペレーションがより少ない数のクラスターによって共有されるよ
うになるため、パフォーマンスが低下します。このパフォーマンスの低下は、クラスターが置き換えられ
ますまで継続します。データが Redis クラスターで仕切られないため、まずクラスターが失われる場合に
のみ、データ損失のリスクは、プライマリクラスタが失われた場合に限定されます。
Redis クラスター用でアベイラビリティーゾーンを指定する方法の詳細については、「Redis (クラスター
モードが無効) クラスターの作成 ((コンソール)) (p. 136)」を参照してください。
リージョンとアベイラビリティーゾーンの詳細については、「リージョンとアベイラビリティーゾーンの
選択 (p. 48)」を参照してください。
ベストプラクティス
計画を立てる必要のある障害には、個別ノードまたはクラスターの障害と、幅広いアベイラビリティー
ゾーンの障害の 2 つのタイプがあります。ベストの障害軽減プランは、両方のタイプの障害に対処しま
す。
ノードの障害とクラスターの障害の影響の最小化
ノードまたはクラスターの障害の影響を最小限に抑えるには、複数のノードまたはクラスターを実装して
使用することをお勧めします。
Memcached を実行してノード間でデータを仕切っている場合は、ノードの数を増やすほど 1 つのノード
で障害が発生した場合のデータの損失をより小さくすることができます。
Redis を実行している場合は、レプリケーショングループでマルチ AZ を有効にして、プライマリクラス
ターで障害が発生すると ElastiCache が自動的にレプリカにフェイルオーバーするようにしておくことを
お勧めします。
アベイラビリティーゾーンの障害の影響を最小限に抑える
アベイラビリティーゾーンの障害の影響を最小限に抑えるには、できるだけ多くの異なるアベイラビリ
ティーゾーンでノードまたはクラスターを起動することをお勧めします。ノードまたはクラスターを AZ
間に広げることで、予期しない AZ の障害が発生した場合の影響を最小化します。
その他の対策
Redis を実行する場合は、上記に加えてクラスターのバックアップを定期的に取ることをお勧めします。
バックアップ (スナップショット) によって、障害や破損が発生した場合にクラスターを復元するのに使
用できる .rdb ファイルが作成されます。詳細については、「ElastiCache バックアップと復元 (Redis)
(p. 246)」を参照してください。
効率的な負荷分散のための ElastiCache クライアン
トの設定
Note
このセクションは、複数ノードの Memcached クラスターに適用されます。
API Version 2015-02-02
71
Amazon ElastiCache ユーザーガイド
Java を使用した整合性のあるハッシュ
複数の ElastiCache Memcached ノードを効果的に使用するには、ノード間でキャッシュキーを分散でき
る必要があります。n 個のノードがあるクラスターを負荷分散するための簡単な方法では、オブジェクト
のキーのハッシュを計算し、n - hash(key) mod n で結果の余りを求めます。結果の値 (0 ~ n – 1) が、オ
ブジェクトを配置するノードの数になります。
この手法は単純で、ノードの数 (n) が一定である限り有効です。ただし、クラスターからノードを追加ま
たは削除する場合、移動する必要があるキーの数は (n - 1) / n (n は新しいノード数) です。したがって、こ
の手法では多数のキーが移動され、特にノード数が大きくなると、初期のキャッシュミスが多数発生する
ことになります。1 ノードから 2 ノードへのスケーリングでは、キーの (2–1) / 2 (50 パーセント) が移動さ
れます。9 ノードから 10 ノードへのスケーリングでは、キーの (10–1)/10 (90 パーセント) が移動されま
す。トラフィックのスパイクの理由からスケールアップする場合、多数のキャッシュミスが発生すること
は避けたいものです。多数のキャッシュミスは、トラフィックのスパイクにより既に過負荷になっている
データベースのヒットとなります。
このジレンマには、整合性のあるハッシュがソリューションとなります。整合性のあるハッシュではアル
ゴリズムを使用し、ノードがクラスターから追加または削除されるたびに、移動する必要のあるキーの数
は約 1 / n となります (n は新しいノード数)。1 ノードから 2 ノードへのスケーリングでは、キーの 1/2 (50
パーセント) が移動され、最悪のケースとなります。9 ノードから 10 ノードへのスケーリングでは、キー
の 1/10 (10 パーセント) が移動されます。
ユーザーとして、複数ノードのクラスターに使用されるハッシュアルゴリズムを制御します。整合性のあ
るハッシュを使用するようにクライアントを設定することをお勧めします。さいわい、整合性のあるハッ
シュを実装する Memcached クライアントライブラリは数多くあり、ほとんどの一般的な言語で提供され
ています。使用中のライブラリのドキュメントを参照し、整合性のあるハッシュをサポートするかどうか
と、その実装方法について確認してください。
Java、PHP、または .NET を使用している場合は、いずれかの Amazon ElastiCache クライアントライブ
ラリを使用することをお勧めします。
Java を使用した整合性のあるハッシュ
ElastiCache Memcached Java クライアントは、整合性のあるハッシュ機能が組み込まれたオープンソー
スの spymemcached Java クライアントに基づいています。このライブラリには、整合性のあるハッシュ
を実装する KetamaConnectionFactory クラスが含まれています。デフォルトでは、整合性のあるハッシュ
は spymemcached では無効になっています。
詳細については、KetamaConnectionFactory のドキュメント (http://dustin.sallings.org/java-memcachedclient/apidocs/net/spy/memcached/KetamaConnectionFactory.html) を参照してください。
PHP を使用した整合性のあるハッシュ
ElastiCache Memcached PHP クライアントは、組み込みの Memcached PHP ライブラリのラッパーで
す。デフォルトでは、整合性のあるハッシュは Memcached PHP ライブラリによって無効になっていま
す。
整合性のあるハッシュを有効にするには、以下のコードを使用します。
$m = new Memcached();
$m->setOption(Memcached::OPT_DISTRIBUTION, Memcached::DISTRIBUTION_CONSISTENT);
先ほどのコードに加えて、php.ini ファイルで memcached.sess_consistent_hash も有効にすることをお勧
めします。
詳細については、Memcached PHP の実行時設定に関するドキュメント (http://php.net/manual/en/
memcached.configuration.php) を参照してください。特に、memcached.sess_consistent_hash パラメー
タについて参照してください。
API Version 2015-02-02
72
Amazon ElastiCache ユーザーガイド
.NET を使用した整合性のあるハッシュ
.NET を使用した整合性のあるハッシュ
ElastiCache Memcached .NET クライアントは、Enyim Memcached のラッパーです。デフォルトで
は、Enyim Memcached クライアントによって、整合性のあるハッシュが有効になります。
詳細については、memcached/locator のドキュメント (https://github.com/enyim/EnyimMemcached/wiki/
MemcachedClient-Configuration†user-content-memcachedlocator) を参照してください。
API Version 2015-02-02
73
Amazon ElastiCache ユーザーガイド
Amazon ElastiCache エラーメッセー
ジ
以下のエラーメッセージが Amazon ElastiCache によって返されます。ElastiCache、他の AWS サー
ビス、または Memcached や Redis によって返される他のエラーメッセージを受け取る場合もありま
す。ElastiCache 以外のソースからのエラーメッセージの説明については、エラーメッセージ生成元のド
キュメントを参照してください。
• Cluster node quota exceeded (p. 74)
• Customer's node quota exceeded (p. 74)
• Manual snapshot quota exceeded (p. 75)
エラーメッセージ: Cluster node quota exceeded.Each cluster can have at most %n nodes in this region.
原因: クラスターで %n を超える数のノードが発生するようなクラスターの作成または変更を試みまし
た。
解決策: リクエストを変更し、クラスターで %n を超える数のノードが発生しないようにします。また
は、%n を超える数のノードが必要な場合は、Amazon ElastiCache ノードリクエストフォームを使用
してリクエストを作成します。
詳細については、『アマゾン ウェブ サービス全般のリファレンス』の「Amazon ElastiCache の制
限」を参照してください。
エラーメッセージ: Customer node quota exceeded. You can have at most %n nodes in this region または
You have already reached your quota of %s nodes in this region.
原因: このリージョンのすべてのクラスター間で、アカウントに %n を超える数のノードが発生するよ
うなクラスターの作成または変更を試みました。
解決策: リクエストを変更し、このアカウントのすべてのクラスター間のリージョンの合計ノー
ド数が %n を超えないようにします。または、%n を超える数のノードが必要な場合は、Amazon
ElastiCache ノードリクエストフォームを使用してリクエストを作成します。
詳細については、『アマゾン ウェブ サービス全般のリファレンス』の「Amazon ElastiCache の制
限」を参照してください。
API Version 2015-02-02
74
Amazon ElastiCache ユーザーガイド
エラーメッセージ: The maximum number of manual snapshots for this cluster taken within 24 hours has
been reached または The maximum number of manual snapshots for this node taken within 24 hours has
been reached its quota of %n
原因: 24 時間で許可される最大数の手動スナップショットをすでに作成している場合に、クラスター
の手動スナップショットを作成しようとしました。
解決策: 24 時間待ってから、クラスターの別の手動スナップショットを試みます。または、すぐに手
動スナップショットを作成する必要がある場合は、レプリケーショングループの別のクラスターな
ど、同じデータがある別のクラスターのスナップショットを作成します。
API Version 2015-02-02
75
Amazon ElastiCache ユーザーガイド
遅延読み込み
キャッシュ戦略
このトピックでは、キャッシュを入力して維持する戦略について説明します。
キャッシュするデータとデータへのアクセスパターンに基づいて、キャッシュを入力し維持するために
実装する戦略です。たとえば、おそらくゲームサイト、Facebook の投稿、トレンドのニュースのランキ
ングトップ 10 で同じ同じ戦略は使用したくないでしょう。このセクションの後半では、一般的なキャッ
シュのメンテナンス戦略、利点および欠点について説明します。
トピック
• 遅延読み込み (p. 76)
• 書き込みスルー (p. 78)
• TTL の追加 (p. 79)
• 関連トピック (p. 80)
遅延読み込み
その名前が示すようため、遅延読み込みは、必要なときにのみキャッシュにデータを読み込むキャッシュ
戦略です。
遅延読み込みの仕組み
Amazon ElastiCache メモリ内のキー / 値ストアで、アプリケーションとアプリケーションがアクセス
するデータストア (データベース) 間にあります。アプリケーションがデータをリクエストする場合は、
常に ElastiCache キャッシュに最初にリクエストを行います。データがキャッシュにあり最新である
場合、ElastiCache はアプリケーションにデータを返します。データがキャッシュにない場合、または
キャッシュのデータの期限が切れている場合は、アプリケーションは、アプリケーションにデータを返す
データストアに対してデータをリクエストします。次に、アプリケーションは、ストアから受信したデー
タをキャッシュに書き込みます。したがって、次回リクエストされたときはより迅速に取得できます。
シナリオ 1: キャッシュヒット
データがキャッシュにあり期限切れでない場合
1.
アプリケーションは、キャッシュに対してデータをリクエストします。
API Version 2015-02-02
76
Amazon ElastiCache ユーザーガイド
シナリオ 2: キャッシュミス
2.
キャッシュはアプリケーションにデータを返します。
シナリオ 2: キャッシュミス
データがキャッシュにないか期限切の場合
1.
アプリケーションは、キャッシュに対してデータをリクエストします。
2.
キャッシュにはリクエストされたデータがないため、null を返します。
3.
アプリケーションはデータベースに対してデータをリクエストし、取得します。
4.
アプリケーションは、新しいデータでキャッシュを更新します。
次の図は、これらの両方のプロセスを示しています。
遅延読み込みの利点と欠点
遅延読み込みの利点
• リクエストされたデータのみをキャッシュします。
ほとんどのデータがリクエストされないため、遅延読み込みではデータでキャッシュがいっぱいになる
ことを回避できます。
• ノードの障害は致命的ではありません。
ノードで障害が発生して新しい空のノードに置き換えられた場合、アプリケーションはレイテンシーが
長くなっても機能し続けます。リクエストは新しいノードに対して行われるため、各キャッシュでエ
ラーが発生すると、後続のリクエストがキャッシュからデータを取得できるように、データベースクエ
リが生じて、キャッシュへのデータのコピーが行われます。
遅延読み込みの欠点
• キャッシュミスのペナルティがあります。
1 回のキャッシュのミスで 3 回のトリップ、
1. キャッシュに対する最初のデータリクエスト
2. データベースへのデータクエリ
3. キャッシュにデータを書き込む
アプリケーションによるデータの取得に相当な遅延が発生する可能性があります。
API Version 2015-02-02
77
Amazon ElastiCache ユーザーガイド
遅延読み込みコード
• 古いデータ。
キャッシュミスがある場合にのみデータがキャッシュに書き込まれる場合は、データベスのデータが変
更されるまでキャッシュが更新されないため、キャッシュのデータが古くなる可能性があります。この
問題は、「書き込みスルー (p. 78)」および「TTL の追加 (p. 79)」戦略で扱います。
遅延読み込みコード
次のコードは、遅延読み込みロジックの擬似コードの例です。
// *****************************************
// function that returns a customer's record.
// Attempts to retrieve the record from the cache.
// If it is retrieved, the record is returned to the application.
// If the record is not retrieved from the cache, it is
//
retrieved from the database,
//
added to the cache, and
//
returned to the application
// *****************************************
get_customer(customer_id)
customer_record = cache.get(customer_id)
if (customer_record == null)
customer_record = db.query("SELECT * FROM Customers WHERE id == {0}", customer_id)
cache.set(customer_id, customer_record)
return customer_record
データを取得アプリケーションコードは次のとおりです:
customer_record = get_customer(12345)
書き込みスルー
書き込みスルー戦略では、データがデータベースに書き込まれると常にデータを追加するか、キャッシュ
のデータを更新します。
書き込みスルーの利点と欠点
書き込みスルーの利点
• キャッシュのデータが古くなりません。
キャッシュにデータベースにデータが書き込まれるたびにキャッシュのデータが更新されるため、
キャッシュのデータが常に最新の状態になります。
• 書き込みペナルティ対読み込みペナルティ
1 回の書き込みで 2 回のトリップ:
1. キャッシュへの書き込み
2. データベースへの書き込み
レイテンシーをプロセスに追加します。つまり、エンドユーザーは一般的に、データの取得時よりも
データの更新時のレイテンシーに対して寛容です。更新は作業量が大きく時間がかかるのが常です。
API Version 2015-02-02
78
Amazon ElastiCache ユーザーガイド
書き込みスルーコード
書き込みスルーの欠点
• 欠落データ。
新規ノードをスピンアップする場合は、ノード障害または拡張により、データの欠落が生じてデー
タベースにそれが追加されるか更新されるまで欠落した状態が継続します。これは、「遅延読み込
み (p. 76)」を書き込みスルーと共に使用することで最小限にできます。
• キャッシュの変動。
ほとんどのデータは読み込まれないため、読まれることのないクラスターに大量のデータが存在するこ
とになります。これはリソース浪費です。「TTL の追加 (p. 79)」で、無駄な領域を最小限に抑えるこ
とができます。
書き込みスルーコード
次のコードは、書き込みスルーロジックの擬似コードの例です。
// *****************************************
// function that saves a customer's record.
// *****************************************
save_customer(customer_id, values)
customer_record = db.query("UPDATE Customers WHERE id = {0}", customer_id, values)
cache.set(customer_id, customer_record)
return success
データを更新するアプリケーションコードは次のとおりです:
save_customer(12345,{"address":"123 Main"})
TTL の追加
遅延読み取りはデータが古くなる可能性がありますが、空ノードによる障害は発生しません。書き込みス
ルーでは常に新しいデータとなりますが、空ノードの障害が発生して、過剰なデータがキャッシュに入力
される場合があります。それぞれの書き込みに有効期限 (TTL) の値を追加することで、それぞれの戦略の
利点ができて、過剰なデータでキャッシュがいっぱいになる事態が避けられます。
TTL とは
有効期限 (TTL) は秒数を指定する整数値です (Redis では、キーの有効期間を秒またはミリ秒で指定できま
す)。アプリケーションが期限の切れたキーを読み込もうとすると、キーが見つからないものとして処理さ
れます。これは、データベースにキーのクエリが行われて、キャッシュが更新されることを意味します。
これにより値が古くならないことが保証されますが、古すぎるデータが維持されるため、キャッシュの値
をデータベースから時々更新する必要があります。
詳細については、「Redis setコマンド」または「Memcached setコマンド」を参照してください。
コード例
次のコードは、TTL のある書き込みスルーロジックの擬似コードの例です。
// *****************************************
// function that saves a customer's record.
API Version 2015-02-02
79
Amazon ElastiCache ユーザーガイド
関連トピック
// The TTL value of 300 means that the record expires
//
300 seconds (5 minutes) after the set command
//
and future reads will have to query the database.
// *****************************************
save_customer(customer_id, values)
customer_record = db.query("UPDATE Customers WHERE id = {0}", customer_id, values)
cache.set(customer_id, customer_record, 300)
return success
次のコードは、TTL のある遅延読み込みロジックの擬似コードの例です。
// *****************************************
// function that returns a customer's record.
// Attempts to retrieve the record from the cache.
// If it is retrieved, the record is returned to the application.
// If the record is not retrieved from the cache, it is
//
retrieved from the database,
//
added to the cache, and
//
returned to the application.
// The TTL value of 300 means that the record expires
//
300 seconds (5 minutes) after the set command
//
and subsequent reads will have to query the database.
// *****************************************
get_customer(customer_id)
customer_record = cache.get(customer_id)
if (customer_record != null)
if (customer_record.TTL < 300)
return customer_record
// return the record and exit function
// do this only if the record did not exist in the cache OR
//
the TTL was >= 300, i.e., the record in the cache had expired.
customer_record = db.query("SELECT * FROM Customers WHERE id = {0}", customer_id)
cache.set(customer_id, customer_record, 300) // update the cache
return customer_record
// return the newly retrieved record and exit
function
アプリケーションコードは次のとおりです:
save_customer(12345,{"address":"123 Main"})
customer_record = get_customer(12345)
関連トピック
• キャッシュの方法。 (p. 2)
• エンジンとバージョン (p. 34)
• スケーリング (p. 175)
API Version 2015-02-02
80
Amazon ElastiCache ユーザーガイド
シャード (Redis)
ElastiCache ノード
ノードは、Amazon ElastiCache デプロイを構成する最小単位の要素です。これは、安全なネットワー
クに接続された RAM の固定サイズの断片です。各ノードでは、キャッシュクラスターの作成時に選択
された項目に応じて、Memcached または Redis が実行されます。各ノードはそれぞれ Domain Name
Service (DNS) 名とポートを持っています。それぞれ関連付けられている異なるメモリ量で、複数のタイ
プの ElastiCache ノードがサポートされています。
デプロイメントに必要なノードインスタンスタイプは、クラスターで必要なデータ量と使用するエンジン
の両方の影響を受けます。一般的に、シャーディングがサポートされていることから Memcached のデプ
ロイメントではより多くの小さなノードがあり、Redis では少数の大きなノードタイプがあります。使用
するノードサイズの詳細な説明については、「Memcached ノードサイズの選択 (p. 83)Redis ノードサ
イズの選択 (p. 84)」を参照してください。
トピック
• シャード (Redis) (p. 81)
• ノードサイズの選択 (p. 83)
• ElastiCache リザーブドノード (p. 87)
• サポートされているノードの種類 (p. 96)
• ノードが置き換え対象となった場合に実行可能なアクション (p. 98)
他の ElastiCache ノードのオペレーション
ノードを含めた追加のオペレーション:
• クラスターへのノードの追加 (p. 160)
• クラスターからのノードの削除 (p. 166)
• スケーリング (p. 175)
• ElastiCache エンドポイントの検索 (p. 52)
• ノードの自動検出 (Memcached) (p. 101)
シャード (Redis)
シャード (API/CLI: ノードグループ) は、ノードの階層的配列であり、各ノードはキャッシュクラスターに
ラップされます。シャードはレプリケーションをサポートします。シャード内では、1 つのノードが読み
取り/書き込みのプライマリノードとなります。他のすべてのノードは、プライマリノードの読み取り専用
API Version 2015-02-02
81
Amazon ElastiCache ユーザーガイド
シャード (Redis)
のレプリカとなります。Redis バージョン 3.2 以降では、クラスター (API/CLI: レプリケーショングルー
プ) を複数のシャードで構成できるため、Redis (クラスターモードが有効) クラスター内でデータを分割で
きます。
次の図は、Redis (クラスターモードが無効) クラスターと Redis (クラスターモードが有効) クラスターの
違いを示しています。
Redis (クラスターモードが無効) でも Redis (クラスターモードが有効) でもシャードを介したレプリケー
ションがサポートされます。API オペレーションの DescribeReplicationGroups (CLI: describe-replicationgroups) を使うと、ノードグループとそれを構成するメンバーノード、ノードグループ内での各ノードの
役割などを確認できます。
Redis クラスターの作成時には、クラスタリングを有効にするかどうかを指定します。Redis (クラス
ターモードが無効) クラスターを構成するシャードは 1 つに限られます。このシャードは、読み取り専
用のレプリカノードを追加 (最大 5 つ) または削除することで、水平にスケールできます。詳細について
は「ElastiCache レプリケーション (Redis) (p. 199)」、「Redis クラスターへのリードレプリカの追
加 (p. 240)」または「リードレプリカの削除 (p. 245)」を参照してください。Redis (クラスターモー
ドが無効) クラスターは、ノードタイプを変更することで垂直にもスケールできます。詳細については、
「レプリカノードを含む Redis のクラスターのスケーリング (p. 188)」を参照してください。
Redis (クラスターモードが有効) クラスターを作成する際は 1 〜 15 個のシャードを指定します。Redis
(クラスターモードが無効) クラスターとは異なり、現段階では、Redis (クラスターモードが有効) クラス
ターを作成した後でその構造を変更したり、ノードやシャードを追加または削除したりすることはできま
せん。ノードを追加または削除したり、ノードタイプを変更したりする場合は、クラスターを新たに作成
する必要があります。
新しいクラスターを作成する際は、古いクラスターのシャード数と同じである限り、古いクラスターの
データをシードできるため、新しいクラスターが空のまま開始されることはありません。これは、ノー
ドタイプまたはエンジンバージョンの変更が必要な場合に便利です。詳細については、「Taking Manual
Backups (p. 250)」および「Restoring From a Backup (p. 269)」を参照してください。
API Version 2015-02-02
82
Amazon ElastiCache ユーザーガイド
ノードサイズの選択
ノードサイズの選択
このセクションは、使用するノードシナリオどのインスタンスタイプが必要となるかを判断するのに役立
ちます。エンジン、Memcached、および Redis ではクラスターの実装方法が異なるため、エンジンの選択
により、アプリケーションで必要となるノードサイズに違いが発生します。
トピック
• Memcached ノードサイズの選択 (p. 83)
• Redis ノードサイズの選択 (p. 84)
Memcached ノードサイズの選択
Memcached クラスターには 1 個または複数のノードが含まれます。このため、クラスターで必要なメモ
リとノードで必要なメモリには関連性がありますが、同じではありません。ノードの数を減らすか、より
多くのより小さなノードを確保することにより、必要なクラスターメモリの容量を実現できます。また、
ニーズの変化に応じてクラスターへのノードの追加や削除を行い、必要なものだけに支払うことができま
す。
クラスターの合計メモリ容量は、クラスター内のキャッシュノードの数に各ノードの RAM 容量を乗算し
て計算されます。各キャッシュノードの容量はキャッシュノードタイプに基づいています。
クラスター内のキャッシュノード数は、Memcached を実行するクラスターの可用性の重要な要素です。1
つのキャッシュノードで障害が発生した場合、ElastiCache で障害が発生したキャッシュノードの置き換
えをプロビジョニングして再入力する間、アプリケーションの可用性やバックエンドデータベースへの負
荷に影響を及ぼす可能性があります。この潜在的な可用性に対する影響を軽減するには、少数の容量の大
きいノードを使用する代わりに、それぞれが容量の小さい多数のキャッシュノードにメモリとコンピュー
ティングの容量を分散させます。
40 GB のキャッシュメモリが必要なシナリオでは、次のいずれかを設定できます。
• それぞれ 3.22 GB のメモリと 2 つのスレッドを持つ 13 の cache.t2.medium ノード = 41.86 GB、26 ス
レッド。
• それぞれ 6.05 GB のメモリと 2 つのスレッドを持つ 7 つの cache.m3.large ノード = 42.35 GB、14 ス
レッド。
それぞれ 6.42 GB のメモリと 2 つのスレッドを持つ 7 つの cache.m4.large ノード = 44.94 GB、14 ス
レッド。
• それぞれ 13.50 GB のメモリと 2 つのスレッドを持つ 3 つの cache.r3.large ノード = 40.50 GB、6 ス
レッド。
それぞれ 14.28 GB のメモリと 4 つのスレッドを持つ 3 つの cache.m4.xlarge ノード = 42.84 GB、12
スレッド。
ノードオプションの比較
ノードの種
類
メモリ
コア
Cost * 必要なノー 合計メモリ
ド
cache.t2.medium3.22 GB
2
0.068 USD
13
cache.m3.large 6.05 GB
2
$ 0.182
7
API Version 2015-02-02
83
合計コア
1 か月あた
りコスト†
41.86 GB
26
$ 636.48
42.35 GB
14
$ 917.28
Amazon ElastiCache ユーザーガイド
Redis ノードサイズの選択
ノードの種
類
メモリ
コア
Cost * 必要なノー 合計メモリ
ド
合計コア
1 か月あた
りコスト†
cache.m4.large 6.42 GB
2
0.156 USD
7
44.94 GB
14
$ 768.24
cache.r3.large 13.50 GB
2
0.228 USD
3
40.50 GB
6
$ 492.48
cache.m4.xlarge
14.28 GB
4
0.311 USD
3
42.84 GB
12
$ 671.76
* 2016 年 8 月 4 日現在のノードあたりの時間あたりのコスト。
30 日 (720 時間) の使用率 100% の場合†の 1 か月あたりのコスト。
これらのオプションは、それぞれ同様のメモリ容量を提供しますが、コンピューティング容量とコストは
異なります。特定のオプションのコストを比較するには、「Amazon ElastiCache の料金表」を参照してく
ださい。
Memcached を実行するクラスターでは、各キャッシュノードの使用可能なメモリの一部は接続のオー
バーヘッド用に使用されます。詳細については、「Memcached 接続オーバーヘッド (p. 311)」を参照し
てください。
複数のノードを使用して、それらの間でキーを分散する必要があります。各ノードには、独自のエンドポ
イントがあります。エンドポイント管理を簡単にするには、ElastiCache の自動検出機能を使用して、ク
ライアントプログラムがキャッシュクラスターのすべてのノードを自動的に識別できるようにします。詳
細については、「ノードの自動検出 (Memcached) (p. 101)」を参照してください。
必要な容量が不明な場合は、試験的に 1 個の cache.m3.medium のノードから始めて、ElastiCache に
発行される CloudWatch のメトリクスで、メモリの使用状況、CPU 使用率、キャッシュヒット率をモ
ニタリングすることをお勧めします。CloudWatch のメトリクス (ElastiCache 用) の詳細については、
「CloudWatch メトリクスを使用したモニタリング (p. 378)」を参照してください。本稼働のより大きな
優れたワークロードの場合は、R3 ノードが最高のパフォーマンスと RAM のコストバリューを提供しま
す。
クラスターで目的のヒットレートが達成されない場合は、簡単な操作でノードを追加し、クラスター内の
合計使用可能メモリを増やすことができます。
クラスターが、ヒットレートが十分ではない CPU の制約を受けていることがわかった場合は、キャッ
シュノードタイプでより大きな処理能力を持つ新しい新しいクラスターをセットアップしてみてくださ
い。
Redis ノードサイズの選択
以下の項目に回答することで、Redis の実装に必要な最小ノードタイプを決定できます。
• データに必要となる合計メモリ量。
キャッシュする項目のサイズを取得して、キャッシュで同時に維持する項目数を乗算することで、一般
的な予測値が得られます。項目のサイズを合理的に見積もるには、キャッシュ項目をシリアル化して文
字数をカウントし、その文字数をクラスターのシャード数で分割します。
• アプリケーションでの書き込み負荷の大きさ。
書き込み量が多いアプリケーションでは、スナップショットの作成時またはフェイルオーバー時
に、Redis データでは使用されないより多くの使用可能メモリが必要となります。BGSAVE プロセスの
API Version 2015-02-02
84
Amazon ElastiCache ユーザーガイド
Redis ノードサイズの選択
実行時 – スナップショットの作成時、クラスターでのプライマリクラスターとレプリカの同期時、AOF
(append-only file) 機能を有効にした場合、レプリカのプライマリへの昇格時 (マルチ AZ で自動フェイル
オーバーを有効にした場合) – データが使用する十分な量のメモリを用意して、BGSAVE プロセスの実行
時に生じるすべての書き込みに対応する必要があります。最悪の場合は、処理中にすべての Redis デー
タが書き換えられます。その場合、データ単独で必要なメモリの倍のサイズのノードインスタンスが必
要になります。
詳細については、「Redis スナップショットを作成するための十分なメモリがあることの確認 (p. 65)」
を参照してください。
• スタンドアロンの Redis (クラスターモードが無効) クラスターを実装するか、複数のシャードを持つ
Redis (クラスターモードが有効) クラスターを実装するか。
Redis (クラスターモードが無効) クラスター
Redis (クラスターモードが無効) クラスターを実装する場合は、ノードタイプがすべてのデータと前の
項目で説明した必要なオーバーヘッドに対応できる必要があります。
たとえば、すべての項目の合計サイズが 12 GB になると予測される場合は、メモリ容量が 13.3 GB で
ある cache.m3.xlarge ノードまたはメモリ容量が 13.5 GB である cache.r3.large ノードを使用でき
ます。ただし、BGSAVE オペレーションではより多くのメモリが必要になる場合があります。書き込み量
の多いアプリケーションがある場合は、メモリ要件の倍のメモリで最低 24 GB が必要になります。これ
は、cache.m3.2xlarge で 27.9 GB、cache.r3.xlarge で 28.4 GB のメモリが必要であることを意味し
ます。
複数のシャードを持つ Redis (クラスターモードが有効) クラスター
複数のシャードを持つ Redis (クラスターモードが有効) クラスターを実装する場合は、ノードタイプが
bytes-for-data-and-overhead / number-of-shards バイトのデータに対応できる必要があります。
たとえば、すべての項目の合計見積りサイズが 12 GB で 2 つのシャードがある場合は、6.05 GB のメモ
リを持つ cache.m3.large ノードを 2 つ使用できます。ただし、BGSAVE オペレーションではより多くの
メモリが必要になる場合があります。書き込み量が多いアプリケーションの場合は、シャードごとに倍
の 12 GB 以上のメモリが必要であり、13.3 GB の cache.m3.xlarge または 13.5 GB のcache.r3.large
を使います。
現在 Redis (クラスターモードが有効) クラスターにシャードを追加することはできません。したがっ
て、予測される負荷の増大に対応するために、ある程度大きなノードタイプを使用することが必要にな
ります。
キャッシュクラスターが実行中であるときに、CloudWatch に発行される、メモリの使用状況、プロセッ
サの使用率、キャッシュヒット、およびキャッシュミスのメトリクスをモニタリングできます。クラス
ターで目的のヒットレートが達成されない場合や、キーが頻繁に削除されている場合は、CPU やメモリの
容量が大きい別のキャッシュノードサイズを選択できます。
API Version 2015-02-02
85
Amazon ElastiCache ユーザーガイド
Redis ノードサイズの選択
CPU の使用率をモニタリングする場合、Redis はシングルスレッドであることに留意します。したがっ
て、報告された CPU 使用率に CPU のコア数を乗算することで、実際の使用率が得られます。たとえ
ば、4 つのコアを持つ CPU で使用率 20% と報告された場合、実際に Redis が使用している 1 つのコアは
80% で稼働しています。
API Version 2015-02-02
86
Amazon ElastiCache ユーザーガイド
リザーブドノード
ElastiCache リザーブドノード
リザーブドキャッシュノードでは、キャッシュノードに対して一括前払いが可能で、低料金で 1 年間また
は 3 年間キャッシュノードを予約することができます。
T2、M3、および R3 ファミリーでは、リザーブドキャッシュノードは高使用率サービスとして使用で
きます。古いノードタイプで使用可能なリザーブドキャッシュノードには 3 つの提供タイプ — 軽度、
中度、重度使用 — があるため、予想される使用状況に基づいていずれかの提供タイプを選択すること
で、ElastiCache のコストを最適化できます。
コマンドラインツール、API、または AWS マネジメントコンソールを使用して、使用可能なリザーブド
キャッシュノードを一覧表示および購入できます。リザーブドキャッシュノードサービスの 3 つのタイプ
は、クラスや期間に基づいています。
リザーブドキャッシュノードの詳細については、「Amazon ElastiCache リザーブドキャッシュノード」を
参照してください。
トピック
• リザーブドノードサービス (p. 87)
• 使用可能なリザーブドキャッシュノードサービスの説明 (p. 89)
• リザーブドノードの購入 (p. 91)
• リザーブドノードの説明 (p. 94)
リザーブドノードサービス
重度使用のリザーブドキャッシュノードでは、基準となる処理能力を一定に保った安定したワークロード
が可能になります。重度使用のリザーブドキャッシュノードの予約金は最も高くなりますが、インスタン
スの実行時間がリザーブドキャッシュノードの期間の 79% を超える場合は、節約額が最も大きくなる可能
性があります (最大でオンデマンド料金の 70% 引き)。重度使用のリザーブドキャッシュノードは、他のリ
ザーブドキャッシュノードとは異なり、予約金を 1 回支払えば、キャッシュノードが実行されているかど
うかにかかわらず、期間中は低額の使用料が時間単位で適用されます。
中度使用のリザーブドキャッシュノードは、リザーブドキャッシュノードを長い時間使用する場合に、予
約金を低く抑えたいときや、キャッシュノードが停止したらすぐに支払いを中止できるようにしたいと
きに最適です。中度使用のリザーブドキャッシュノードは、インスタンスの実行時間がリザーブドキャッ
シュノードの期間の 40% を超える予定の場合に、コスト効果の高い選択肢になります。このオプション
を使用すると、オンデマンド料金から最大 64% を節約できます。中度使用のリザーブドキャッシュノー
ドは、軽度使用のリザーブドキャッシュノードと比べると、予約金はわずかに上回りますが、キャッシュ
ノード実行時の時間あたりの使用料は低く抑えられます。
軽度使用のリザーブドキャッシュノードは、1 日に数時間、週に数日間のみ実行される定期的なワーク
ロードに最適です。軽度使用のリザーブドキャッシュノードでは、予約金を 1 回支払えば、キャッシュ
ノードの実行時に時間単位で割引使用料が適用されます。キャッシュノードの実行時間がリザーブド
キャッシュノードの期間の 17% を超えるとコスト節減が始まり、リザーブドキャッシュノードの全期間を
通してオンデマンド料金から最大 56% を節約できます。
リザーブドキャッシュノードサービス
提供タイプ
前払いコスト
使用料
メリット
重度使用
高
時間当たりの使用料が
最も低く、リザーブ
ドキャッシュノードの
使用状況にかかわらず
期間全体に適用されま
す。
リザーブドキャッシュ
ノードの使用が 3 年間
で全体の 79% を超える
場合は、全体的なコス
トを最も抑えることが
できます。
API Version 2015-02-02
87
Amazon ElastiCache ユーザーガイド
リザーブドノードサービス
提供タイプ
前払いコスト
使用料
メリット
中度使用
平均
キャッシュノードの使
用時間に応じて使用料
が時間単位で発生しま
す。
作業負荷が一定してい
ない場合、または、そ
れほど頻繁には利用し
ない (3 年間で全体の
40% を超える) 場合に適
しています。
軽度使用
低
時間当たりの使用料で
課金されます。3 種類の
うち最も高い料金設定
ですが、課金されるの
は、リザーブドキャッ
シュノードを使用し
ているときに限られま
す。
常時実行する場合は全
体的なコストが最も高
くなりますが、まれに
しかリザーブドキャッ
シュノードを使用しな
い (3 年間で全期間の約
15% を超える程度) 場合
は、このオプションが
適しています。
API Version 2015-02-02
88
Amazon ElastiCache ユーザーガイド
使用可能なリザーブドキャッシュノードサービスの説明
使用可能なリザーブドキャッシュノードサービスの説
明
リザーブドクラスターを購入する前に、使用可能なリザーブドクラスターサービスに関する情報を取得で
きます。
以下の例では、使用可能なリザーブドクラスターサービスの料金表と情報を入手する手順を示します。
使用可能なリザーブドキャッシュノードサービスの説明 ((コン
ソール))
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
ナビゲーションリストで、[Reserved Cache Nodes] リンクを選択します。
3.
[Purchase Reserved Cache Node] ボタンを選択します。
4.
[Product Description] ドロップダウンリストボックスで、エンジンを Memcached または Redis から
選択します。
5.
使用できるサービスを確認するには、次の 3 つのドロップダウンリストボックスから選択します。
• キャッシュノードタイプ
• 期間
• 提供タイプ
選択後、ノードあたりの費用および選択した内容の全費用が [Purchase Reserved Cache Nodes] ウィ
ザードに表示されます。
6.
これらのノードを購入して料金が発生することを防ぐには、[Cancel] を選択します。
使用可能なリザーブドキャッシュノードサービスの説明 ((AWS
CLI))
使用可能なリザーブドクラスターサービスの料金表と情報を入手するには、コマンドプロンプトで次のコ
マンドを入力します。
aws elasticache describe-reserved-cache-nodes-offerings
--headers
この呼び出しにより、以下のような出力が返されます。
OFFERING OfferingId
Class
Usage Price Description Offering Type
OFFERING 438012d3-4052-4cc7-b2e3-8d3372e0e706 cache.m1.large
0.368 USD
memcached
Medium Utilization
OFFERING 649fd0c8-cf6d-47a0-bfa6-060f8e75e95f cache.m1.small
0.046 USD
memcached
Medium Utilization
OFFERING 123456cd-ab1c-47a0-bfa6-12345667232f cache.m1.small
0.00 USD
memcached
Heavy Utilization
Recurring Charges:
Amount Currency Frequency
Recurring Charges:
0.123
USD
Hourly
OFFERING 123456cd-ab1c-37a0-bfa6-12345667232d cache.m1.large
0.00 USD
memcached
Heavy Utilization
Recurring Charges:
Amount Currency Frequency
Recurring Charges:
1.25
USD
Hourly
API Version 2015-02-02
89
Duration
Fixed Price
1y
1820.00 USD
1y
227.50 USD
1y
162.00 USD
1y
700.00 USD
Amazon ElastiCache ユーザーガイド
使用可能なリザーブドキャッシュノードサービスの説明
OFFERING 123456cd-ab1c-17d0-bfa6-12345667234e
2.42 USD
memcached
Light Utilization
cache.m1.xlarge
1y
4242.00 USD
使用可能なリザーブドキャッシュノードサービスの説明
((ElastiCache API))
使用可能なリザーブドクラスターサービスの料金表と情報を入手するに
は、DescribeReservedCacheNodesOfferings アクションを呼び出します。
Example
https://elasticache.us-west-2.amazonaws.com/
?Action=DescribeReservedCacheNodesOfferings
&Version=2014-12-01
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20141201T220302Z
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Date=20141201T220302Z
&X-Amz-SignedHeaders=Host
&X-Amz-Expires=20141201T220302Z
&X-Amz-Credential=<credential>
&X-Amz-Signature=<signature>
この呼び出しにより、次のような出力が返されます。
<DescribeReservedCacheNodesOfferingsResponse xmlns="http://elasticache.uswest-2.amazonaws.com/doc/2013-06-15/">
<DescribeReservedCacheNodesOfferingsResult>
<ReservedCacheNodesOfferings>
<ReservedCacheNodesOffering>
<Duration>31536000</Duration>
<OfferingType>Medium Utilization</OfferingType>
<CurrencyCode>USD</CurrencyCode>
<RecurringCharges/>
<FixedPrice>1820.0</FixedPrice>
<ProductDescription>memcached</ProductDescription>
<UsagePrice>0.368</UsagePrice>
<ReservedCacheNodesOfferingId>438012d3-4052-4cc7-b2e3-8d3372e0e706</
ReservedCacheNodesOfferingId>
<CacheNodeType>cache.m1.large</CacheNodeType>
</ReservedCacheNodesOffering>
<ReservedCacheNodesOffering>
(...output omitted...)
</ReservedCacheNodesOffering>
</ReservedCacheNodesOfferings>
</DescribeReservedCacheNodesOfferingsResult>
<ResponseMetadata>
<RequestId>5e4ec40b-2978-11e1-9e6d-771388d6ed6b</RequestId>
</ResponseMetadata>
</DescribeReservedCacheNodesOfferingsResponse>
簡潔にするため、出力の一部は省略されています。
API Version 2015-02-02
90
Amazon ElastiCache ユーザーガイド
リザーブドノードの購入
リザーブドノードの購入
以下の例は、リザーブドノードサービスを購入する方法を示しています。
Important
このセクションの例に従うと、料金が発生してお客様の AWS アカウントに請求されます。
リザーブドノードの購入 ((コンソール))
この例では、リザーブドキャッシュノード ID が myreservationID の特定のリザーブドキャッシュノード
サービス 649fd0c8-cf6d-47a0-bfa6-060f8e75e95f を購入する方法を示しています。
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
3.
ナビゲーションリストで、[Reserved Cache Nodes] リンクを選択します。
[Purchase Reserved Cache Node] ボタンを選択します。
4.
[Product Description] ドロップダウンリストボックスで、キャッシュノードタイプを選択します。
5.
[Cache Node Class] ドロップダウンリストボックスからキャッシュノードクラスを選択します。
6.
[Term] ドロップダウンリストボックスで、キャッシュノードを予約する期間を選択します。
7.
[Offering Type] ドロップダウンリストボックスで、提供タイプを選択します。
8.
必要に応じて、[Reserved Cache Node ID] テキストボックスにリザーブドキャッシュノード ID を入
力できます。
Note
9.
リザーブドキャッシュノード ID は、この予約を追跡するユーザー指定の一意識別子です。こ
のボックスが空白のまま場合、ElastiCache により予約の識別子が自動的に生成されます。
[Next] ボタンを選択します。
[Purchase Reserved Cache Node] ダイアログボックスに、選択したリザーブドキャッシュノードの属
性の要約と支払い額が表示されます。
10. 先に進む場合は、[Yes, Purchase] ボタンを選択して、リザーブドキャッシュノードを購入します。
Important
[Yes, Purchase] を選択すると、選択したリザーブドノードの料金が発生します。これらの料
金の発生を避けるには、[Cancel] を選択します。
リザーブドノードの購入 ((AWS CLI))
以下の例では、リザーブドクラスター ID が myreservationID の特定のリザーブドクラスターサービス
649fd0c8-cf6d-47a0-bfa6-060f8e75e95f を購入する方法を示しています。
コマンドプロンプトで以下のコマンドを入力します。
Linux, macOS, or Unix 用:
aws elasticache purchase-reserved-cache-nodes-offering \
--reserved-cache-nodes-offering-id 649fd0c8-cf6d-47a0-bfa6-060f8e75e95f \
--reserved-cache-node-id myreservationID
Windows の場合:
aws elasticache purchase-reserved-cache-nodes-offering ^
API Version 2015-02-02
91
Amazon ElastiCache ユーザーガイド
リザーブドノードの購入
--reserved-cache-nodes-offering-id 649fd0c8-cf6d-47a0-bfa6-060f8e75e95f ^
--reserved-cache-node-id myreservationID
このコマンドにより、以下のような出力が返されます。
RESERVATION ReservationId
Class
Start Time
Duration
Price Usage Price Count State
Description
Offering Type
RESERVATION myreservationid
cache.m1.small 2013-12-19T00:30:23.247Z 1y
USD
0.092 USD
1
payment-pending memcached
Medium Utilization
Fixed
455.00
リザーブドノードの購入 ((ElastiCache API))
以下の例では、リザーブドクラスター ID が myreservationID の特定のリザーブドクラスターサービス
649fd0c8-cf6d-47a0-bfa6-060f8e75e95f を購入する方法を示しています。
以下のパラメーターを指定して PurchaseReservedCacheNodesOffering オペレーションを呼び出します。
• ReservedCacheNodesOfferingId = 649fd0c8-cf6d-47a0-bfa6-060f8e75e95f
• ReservedCacheNodeID = myreservationID
• CacheNodeCount = 1
Example
https://elasticache.us-west-2.amazonaws.com/
?Action=PurchaseReservedCacheNodesOffering
&ReservedCacheNodesOfferingId=649fd0c8-cf6d-47a0-bfa6-060f8e75e95f
&ReservedCacheNodeID=myreservationID
&CacheNodeCount=1
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20141201T220302Z
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Date=20141201T220302Z
&X-Amz-SignedHeaders=Host
&X-Amz-Expires=20141201T220302Z
&X-Amz-Credential=<credential>
&X-Amz-Signature=<signature>
この呼び出しにより、以下のような出力が返されます。
<PurchaseReservedCacheNodesOfferingResponse xmlns="http://elasticache.uswest-2.amazonaws.com/doc/2013-06-15/">
<PurchaseReservedCacheNodesOfferingResult>
<ReservedCacheNode>
<OfferingType>Medium Utilization</OfferingType>
<CurrencyCode>USD</CurrencyCode>
<RecurringCharges/>
<ProductDescription>memcached</ProductDescription>
<ReservedCacheNodesOfferingId>649fd0c8-cf6d-47a0-bfa6-060f8e75e95f</
ReservedCacheNodesOfferingId>
<State>payment-pending</State>
<ReservedCacheNodeId>myreservationID</ReservedCacheNodeId>
<CacheNodeCount>10</CacheNodeCount>
<StartTime>2013-07-18T23:24:56.577Z</StartTime>
<Duration>31536000</Duration>
<FixedPrice>123.0</FixedPrice>
<UsagePrice>0.123</UsagePrice>
<CacheNodeType>cache.m1.small</CacheNodeType>
</ReservedCacheNode>
API Version 2015-02-02
92
Amazon ElastiCache ユーザーガイド
リザーブドノードの購入
</PurchaseReservedCacheNodesOfferingResult>
<ResponseMetadata>
<RequestId>7f099901-29cf-11e1-bd06-6fe008f046c3</RequestId>
</ResponseMetadata>
</PurchaseReservedCacheNodesOfferingResponse>
API Version 2015-02-02
93
Amazon ElastiCache ユーザーガイド
リザーブドノードの説明
リザーブドノードの説明
次のような AWS アカウントのリザーブドノードに関する情報を取得できます。
リザーブドノードの説明 ((コンソール))
1.
2.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
ナビゲーションリストで、[Reserved Cache Nodes] リンクを選択します。
アカウントのリザーブドキャッシュノードが [Reserved Cache Nodes] の一覧に表示されます。リス
ト内のいずれかのリザーブドキャッシュノードを選択して、コンソールの下部にある詳細ペインにリ
ザーブドキャッシュノードの詳細を表示できます。
リザーブドノードの説明 ((AWS CLI))
AWS アカウントのリザーブドノードに関する情報を入手するには、コマンドプロンプトで次のコマンドを
入力します。
aws elasticache describe-reserved-cache-nodes --headers
このコマンドにより、以下のような出力が返されます。
RESERVATION ReservationId
Class
Start Time
Price Usage Price Count State
Description
Offering Type
RESERVATION ki-real-ri-test5 cache.m1.small 2013-07-09T23:37:44.720Z
USD
0.092 USD
1
retired memcached
Medium Utilization
Duration
Fixed
1y
455.00
リザーブドノードの説明 ((ElastiCache API))
AWS アカウントのリザーブドノードに関する情報を取得するには、DescribeReservedCacheNodes オペ
レーションを呼び出します。
Example
https://elasticache.us-west-2.amazonaws.com/
?Action=DescribeReservedCacheNodes
&Version=2014-12-01
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20141201T220302Z
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Date=20141201T220302Z
&X-Amz-SignedHeaders=Host
&X-Amz-Expires=20141201T220302Z
&X-Amz-Credential=<credential>
&X-Amz-Signature=<signature>
この呼び出しにより、以下のような出力が返されます。
<DescribeReservedCacheNodesResponse xmlns="http://elasticache.us-west-2.amazonaws.com/
doc/2013-06-15/">
<DescribeReservedCacheNodesResult>
<ReservedCacheNodes>
<ReservedCacheNode>
API Version 2015-02-02
94
Amazon ElastiCache ユーザーガイド
リザーブドノードの説明
<OfferingType>Medium Utilization</OfferingType>
<CurrencyCode>USD</CurrencyCode>
<RecurringCharges/>
<ProductDescription>memcached</ProductDescription>
<ReservedCacheNodesOfferingId>649fd0c8-cf6d-47a0-bfa6-060f8e75e95f</
ReservedCacheNodesOfferingId>
<State>payment-failed</State>
<ReservedCacheNodeId>myreservationid</ReservedCacheNodeId>
<CacheNodeCount>1</CacheNodeCount>
<StartTime>2010-12-15T00:25:14.131Z</StartTime>
<Duration>31536000</Duration>
<FixedPrice>227.5</FixedPrice>
<UsagePrice>0.046</UsagePrice>
<CacheNodeType>cache.m1.small</CacheNodeType>
</ReservedCacheNode>
<ReservedCacheNode>
(...output omitted...)
</ReservedCacheNode>
</ReservedCacheNodes>
</DescribeReservedCacheNodesResult>
<ResponseMetadata>
<RequestId>23400d50-2978-11e1-9e6d-771388d6ed6b</RequestId>
</ResponseMetadata>
</DescribeReservedCacheNodesResponse>
簡潔にするため、出力の一部は省略されています。
API Version 2015-02-02
95
Amazon ElastiCache ユーザーガイド
サポートされているノードの種類
サポートされているノードの種類
ElastiCache では以下のノードがサポートされています。一般に、現行世代のタイプは、以前の世代の同
等タイプと比較した場合、メモリが多く処理能力が高くなっています。
• 汎用:
• 現行世代: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, cache.m3.large,
cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge,
cache.m4.4xlarge, cache.m4.10xlarge
• 以前の世代: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge
• コンピューティングの最適化: cache.c1.xlarge
• メモリ最適化:
• 現行世代: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge,
cache.r3.8xlarge
• 以前の世代: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge, ,
サポートされているノードタイプは、次の表に示していない限り、すべてのリージョンで使用できます。
例外
リージョン名
リージョン
例外
アジアパシフィック (ソウル)
ap-northeast-2
現行世代のノードタイプのみをサポートします。
欧州 (フランクフルト)
eu-central-1
現行世代のノードタイプのみをサポートします。
AWS GovCloud (US)
us-gov-west-1
現行世代のノードタイプのみをサポートします。
M4 ノードタイプをサポートしません。
米国東部 (オハイオ)
us-east-2
ノードタイプ T2、M4、および R3 のみをサポート
します。
次のエンジンバージョンのみをサポートします。
• Memcached: 1.4.24
• Redis 2.8.21、2.8.23、2.8.24、3.2.4
Note
• すべての T2 インスタンスは Amazon VPC (Amazon VPC) で作成されます。
• Redis バックアップおよび復元は、T2 インスタンスではサポートされません。
• Redis AOF (Append-Only File) は、T1 または T2 インスタンスではサポートされません。
• 自動フェイルオーバー機能を備えた Redis マルチ AZ は、T1 または T2 インスタンスではサ
ポートされていません。
• Redis 設定変数 appendonly および appendfsync Redis バージョン 2.8.22 以降ではサポートさ
れていません。
ノードタイプおよび仕様の完全な一覧については、以下を参照してください。
• Amazon ElastiCache製品の特徴と詳細
• Memcached のノードタイプ固有のパラメータ
API Version 2015-02-02
96
Amazon ElastiCache ユーザーガイド
サポートされているノードの種類
• Redis のノードタイプ固有のパラメータ
API Version 2015-02-02
97
Amazon ElastiCache ユーザーガイド
ノードが置き換え対象となった場合に実行可能なアクション
ノードが置き換え対象となった場合に実行可能なア
クション
以下のセクションでは、ElastiCache によって 1 つ以上のノードが置き換え対象となっているときに取る
ことのできるアクションを指定します。
Memcached
次のリストで、ElastiCache が Memcached ノードの 1 つの置き換えをスケジュールしている場合に取る
ことのできるアクションを識別します。
• 何もしない – 何もしない場合、ElastiCache はスケジュールどおりにノードを置き換えま
す。ElastiCache によってノードが新しいノードに自動的に置き換えられたとき、新しいノードは最初
は空です。
• メンテナンス時間の変更 – ElastiCache からメールを受信する、スケジュールされたメンテナンスイベ
ントで、スケジュールされている置き換え時刻になる前にメンテナンス時間を変更した場合には、新し
い時刻にノードが置き換えられます。新しいメンテナンス時刻は、最初にスケジュールされていた日時
よりも早くすることはできず、最初にスケジュールされていた日時よりも 1 週間を超えて遅らせること
はできません。
例えば、7 月 4 日 (月) に定期メンテナンスが予定されており、毎月曜日の 04:00 ~ 05:00 (UTC) にメン
テナンス時間が設定されているとします。ここで、メンテナンス時間を 08:00 ~ 09:00 (UTC) に変更し
た場合、7 月 4 日 (月) の 08:00 ~ 09:00 (UTC) に置き換えが行われます。メンテナンス時間を月曜日の
01:00 ~ 02:00 (UTC) に変更した場合、7 月 11 日 (月) の 01:00 ~ 02:00 (UTC)、つまり翌週に置き換え
が行われます。手順については、「メンテナンスウィンドウ (p. 46)」を参照してください。
• 手動でノードを置き換える – 次のメンテナンス時間の前にノードを置き換える必要がある場合は、手動
で置き換えます。
ノードを手動で置き換える場合、キーを再配分するとキャッシュミスが起こります。
手動で Memcached ノードを置き換えるには
1.
置き換え対象となったノードを削除します。手順については、「クラスターからのノードの削
除 (p. 166)」を参照してください。
2.
新しいノードをクラスターに追加します。手順については、「クラスターへのノードの追
加 (p. 160)」を参照してください。
3.
このクラスター上で「ノードの自動検出 (Memcached) (p. 101)」を使用していない場合は、アプ
リケーションで古いノードのエンドポイントのすべてのインスタンスを新しいノードのエンドポイ
ントに置き換えます。
Redis
次のリストで、ElastiCache が Redis ノードの 1 つの置き換えをスケジュールしている場合に取ることの
できるアクションを識別します。状況に応じて必要となる情報をすばやく見つけるには、次のメニューか
ら選択します。
• Do nothing (p. 99) – Amazon ElastiCache でスケジュールどおりにノードを置き換えます。
• Change your maintenance window (p. 99) – メンテナンス時間をより適切な時刻に変更します。
• Replace a read-replica (p. 99) – Redis レプリケーショングループのリードレプリカを手動で置き換え
る手順です。
• Replace the primary node (p. 99) – Redis レプリケーショングループのプライマリノードを手動で置
き換える手順です。
API Version 2015-02-02
98
Amazon ElastiCache ユーザーガイド
Redis
• Replace a standalone node (p. 100) – スタンドアロン Redis ノードを置き換える 2 つの異なる手順で
す。
Redis ノード置き換えオプション
• 何もしない – 何もしない場合、ElastiCache はスケジュールどおりにノードを置き換えます。
ノードが Redis (クラスターモードが無効) クラスターに属する場合、代替ノードはプライマリノードと
同期されます。
ノードがスタンドアロンである場合は、ElastiCache によってまず代替ノードが起動されてから、既存
のノードと同期されます。既存のノードは、この時点で、サービスリクエストに使用できなくなりま
す。同期が完了すると、既存のノードは終了し、新しいノードに置き換えられます。ElastiCache は、
このオペレーションの実行中、ベストエフォートでデータを保持します。
• メンテナンス時間の変更 – ElastiCache からメールを受信する、スケジュールされたメンテナンスイベ
ントで、スケジュールされている置き換え時刻になる前にメンテナンス時間を変更した場合には、新し
い時刻にノードが置き換えられます。新しいメンテナンス時刻は、最初にスケジュールされていた日時
よりも早くすることはできず、最初にスケジュールされていた日時よりも 1 週間を超えて遅らせること
はできません。
例えば、7 月 4 日 (月) に定期メンテナンスが予定されており、毎月曜日の 04:00 ~ 05:00 (UTC) にメン
テナンス時間が設定されているとします。ここで、メンテナンス時間を 08:00 ~ 09:00 (UTC) に変更し
た場合、7 月 4 日 (月) の 08:00 ~ 09:00 (UTC) に置き換えが行われます。メンテナンス時間を月曜日の
01:00 ~ 02:00 (UTC) に変更した場合、7 月 11 日 (月) の 01:00 ~ 02:00 (UTC)、つまり翌週に置き換え
が行われます。手順については、「メンテナンスウィンドウ (p. 46)」を参照してください。
• リードレプリカを置き換える – ノードがリードレプリカである場合、ノードを置き換えます。
クラスターに 2 つのノードのみがあり、マルチ AZ が有効になっている場合は、マルチ AZ を無効に
してからレプリカを削除する必要があります。手順については、「レプリカを持つクラスターの変
更 (p. 237)」を参照してください。
リードレプリカと置き換えるには
1.
置き換え対象となったレプリカを削除します。手順については、「クラスターの削除 (p. 173)」を
参照してください。
2.
置き換え対象となったレプリカと置き換える新しいレプリカを追加します。先ほど削除したレプリ
カと同じ名前を使用する場合は、手順 3 を省略できます。手順については、「Redis クラスターへ
のリードレプリカの追加 (p. 240)」を参照してください。
3.
アプリケーションで、古いレプリカのエンドポイントを新しいレプリカのエンドポイントに置き換
えます。
4.
開始時にマルチ AZ が無効になっている場合は、この時点で再び有効にします。手順については、
「マルチ AZ で自動フェイルオーバーを有効にする (p. 209)」を参照してください。
• プライマリノードを置き換える – ノードがプライマリノードである場合、リードレプリカをプライマリ
に昇格させてから、前のプライマリノードを削除します。
クラスターに 2 つのノードのみがあり、マルチ AZ が有効になっている場合は、マルチ AZ を無効にし
てからステップ 2 でレプリカを削除する必要があります。手順については、「レプリカを持つクラス
ターの変更 (p. 237)」を参照してください。
プライマリノードを置き換えるには
1.
リードレプリカをプライマリに昇格させます。手順については、「リードレプリカをプライマリに
昇格させる (p. 242)」を参照してください。
2.
置き換え対象となったノード (前のプライマリ) を削除します。手順については、「クラスターの削
除 (p. 173)」を参照してください。
API Version 2015-02-02
99
Amazon ElastiCache ユーザーガイド
Redis
3.
4.
5.
置き換え対象となったレプリカと置き換える新しいレプリカを追加します。先ほど削除したレプリ
カと同じ名前を使用する場合は、手順 4 を省略できます。
手順については、「Redis クラスターへのリードレプリカの追加 (p. 240)」を参照してください。
アプリケーションで、古いノードのエンドポイントを新しいノードのエンドポイントに置き換えま
す。
開始時にマルチ AZ が無効になっている場合は、この時点で再び有効にします。手順については、
「マルチ AZ で自動フェイルオーバーを有効にする (p. 209)」を参照してください。
• スタンドアロンノードを置き換える – ノードにリードレプリカがない場合、スタンドアロンクラスター
を置き換えるには、以下の 2 つのオプションがあります。
オプション 1: バックアップと復元を使用してノードを置き換える
1.
ノードのスナップショットを作成します。手順については、「Taking Manual Backups (p. 250)」
を参照してください。
2.
スナップショットから新しいノードを作成します。手順については、「Restoring From a
Backup (p. 269)」を参照してください。
3.
置き換え対象となったノードを削除します。手順については、「クラスターの削除 (p. 173)」を参
照してください。
アプリケーションで、古いノードのエンドポイントを新しいノードのエンドポイントに置き換えま
す。
4.
オプション 2: レプリケーションを使用してノードを置き換える
1.
プライマリとして置き換え対象になったノードがあるクラスターにレプリケーションを追加しま
す。このクラスターでマルチ AZ を有効にしないでください。手順については、「シャードがない
Redis クラスターにレプリケーションを追加するには (p. 160)」を参照してください。
2.
クラスターにリードレプリカを追加します。手順については、「Memcached または 1 つ
のシャードを持つ Redis (クラスターモードが無効) クラスターにノードを追加するには
((console)) (p. 161)」を参照してください。
3.
新たに作成したリードレプリカをプライマリに昇格させます。手順については、「リードレプリカ
をプライマリに昇格させる (p. 242)」を参照してください。
4.
置き換え対象となったノードを削除します。手順については、「クラスターの削除 (p. 173)」を参
照してください。
5.
アプリケーションで、古いノードのエンドポイントを新しいノードのエンドポイントに置き換えま
す。
API Version 2015-02-02
100
Amazon ElastiCache ユーザーガイド
ノードの自動検出 (Memcached)
Memcached エンジンを実行するクラスターの場合、ElastiCache では自動検出がサポートされます。自動
検出は、クライアントプログラムが、キャッシュクラスター内のすべてのノードを識別し、それらのすべ
てのノードへの接続を開始して維持する機能です。
Note
自動検出は、Amazon ElastiCache Memcached で実行されているキャッシュクラスターに追加さ
れます。Redis (クラスターモードが有効) クラスターは、元々自動検出に対応しています。
自動検出によって、アプリケーションは手動で個々のキャッシュノードに接続する必要はありません。そ
の代わり、アプリケーションは Memcached のノードの 1 つに接続してノードのリストを取得します。そ
のリストからアプリケーションはクラスターの残りのノードを発見して、それらにも接続できます。アプ
リケーションで個々のキャッシュノードエンドポイントをハードコードする必要はありません。
クラスター内のすべてのキャッシュノードには、他のすべてのノードに関するメタデータのリストが保持
されます。このメタデータは、クラスターにノードが追加または削除されるたびに更新されます。
トピック
• 自動検出の利点 (p. 102)
• 自動検出の動作 (p. 103)
• 自動検出の使用 (p. 107)
• キャッシュノードへの手動接続 (p. 112)
• クライアントライブラリへの自動検出の追加 (p. 113)
• ElastiCache クライアント自動検出クライアントの使用 (p. 114)
API Version 2015-02-02
101
Amazon ElastiCache ユーザーガイド
自動検出の利点
自動検出の利点
自動検出には、次の利点があります。
• キャッシュクラスター内のノード数を増やすと、新しいノードは、設定エンドポイントと他のすべての
ノードに自身を登録します。キャッシュクラスターからノードを削除すると、削除対象のノードが自身
の登録を解除します。いずれの場合も、クラスター内の他のすべてのノードが、最新のキャッシュノー
ドメタデータで更新されます。
• キャッシュノードの障害は自動的に検出されます。障害が発生したノードは、自動的に置き換えられま
す。
Note
ノードの交換が完了するまで、そのノードは正常になりません。
• クライアントプログラムは、設定エンドポイントにのみ接続する必要があります。その後、自動検出ラ
イブラリはクラスター内の他のすべてのノードに接続します。
• クライアントプログラムは、1 分に 1 回クラスターをポーリングします (この間隔は必要に応じて調整で
きます)。クラスター設定の変更がある場合 (新しいノードや削除されたノードなど)、クライアントは更
新されたメタデータリストを受け取ります。その後、クライアントは必要に応じてそれらのノードに接
続したり、それらのノードから切断したりします。
自動検出は、すべての ElastiCache Memcached キャッシュクラスターで有効になります。この機能を使
用するためにキャッシュノードを再起動する必要はありません。
API Version 2015-02-02
102
Amazon ElastiCache ユーザーガイド
自動検出の動作
自動検出の動作
トピック
• キャッシュノードへの接続 (p. 103)
• 通常のクラスターオペレーション (p. 104)
• その他のオペレーション (p. 105)
このセクションでは、ElastiCache クライアントアプリケーションを使用してキャッシュノード接続を管
理し、キャッシュ内のデータ項目を操作する方法について説明します。
キャッシュノードへの接続
アプリケーションの観点からは、クラスター設定エンドポイントへの接続は、個々のキャッシュノードに
直接接続するのと変わりません。次の一連の図は、キャッシュノードに接続するプロセスを示したもので
す。
API Version 2015-02-02
103
Amazon ElastiCache ユーザーガイド
通常のクラスターオペレーション
キャッシュノードへの接続プロセス
アプリケーションは、設定エンドポイントの DNS 名を解決します。設定エンドポイントには、すべ
てのキャッシュノードの CNAME エントリが保持されているため、DNS 名はいずれかのノードに解
決されます。その後、クライアントはそのノードに接続できます。
クライアントは、他のすべてのノードの設定情報をリクエストします。各ノードにはクラスター内の
すべてのノードの設定情報が保持されているため、どのノードでも必要に応じて設定情報をクライア
ントに渡すことができます。
クライアントは、キャッシュノードのホスト名と IP アドレスの最新のリストを受け取ります。その
後、クライアントはクラスター内の他のすべてのノードに接続できます。
Note
クライアントプログラムは、キャッシュノードのホスト名と IP アドレスのリストを 1 分に 1 回
更新します。このポーリング間隔は、必要に応じて変更できます。
通常のクラスターオペレーション
アプリケーションがすべてのキャッシュノードに接続されている場合、ElastiCache クラスタークライア
ントは、個々のデータ項目を格納する必要があるノードと、それらのデータ項目のクエリを実行する必要
があるノードを判断します。次の一連の図は、通常のクラスターオペレーションのプロセスを示していま
す。
API Version 2015-02-02
104
Amazon ElastiCache ユーザーガイド
その他のオペレーション
通常のクラスターオペレーションのプロセス
アプリケーションは、特定のデータ項目に対して get リクエストを発行します (キーにより識別され
ます)。
クライアントは、キーに対してハッシュアルゴリズムを使用して、データ項目が格納されている
キャッシュノードを調べます。
データ項目が適切なノードからリクエストされます。
データ項目がアプリケーションに戻ります。
その他のオペレーション
追加要求に対応するために追加ノードを追加したり、削減された要求の期間中のコストを節約するために
ノードを削除したり、何らかのノード障害のためにノードを交換したりするために、クラスターが変更さ
れる状況が発生する場合があります。
API Version 2015-02-02
105
Amazon ElastiCache ユーザーガイド
その他のオペレーション
クラスターのエンドポイントへのメタデータ更新を必要とするクラスターを変更するときは、すべての
ノードへの変更が同時に行われます。したがって、特定のノードのメタデータと、クラスター内の他のす
べてのノードのメタデータの整合性がとられます。
ノードの追加
ノードがスピンアップされている間、エンドポイントはメタデータには含まれません。エンドポイント
は、ノードが利用可能となった時点で、クラスターの各ノードのメタデータに追加されます。このシナリ
オではメタデータはすべてのノード間で整合性がとられ、新しいノードとは、それが利用可能になった後
にやり取りできるようになります。ノードが利用可能になる前にはそのノードについては認識できず、新
しいノードが存在しないかのようにクラスターのノードとやり取りすることになります。
ノードの削除
ノードが削除されるときは、まずエンドポイントがメタデータから削除され、ノードがクラスターから削
除されます。このシナリオではメタデータはすべてのノード間で整合性がとられており、ノードが利用で
きない間、削除されるノードのエンドポイントがメタデータに含まれることはありません。ノードを削除
している間、そのノードはメタデータでは報告されないため、アプリケーションはそのノードが存在しな
いかのように n-1 の残りのノードのみとやり取りします。
ノードの置換
ノードに障害が発生した場合、ElastiCache がそのノードを停止し、別のノードを起動します。この置換
プロセスは数分かかります。この間、すべてのノードのメタデータには、障害のあるノードに対応するエ
ンドポイントが表示されますが、そのノードとのやり取りの試みは失敗します。そのため、ロジックには
必ず再試行ロジックを組み込んでください。
この場合、メタデータは、クラスター内のすべてのノードで同時に更新されるため、すべてのノード間で
整合性がとられます。クラスターのさまざまなノードのエンドポイントを取得するため、設定エンドポイ
ントを必ず使用する必要があります。設定エンドポイントを使用して、「非表示」のノードからはエンド
ポイントデータを取得しないようにしてください。
API Version 2015-02-02
106
Amazon ElastiCache ユーザーガイド
自動検出の使用
自動検出の使用
自動検出の使用を開始するには、以下のステップに従います。
• ステップ 1: 設定エンドポイントを取得する (p. 107)
• ステップ 2: ElastiCache クラスタークライアントをダウンロードする (p. 108)
• ステップ 3: アプリケーションプログラムを変更する (p. 109)
ステップ 1: 設定エンドポイントを取得する
クラスターに接続するには、クライアントプログラムがクラスター設定エンドポイントを認識している必
要があります。トピック「Memcached クラスターのエンドポイントの検索 (コンソール) (p. 53)」を参照
してください。
--show-cache-node-info パラメーターを指定して、aws elasticache describe-cache-clusters コマン
ドを使用することもできます。
クラスターのエンドポイント検索に使用する方法に関係なく、設定エンドポイントのアドレスには、必ず
.cfg が含まれます。
Example ElastiCache の AWS CLI によるエンドポイントの検索
Linux, macOS, or Unix 用:
$ aws elasticache describe-cache-clusters \
--cache-cluster-id mycluster \
--show-cache-node-info
Windows の場合:
$ aws elasticache describe-cache-clusters ^
--cache-cluster-id mycluster ^
--show-cache-node-info
このオペレーションでは、以下のような (JSON 形式の) 出力が生成されます。
{
"CacheClusters": [
{
"Engine": "memcached",
"CacheNodes": [
{
"CacheNodeId": "0001",
"Endpoint": {
"Port": 11211,
"Address": "mycluster.fnjyzo.cfg.0001.use1.cache.amazonaws.com"
},
"CacheNodeStatus": "available",
"ParameterGroupStatus": "in-sync",
"CacheNodeCreateTime": "2016-10-12T21:39:28.001Z",
"CustomerAvailabilityZone": "us-east-1e"
},
{
"CacheNodeId": "0002",
"Endpoint": {
"Port": 11211,
"Address": "mycluster.fnjyzo.cfg.0002.use1.cache.amazonaws.com"
API Version 2015-02-02
107
Amazon ElastiCache ユーザーガイド
ステップ 2: ElastiCache クラスター
クライアントをダウンロードする
},
"CacheNodeStatus": "available",
"ParameterGroupStatus": "in-sync",
"CacheNodeCreateTime": "2016-10-12T21:39:28.001Z",
"CustomerAvailabilityZone": "us-east-1a"
}
],
"CacheParameterGroup": {
"CacheNodeIdsToReboot": [],
"CacheParameterGroupName": "default.memcached1.4",
"ParameterApplyStatus": "in-sync"
},
"CacheClusterId": "mycluster",
"PreferredAvailabilityZone": "Multiple",
"ConfigurationEndpoint": {
"Port": 11211,
"Address": "mycluster.fnjyzo.cfg.use1.cache.amazonaws.com"
},
"CacheSecurityGroups": [],
"CacheClusterCreateTime": "2016-10-12T21:39:28.001Z",
"AutoMinorVersionUpgrade": true,
"CacheClusterStatus": "available",
"NumCacheNodes": 2,
"ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/
home#client-download:",
"CacheSubnetGroupName": "default",
"EngineVersion": "1.4.24",
"PendingModifiedValues": {},
"PreferredMaintenanceWindow": "sat:06:00-sat:07:00",
"CacheNodeType": "cache.r3.large"
}
]
}
ステップ 2: ElastiCache クラスタークライアントをダ
ウンロードする
自動検出を利用するには、クライアントプログラムが ElastiCache クラスタークライアントする必要が
あります。ElastiCache Cluster Client は、Java、PHP、および .NET 向けが用意されており、すべての
キャッシュノードを検出して接続するのに必要なロジックすべてが含まれています。
ElastiCache クラスタークライアントをダウンロードするには
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール (https://
console.aws.amazon.com/elasticache/) を開きます。
2.
ElastiCache コンソールで、[ElastiCache Cluster Client] を選択して [Download] を選択します。
Java 向けの ElastiCache クラスタークライアントのソースコードは、https://github.com/
amazonwebservices/aws-elasticache-cluster-client-memcached-for-java で入手できます。このライブラ
リは、広く使用されている Spymemcached クライアントがベースとなっています。ElastiCache Cluster
Client は、Amazon ソフトウェアライセンス https://aws.amazon.com/asl の下にリリースされています。
ソースコードは必要に合わせて自由に変更できます。他のオープンソース Memcached ライブラリや独自
のクライアントコードにコードを組み込むこともできます。
Note
PHP 向けの ElastiCache クラスタークライアントを使用するには、まず Amazon EC2 インスタン
スにインストールする必要があります。詳細については、「ElastiCache Cluster Client for PHP の
インストール (p. 117)」を参照してください。
API Version 2015-02-02
108
Amazon ElastiCache ユーザーガイド
ステップ 3: アプリケーションプログラムを変更する
.NET 向けの ElastiCache Cluster Client を使用するには、まず Amazon EC2 インスタンスにイン
ストールする必要があります。詳細については、「ElastiCache Cluster Client for .NET のインス
トール (p. 115)」を参照してください。
ステップ 3: アプリケーションプログラムを変更する
自動検出を使用するようにアプリケーションプログラムを変更する準備ができました。以下のセクション
では、Java、PHP、および .NET 向けの ElastiCache Cluster Client を使用する方法を示します。
Important
クラスターの設定エンドポイントを指定する際は必ず、ここに示す設定エンドポイントのアドレ
スに「.cfg」が含まれていることを確認してください。「.cfg」のない CNAME またはエンドポイ
ントは使用しないでください。
"mycluster.fnjyzo.cfg.use1.cache.amazonaws.com";
クラスターの設定エンドポイントを明示的に指定しない場合は、特定のノードが設定されます。
トピック
• Java 向けの ElastiCache クラスタークライアントの使用 (p. 109)
• PHP 向けの ElastiCache クラスタークライアントの使用 (p. 110)
• .NET 向けの ElastiCache Cluster Client の使用 (p. 111)
Java 向けの ElastiCache クラスタークライアントの使用
以下のプログラムは、ElastiCache クラスタークライアントを使用してクラスター設定エンドポイントに
接続し、キャッシュにデータ項目を追加する方法を示しています。さらに操作を行わなくても、プログラ
ムは自動検出を使用してクラスター内のすべてのノードに接続します。
package com.amazon.elasticache;
import java.io.IOException;
import java.net.InetSocketAddress;
// Import the AWS-provided library with Auto Discovery support
import net.spy.memcached.MemcachedClient;
public class AutoDiscoveryDemo {
public static void main(String[] args) throws IOException {
String configEndpoint = "mycluster.fnjyzo.cfg.use1.cache.amazonaws.com";
Integer clusterPort = 11211;
MemcachedClient client = new MemcachedClient(
new InetSocketAddress(configEndpoint,
clusterPort));
// The client will connect to the other cache nodes automatically.
// Store a data item for an hour.
// The client will decide which cache host will store this item.
client.set("theKey", 3600, "This is the data value");
}
}
API Version 2015-02-02
109
Amazon ElastiCache ユーザーガイド
ステップ 3: アプリケーションプログラムを変更する
PHP 向けの ElastiCache クラスタークライアントの使用
以下のプログラムは、ElastiCache クラスタークライアントを使用してクラスター設定エンドポイントに
接続し、キャッシュにデータ項目を追加する方法を示しています。さらに操作を行わなくても、プログラ
ムは自動検出を使用してクラスター内のすべてのノードに接続します。
PHP 向けの ElastiCache クラスタークライアントを使用するには、まず Amazon EC2 インスタンスに
インストールする必要があります。詳細については、「ElastiCache Cluster Client for PHP のインストー
ル (p. 117)」を参照してください。
<?php
/**
* Sample PHP code to show how to integrate with the Amazon ElastiCache
* Auto Discovery feature.
*/
/* Configuration endpoint to use to initialize memcached client.
* This is only an example. */
$server_endpoint = "mycluster.fnjyzo.cfg.use1.cache.amazonaws.com";
/* Port for connecting to the ElastiCache cluster.
* This is only an example */
$server_port = 11211;
/**
* The following will initialize a Memcached client to utilize the Auto Discovery feature.
*
* By configuring the client with the Dynamic client mode with single endpoint, the
* client will periodically use the configuration endpoint to retrieve the current cache
* cluster configuration. This allows scaling the cache cluster up or down in number of
nodes
* without requiring any changes to the PHP application.
*
* By default the Memcached instances are destroyed at the end of the request.
* To create an instance that persists between requests,
*
use persistent_id to specify a unique ID for the instance.
* All instances created with the same persistent_id will share the same connection.
* See http://php.net/manual/en/memcached.construct.php for more information.
*/
$dynamic_client = new Memcached('persistent-id');
$dynamic_client->setOption(Memcached::OPT_CLIENT_MODE, Memcached::DYNAMIC_CLIENT_MODE);
$dynamic_client->addServer($server_endpoint, $server_port);
/**
* Store the data for 60 seconds in the cluster.
* The client will decide which cache host will store this item.
*/
$dynamic_client->set('key', 'value', 60);
/**
* Configuring the client with Static client mode disables the usage of Auto Discovery
* and the client operates as it did before the introduction of Auto Discovery.
* The user can then add a list of server endpoints.
*/
$static_client = new Memcached('persistent-id');
$static_client->setOption(Memcached::OPT_CLIENT_MODE, Memcached::STATIC_CLIENT_MODE);
$static_client->addServer($server_endpoint, $server_port);
/**
* Store the data without expiration.
* The client will decide which cache host will store this item.
*/
API Version 2015-02-02
110
Amazon ElastiCache ユーザーガイド
ステップ 3: アプリケーションプログラムを変更する
$static_client->set('key', 'value');
?>
.NET 向けの ElastiCache Cluster Client の使用
ElastiCache の .NET クライアントは、オープンソースとして https://github.com/awslabs/elasticachecluster-config-net から入手できます。
.NET アプリケーションは、通常、config ファイルから設定を取得します。サンプルアプリケーションの
config ファイルを以下に示します。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section
name="clusterclient"
type="Amazon.ElastiCacheCluster.ClusterConfigSettings,
Amazon.ElastiCacheCluster" />
</configSections>
<clusterclient>
<!-- the hostname and port values are from step 1 above -->
<endpoint hostname="mycluster.fnjyzo.cfg.use1.cache.amazonaws.com" port="11211" />
</clusterclient>
</configuration>
以下の C† プログラムは、ElastiCache Cluster Client を使用してクラスター設定エンドポイントに接続
し、キャッシュにデータ項目を追加する方法を示しています。さらに操作を行わなくても、プログラムは
自動検出を使用してクラスター内のすべてのノードに接続します。
// *****************
// Sample C# code to show how to integrate with the Amazon ElastiCcache Auto Discovery
feature.
using System;
using Amazon.ElastiCacheCluster;
using Enyim.Caching;
using Enyim.Caching.Memcached;
public class DotNetAutoDiscoveryDemo
{
public static void Main(String[] args)
{
// instantiate a new client.
ElastiCacheClusterConfig config = new ElastiCacheClusterConfig();
MemcachedClient memClient = new MemcachedClient(config);
// Store the data for 3600 seconds (1hour) in the cluster.
// The client will decide which cache host will store this item.
memClient.Store(StoreMode.Set, 3600, "This is the data value.");
}
}
// end Main
// end class DotNetAutoDiscoverDemo
API Version 2015-02-02
111
Amazon ElastiCache ユーザーガイド
キャッシュノードへの手動接続
キャッシュノードへの手動接続
プログラムクライアントが自動検出を使用していない場合、各キャッシュノードに手動で接続できます。
これは、Memcached クライアントのデフォルトの動作です。
キャッシュノードのホスト名とポート番号のリストは、AWS マネジメントコンソールから取得できま
す。AWS CLI aws elasticache describe-cache-clusters コマンドを --show-cache-node-info パラ
メーターを指定して使用することもできます。
Example
以下の Java コードスニペットは、4 ノードキャッシュクラスター内のすべてのノードに接続する方法を示
しています。
...
ArrayList<String> cacheNodes = new ArrayList<String>(
Arrays.asList(
"mycachecluster.fnjyzo.0001.use1.cache.amazonaws.com:11211",
"mycachecluster.fnjyzo.0002.use1.cache.amazonaws.com:11211",
"mycachecluster.fnjyzo.0003.use1.cache.amazonaws.com:11211",
"mycachecluster.fnjyzo.0004.use1.cache.amazonaws.com:11211"));
MemcachedClient cache = new MemcachedClient(AddrUtil.getAddresses(cacheNodes));
...
Important
ノードを追加または削除することでキャッシュクラスターをスケールアップまたはスケールダウ
ンする場合、クライアントコード内のノードのリストを更新する必要があります。
API Version 2015-02-02
112
Amazon ElastiCache ユーザーガイド
クライアントライブラリへの自動検出の追加
クライアントライブラリへの自動検出の追加
自動検出の設定情報は、各キャッシュクラスターノードに冗長的に保存されます。クライアントアプリ
ケーションは、任意のキャッシュノードのクエリを実行し、クラスター内のすべてのノードの設定情報を
取得できます。
アプリケーションがこれを行う方法は、キャッシュエンジンバージョンによって異なります。
• キャッシュエンジンバージョンが 1.4.14 以上の場合、config コマンドを使用します。
• キャッシュエンジンバージョンが 1.4.14 未満の場合、get AmazonElastiCache:cluster コマンドを使
用します。
これらの 2 つのコマンドの出力は同じです。以下の「出力形式 (p. 114)」セクションで説明します。
キャッシュエンジンバージョン 1.4.14 以上
キャッシュエンジンバージョン 1.4.14 以上の場合、config コマンドを使用します。このコマンド
は、ElastiCache により Memcached ASCII およびバイナリプロトコルに追加され、ElastiCache クラス
タークライアントに実装されます。別のクライアントライブラリで自動検出を使用する場合、config コマ
ンドをサポートするためにそのライブラリを拡張する必要があります。
Note
以下のドキュメントは ASCII プロトコルに関連しています。ただし、config コマンドでは ASCII
とバイナリの両方がサポートされます。バイナリプロトコルを使用する自動検出サポートを追加
する場合、「ElastiCache クラスタークライアントのソースコード」を参照してください。
構文
config [sub-command] [key]
オプション
名前
説明
必須
sub-command
キャッシュノードの操作に使用されるサブコマンド。自動検出の場合、こ
のサブコマンドは get です。
はい
key
クラスター設定が格納されたキー。自動検出の場合、このキーの名前は
cluster です。
はい
クラスターの設定情報を取得するには、以下のコマンドを使用します。
config get cluster
キャッシュエンジンバージョン 1.4.14 未満
クラスターの設定情報を取得するには、以下のコマンドを使用します。
get AmazonElastiCache:cluster
API Version 2015-02-02
113
Amazon ElastiCache ユーザーガイド
出力形式
Note
「AmazonElastiCache:cluster」キーには、クラスターの設定情報が存在するため、変更しないこ
とをお勧めします。このキーを上書きした場合、ElastiCache により設定情報が自動的かつ正しく
設定されるまで、クライアントの設定が短時間 (15 秒以内) 不適切になる可能性があります。
出力形式
config get cluster を使用するか get AmazonElastiCache:cluster を使用するかにかかわらず、応答は
2 行で構成されます。
• 設定情報のバージョン番号。キャッシュクラスターにノードが追加または削除されるたび、バージョン
番号は 1 ずつ増加します。
• キャッシュノードのリスト。リスト内の各ノードは、hostname|ip-address|port グループによって表さ
れ、各ノードはスペースで区切られます。
各行の末尾には、キャリッジリターンと改行文字 (CR + LF) が表示されます。データ行には最後に改行文
字 (LF) が含まれ、ここに CR + LF が追加されます。バージョン設定行は、CR なしの LF で終了します。
3 つのノードを含むキャッシュクラスターは、次のように表されます。
configversion\n
hostname|ip-address|port hostname|ip-address|port hostname|ip-address|port\n\r\n
各ノードは、CNAME およびプライベート IP アドレスと共に表示されます。CNAME は常に存在します。
プライベート IP アドレスを使用できない場合は表示されませんが、その場合もパイプ文字「|」は出力さ
れます。
Example
設定情報のクエリを実行した場合に返されるペイロードの例を次に示します。
CONFIG cluster 0 147\r\n
12\n
myCluster.pc4ldq.0001.use1.cache.amazonaws.com|10.82.235.120|11211
myCluster.pc4ldq.0002.use1.cache.amazonaws.com|10.80.249.27|11211\n\r\n
END\r\n
Note
• 2 行目は、設定情報がこれまで 12 回変更されたことを示しています。
• 3 行目のノードのリストでは、ホスト名がアルファベット順に並んでいます。この順序は、現
在クライアントアプリケーションで何を使用しているかにより異なる場合があります。
ElastiCache クライアント自動検出クライアントの
使用
このセクションでは、ElastiCache PHP と .NET クライアントのインストールと構成について説明しま
す。
トピック
• クラスタークライアントのインストールとコンパイル (p. 115)
• ElastiCache クライアントの設定 (p. 125)
API Version 2015-02-02
114
Amazon ElastiCache ユーザーガイド
クライアントのインストールとコンパイル
クラスタークライアントのインストールとコンパイル
このセクションでは、PHP および .NET Amazon ElastiCache 自動検出クラスタークライアントのインス
トール、設定、コンパイルを取り上げます。
トピック
• ElastiCache Cluster Client for .NET のインストール (p. 115)
• ElastiCache Cluster Client for PHP のインストール (p. 117)
• PHP 向けの ElastiCache クラスタークライアントのソースコードのコンパイル (p. 123)
ElastiCache Cluster Client for .NET のインストール
ElastiCache .NET Cluster Client のコードは、オープンソースとして https://github.com/awslabs/
elasticache-cluster-config-net から入手できます。
このセクションでは、Amazon EC2 インスタンスで ElastiCache Cluster Client の .NET コンポーネントを
インストール、更新、および削除する方法について説明します。自動検出の詳細については、「ノードの
自動検出 (Memcached) (p. 101)」を参照してください。クライアントを使用するサンプル .NET コードに
ついては、「.NET 向けの ElastiCache Cluster Client の使用 (p. 111)」を参照してください。
トピック
• .NET のインストール (p. 115)
• ElastiCache .NET Cluster Client for ElastiCache のダウンロード (p. 115)
• NuGet を使用した AWS アセンブリのインストール (p. 115)
.NET のインストール
AWS .NET SDK for ElastiCache を使用するには、.NET 3.5 以降がインストールされている必要がありま
す。.NET 3.5 以降がインストールされていない場合は、http://www.microsoft.com/net から最新バージョン
をダウンロードしてインストールできます。
ElastiCache .NET Cluster Client for ElastiCache のダウンロード
ElastiCache .NET Cluster Client をダウンロードするには
1.
2.
3.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
左側のナビゲーションペインで [ElastiCache Cluster Client] をクリックします。
[Download ElastiCache Memcached Cluster Client] リストで、[.NET] を選択し、[Download] をクリッ
クします。
NuGet を使用した AWS アセンブリのインストール
NuGet は .NET プラットフォームのパッケージ管理システムです。NuGet ではアセンブリの依存関係が認
識され、必要なすべてのファイルが自動的にインストールされます。NuGet によってインストールされる
アセンブリは、Program Files などの一元的な場所ではなく、ソリューションと共に保存されるため、互
換性の問題を発生させることなく、アプリケーションに固有のバージョンをインストールできます。
NuGet のインストール
NuGet は MSDN の Installation Gallery からインストールできます。https://
visualstudiogallery.msdn.microsoft.com/27077b70-9dad-4c64-adcf-c7cf6bc9970c を参照してくださ
い。Visual Studio 2010 以降を使用している場合、NuGet は自動的にインストールされます。
API Version 2015-02-02
115
Amazon ElastiCache ユーザーガイド
クライアントのインストールとコンパイル
NuGet はソリューションエクスプローラーまたはパッケージマネージャコンソールから使用できます。
ソリューションエクスプローラーからの NuGet の使用
Visual Studio 2010 でソリューションエクスプローラーから NuGet を使用するには
1.
[Tools] メニューから、[Library Package Manager] を選択します。
2.
[Package Manager Console] をクリックします。
Visual Studio 2012 または Visual Studio 2013 でソリューションエクスプローラーから NuGet を
使用するには
1.
[Tools] メニューから、[NuGet Package Manager] を選択します。
2.
[Package Manager Console] をクリックします。
コマンドラインから、次のように Install-Package を使用してアセンブリをインストールできます。
Install-Package Amazon.ElastiCacheCluster
AWSSDK や AWS.Extensions アセンブリなど、NuGet を通じて利用できる各パッケージ用のページを表
示するには、NuGet ウェブサイト (http://www.nuget.org) を参照してください。各パッケージのページに
は、コンソールを使用してパッケージをインストールするためのサンプルコマンドラインや、NuGet を通
じて利用できるパッケージの以前のバージョンのリストが含まれています。
Package Manager Console のコマンドの詳細については、http://nuget.codeplex.com/wikipage?
title=Package%20Manager%20Console%20Command%20Reference%20%28v1.3%29 を参照してくださ
い。
API Version 2015-02-02
116
Amazon ElastiCache ユーザーガイド
クライアントのインストールとコンパイル
ElastiCache Cluster Client for PHP のインストール
このセクションでは、Amazon EC2 インスタンスで ElastiCache Cluster Client の PHP コンポーネントを
インストール、更新、および削除する方法について説明します。自動検出の詳細については、「ノードの
自動検出 (Memcached) (p. 101)」を参照してください。クライアントを使用するサンプル PHP コードに
ついては、「PHP 向けの ElastiCache クラスタークライアントの使用 (p. 110)」を参照してください。
トピック
• インストールパッケージのダウンロード (p. 117)
• 新規ユーザーのインストール手順 (p. 118)
• 既に php-memcached 拡張機能をインストールしているユーザーの場合 (p. 121)
• PHP Cluster Client の削除 (p. 121)
インストールパッケージのダウンロード
適切なバージョンの ElastiCache Cluster Client for PHP を使用するには、Amazon EC2 インスタンスにイ
ンストールされている PHP のバージョンを確認する必要があります。また、Amazon EC2 インスタンス
が Linux の 64 ビットバージョンと 32 ビットバージョンのどちらを実行しているかも確認する必要があり
ます。
Amazon EC2 インスタンスにインストールされている PHP のバージョンを確認するには
•
コマンドプロンプトで、次のコマンドを入力します。
$ php -v
PHP のバージョンは、次の例のように出力に表示されます。
PHP 5.4.10 (cli) (built: Jan 11 2013 14:48:57)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
Note
PHP と Memcached のバージョンに互換性がない場合は、以下のようなエラーメッセージが
表示されます。
PHP Warning: PHP Startup: memcached: Unable to initialize module
Module compiled with module API=20100525
PHP compiled with module API=20131226
These options need to match
in Unknown on line 0
この場合は、ソースコードからモジュールをコンパイルする必要があります。詳細につ
いては、「PHP 向けの ElastiCache クラスタークライアントのソースコードのコンパイ
ル (p. 123)」を参照してください。
Amazon EC2 AMI アーキテクチャ (64 ビットまたは 32 ビット) を確認するには
1.
AWS マネジメントコンソールにサインインをしたあと、https://console.aws.amazon.com/ec2/ にある
Amazon EC2 コンソールを開きます。
2.
[Instances] リストで、Amazon EC2 インスタンスをクリックします。
API Version 2015-02-02
117
Amazon ElastiCache ユーザーガイド
クライアントのインストールとコンパイル
3.
[Description] タブで、[AMI:] フィールドを検索します。64 ビットのインスタンスでは、説明に x86_64
が含まれています。32 ビットのインスタンスの場合は、このフィールドで i386 または i686 を探し
ます。
これで ElastiCache Cluster Client をダウンロードする準備ができました。
ElastiCache Cluster Client for PHP をダウンロードするには
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
ElastiCache コンソールで、[Download ElastiCache Cluster Client] をクリックします。
3.
PHP のバージョンと AMI アーキテクチャに適した ElastiCache Cluster Client を選択し、[Download
ElastiCache Cluster Client] ボタンをクリックします。
新規ユーザーのインストール手順
トピック
• 新規ユーザー向けの PHP 7.x のインストール (p. 118)
• 新規ユーザー向けの PHP 5.x のインストール (p. 119)
新規ユーザー向けの PHP 7.x のインストール
Ubuntu Server 14.04 LTS AMI (64 ビットおよび 32 ビット) に PHP 7 をインストールするには
1.
AMI から新しいインスタンスを起動します。
2.
以下のコマンドを実行します。
sudo apt-get update
sudo apt-get install gcc g++
3.
PHP 7 をインストールします。
4.
Amazon ElastiCache Cluster Client をダウンロードし、解凍します。
5.
root アクセス権限を使用して、抽出されたアーティファクトファイル amazon-elasticache-clusterclient.so を /usr/lib/php/20151012 にコピーします。
6.
/etc/php/7.0/cli/php.ini ファイルに extension=amazon-elasticache-cluster-client.so 行を挿
入します。
Amazon Linux 201509 AMI または Red Hat 7 AMI に PHP 7 をインストールするには
1.
AMI から新しいインスタンスを起動します。
2.
次のコマンドを実行します。
sudo yum install gcc-c++
3.
PHP 7 をインストールします。
4.
Amazon ElastiCache Cluster Client をダウンロードし、解凍します。
5.
root アクセス権限を使用して、抽出されたアーティファクトファイル amazon-elasticache-clusterclient.so を /usr/lib64/php/modules/ にコピーします。
6.
/etc/php.ini ファイルに extension=amazon-elasticache-cluster-client.so 行を挿入します。
API Version 2015-02-02
118
Amazon ElastiCache ユーザーガイド
クライアントのインストールとコンパイル
SUSE Linux AMI に PHP 7 をインストールするには
1.
AMI から新しいインスタンスを起動します。
2.
次のコマンドを実行します。
sudo zypper install gcc
3.
PHP 7 をインストールします。
4.
Amazon ElastiCache Cluster Client をダウンロードし、解凍します。
5.
root アクセス権限を使用して、抽出されたアーティファクトファイル amazon-elasticache-clusterclient.so を /usr/lib64/php7/extensions/ にコピーします。
6.
/etc/php7/cli/php.ini ファイルに extension=amazon-elasticache-cluster-client.so 行を挿入
します。
新規ユーザー向けの PHP 5.x のインストール
Amazon Linux AMI 2014.03 (64 ビットおよび 32 ビット) に PHP 5 をインストールするには
1.
Amazon Linux インスタンス (64 ビットまたは 32 ビット) を起動し、ログインします。
2.
PHP の依存関係をインストールします。
$ sudo yum install gcc-c++ php php-pear
3.
Amazon EC2 インスタンスと PHP のバージョンに合った適切な php-memcached パッケージをダウン
ロードします。詳細については、「インストールパッケージのダウンロード (p. 117)」を参照してく
ださい。
4.
インストール php-memcached. URI にはインストールパッケージのダウンロードパスを指定します。
$ sudo pecl install <package download path>
PHP 5.4、64 ビット Linux 用のサンプルインストールコマンドを次に示します。このサンプルで
は、X.Y.Z を実際のバージョン番号に置き換えてください。
$ sudo pecl install /home/AmazonElastiCacheClusterClient-X.Y.Z-PHP54-64bit.tgz
Note
インストールアーティファクトの最新バージョンを使用してください。
5.
root/sudo アクセス許可を使用して、memcached.ini という名前の新しいファイルを /etc/php.d ディ
レクトリに追加し、このファイルに「extension=amazon-elasticache-cluster-client.so」を挿入しま
す。
$ echo "extension=amazon-elasticache-cluster-client.so" | sudo tee /etc/php.d/
memcached.ini
Red Hat Enterprise Linux 7.0 AMI (64 ビットおよび 32 ビット) に PHP 5 をインストールするには
1.
Red Hat Enterprise Linux インスタンス (64 ビットまたは 32 ビット) を起動し、ログインします。
2.
PHP の依存関係をインストールします。
$ sudo yum install gcc-c++ php php-pear
API Version 2015-02-02
119
Amazon ElastiCache ユーザーガイド
クライアントのインストールとコンパイル
3.
Amazon EC2 インスタンスと PHP のバージョンに合った適切な php-memcached パッケージをダウン
ロードします。詳細については、「インストールパッケージのダウンロード (p. 117)」を参照してく
ださい。
4.
インストール php-memcached. URI にはインストールパッケージのダウンロードパスを指定します。
$ sudo pecl install <package download path>
5.
root/sudo アクセス許可を使用して、memcached.ini という名前の新しいファイルを /etc/php.d ディ
レクトリに追加し、このファイルに「extension=amazon-elasticache-cluster-client.so」を挿入
します。
$ echo "extension=amazon-elasticache-cluster-client.so" | sudo tee /etc/php.d/
memcached.ini
他の Linux ディストリビューション
特に CentOS7 や Red Hat Enterprise Linux (RHEL) 7.1 など、一部のシステムでは、libsasl2.so.3 が
libsasl2.so.2 に置き換えられました。これらのシステムは、ElastiCache クラスタークライアントを
ロードする際、libsasl2.so.2 をロードしようとしますが見つけることができません。この問題を解決す
るには、クライアントが libsasl2.so.2 をロードしようとしたときに libsasl2.so.3 にリダイレクトされる
ように、libsasl2.so.3 へのシンボリックリンクを作成します。次のコードでは、このシンボリックリン
クが作成されます。
$ cd /usr/lib64
$ sudo ln libsasl2.so.3 libsasl2.so.2
Ubuntu Server 14.04 LTS AMI (64 ビットおよび 32 ビット) に PHP 5 をインストールするには
1.
Ubuntu Linux インスタンス (64 ビットまたは 32 ビット) を起動し、ログインします。
2.
PHP の依存関係をインストールします。
$ sudo apt-get update
sudo apt-get install gcc g++ php5 php-pear
3.
Amazon EC2 インスタンスと PHP のバージョンに合った適切な php-memcached パッケージをダウン
ロードします。詳細については、「インストールパッケージのダウンロード (p. 117)」を参照してく
ださい。
4.
インストール php-memcached. URI にはインストールパッケージのダウンロードパスを指定します。
$ sudo pecl install <package download path>
Note
このインストール手順では、ビルドアーティファクト amazon-elasticache-clusterclient.so を /usr/lib/php5/20121212* ディレクトリにインストールします。次のステップ
で必要になるため、ビルドアーティファクトの絶対パスを確認してください。
前のコマンドが機能しない場合は、PHP クライアントアーティファクト amazon-elasticachecluster-client.so を、ダウンロードした *.tgz ファイルから手動で抽出し、/usr/lib/
php5/20121212* ディレクトリにコピーする必要があります。
$ tar -xvf <package download path>
cp amazon-elasticache-cluster-client.so /usr/lib/php5/20121212/
API Version 2015-02-02
120
Amazon ElastiCache ユーザーガイド
クライアントのインストールとコンパイル
5.
root/sudo アクセス許可を使用して、memcached.ini という名前の新しいファイルを /etc/php5/cli/
conf.d ディレクトリに追加し、このファイルに「extension=<amazon-elasticache-cluster-client.so へ
の絶対パス>」を挿入します。
$ echo "extension=<absolute path to amazon-elasticache-cluster-client.so>" | sudo tee /
etc/php5/cli/conf.d/memcached.ini
SUSE Linux Enterprise Server 11 AMI (64 ビットまたは 32 ビット) に PHP 5 をインストールする
には
1.
SUSE Linux インスタンス (64 ビットまたは 32 ビット) を起動し、ログインします。
2.
PHP の依存関係をインストールします。
$ sudo zypper install gcc php53-devel
3.
Amazon EC2 インスタンスと PHP のバージョンに合った適切な php-memcached パッケージをダウン
ロードします。詳細については、「インストールパッケージのダウンロード (p. 117)」を参照してく
ださい。
4.
インストール php-memcached. URI にはインストールパッケージのダウンロードパスを指定します。
$ sudo pecl install <package download path>
5.
root/sudo アクセス許可を使用して、memcached.ini という名前の新しいファイルを /etc/php5/php.d
ディレクトリに追加し、このファイルに「extension=amazon-elasticache-cluster-client.so」を
挿入します。
$ echo "extension=amazon-elasticache-cluster-client.so" | sudo tee /etc/php5/conf.d/
memcached.ini
Note
前のプラットフォームのいずれかでステップ 5 が機能しない場合は、amazon-elasticachecluster-client.so のインストールパスを確認し、extension でこのバイナリの完全なパスを指
定します。また、使用中の PHP がサポートされているバージョンであることも確認します。バー
ジョン 5.3 ~ 5.5 がサポートされています。
既に php-memcached 拡張機能をインストールしているユーザーの場合
php-memcached
のインストールを更新するには
1.
「PHP Cluster Client の削除 (p. 121)」トピックで説明しているように、PHP 用の Memcached 拡張
機能の以前のインストールを削除します。
2.
前に「新規ユーザーのインストール手順 (p. 118)」で説明したように、新しい ElastiCache phpmemcached 拡張機能をインストールします。
PHP Cluster Client の削除
トピック
• PHP 7 の以前のバージョンの削除 (p. 122)
• PHP 5 の以前のバージョンの削除 (p. 122)
API Version 2015-02-02
121
Amazon ElastiCache ユーザーガイド
クライアントのインストールとコンパイル
PHP 7 の以前のバージョンの削除
PHP 7 の以前のバージョンを削除するには
1.
インストール手順で先ほど示した該当する PHP lib ディレクトリから amazon-elasticache-clusterclient.so ファイルを削除します。「既に php-memcached 拡張機能をインストールしているユー
ザーの場合 (p. 121)」でインストールのセクションを参照してください。
2.
php.ini ファイルから extension=amazon-elasticache-cluster-client.so 行を削除します。
PHP 5 の以前のバージョンの削除
PHP 5 の以前のバージョンを削除するには
1.
php-memcached 拡張機能を削除します。
$ sudo pecl uninstall __uri/AmazonElastiCacheClusterClient
2.
前のインストールの手順に従って適切なディレクトリに追加した memcached.ini ファイルを削除しま
す。
API Version 2015-02-02
122
Amazon ElastiCache ユーザーガイド
クライアントのインストールとコンパイル
PHP 向けの ElastiCache クラスタークライアントのソースコー
ドのコンパイル
このセクションでは、ElastiCache Cluster Client for PHP のソースコードを取得しコンパイルする方法に
ついて説明します。
GitHub から取得し、コンパイルする必要がある 2 つのパッケージがあります。aws-elasticache-clusterclient-libmemcached および aws-elasticache-cluster-client-memcached-for-php。
トピック
• libmemcached ライブラリのコンパイル (p. 123)
• PHP 用 ElastiCache Memcached Auto Discovery クライアントのコンパイル (p. 123)
libmemcached ライブラリのコンパイル
aws-elasticache-cluster-client-libmemcached ライブラリをコンパイルするには
1.
Amazon EC2 インスタンスの起動
2.
ライブラリの依存関係をインストールします。
• Amazon Linux 201509 AMI 上
sudo yum install gcc gcc-c++ autoconf libevent-devel
• Ubuntu 14.04 AMI 上
sudo apt-get update
sudo apt-get install libevent-dev gcc g++ make autoconf libsasl2-dev
3.
リポジトリをプルし、コードをコンパイルします。
git clone https://github.com/awslabs/aws-elasticache-cluster-client-libmemcached.git
cd aws-elasticache-cluster-client-libmemcached
mkdir BUILD
cd BUILD
../configure --prefix=<libmemcached-install-directory> --with-pic
make
sudo make install
PHP 用 ElastiCache Memcached Auto Discovery クライアントのコンパイル
以下のセクションでは、ElastiCacheMemcached Auto Discovery クライアントをコンパイルする方法につ
いて説明します。
トピック
• PHP 7 用 ElastiCache Memcached クライアントのコンパイル (p. 123)
• PHP 5 用 ElastiCache Memcached クライアントのコンパイル (p. 124)
PHP 7 用 ElastiCache Memcached クライアントのコンパイル
code ディレクトリで以下の一連のコマンドを実行します。
git clone https://github.com/awslabs/aws-elasticache-cluster-client-memcached-for-php.git
API Version 2015-02-02
123
Amazon ElastiCache ユーザーガイド
クライアントのインストールとコンパイル
cd aws-elasticache-cluster-client-memcached-for-php
git checkout php7
sudo yum install php70-devel
phpize
./configure --with-libmemcached-dir=<libmemcached-install-directory> --disable-memcachedsasl
make
make install
Note
PHP バイナリに libmemcached ライブラリを静的にリンクして、さまざまな Linux プラット
フォーム間で移植できるようにします。そのためには、make の前に
sed -i "s#-lmemcached#<libmemcached-install-directory>/lib/libmemcached.a -lcrypt lpthread -lm -lstdc++ -lsasl2#" Makefile
コマンドを実行します。
PHP 5 用 ElastiCache Memcached クライアントのコンパイル
aws-elasticache-cluster-client-memcached-for-php/ フォルダーで、以下のコマンドを実行して awselasticache-cluster-client-memcached-for-php をコンパイルします。
git clone https://github.com/awslabs/aws-elasticache-cluster-client-memcached-for-php.git
cd aws-elasticache-cluster-client-memcached-for-php
sudo yum install zlib-devel
phpize
./configure --with-libmemcached-dir=<libmemcached-install-directory>
make
make install
API Version 2015-02-02
124
Amazon ElastiCache ユーザーガイド
クライアントの設定
ElastiCache クライアントの設定
ElastiCache クラスターは、クラスターの作成時に選択したキャッシュエンジンに応じて Memcached ま
たは Redis に準拠したプロトコルです。既存の Memcached または Redis 環境で現在使用しているコー
ド、アプリケーション、および広く使用されているほとんどのツールは、このサービスでもシームレスに
動作します。
このセクションでは、ElastiCache のキャッシュノードに接続するための特定の考慮事項について説明し
ます。
トピック
• 制限されるコマンド (p. 125)
• ノードのエンドポイントおよびポート番号を検索する (p. 125)
• 自動検出を使用するための接続 (p. 127)
• Redis クラスター内のノードへの接続 (p. 127)
• DNS 名と基になっている IP (p. 128)
制限されるコマンド
マネージドサービス操作性を実現するため、ElastiCache では高度な特権を必要とする特定のキャッシュ
エンジン固有のコマンドへのアクセスが制限されます。
• Memcached を実行するキャッシュクラスターの場合、制限されるコマンドはありません。
• Redis を実行するキャッシュクラスターの場合、次のコマンドは使用できせん。
• bgrewriteaof
• bgsave
• config
• debug
• migrate
• save
• slaveof
• shutdown
ノードのエンドポイントおよびポート番号を検索する
キャッシュノードに接続するには、アプリケーションがそのノードのエンドポイントとポート番号を認識
している必要があります。
ノードエンドポイントおよびポート番号を検索する (コンソール)
ノードエンドポイントとポート番号を調べるには
1.
「Amazon ElastiCache マネジメントコンソール」にサインインし、[Memcached] または [Redis] を選
択します。
選択したエンジンを実行しているクラスターがすべて一覧表示されます。
2.
実行しているエンジンや設定に対して、以下を行います。
Memcached
1.
対象のクラスターの名前を選択します。
API Version 2015-02-02
125
Amazon ElastiCache ユーザーガイド
クライアントの設定
2.
関心があるノードの [ポート] および [エンドポイント] 列を見つけます。
Redis: 非クラスターモード
1.
対象のクラスターの名前を選択します。
2.
関心があるノードの [ポート] および [エンドポイント] 列を見つけます。
Redis: クラスターモード
1.
対象のクラスターの名前を選択します。
対象クラスターのシャードがすべて一覧表示されます。
2.
関心のあるシャードの名前を選択します。
シャード内のノードがすべて一覧表示されます。
3.
関心があるノードの [ポート] および [エンドポイント] 列を見つけます。
キャッシュノードのエンドポイントおよびポート番号を検索する (AWS CLI)
キャッシュノードのエンドポイントとポート番号を確認するには、describe-cache-clusters コマンドを
--show-cache-node-info パラメータを指定して使用します。
aws elasticache describe-cache-clusters --show-cache-node-info
このコマンドでは、次のような出力が生成されます。
CACHECLUSTER my-memcached
https://console.aws.amazon.com/elasticache/home#clientdownload: 2013-07-09T22:12:42.151Z cache.t1.micro memcached available 1 us-west-2a
1.4.14
CACHESECURITYGROUP
default active
CACHEPARAMETERGROUP default.memcached1.4 in-sync
CACHENODE 0001 available my-memcached.f310xz.cache.amazonaws.com 11211 in-sync
CACHECLUSTER my-redis-primary
https://console.aws.amazon.com/elasticache/home#clientdownload: 2013-07-10T22:47:16.586Z cache.m1.small redis
available 1 us-west-2a
2.6.13 repgroup01
CACHESECURITYGROUP default active
CACHEPARAMETERGROUP default redis2.6 in-sync
CACHENODE 0001 available my-redis-primary.f310xz.0001.cache.amazonaws.com 6379
in-sync
CACHECLUSTER my-redis-replica-01 https://console.aws.amazon.com/elasticache/home#clientdownload: 2013-07-10T23:11:07.704Z cache.m1.small redis
available 1 us-west-2b
2.6.13 repgroup01
CACHESECURITYGROUP default active
CACHEPARAMETERGROUP default redis2.6 in-sync
CACHENODE 0001 available my-redis-replica-01.f310xz.0001.cache.amazonaws.com 6379
in-sync
完全修飾 DNS 名とポート番号は、出力の CACHENODE 行にあります。
キャッシュノードのエンドポイントおよびポート番号を検索する (ElastiCache
API)
キャッシュノードのエンドポイントとポート番号を確認するには、DescribeCacheClusters アクションを
ShowCacheNodeInfo=true パラメータを指定して使用します。
API Version 2015-02-02
126
Amazon ElastiCache ユーザーガイド
クライアントの設定
Example
https://elasticache.us-west-2.amazonaws.com /
?Action=DescribeCacheClusters
&ShowCacheNodeInfo=true
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20140421T220302Z
&Version=2014-09-30
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=<credential>
&X-Amz-Date=20140421T220302Z
&X-Amz-Expires=20140421T220302Z
&X-Amz-Signature=<signature>
&X-Amz-SignedHeaders=Host
自動検出を使用するための接続
アプリケーションが自動検出を使用する場合、調べる必要があるのは各キャッシュノードの個々のエンド
ポイントではなく、クラスターの設定エンドポイントだけです。詳細については、「ノードの自動検出
(Memcached) (p. 101)」を参照してください。
Note
現在のところ、自動検出は Memcached エンジンを実行しているキャッシュクラスターでのみ使
用できます。
Redis クラスター内のノードへの接続
Note
現時点では、レプリケーションとリードレプリカをサポートするクラスター (API/CLI: レプリケー
ショングループ) は、Redis を実行するクラスターでのみサポートされます。
クラスターの場合、ElastiCache には個々のノードの接続情報を取得するためのコンソール、CLI、および
API インターフェイスが用意されています。
読み取り専用アクティビティの場合、アプリケーションはクラスター内のいずれのノードにも接続できま
す。ただし、書き込みアクティビティの場合、アプリケーションから直接ノードに接続する代わりに、ア
プリケーションからクラスターのプライマリエンドポイント (Redis (クラスターモードが無効)) または設
定エンドポイント (Redis (クラスターモードが有効)) に接続することをお勧めします。これにより、リー
ドレプリカをプライマリロールに昇格させることでクラスターを再設定することにした場合でも、アプリ
ケーションは常に正しいノードを見つけることができます。
クラスター内のクラスターへの接続 ((コンソール))
エンドポイントとポート番号を調べるには
•
トピックを参照してください。Redis (クラスターモードが無効) クラスターのエンドポイントの検索
((コンソール)) (p. 55)
レプリケーショングループのクラスターへの接続 (AWS CLI)
キャッシュノードのエンドポイントとポート番号を調べるには
レプリケーショングループの名前を指定して、describe-replication-groups コマンドを使用します。
API Version 2015-02-02
127
Amazon ElastiCache ユーザーガイド
クライアントの設定
aws elasticache describe-replication-groups my-repgroup
このコマンドでは、次のような出力が生成されます。
REPLICATIONGROUP my-repgroup My replication group available
CLUSTERID my-redis-primary
CLUSTERID my-replica-1
NODEGROUP 0001 my-repgroup.f310xz.ng.0001.cache.amazonaws.com 6379
NODEGROUPMEMBER my-redis-primary
0001 my-redisprimary.f310xz.0001.cache.amazonaws.com
6379 us-west-2a primary
NODEGROUPMEMBER my-replica-1
0001 myreplica-1.f310xz.0001.cache.amazonaws.com
6379 us-west-2b replica
available
レプリケーショングループのクラスターへの接続 (ElastiCache API)
キャッシュノードのエンドポイントとポート番号を調べるには
以下のパラメータを使って DescribeReplicationGroups を呼び出します。
ReplicationGroupId = レプリケーショングループの名前。
Example
https://elasticache.us-west-2.amazonaws.com /
?Action=DescribeCacheClusters
&ReplicationGroupId=repgroup01
&Version=2014-09-30
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20140421T220302Z
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Date=20140421T220302Z
&X-Amz-SignedHeaders=Host
&X-Amz-Expires=20140421T220302Z
&X-Amz-Credential=<credential>
&X-Amz-Signature=<signature>
DNS 名と基になっている IP
Memcached クライアントと Redis クライアントには、キャッシュデータが保存されているサー
バーのアドレスとポートが含まれるサーバーリストが保持されています。ElastiCache を使用する
と、DescribeCacheClusters API (または、describe-cache-clusters コマンドラインユーティリティ) によ
り、サーバーリストに使用できる完全修飾 DNS エントリとポート番号が返されます。
Important
キャッシュノードエンドポイントに接続するときは、クライアントアプリケーションがキャッ
シュノードの DNS 名を頻繁に解決するように設定することが重要です。
VPC インストール
キャッシュノードが障害から復帰した場合に、キャッシュノードの DNS 名と IP アドレスの両方が同じま
まかどうかを ElastiCache が確認します。
非 VPC インストール
ElastiCache は、障害発生時にキャッシュノードが復元されても、キャッシュノードの DNS 名が変わらな
いようにします。ただし、基になっているキャッシュノードの IP アドレスは変更される可能性がありま
す。
API Version 2015-02-02
128
Amazon ElastiCache ユーザーガイド
クライアントの設定
ほとんどの Memcached および Redis クライアントライブラリでは、永続的なキャッシュノード接続がデ
フォルトでサポートされるため、ElastiCache を使用するときは永続的なキャッシュノード接続の使用を
お勧めします。クライアント側の DNS キャッシュが複数の場所 (クライアントライブラリ、言語ランタイ
ム、クライアントオペレーティングシステムなど) で行われる場合があります。各レイヤーのアプリケー
ション設定を確認して、キャッシュノードの IP アドレスを頻繁に解決するようにしてください。
API Version 2015-02-02
129
Amazon ElastiCache ユーザーガイド
シャード (Redis)
シャード (API/CLI: ノードグループ) は、1 〜 6 個の Redis ノードで構成されるコレクションです。Redis
(クラスターモードが無効) クラスターを構成するシャードは 1 つに限られます。Redis (クラスターモー
ドが有効) クラスターは 1 から 15 個のシャードで構成できます。クラスターのデータは、クラスターの
シャード間で分割されます。シャードに複数のノードがある場合、1 つを読み書きのプライマリノード、
その他を読み取り専用のレプリカノードとするレプリケーションが実装されます。
ElastiCache コンソールを使用して Redis (クラスターモードが有効) クラスターを作成する際は、クラス
ター内のシャード数とシャード内のノード数を指定します。詳細については、「Redis (クラスターモード
が有効) クラスターの作成 ((コンソール)) (p. 140)」を参照してください。ElastiCache API または AWS
CLI を使用してクラスター (API/CLI ではレプリケーショングループ) を作成する場合は、シャード内の
ノード (API/CLI: ノードグループ) の数を個別に設定できます。詳細については、以下を参照してくださ
い。
• API: CreateReplicationGroup
• CLI: create-replication-group
シャード内の各ノードのコンピューティング、ストレージ、メモリの仕様は同じです。ElastiCache API を
使用すると、ノード数、セキュリティ設定、システムメンテナンス時間など、シャード全体の属性を制御
できます。
Redis シャードの構成
API Version 2015-02-02
130
Amazon ElastiCache ユーザーガイド
ElastiCache クラスター
クラスターは、1 つ以上のキャッシュノードの集合であり、すべてのノードが、サポートされている
キャッシュエンジンソフトウェア、Memcached、または Redis のインスタンスを実行します。クラスター
の作成時に、すべてのノードで使用するエンジンを指定します。
次の図は、一般的な Memcached と Redis クラスターを説明しています。Memcached クラスターには 1
から 20 のノードがあり、データを水平に分割することができるノードが含まれます。Redis クラスターの
シャード (API/CLI: ノードグループ) は 1 から 6 個までのノードで構成できます。Redis (クラスターモード
が無効) クラスターは常に 1 つのシャードで構成されます。Redis (クラスターモードが有効) クラスターは
最大 15 のシャードで構成できます。シャードに複数のノードがある場合、1 つのノードは読み取り/書き
込みのプライマリノードです。シャード内の他のすべてのノードは、読み取り専用のレプリカです。
一般的な Memcached と Redis クラスター
ElastiCache の多くのオペレーションは、クラスターレベルで実行されます。クラスターは、特定数の
キャッシュノードと、各ノードのプロパティを制御するパラメータグループを使用して設定できます。
クラスター内のすべてのノードは、同じノードタイプで、同一のパラメーター設定およびセキュリティグ
ループ設定となるように設計されています。
すべてのクラスターにはクラスター識別子が必要です。クラスター識別子は、お客様が指定するクラス
ターの名前です。この識別子によって、ElastiCache API コマンドと AWS CLI コマンドを使用して操作す
るときに、特定のクラスターを指定します。クラスター識別子は、AWS リージョン内でお客様別に一意で
ある必要があります。
ElastiCache は各エンジンの複数のバージョンをサポートします。特定の原因がないかぎり、エンジンの
最新バージョンを必ず使用することをお勧めします。
API Version 2015-02-02
131
Amazon ElastiCache ユーザーガイド
Memcached のバージョン
Memcached のバージョン
• Memcached バージョン 1.4.24 (p. 39)
• Memcached バージョン 1.4.14 (p. 40)
• Memcached バージョン 1.4.5 (p. 40)
Redis のバージョン
• Redis バージョン 3.2.4 (拡張) (p. 42)
• Redis バージョン 2.8.23 (拡張) (p. 43)
• Redis バージョン 2.8.22 (拡張) (p. 43)
• Redis バージョン 2.8.19 (p. 44)
• Redis バージョン 2.8.6 (p. 44)
• Redis バージョン 2.6.13 (p. 44)
その他の ElastiCache クラスターオペレーション
クラスターに関係する追加のオペレーション:
• ElastiCache エンドポイントの検索 (p. 52)
• AWS 外部からの ElastiCache リソースへのアクセス (p. 373)
トピック
• クラスターの作成 (p. 133)
• クラスターの詳細を表示する (p. 148)
• ElastiCache クラスターの変更 (p. 155)
• クラスターの再起動 (p. 158)
• クラスターのモニタリング (p. 160)
• クラスターへのノードの追加 (p. 160)
• クラスターからのノードの削除 (p. 166)
• 保留中のノードの追加または削除オペレーションのキャンセル (p. 172)
• クラスターの削除 (p. 173)
API Version 2015-02-02
132
Amazon ElastiCache ユーザーガイド
クラスターの作成
クラスターの作成
Amazon ElastiCache クラスターの起動時に、使用するエンジンとして Memcached または Redis を選択
できます。Redis エンジンには Redis (クラスターモードが無効) と Redis (クラスターモードが有効) の 2
種類があります。どちらのエンジンがニーズに合っているかを確認するには、このガイドの「エンジンと
バージョン (p. 34)」を参照してください。
このセクションでは、ElastiCache コンソール、AWS CLI、または ElastiCache API を使用してスタンドア
ロンクラスターを作成する方法について説明します。
開始する前にこれらの質問の答えを知ることで、クラスター作成の参考になります。
• どのエンジンを使用しますか。
エンジンとエンジンバージョンの比較については、「エンジンとバージョン (p. 34)」を参照してくださ
い。
• どのノードインスタンスタイプが必要ですか。
インスタンスのノードタイプを選択する際のガイダンスについては、「ノードサイズの選択 (p. 83)」を
参照してください。
• VPC または Amazon VPC でクラスターを起動しますか。
Important
Amazon VPC でクラスターを起動する場合、クラスターの作成を開始する前に同じ VPC でサ
ブネットグループを作成する必要があります。詳細については、「サブネットおよびサブネッ
トグループ (p. 331)」を参照してください。
Amazon VPC を起動するメリットは、ElastiCache は Amazon EC2 を使って AWS 内からアク
セスするように設計されていますが、クラスターが Amazon VPC にあれば、AWS 外部からア
クセスを提供できることにあります。詳細については、「AWS 外部からの ElastiCache リソー
スへのアクセス (p. 373)」を参照してください。
• パラメーター値をカスタマイズする必要がありますか。
パラメーター値をカスタマイズする場合は、カスタムのパラメータグループを作成する必要がありま
す。詳細については、「パラメーターグループを作成する (p. 289)」を参照してください。
Redis を実行する場合は、少なくとも reserved-memory 設定を検討するといいでしょう。詳細について
は、「Redis スナップショットを作成するための十分なメモリがあることの確認 (p. 65)」を参照してく
ださい。
• 独自のセキュリティグループまたは、VPC セキュリティグループを作成する必要がありますか。
詳細については、「セキュリティグループ [EC2-Classic] (p. 277)」および「VPC のセキュリティ」を
参照してください。
• 耐障害性をどのようにして導入しますか。
詳細については、「障害の軽減 (p. 68)」を参照してください。
トピック
• クラスターの作成 ((コンソール)): Memcached (p. 134)
• Redis (クラスターモードが無効) クラスターの作成 ((コンソール)) (p. 136)
• Redis (クラスターモードが有効) クラスターの作成 ((コンソール)) (p. 140)
• キャッシュクラスターの作成 ((AWS CLI)) (p. 144)
• キャッシュクラスターの作成 ((ElastiCache API)) (p. 146)
API Version 2015-02-02
133
Amazon ElastiCache ユーザーガイド
クラスターの作成: Memcached (コンソール)
クラスターの作成 ((コンソール)): Memcached
Memcached エンジンを使用している場合、Amazon ElastiCache では、複数のノード間でのデータの水平
分割がサポートされます。Memcached によって自動検出が有効になるため、各ノードのエンドポイント
を手動で追跡する必要はなくなります。Memcached によって各ノードのエンドポイントは追跡されて、
ノードの追加と削除に応じてエンドポイントのリストが更新されます。アプリケーションとクラスターの
やり取りで必要になるのは、設定エンドポイントのみになります。自動検出の詳細については、「ノード
の自動検出 (Memcached) (p. 101)」を参照してください。
ElastiCache コンソールを使用して Memcached クラスターを作成するには:
1.
AWS マネジメントコンソールにサインインし、Amazon ElastiCache コンソール (https://
console.aws.amazon.com/elasticache/) を開きます。
2.
[Get Started Now] を選択します。
すでに使用可能なクラスターがある場合は、左のナビゲーションペインから [Memcached] を選択しま
す。
3.
[Create] を選択します。
4.
[Cluster engine] で、[Memcached] を選択します。
5.
[Memcached settings] セクションに入力します。
a.
[Name] ボックスに、クラスターの名前を入力します。
クラスターの命名上の制約
• 1~20 文字の英数字またはハイフンを使用する必要があります。
• 先頭は文字にする必要があります。
• 連続する 2 つのハイフンを含めることはできません。
• 末尾をハイフンすることはできません。
b.
[Engine version compatibility] で、このクラスターで実行する Memcached エンジンバージョンを
選択します。以前のバージョンを実行する特定の理由がある場合を除いて、最新のバージョンを
選択することをお勧めします。
Important
最新のエンジンバージョンにアップグレードできます。詳細については、「エンジン
バージョンのアップグレード (p. 44)」を参照してください。Memcached エンジンバー
ジョンの変更は、クラスターのデータを消失する破壊的なプロセスです。
c.
[Port] の値は、デフォルトポート (11211) のままにしておきます。理由があって異なるポートを
使用する場合は、そのポート番号を入力します。
d.
[Parameter group] で、デフォルトのパラメータグループを選択するか、このクラスターで使用す
るパラメータグループを選択します。または、[Create new] を選択して、このクラスターで使用
する新しいパラメータグループを作成します。
パラメータグループはクラスターのランタイムパラメーターを制御します。パラメータグループ
の詳細については、「Memcached 固有のパラメータ (p. 302)」および「パラメーターグループ
を作成する (p. 289)」を参照してください。
e.
[Node type] で、下向き矢印 ( ) をクリックします。[Change node type] ダイアログボックスで、
必要なノードタイプの [Instance family] を選択し、このクラスターで使用するノードタイプを選
択して [Save] を選択します。
詳細については、「ノードサイズの選択 (p. 83)」を参照してください。
f.
[Number of Nodes] で、このクラスターに必要なノードの数を選択します。クラスターのノード
API Version 2015-02-02
間でデータをパーティション化します。
134
Amazon ElastiCache ユーザーガイド
クラスターの作成: Memcached (コンソール)
ノード数を後で変更する必要がある場合、水平スケーリングは Memcached を使用すれば非常に
簡単です。詳細については、「Memcached のスケーリング (p. 176)」を参照してください。
6.
[Advanced Memcached settings] をクリックし、セクションに入力します。
a.
[Subnet group] で、このクラスターに適用するサブネットを選択します。
詳細については、「サブネットおよびサブネットグループ (p. 331)」を参照してください。
b.
このクラスターに対して [Availability zone(s)] を選択する方法を指定します。これには 2 つのオプ
ションがあります。
• [No preference] – ElastiCache によってクラスターのノードごとにアベイラビリティーゾーンが
選択されます。
• [Specify availability zones] – クラスターのノードごとにアベイラビリティーゾーンを指定しま
す。
アベイラビリティーゾーンの指定を選択した場合は、ノードごとにノード名の右にある一覧か
らアベイラビリティーゾーンを選択します。
ノードごとに異なるアベイラビリティーゾーンを指定して耐障害性を向上させることをお勧め
します。詳細については、「アベイラビリティーゾーンの障害の軽減 (p. 68)」を参照してくだ
さい。
詳細については、「リージョンとアベイラビリティーゾーンの選択 (p. 48)」を参照してくださ
い。
c.
[Security groups] で、このクラスターに適用するセキュリティグループを選択します。
詳細については、「ElastiCache とセキュリティグループ (p. 356)」を参照してください。
d.
[Maintenance window] は、ElastiCache がクラスターのシステムメンテナンスを毎週スケジュー
ルする時間の長さ (通常は 1 時間単位) です。ElastiCache がメンテナンスの日時を選択するこ
とを許可するか ([No preference])、自分で日時と期間を選択できます ([Specify maintenance
window])。[Specify maintenance window] を選択した場合は、リストからメンテナンス期間の
[Start day]、[Start time]、および [Duration] (時間単位) を選択します。すべての時刻は協定世界時
(UCT) です。
詳細については、「メンテナンスウィンドウ (p. 46)」を参照してください。
e.
7.
[Notifications] で、既存の Amazon Simple Notification Service (Amazon SNS) トピックを選択
するか、[Manual ARN input] を選択してトピックの Amazon リソースネーム (ARN) を入力しま
す。Amazon SNS では、インターネットに接続されたスマートデバイスに通知をプッシュでき
ます。デフォルトでは、通知は無効になります。詳細については、「https://aws.amazon.com/
sns/」を参照してください。
すべてのエントリと選択を確認し、戻って必要な修正を加えます。すべてが目的どおりになったら、
[Create] を選択してクラスターを起動します。
クラスターのステータスが [available] になり次第、Amazon EC2 にアクセス権を付与して接続し、使用を
開始できます。詳細については、「ステップ 4: アクセスを許可する (p. 26)」および「ステップ 5: クラス
ターのノードに接続する (p. 28)」を参照してください。
Important
クラスターが使用可能になった直後から、クラスターがアクティブである間は (実際に使用してい
ない場合でも)、時間に応じた料金が発生します。このクラスターに対する課金を中止するには、
クラスターを削除する必要があります。「クラスターの削除 (p. 173)」を参照してください。
API Version 2015-02-02
135
Amazon ElastiCache ユーザーガイド
Redis (クラスターモードが無効) ク
ラスターの作成 ((コンソール))
Redis (クラスターモードが無効) クラスターの作成
((コンソール))
ElastiCache は、Redis エンジンを使用する場合にレプリケーションをサポートします。データが
Redis 読み取り/書き込みプライマリクラスターに書き込まれるときと、読み取り専用セカンダリクラ
スターに伝達されるときのレイテンシーをモニタリングするため、ElastiCache によって特殊なキー
ElastiCacheMasterReplicationTimestamp (現在の UCT 時間) がクラスターに追加されます。Redis クラ
スターが後でレプリケーショングループに追加される可能性があるため、このキーは、最初はレプリケー
ショングループのメンバーではない Redis クラスターであっても、すべての Redis クラスターに含まれま
す。レプリケーショングループの詳細については、「ElastiCache レプリケーション (Redis) (p. 199)」
を参照してください。
スタンドアロン Redis (クラスターモードが無効) クラスターを作成するには
1.
AWS マネジメントコンソールにサインインし、Amazon ElastiCache コンソール (https://
console.aws.amazon.com/elasticache/) を開きます。
2.
[Get Started Now] を選択します。
すでに使用可能なクラスターがある場合は、左のナビゲーションペインから [Redis] を選択します。
3.
[Create] を選択します。
4.
[Cluster engine] で、[Redis] を選択し、[Cluster Mode enabled (Scale Out)] チェックボックスをオフに
します。
5.
[Redis settings] セクションに入力します。
a.
[Name] ボックスに、クラスターの名前を入力します。
クラスターの命名上の制約
• 1~20 文字の英数字またはハイフンを使用する必要があります。
• 先頭は文字にする必要があります。
• 連続する 2 つのハイフンを含めることはできません。
• 末尾をハイフンすることはできません。
b.
[Engine version compatibility] で、このクラスターで実行する Redis エンジンバージョンを選択し
ます。以前のバージョンを実行する特定の理由がある場合を除いて、最新のバージョンを選択す
ることをお勧めします。
Important
より新しいバージョンのエンジンにはアップグレードできますが (「エンジンバージョン
のアップグレード (p. 44)」を参照)、既存のクラスターを削除して新しく作成し直さない
限り、以前のバージョンのエンジンにはダウングレードできません。
新しいバージョンの Redis ほど、より良く安定したユーザーエクスペリエンスを提供しているた
め、Redis バージョン 2.6.13、2.8.6、および 2.8.19 は ElastiCache コンソールから廃止されまし
た。お勧めしませんが、以前のいずれかの Redis バージョンを使用する必要がある場合は、AWS
CLI または ElastiCache API を使用できます。
詳細については、以下のトピックを参照してください。
クラスターの作成
AWS AWS CLI
キャッシュクラスターの作成
((AWS CLI)) (p. 144)
API Version 2015-02-02
136
ElastiCache API
キャッシュクラスターの作成
((ElastiCache API)) (p. 146)
Amazon ElastiCache ユーザーガイド
Redis (クラスターモードが無効) ク
ラスターの作成 ((コンソール))
AWS AWS CLI
ElastiCache API
クラスターの変更
キャッシュクラスターの変更
((AWS CLI)) (p. 156)
キャッシュクラスターの変更
((ElastiCache API)) (p. 157)
レプリケーショングループの
作成
ゼロからの Redis (クラスター
モードが無効) レプリケー
ショングループの作成 ((AWS
CLI)) (p. 218)
ゼロからの Redis (クラス
ターモードが無効) レプリ
ケーショングループの作成
((ElastiCache API)) (p. 220)
ゼロからの Redis (クラスター
モードが有効) レプリケー
ショングループの作成 ((AWS
CLI)) (p. 224)
ゼロからの Redis (クラス
ターモードが有効) レプリ
ケーショングループの作成
((ElastiCache API)) (p. 228)
レプリケーショングループの
変更 ((AWS CLI)) (p. 237)
レプリケーショングルー
プの変更 ((ElastiCache
API)) (p. 237)
レプリケーショングループの
変更
Redis (クラスターモードが有効) クラスターまたはレプリケーショングループの作成に使用す
ることはできません。
Redis (クラスターモードが有効) クラスターまたはレプリケーショングループの変更に使用す
ることはできません。
c.
[Port] の値は、デフォルトポート (6379) のままにしておきます。理由があって異なるポートを使
用する場合は、そのポート番号を入力します。
d.
[Parameter group] で、このクラスターで使用するパラメータグループを選択するか、[Create
new] を選択して、このクラスターで使用する新しいパラメータグループを作成します。
パラメータグループはクラスターのランタイムパラメーターを制御します。パラメータグループ
の詳細については、「Redis 固有のパラメータ (p. 313)」および「パラメーターグループを作成
する (p. 289)」を参照してください。
e.
[Node type] で、下向き矢印 ( ) をクリックします。[Change node type] ダイアログボックスで、
必要なノードタイプの [Instance family] を選択し、このクラスターで使用するノードタイプを選
択して [Save] を選択します。
詳細については、「ノードサイズの選択 (p. 83)」を参照してください。
f.
[Number of replicas] で、このクラスターに必要なリードレプリカの数を選択します。
[None] を選択すると、[description] フィールドと [Multi-AZ with Auto-Failover] フィールドが消
え、クラスターは次のように表示されます。
レプリカノードを選択しないで作成した Redis (クラスターモードが無効) クラスター
1 つまたは複数のレプリカを選択した場合、作成したクラスターは次のように表示されます。
API Version 2015-02-02
137
Amazon ElastiCache ユーザーガイド
Redis (クラスターモードが無効) ク
ラスターの作成 ((コンソール))
レプリカノードを選択して作成した Redis (クラスターモードが無効) クラスター
6.
[Advanced Redis settings] を選択し、セクションに入力します。
a.
1 つまたは複数のレプリカを選択すると、[Multi-AZ with Auto-Failover] が使用可能になります。
[Multi-AZ with Auto-Failover] を使用することを強くお勧めします。詳細については、「Redis 実
行時の障害の軽減 (p. 69)」を参照してください。
b.
[Subnet group] で、このクラスターに適用するサブネットを選択します。
詳細については、「サブネットおよびサブネットグループ (p. 331)」を参照してください。
c.
このクラスターに対して [Availability zone(s)] を選択する方法を指定します。これには 2 つのオプ
ションがあります。
• [No preference] – ElastiCache によってクラスターのノードのアベイラビリティーゾーンが選択
されます。
• [Specify availability zones] – ノードが一覧表示され、ノード名の右にあるリストからアベイラ
ビリティーゾーンを選択して、クラスターのノードごとにアベイラビリティーゾーンを指定で
きます。
詳細については、「リージョンとアベイラビリティーゾーンの選択 (p. 48)」を参照してくださ
い。
d.
[Security groups] で、このクラスターに必要なセキュリティグループを選択します。
詳細については、「ElastiCache とセキュリティグループ (p. 356)」を参照してください。
e.
.RDB ファイルからクラスターにデータをシードする場合は、[Seed RDB file S3 location] ボック
スに .RDB ファイルの Amazon S3 の場所を入力します。
詳細については、「Using a Backup to Seed a Cluster (p. 271)」を参照してください。
f.
自動バックアップを定期的にスケジュールする場合は、[Enable automatic backups] を選択し、さ
らに自動バックアップを保持して自動的に削除するまでの日数を入力します。自動バックアップ
を定期的にスケジュールしない場合は、[Enable automatic backups] チェックボックスをオフにし
ます。どちらの場合でも、手動バックアップを作成して手動で削除するオプションを常に利用で
きます。
Redis のバックアップと復元の詳細については、「ElastiCache バックアップと復元 (Redis)
(p. 246)」を参照してください。
g.
[Maintenance window] は、ElastiCache がクラスターのシステムメンテナンスを毎週スケジュー
ルする時間の長さ (通常は 1 時間単位) です。ElastiCache がメンテナンスの日時を選択するこ
とを許可するか ([No preference])、自分で日時と期間を選択できます ([Specify maintenance
window])。[Specify maintenance window] を選択した場合は、リストからメンテナンス期間の
[Start day]、[Start time]、および [Duration] (時間単位) を選択します。すべての時刻は協定世界時
(UCT) です。
API Version 2015-02-02
138
Amazon ElastiCache ユーザーガイド
Redis (クラスターモードが無効) ク
ラスターの作成 ((コンソール))
詳細については、「メンテナンスウィンドウ (p. 46)」を参照してください。
h.
7.
[Notifications] で、既存の Amazon Simple Notification Service (Amazon SNS) トピックを選択
するか、[Manual ARN input] を選択してトピックの Amazon リソースネーム (ARN) を入力し
ます。Amazon SNS では、インターネットに接続されたスマートデバイスに通知をプッシュ
することができます。デフォルトでは、通知は無効になります。詳細については、「https://
aws.amazon.com/sns/」を参照してください。
すべてのエントリと選択を確認し、戻って必要な修正を加えます。すべてが目的どおりになったら、
[Create] を選択してクラスターを起動します。
クラスターのステータスが [available] になり次第、Amazon EC2 にアクセス権を付与して接続し、使用を
開始できます。詳細については、「ステップ 4: アクセスを許可する (p. 26)」および「ステップ 5: クラス
ターのノードに接続する (p. 28)」を参照してください。
Important
クラスターが使用可能になった直後から、クラスターがアクティブである間は (実際に使用してい
ない場合でも)、時間に応じた料金が発生します。このクラスターに対する課金を中止するには、
クラスターを削除する必要があります。「クラスターの削除 (p. 173)」を参照してください。
API Version 2015-02-02
139
Amazon ElastiCache ユーザーガイド
Redis (クラスターモードが有効) ク
ラスターの作成 ((コンソール))
Redis (クラスターモードが有効) クラスターの作成
((コンソール))
Redis 3.2.4 以降を実行している場合は、Redis (クラスターモードが有効) クラスターを作成できま
す。Redis (クラスターモードが有効) クラスターでは、1 から 15 までのシャード (API/CLI: ノードグ
ループ) にデータを分割できます。ただし、現段階ではいくつかの制限があります。Redis (クラスター
モードが無効) と 2 種類の Redis (クラスターモードが有効) の比較については、「エンジンの選択:
Memcached、Redis (クラスターモードが無効)、または Redis (クラスターモードが有効) (p. 35)」を参照
してください。
Redis (クラスターモードが有効) クラスター (API/CLI: レプリケーショングループ) は、ElastiCache マネジ
メントコンソール、ElastiCache 用 AWS CLI、ElastiCache API を使用して作成できます。
ElastiCache コンソールを使用して Redis (クラスターモードが有効) クラスターを作成するには
1.
AWS マネジメントコンソールにサインインし、Amazon ElastiCache コンソール (https://
console.aws.amazon.com/elasticache/) を開きます。
2.
[Get Started Now] を選択します。
すでに使用可能なクラスターがある場合は、左のナビゲーションペインから [Redis] を選択します。
3.
[Create] を選択します。
4.
[Cluster engine] で、[Redis] を選択し、[Cluster Mode enabled (Scale Out)] を選択します。
5.
[Redis (クラスターモードが有効) settings] セクションに入力します。
a.
[Name] ボックスに、クラスターの名前を入力します。
クラスターの命名上の制約
• 1~20 文字の英数字またはハイフンを使用する必要があります。
• 先頭は文字にする必要があります。
• 連続する 2 つのハイフンを含めることはできません。
• 末尾をハイフンすることはできません。
b.
[Description] ボックスに、このクラスターの説明を入力します。
c.
[Major Engine Version] で、[3.2.4] を選択します。
d.
[Port] ボックスは、デフォルトポート (6379) のままにしておきます。理由があって異なるポート
を使用する場合は、そのポート番号を入力します。
e.
[Parameter group] で、このクラスターで使用するパラメータグループを選択するか、[Create
new] を選択して、このクラスターで使用する新しいパラメータグループを作成します。
パラメータグループはクラスターのランタイムパラメーターを制御します。パラメータグループ
の詳細については、「Redis 固有のパラメータ (p. 313)」および「パラメーターグループを作成
する (p. 289)」を参照してください。
f.
[Node type] で、下向き矢印 ( ) を選択します。[Change node type] ダイアログボックスで、必要
なノードタイプの [Instance family] を選択し、このクラスターで使用するノードタイプを選択し
て [Save] を選択します。
詳細については、「ノードサイズの選択 (p. 83)」を参照してください。
g.
[Number of shards] で、この Redis (クラスターモードが有効) クラスターに必要なシャード (パー
ティション) の数を選択します。
Redis (クラスターモードが有効) では、クラスターを作成すると、シャード数が固定されて変更
できなくなります。シャード数を増減する必要がある場合は、新しいシャード数を指定して新し
いクラスターを作成する必要があります。Redis (クラスターモードが有効) では、新しいクラス
API Version 2015-02-02
140
Amazon ElastiCache ユーザーガイド
Redis (クラスターモードが有効) ク
ラスターの作成 ((コンソール))
ターのシャード数が既存のクラスターのシャード数と異なる場合、古いクラスターの .RDB ファ
イルで新しいクラスターをシードすることはできません。
h.
[Replicas per shard] で、各シャードに必要なリードレプリカのノード数を選択します。
Redis (クラスターモードが有効) には次の制約があります。
• コンソールを使用してクラスターを作成する場合、シャードごとのレプリカ数は同じになりま
す。
• シャードあたりのリードレプリカ数は固定され、変更できません。ノードグループあたりのレ
プリカ数を増減する必要がある場合は、新しい数のレプリカで新しいクラスターを作成する必
要があります。新しいクラスターのノードグループの数が古いクラスターと同じである限り、
古いクラスターの .RDB ファイルを使用して新しいクラスターをシードすることができます。
詳細については、「Using a Backup to Seed a Cluster (p. 271)」を参照してください。
i.
[Subnet group] で、このクラスターに適用するサブネットを選択します。
詳細については、「サブネットおよびサブネットグループ (p. 331)」を参照してください。
6.
[Advanced Redis settings] をクリックし、セクションに入力します。
a.
[Slots and keyspaces] で、シャード (パーティション) にキーを分散する方法を選択します。分散
するキーが 16,384 個あります (0 から 16,383 までの番号が付けられます)。
• [Equal distribution] – ElastiCache は可能な限り均等にシャード間にキースペースを分散しま
す。
• [Custom distribution] – [Availability zone(s)] の下の表で各シャードのキーの範囲を指定します。
b.
このクラスターに対して [Availability zone(s)] を選択する方法を指定します。これには 2 つのオプ
ションがあります。
• [No preference] – ElastiCache がアベイラビリティーゾーンを選択します。
• Specify availability zones – 各クラスターに対するアベイラビリティーゾーンを指定します。
アベイラビリティーゾーンの指定を選択した場合、クラスターのシャードごとに一覧からアベ
イラビリティーゾーンを選択します。
詳細については、「リージョンとアベイラビリティーゾーンの選択 (p. 48)」を参照してくださ
い。
API Version 2015-02-02
141
Amazon ElastiCache ユーザーガイド
Redis (クラスターモードが有効) ク
ラスターの作成 ((コンソール))
キースペースとアベイラビリティーゾーンの指定
c.
[Security groups] で、このクラスターに必要なセキュリティグループを選択します。
詳細については、「ElastiCache とセキュリティグループ (p. 356)」を参照してください。
d.
.RDB ファイルからクラスターにデータをシードする場合は、[Seed RDB file S3 location] ボック
スに .RDB ファイルの S3 の場所を入力します。
詳細については、「Using a Backup to Seed a Cluster (p. 271)」を参照してください。
Redis (クラスターモードが有効) では、ノードグループごとに個別の .RDB ファイルが必要で
す。
e.
自動バックアップを定期的にスケジュールする場合は、[Enable automatic backups] を選択し、さ
らに各自動バックアップを保持して自動的に削除するまでの日数を入力します。自動バックアッ
プを定期的にスケジュールしない場合は、[Enable automatic backups] チェックボックスをオフに
します。いずれの場合も、常に手動バックアップを作成するオプションがあります。
Redis のバックアップと復元の詳細については、「ElastiCache バックアップと復元 (Redis)
(p. 246)」を参照してください。
f.
[Maintenance window] は、ElastiCache がクラスターのシステムメンテナンスを毎週スケジュー
ルする時間の長さ (通常は 1 時間単位) です。ElastiCache がメンテナンスの日時を選択するこ
とを許可するか ([No preference])、自分で日時と期間を選択できます ([Specify maintenance
window])。[Specify maintenance window] を選択した場合は、リストからメンテナンス期間の
[Start day]、[Start time]、および [Duration] (時間単位) を選択します。すべての時刻は協定世界時
(UCT) です。
詳細については、「メンテナンスウィンドウ (p. 46)」を参照してください。
g.
7.
[Notifications] で、既存の Amazon Simple Notification Service (Amazon SNS) トピックを選択
するか、[Manual ARN input] を選択してトピックの Amazon リソースネーム (ARN) を入力しま
す。Amazon SNS では、インターネットに接続されたスマートデバイスに通知をプッシュでき
ます。デフォルトでは、通知は無効になります。詳細については、「https://aws.amazon.com/
sns/」を参照してください。
すべてのエントリと選択を確認し、戻って必要な修正を加えます。すべてが目的どおりになったら、
[Create cluster] を選択してクラスターを起動します。または、[Cancel] を選択してオペレーションを
キャンセルします。
ElastiCache コンソールではなく ElastiCache API または AWS CLI を使用して同じものを作成するには、
以下を参照してください。
API Version 2015-02-02
142
Amazon ElastiCache ユーザーガイド
Redis (クラスターモードが有効) ク
ラスターの作成 ((コンソール))
• API: CreateReplicationGroup
• CLI: create-replication-group
クラスターのステータスが [available] になり次第、EC2 にアクセス権を付与して接続し、使用を開始で
きます。詳細については、「ステップ 4: アクセスを許可する (p. 26)」および「ステップ 5: クラスターの
ノードに接続する (p. 28)」を参照してください。
Important
クラスターが使用可能になった直後から、クラスターがアクティブである間は (実際に使用してい
ない場合でも)、時間に応じた料金が発生します。このクラスターに対する課金を中止するには、
クラスターを削除する必要があります。「クラスターの削除 (p. 173)」を参照してください。
API Version 2015-02-02
143
Amazon ElastiCache ユーザーガイド
クラスター (CLI) の作成
キャッシュクラスターの作成 ((AWS CLI))
AWS CLI を使用してクラスターを作成するには、create-cache-cluster コマンドを使用します。次の例
では、my-redis-cluster という名前の単一ノード Redis (クラスターモードが有効) クラスターを作成し、ス
ナップショットファイル snap.rdb (Amazon S3 にコピーされた) を初期データ値として投入します。
レプリケーションをサポートする Redis クラスターが必要な場合は、「ゼロからの Redis (クラスターモー
ドが無効) レプリケーショングループの作成 ((AWS CLI)) (p. 218)」を参照してください。
Important
クラスターが使用可能になった直後から、クラスターがアクティブである間は (実際に使用してい
ない場合でも)、時間に応じた料金が発生します。このクラスターに対する課金を中止するには、
クラスターを削除する必要があります。「クラスターの削除 (p. 173)」を参照してください。
トピック
• Memcached キャッシュクラスターの作成 ((AWS CLI)) (p. 144)
• Redis (クラスターモードが無効) キャッシュクラスターの作成 ((AWS CLI)) (p. 144)
• Redis (クラスターモードが有効) クラスターの作成 ((AWS CLI)) (p. 145)
Memcached キャッシュクラスターの作成 ((AWS CLI))
次の CLI コードでは、Memcached キャッシュクラスターを作成します。
Linux, macOS, or Unix 用:
aws elasticache create-cache-cluster \
--cache-cluster-id my-memcached-cluster \
--cache-node-type cache.m4.large \
--engine memcached \
--engine-version 1.4.24 \
--cache-parameter-group default.memcached1.4 \
--num-cache-nodes 3
Windows の場合:
aws elasticache create-cache-cluster ^
--cache-cluster-id my-memcached-cluster ^
--cache-node-type cache.m4.large ^
--engine memcached ^
--engine-version 1.4.24 ^
--cache-parameter-group default.memcached1.4 ^
--num-cache-nodes 3
Redis (クラスターモードが無効) キャッシュクラスターの作成
((AWS CLI))
Example Redis (クラスターモードが無効) クラスター
次の CLI コードでは、Redis (クラスターモードが無効) キャッシュクラスターを作成します。
Linux, macOS, or Unix 用:
aws elasticache create-cache-cluster \
--cache-cluster-id my-redis3-cluster \
API Version 2015-02-02
144
Amazon ElastiCache ユーザーガイド
クラスター (CLI) の作成
--cache-node-type cache.m4.large \
--engine redis \
--engine-version 3.2.4 \
--num-cache-nodes 1 \
--cache-parameter-group default.redis3.2 \
--snapshot-arns arn:aws:s3:myS3Bucket/snap.rdb
Windows の場合:
aws elasticache create-cache-cluster ^
--cache-cluster-id my-redis3-cluster ^
--cache-node-type cache.m4.large ^
--engine redis ^
--engine-version 3.2.4 ^
--num-cache-nodes 1 ^
--cache-parameter-group default.redis3.2 ^
--snapshot-arns arn:aws:s3:myS3Bucket/snap.rdb
Redis (クラスターモードが有効) クラスターの作成 ((AWS CLI))
create-cache-cluster オペレーションを用いて、Redis (クラスターモードが有効) クラスター (API/CLI:
レプリケーショングループ) を作成することはできません。Redis (クラスターモードが有効) クラスター
(API/CLI: レプリケーショングループ) を作成するには、「ゼロからの Redis (クラスターモードが有効) レ
プリケーショングループの作成 ((AWS CLI)) (p. 224)」を参照してください。
詳細については、AWS CLI の「ElastiCache リファレンストピック「create-replication-group」のを参
照してください。
API Version 2015-02-02
145
Amazon ElastiCache ユーザーガイド
クラスター (API) の作成
キャッシュクラスターの作成 ((ElastiCache API))
ElastiCache API を使用してクラスターを作成するには、CreateCacheCluster アクションを使用します。
次の例では、my-redis-cluster という名前の単一ノード Redis クラスターを作成し、スナップショットファ
イル dump.rdb (Amazon S3 にコピーされた) を初期データ値として投入します。
レプリケーションをサポートする Redis クラスターが必要な場合は、「ゼロからの Redis (クラスターモー
ドが無効) レプリケーショングループの作成 ((ElastiCache API)) (p. 220)」を参照してください。
Important
クラスターが使用可能になった直後から、そのクラスターがアクティブである間は (クラスターを
使用していない場合でも)、時間に応じた料金が発生します。このクラスターに対する課金を中止
するには、クラスターを削除する必要があります。「クラスターの削除 (p. 173)」を参照してく
ださい。
トピック
• Memcached キャッシュクラスターの作成 ((ElastiCache API)) (p. 146)
• Redis (クラスターモードが無効) キャッシュクラスターの作成 ((ElastiCache API)) (p. 146)
• Redis (クラスターモードが有効) キャッシュクラスターの作成 ((ElastiCache API)) (p. 147)
Memcached キャッシュクラスターの作成 ((ElastiCache API))
次のコードでは、Memcached キャッシュクラスター ((ElastiCache API)) を作成します。
次のコード例の改行が読み込みのために追加されます。
https://elasticache.us-west-2.amazonaws.com/
?Action=CreateCacheCluster
&CacheClusterId=myMemcachedCluster
&CacheNodeType=cache.m4.large
&Engine=redis
&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=AWS4-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 (クラスターモードが無効) キャッシュクラスター ((ElastiCache API)) を作成 しま
す。
次のコード例の改行が読み込みのために追加されます。
https://elasticache.us-west-2.amazonaws.com/
?Action=CreateCacheCluster
&CacheClusterId=my-redis2-cluster
API Version 2015-02-02
146
Amazon ElastiCache ユーザーガイド
クラスター (API) の作成
&CacheNodeType=cache.m4.large
&CacheParameterGroup=default
&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=AWS4-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))
CreateCacheCluster オペレーションを用いて、Redis (クラスターモードが有効) クラスター (API/CLI:
レプリケーショングループ) を作成することはできません。Redis (クラスターモードが有効) クラスター
(API/CLI: レプリケーショングループ) を作成するには、「ゼロからの Redis (クラスターモードが有効) レ
プリケーショングループの作成 ((ElastiCache API)) (p. 228)」を参照してください。
詳細については、ElastiCache API リファレンストピック「CreateReplicationGroup」を参照してくださ
い。
API Version 2015-02-02
147
Amazon ElastiCache ユーザーガイド
クラスターの詳細を表示する
クラスターの詳細を表示する
ElastiCache コンソール、AWS CLI、または ElastiCache API を使用して、1 つ以上のクラスターについて
の詳細を表示できます。
トピック
• クラスターの詳細を表示する: Memcached (コンソール) (p. 148)
• Redis (クラスターモードが無効) クラスターの詳細の表示 ((コンソール)) (p. 150)
• Redis (クラスターモードが有効) クラスターの詳細の表示 ((コンソール)) (p. 151)
• クラスターの詳細の表示 ((AWS CLI)) (p. 152)
• クラスターの詳細の表示 ((ElastiCache API)) (p. 154)
クラスターの詳細を表示する: Memcached (コンソー
ル)
ElastiCache コンソール、ElastiCache 用 AWS CLI、または ElastiCache API を使用して、Memcached ク
ラスターの詳細を表示できます。
次の手順は、ElastiCache コンソールを使用して Memcached クラスターの詳細を表示する方法を示して
います。
Memcached クラスターの詳細を表示するには
1.
AWS マネジメントコンソールにサインインし、Amazon ElastiCache コンソール (https://
console.aws.amazon.com/elasticache/) を開きます。
2.
ElastiCache コンソールダッシュボードで、[Memcached] を選択します。任意のバージョンの
Memcached を実行しているすべてのクラスターの一覧が表示されます。
3.
クラスターの詳細を表示するには、クラスター名の左側にあるボックスを選択します。
4.
ノード情報を表示するには
a.
クラスターの名前を選択します。
b.
[Nodes] タブを選択します。
c.
1 つまたは複数のノードのメトリクスを表示するには、ノード ID の左側のボックスを選択し、
[Time range] からメトリクスの時間範囲を選択します。複数のノードを選択すると、オーバーレ
イグラフが生成されます。
API Version 2015-02-02
148
Amazon ElastiCache ユーザーガイド
クラスターの詳細を表示する: Memcached (コンソール)
2 つの Memcached ノードに関する過去 1 時間のメトリクス
API Version 2015-02-02
149
Amazon ElastiCache ユーザーガイド
Redis (クラスターモードが無効) ク
ラスターの詳細の表示 ((コンソール))
Redis (クラスターモードが無効) クラスターの詳細の
表示 ((コンソール))
ElastiCache コンソール、ElastiCache 用 AWS CLI、または ElastiCache API を使用して、Redis (クラス
ターモードが無効) クラスターの詳細を確認できます。
次の手順では、ElastiCache コンソールを使用して Redis (クラスターモードが無効) クラスターの詳細を
表示する方法を示します。
Redis (クラスターモードが無効) クラスターの詳細を表示するには
1.
AWS マネジメントコンソールにサインインし、Amazon ElastiCache コンソール (https://
console.aws.amazon.com/elasticache/) を開きます。
2.
ElastiCache コンソールのダッシュボードで [Redis] を選択し、いずれかのバージョンの Redis を実行
しているすべてのクラスターを一覧表示します。
3.
クラスターの詳細を表示するには、クラスター名の左側にあるボックスを選択します。クラスター化
された Redis ではなく、Redis エンジンを実行しているクラスターを必ず選択してください。これに
より、クラスターのプライマリエンドポイントを含む、クラスターの詳細が表示されます。
4.
ノード情報を表示するには
a.
クラスターの名前を選択します。
b.
[Nodes] タブを選択します。これにより、クラスターから読み込むために使用する必要がある
ノードのエンドポイントを含む、各ノードの詳細が表示されます。
c.
1 つまたは複数のノードのメトリクスを表示するには、ノード ID の左側のボックスを選択し、
[Time range] からメトリクスの時間範囲を選択します。複数のノードを選択すると、オーバーレ
イグラフが表示されます。
2 つの Redis ノードに関する過去 1 時間のメトリクス
API Version 2015-02-02
150
Amazon ElastiCache ユーザーガイド
Redis (クラスターモードが有効) ク
ラスターの詳細の表示 ((コンソール))
Redis (クラスターモードが有効) クラスターの詳細の
表示 ((コンソール))
ElastiCache コンソール、ElastiCache 用 AWS CLI、または ElastiCache API を使用して、Redis (クラス
ターモードが有効) クラスターの詳細を確認できます。
次の手順では、ElastiCache コンソールを使用して Redis (クラスターモードが有効) クラスターの詳細を
表示する方法を示します。
Redis (クラスターモードが有効) クラスターの詳細を表示するには
1.
AWS マネジメントコンソールにサインインし、Amazon ElastiCache コンソール (https://
console.aws.amazon.com/elasticache/) を開きます。
2.
ElastiCache コンソールのダッシュボードで [Redis] を選択し、いずれかのバージョンの Redis を実行
しているすべてのクラスターを一覧表示します。
3.
Redis (クラスターモードが有効) クラスターの詳細を表示するには、クラスター名の左側にあるボッ
クスを選択します。単なる Redis ではなく、Clusterd Redis エンジンを実行しているクラスターを必
ず選択してください。
クラスターの下の画面が展開され、クラスターに関する詳細 (クラスターの設定エンドポイントなど)
が表示されます。
4.
クラスター内のシャード数とシャードごとのノード数を一覧表示するには、クラスターの名前を選択
します。
5.
ノード固有の情報を表示するには
a.
シャードの ID を選択します。
b.
[Nodes] タブを選択します。
各ノードについて、クラスターからデータを読み取るために必要な各ノードのエンドポイントな
どの情報が表示されます。
c.
1 つまたは複数のノードのメトリクスを表示するには、ノード ID の左側のボックスを選択し、
[Time range] からメトリクスの時間範囲を選択します。複数のノードを選択すると、オーバーレ
イグラフが生成されます。
API Version 2015-02-02
151
Amazon ElastiCache ユーザーガイド
クラスターの詳細の表示 ((AWS CLI))
2 つの Redis ノードに関する過去 1 時間のメトリクス
クラスターの詳細の表示 ((AWS CLI))
AWS CLI describe-cache-clusters コマンドを使用してクラスターの詳細を表示できます。--cachecluster-id パラメーターを省略すると、最大で --max-items のクラスターの詳細が返されます。-cache-cluster-id パラメーターが含まれる場合は、指定したクラスターの詳細が返されます。--maxitems パラメーターで返されるレコード数を制限できます。
次のコードは myCluster の詳細を一覧します。
aws elasticache describe-cache-clusters --cache-cluster-id myCluster
次のコードは最大で 25 のクラスターの詳細を一覧します。
aws elasticache describe-cache-clusters --max-items 25
以下の例のように、describe-cache-cluster コマンドを使用してクラスターのノードのリストを表示し
ます。削除するノードの識別子を書き留めてください。
Linux, macOS, or Unix 用:
aws elasticache describe-cache-clusters \
--cache-cluster-id my-memcached-cluster \
--show-cache-node-info
Windows の場合:
aws elasticache describe-cache-clusters ^
API Version 2015-02-02
152
Amazon ElastiCache ユーザーガイド
クラスターの詳細の表示 ((AWS CLI))
--cache-cluster-id my-memcached-cluster ^
--show-cache-node-info
このオペレーションでは、以下のような (JSON 形式の) 出力が生成されます。
{
"CacheClusters": [
{
"Engine": "memcached",
"CacheNodes": [
{
"CacheNodeId": "0001",
"Endpoint": {
"Port": 11211,
"Address": "my-memcached-cluster.7efexample.0001.usw2.cache.amazonaws.com"
},
"CacheNodeStatus": "available",
"ParameterGroupStatus": "in-sync",
"CacheNodeCreateTime": "2016-09-21T16:28:28.973Z",
"CustomerAvailabilityZone": "us-west-2b"
},
{
"CacheNodeId": "0002",
"Endpoint": {
"Port": 11211,
"Address": "my-memcached-cluster.7efexample.0002.usw2.cache.amazonaws.com"
},
"CacheNodeStatus": "available",
"ParameterGroupStatus": "in-sync",
"CacheNodeCreateTime": "2016-09-21T16:28:28.973Z",
"CustomerAvailabilityZone": "us-west-2b"
},
{
"CacheNodeId": "0003",
"Endpoint": {
"Port": 11211,
"Address": "my-memcached-cluster.7efexample.0003.usw2.cache.amazonaws.com"
},
"CacheNodeStatus": "available",
"ParameterGroupStatus": "in-sync",
"CacheNodeCreateTime": "2016-09-21T16:28:28.973Z",
"CustomerAvailabilityZone": "us-west-2b"
}
],
"CacheParameterGroup": {
"CacheNodeIdsToReboot": [],
"CacheParameterGroupName": "default.memcached1.4",
"ParameterApplyStatus": "in-sync"
},
"CacheClusterId": "my-memcached-cluster",
"PreferredAvailabilityZone": "us-west-2b",
"ConfigurationEndpoint": {
"Port": 11211,
"Address": "my-memcached-cluster.7ef-example.cfg.usw2.cache.amazonaws.com"
},
"CacheSecurityGroups": [],
"CacheClusterCreateTime": "2016-09-21T16:28:28.973Z",
"AutoMinorVersionUpgrade": true,
"CacheClusterStatus": "available",
"NumCacheNodes": 3,
"ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/
home#client-download:",
API Version 2015-02-02
153
Amazon ElastiCache ユーザーガイド
クラスターの詳細の表示 ((ElastiCache API))
"SecurityGroups": [
{
"Status": "active",
"SecurityGroupId": "sg-dbe93fa2"
}
],
"CacheSubnetGroupName": "default",
"EngineVersion": "1.4.24",
"PendingModifiedValues": {},
"PreferredMaintenanceWindow": "sat:09:00-sat:10:00",
"CacheNodeType": "cache.m3.medium"
}
]
}
詳細については、AWS CLI の ElastiCache トピック「describe-cache-clusters」を参照してください。
クラスターの詳細の表示 ((ElastiCache API))
ElastiCache API DescribeCacheClusters アクションを使用してクラスターの詳細を表示でき
ます。CacheClusterId パラメーターが含まれる場合は、指定したクラスターの詳細が返されま
す。CacheClusterId パラメーターを省略すると、最大で MaxRecords (デフォルトは 100) のクラスターの
詳細が返されます。MaxRecords の値は 20 未満、または 100 を超えることはできません。
次のコードは myCluster の詳細を一覧します。
https://elasticache.us-west-2.amazonaws.com/
?Action=DescribeCacheClusters
&CacheClusterId=myCluster
&Version=2015-02-02
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&X-Amz-Credential=<credential>
次のコードは最大で 25 のクラスターの詳細を一覧します。
https://elasticache.us-west-2.amazonaws.com/
?Action=DescribeCacheClusters
&MaxRecords=25
&Version=2015-02-02
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&X-Amz-Credential=<credential>
詳細については、ElastiCache API リファレンストピック「DescribeCacheClusters」を参照してくださ
い。
API Version 2015-02-02
154
Amazon ElastiCache ユーザーガイド
クラスターの変更
ElastiCache クラスターの変更
クラスターへのノードの追加またはクラスターからのノードの削除以外にも、セキュリティグループの追
加、メンテナンスウィンドウやパラメータグループの変更など、既存のクラスターに変更をかける必要が
ある場合があります。
メンテナンスウィンドウは使用率の最も低い時間帯に設定することをお勧めします。このため、場合に
よっては変更が必要になります。
クラスターのパラメータグループの変更、またはクラスターのパラメータグループのパラメーター値の変
更によるクラスターのパラメーターの変更は、クラスターが再起動された後に適用されます。
クラスターの変更 ((コンソール))
クラスターを変更するには ((console))
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインで [Redis または [Memcached] を選択します。
3.
4.
選択したエンジンのクラスターが一覧表示されます。
クラスターの一覧で、変更するクラスターの名前を選択します。Redis (クラスターモードが有効) ク
ラスターで変更できるのは、セキュリティグループ、説明、パラメータグループ、バックアップオプ
ション、メンテナンス期間、および SNS 通知に限られます。
[Modify] を選択します。
[Modify Cluster] ウィンドウが表示されます。
5.
[Modify Cluster] ウィンドウで、必要な変更を加えます。
Important
より新しいバージョンのエンジンにはアップグレードできますが (「エンジンバージョンの
アップグレード (p. 44)」を参照)、既存のクラスターを削除して新しく作成し直さない限り、
以前のバージョンのエンジンにはダウングレードできません。
新しいバージョンの Redis ほど、より良く安定したユーザーエクスペリエンスを提供しているた
め、Redis バージョン 2.6.13、2.8.6、および 2.8.19 は ElastiCache コンソールから廃止されました。
お勧めしませんが、以前のいずれかの Redis バージョンを使用する必要がある場合は、AWS CLI また
は ElastiCache API を使用できます。
詳細については、以下のトピックを参照してください。
AWS AWS CLI
ElastiCache API
クラスターの作成
キャッシュクラスターの作成
((AWS CLI)) (p. 144)
キャッシュクラスターの作成
((ElastiCache API)) (p. 146)
クラスターの変更
キャッシュクラスターの変更
((AWS CLI)) (p. 156)
キャッシュクラスターの変更
((ElastiCache API)) (p. 157)
レプリケーショングループの作
成
ゼロからの Redis (クラスター
モードが無効) レプリケー
ショングループの作成 ((AWS
CLI)) (p. 218)
ゼロからの Redis (クラスター
モードが無効) レプリケーショ
ングループの作成 ((ElastiCache
API)) (p. 220)
ゼロからの Redis (クラスター
モードが有効) レプリケー
ゼロからの Redis (クラスター
モードが有効) レプリケーショ
API Version 2015-02-02
155
Amazon ElastiCache ユーザーガイド
キャッシュクラスターの変更 ((AWS CLI))
レプリケーショングループの変
更
AWS AWS CLI
ElastiCache API
ショングループの作成 ((AWS
CLI)) (p. 224)
ングループの作成 ((ElastiCache
API)) (p. 228)
レプリケーショングループの変
更 ((AWS CLI)) (p. 237)
レプリケーショングルー
プの変更 ((ElastiCache
API)) (p. 237)
Redis (クラスターモードが有効) クラスターまたはレプリケーショングループの作成に使用するこ
とはできません。
Redis (クラスターモードが有効) クラスターまたはレプリケーショングループの変更に使用するこ
とはできません。
[Apply Immediately] チェックボックスはノードタイプとエンジンバージョンの変更にのみ適用されま
す。いずれの変更もすぐに適用する場合は、[Apply Immediately] チェックボックスをオンにします。
このチェックボックスがオフになっている場合、エンジンバージョンとノードタイプの変更は次のメ
ンテナンス期間中に適用されます。その他の変更 (メンテナンス期間の変更など) はすぐに適用されま
す。
6.
[Modify] を選択します。
キャッシュクラスターの変更 ((AWS CLI))
AWS CLI modify-cache-cluster オペレーションを使用して既存のクラスターを変更できます。クラス
ターの設定値を変更するには、クラスターの ID、変更するパラメーター、パラメーターの新しい値を指定
します。次の例では、myCluster という名前のクラスターのメンテナンスウィンドウを変更し、変更内容
を直ちに適用します。
Important
より新しいエンジンバージョンにアップグレードできますが (「エンジンバージョンのアップグ
レード (p. 44)」を参照)、既存のキャッシュクラスターまたはレプリケーショングループを削除し
て新たにそれを作成しない限り、以前のエンジンバージョンにダウングレードすることはできま
せん。
Linux, macOS, or Unix 用:
aws elasticache modify-cache-cluster \
--cache-cluster-id myCluster \
--preferred-maintenance-window sun:23:00-mon:02:00
Windows の場合:
aws elasticache modify-cache-cluster ^
--cache-cluster-id myCluster ^
--preferred-maintenance-window sun:23:00-mon:02:00
--apply-immediately パラメーターは、ノードタイプとエンジンバージョンの変更、 クラスターのノー
ド数の変更にのみ適用されます。これらの変更のいずれもすぐに適用する場合は、--apply-immediately
パラメーターを使用します。これらの変更を次のメンテナンス期間に延期する場合は、--no-applyimmediately パラメーターを使用します。その他の変更 (メンテナンス期間の変更など) はすぐに適用され
ます。
詳細については、AWS CLI の ElastiCache トピック「modify-cache-cluster」を参照してください。
API Version 2015-02-02
156
Amazon ElastiCache ユーザーガイド
キャッシュクラスターの変更 ((ElastiCache API))
キャッシュクラスターの変更 ((ElastiCache API))
ElastiCache API ModifyCacheCluster オペレーションを使用して既存のクラスターを変更できます。クラ
スターの設定値を変更するには、クラスターの ID、変更するパラメーター、パラメーターの新しい値を指
定します。次の例では、myCluster という名前のクラスターのメンテナンスウィンドウを変更し、変更内
容を直ちに適用します。
Important
より新しいエンジンバージョンにアップグレードできますが (「エンジンバージョンのアップグ
レード (p. 44)」を参照)、既存のキャッシュクラスターまたはレプリケーショングループを削除し
て新たにそれを作成しない限り、以前のエンジンバージョンにダウングレードすることはできま
せん。
次のコード例の改行が読み込みのために追加されます。
https://elasticache.us-west-2.amazonaws.com/
?Action=ModifyCacheCluster
&CacheClusterId=myCluster
&PreferredMaintenanceWindow=sun:23:00-mon:02:00
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150901T220302Z
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Date=20150202T220302Z
&X-Amz-SignedHeaders=Host
&X-Amz-Expires=20150901T220302Z
&X-Amz-Credential=<credential>
&X-Amz-Signature=<signature>
ApplyImmediately パラメーターは、ノードタイプとエンジンバージョンの変更、 クラスターのノー
ド数の変更にのみ適用されます。これらの変更のいずれもすぐに適用する場合は、ApplyImmediately
パラメーターを true に設定します。これらの変更を次のメンテナンス期間に延期する場合
は、ApplyImmediately パラメーターを false に設定します。その他の変更 (メンテナンス期間の変更な
ど) はすぐに適用されます。
詳細については、ElastiCache API リファレンストピック「ModifyCacheCluster」を参照してください。
API Version 2015-02-02
157
Amazon ElastiCache ユーザーガイド
クラスターの再起動
クラスターの再起動
変更内容によっては、変更を適用するためにクラスター再起動する必要があります。たとえば、パラメー
タグループのパラメーター値を変更した場合は、再起動後のみクラスターに変更が適用されます。
クラスターを再起動すると、クラスターのすべてのデータがフラッシュされ、エンジンが再起動されま
す。このプロセス中はクラスターにアクセスできません。クラスターですべてのデータがフラッシュされ
るため、そのクラスターもう一度利用可能になったときは、クラスターが空の状態でから開始します。
ElastiCache コンソール、AWS CLI、または ElastiCache API を使用してクラスターを再起動できま
す。ElastiCache コンソール、AWS CLI、または ElastiCache API を使用する場合でも、再起動を開始でき
るのは 1 つのクラスターだけです。複数のクラスターを再起動するには、プロセスまたはオペレーション
を繰り返す必要があります。
クラスターの再起動 ((コンソール))
ElastiCache コンソールを使用して、クラスターを再起動できます。
クラスターを再起動するには ((console))
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインで、[Memcached] または [Redis] を選択します。
選択したエンジンを実行しているクラスターが一覧表示されます。
3.
クラスター名の左側にあるボックスを選択して、再起動するクラスターを選択します。
[Reboot] ボタンがアクティブになります。
4.
5.
複数のクラスターを選択すると、[Reboot] ボタンが無効になります。
[Reboot] を選択します。
クラスターの再起動確認画面が表示されます。
クラスターを再起動するには、[Reboot] を選択します。クラスターの状態が、クラスターノードの再
起動中に変わります。
クラスターを再起動しない場合は、[Cancel] を選択します。
複数のクラスターを再起動するには、再起動する各クラスターに対してステップ 2 から 5 を繰り返しま
す。
キャッシュクラスターの再起動 ((AWS CLI))
クラスターを再起動 ((AWS CLI)) するには、reboot-cache-cluster CLI オペレーションを使用します。
クラスターの特定のノードを再起動するには、--cache-node-ids-to-reboot を使用して再起動するクラ
スターを一覧します。次のコマンドは、myCluster のノード 0001、0002、および 0004 を再起動します。
Linux, macOS, or Unix 用:
aws elasticache reboot-cache-cluster \
--cache-cluster-id myCluster \
--cache-node-ids-to-reboot 0001 0002 0004
Windows の場合:
API Version 2015-02-02
158
Amazon ElastiCache ユーザーガイド
キャッシュクラスターの再起動 ((ElastiCache API))
aws elasticache reboot-cache-cluster ^
--cache-cluster-id myCluster ^
--cache-node-ids-to-reboot 0001 0002 0004
クラスターのすべてのノードを再起動するには、--cache-node-ids-to-reboot パラメーターを使用し
て、クラスターのすべてのノードの ID を選択します。詳細については、「reboot-cache-cluster」を参照
してください。
キャッシュクラスターの再起動 ((ElastiCache API))
ElastiCache API を使用してクラスターを再起動するには、RebootCacheCluster アクションを使用しま
す。
クラスターの特定のノードを再起動するには、CacheNodeIdsToReboot を使用して再起動するクラスター
を一覧します。次のコマンドは、myCluster のノード 0001、0002、および 0004 を再起動します。
https://elasticache.us-west-2.amazonaws.com/
?Action=RebootCacheCluster
&CacheClusterId=myCluster
&CacheNodeIdsToReboot.member.1=0001
&CacheNodeIdsToReboot.member.2=0002
&CacheNodeIdsToReboot.member.3=0004
&Version=2015-02-02
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&X-Amz-Credential=<credential>
クラスターのすべてのノードを再起動するには、CacheNodeIdsToReboot パラメーターを使用して、クラ
スターのすべてのノードの ID を選択します。詳細については、「RebootCacheCluster」を参照してくだ
さい。
API Version 2015-02-02
159
Amazon ElastiCache ユーザーガイド
クラスターのモニタリング
クラスターのモニタリング
コスト配分タグは、リソースのタグ値別に費用をグループ化することで AWS のコストを追跡および管理
するのに使用できる、キーと値のペアです。
コスト配分タグを使用して AWS 請求書を整理し、自分のコスト構造を反映することができます。そのた
めには、AWS アカウントにサインアップして、タグキー値が含まれた AWS アカウントの請求書を取得す
る必要があります。結合したリソースのコストを確認するには、同じタグキー値を持つリソースに従って
請求情報を整理します。たとえば、複数のリソースに特定のアプリケーション名のタグを付け、請求情報
を整理することで、1 つまたは複数のサービスを利用しているアプリケーションの合計コストを確認する
ことができます。
コスト配分タグの詳細と、クラスターに対してコスト配分タグを追加または削除する方法については、
「コスト配分のタグによるコストのモニタリング (p. 399)」を参照してください。
クラスターへのノードの追加
クラスターへのノードの追加は、現時点では Memcached または Redis (クラスターモードが無効) を実行
している場合に限り適用されます。Redis (クラスターモードが無効) を実行している場合、クラスターに
追加できるノードはレプリカノードです。
ElastiCache マネジメントコンソール、AWS CLI、または ElastiCache API を使用してクラスターにノード
を追加できます。
Memcached クラスターのノードの数を変更するたびに、正しいノードにマップできるようにキースペー
スの一部を再マッピングする必要があります。Memcached クラスターの負荷分散の詳細については、
「効率的な負荷分散のための ElastiCache クライアントの設定 (p. 71)」を参照してください。
クラスターへのノードの追加 ((コンソール))
Memcached またはレプリケーションが有効な Redis (クラスターモードが無効) クラスターにノードを追
加するプロセスは同じです。単一ノード Redis (クラスターモードが無効) クラスター (レプリケーション
が有効でないクラスター) にノードを追加する場合は、2 ステッププロセスとなり、最初のステップでレプ
リケーションを追加し、次のステップでレプリカノードを追加します。
トピック
• シャードがない Redis クラスターにレプリケーションを追加するには (p. 160)
• Memcached または 1 つのシャードを持つ Redis (クラスターモードが無効) クラスターにノードを追加
するには ((console)) (p. 161)
次の手順では、レプリケーションが有効でない単一ノード Redis にレプリケーションを追加します。レプ
リケーションを追加すると、既存のノードはレプリケーションが有効なクラスターのプライマリノードに
なります。レプリケーションの追加後に、最大 5 個のレプリカノードをクラスターに追加できます。
シャードがない Redis クラスターにレプリケーションを追加するには
1.
2.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
左のナビゲーションペインから、[Redis] を選択します。
3.
Redis エンジンを実行しているクラスターが一覧表示されます。
追加するクラスターの名前を指定します。
レプリケーションが有効でない Redis クラスターは以下に該当します。
API Version 2015-02-02
160
Amazon ElastiCache ユーザーガイド
クラスターへのノードの追加 ((コンソール))
• クラスター化された Redis ではなく、Redis を実行しています。
• シャードがありません。
クラスターにシャードがある場合は、レプリケーションがすでに有効になっており、Memcached
または 1 つのシャードを持つ Redis (クラスターモードが無効) クラスターにノードを追加するには
((console)) (p. 161) を続行できます。
4.
[Add replication] を選択します。
5.
[Add Replication] で、このレプリケーションが有効なクラスターの説明を入力します。
6.
[Add] を選択します。
クラスターのステータスが [available] になり次第、次の手順に進んでクラスターにレプリカを追加で
きます。
Memcached または 1 つのシャードを持つ Redis (クラスターモードが無効) クラスターにノード
を追加するには ((console))
次の手順を使用して Memcached クラスターまたはレプリケーションが有効な Redis (クラスターモードが
無効) クラスターにノードを追加できます。現時点では、Redis (クラスターモードが有効) クラスターに対
してノードを追加または削除することはできません。
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインで、[Memcached] または [Redis] を選択します。
選択したエンジンを実行しているクラスターが一覧表示されます。
3.
クラスターの一覧から、ノードを追加するクラスターの名前を選択します。Clustered Redis エンジン
を実行しているクラスターや、シャードがない Redis クラスターを選択することはできません。
クラスターのノードが一覧表示されて、[Add node] ボタンがアクティブになります。
4.
ページの上部の [Add node] を選択します。
5.
[Add Node] で、[Add Node] (Memcached) ダイアログボックスまたは [Add Read Replica to Cluster]
(Redis) ダイアログボックスに必要な情報を入力します。
6.
この変更を直ちに適用する場合は [Apply Immediately - Yes] ボタンを選択します。次のメンテナンス
期間まで変更を延期する場合は [No] を選択します。
保留中のリクエストに対する新しい送信/削除リクエストの影響
シナリオ
保留中の操
作
新しいリク
エスト
結果
シナリオ 1
削除
削除
新しい削除リクエストは、保留中か即時かを問わず、保
留中の削除リクエストを置き換えます。
たとえば、ノード 0001、0003、および 0007 の削除が
保留中の場合に、ノード 0002 および 0004 のみを削除
する新しいリクエストが出されると、ノード 0002 およ
び 0004 のみが削除されます。ノード 0001、0003、お
よび 0007 は削除されません。
シナリオ 2
削除
作成
新しい作成リクエストは、保留中か即時かを問わず、保
留中の削除リクエストを置き換えます。
たとえば、ノード 0001、0003、および 0007 の削除
が保留中の場合に、ノードを作成する新しいリクエス
API Version 2015-02-02
161
Amazon ElastiCache ユーザーガイド
クラスターへのノードの追加 ((コンソール))
シナリオ
保留中の操
作
新しいリク
エスト
結果
トが出されると、新しいノードが作成され、ノード
0001、0003、および 0007 は削除されません。
シナリオ 3
作成
削除
新しい削除リクエストは、保留中か即時かを問わず、保
留中の作成リクエストを置き換えます。
たとえば、2 つのノードを作成する保留中のリクエスト
がある場合に、ノード 0003 を削除する新しいリクエス
トが出されると、新しいノードは作成されず、ノード
0003 が削除されます。
シナリオ 4
作成
作成
新しい作成リクエストは保留中の作成リクエストに追加
されます。
たとえば、2 つのノードを作成する保留中のリクエスト
がある場合に、3 つのノードを作成する新しいリクエス
トが出されると、保留中のリクエストに新しいリクエス
ト追加され、5 つのノードが作成されます。
Important
新しい作成リクエストを [Apply Immediately Yes] に設定すると、すべての作成リクエスト
はすぐに実行されます。新しい作成リクエスト
を [Apply Immediately - No] に設定すると、す
べてのリクエストは保留中になります。
保留中の操作を特定するには、[Description] タブを選択し、表示される保留中の作成または削除の数
を確認します。保留中の作成と削除が同時に存在することはできません。
7.
[Add] ボタンを選択します。
しばらくすると、新しいノードが一覧表示され、ステータス [creating] になります。表示されない場
合は、ブラウザのページを更新します。
API Version 2015-02-02
162
Amazon ElastiCache ユーザーガイド
キャッシュクラスターへのノードの追加 ((AWS CLI))
キャッシュクラスターへのノードの追加 ((AWS CLI))
レプリケーションが有効でない既存の Redis (クラスターモードが無効) レプリケーショングループ (コン
ソール: クラスター) にノードを追加する場合は、最初にレプリケーショングループを作成して既存のクラ
スターをプライマリとして指定する必要があります。詳細については、「利用可能な Redis キャッシュク
ラスターを使用したレプリケーショングループの作成 ((AWS CLI)) (p. 213)」を参照してください。レプ
リケーショングループが [available] になった後で、次のプロセスを続行できます。
AWS CLI を使用してクラスターにノードを追加するには、以下のパラメーターを指定して AWS CLI オペ
レーション modify-cache-cluster を使用します。
• --cache-cluster-id ノードを追加するキャッシュクラスターの ID。
• --num-cache-nodes --num-cache-nodes パラメーターは、この変更を適用した後にこのクラスターで必
要となるノードの数を設定します。このクラスターにノードを追加しても、--num-cache-nodes はこの
クラスター内の現在ノードの数よりも大きくする必要があります。この値が現在のノード数より少ない
場合、ElastiCache は cache-node-ids-to-remove パラメーターと、クラスターから削除するノードの
一覧を要求します。詳細については、「クラスターからのノードの削除 ((AWS CLI)) (p. 167)」を参照
してください。
• --apply-immediately または --no-apply-immediately は、次のメンテナンス時にこれらのノードを追
加するかどうかを指定します。
Linux, macOS, or Unix 用:
aws elasticache modify-cache-cluster \
--cache-cluster-id my-cache-cluster \
--num-cache-nodes 5 \
--apply-immediately
Windows の場合:
aws elasticache modify-cache-cluster ^
--cache-cluster-id my-cache-cluster ^
--num-cache-nodes 5 ^
--apply-immediately
このオペレーションでは、以下のような (JSON 形式の) 出力が生成されます。
{
"CacheCluster": {
"Engine": "memcached",
"CacheParameterGroup": {
"CacheNodeIdsToReboot": [],
"CacheParameterGroupName": "default.memcached1.4",
"ParameterApplyStatus": "in-sync"
},
"CacheClusterId": "my-cache-cluster",
"PreferredAvailabilityZone": "us-west-2b",
"ConfigurationEndpoint": {
"Port": 11211,
"Address": "rlh-mem000.7alc7bf-example.cfg.usw2.cache.amazonaws.com"
},
"CacheSecurityGroups": [],
"CacheClusterCreateTime": "2016-09-21T16:28:28.973Z",
"AutoMinorVersionUpgrade": true,
"CacheClusterStatus": "modifying",
"NumCacheNodes": 2,
"ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/
home#client-download:",
API Version 2015-02-02
163
Amazon ElastiCache ユーザーガイド
キャッシュクラスターへのノードの追加 ((ElastiCache API))
"SecurityGroups": [
{
"Status": "active",
"SecurityGroupId": "sg-dbe93fa2"
}
],
"CacheSubnetGroupName": "default",
"EngineVersion": "1.4.24",
"PendingModifiedValues": {
"NumCacheNodes": 5
},
"PreferredMaintenanceWindow": "sat:09:00-sat:10:00",
"CacheNodeType": "cache.m3.medium"
}
}
詳細については、AWS CLI トピック「modify-cache-cluster」を参照してください。
キャッシュクラスターへのノードの追加 ((ElastiCache
API))
レプリケーションが有効でない既存の Redis (クラスターモードが無効) レプリケーショングループ (コン
ソール: クラスター) にノードを追加する場合は、最初にレプリケーショングループを作成して既存のクラ
スターをプライマリとして指定する必要があります。詳細については、「利用可能な Redis キャッシュク
ラスターを使用したレプリケーショングループの作成 ((ElastiCache API)) (p. 215)」を参照してくださ
い。レプリケーショングループが [available] になった後で、次のプロセスを続行できます。
ノードをクラスターに追加するには ((ElastiCache API))
•
以下のパラメーターを指定して ModifyCacheCluster API オペレーションを呼び出します。
• CacheClusterId ノードを追加するクラスターの ID。
• NumCacheNodes NumCachNodes パラメーターは、この変更を適用した後に必要となるノードの数
を設定します。このクラスターにノードを追加しても、NumCacheNodes はこのクラスター内の
現在ノードの数よりも大きくする必要があります。この値が現在のノードの数よりより少ない場
合、ElastiCache は CacheNodeIdsToRemove パラメーターとノードのリストがノードをクラスターか
ら削除することを想定します (「クラスターからのノードの削除 ((ElastiCache API)) (p. 170)」を
参照)。
• ApplyImmediately は、次のメンテナンス時にこれらのノードを追加するかどうかを指定します。
次の例は、クラスターにノードを追加する呼び出しを示しています。
Example
https://elasticache.us-west-2.amazonaws.com/
?Action=ModifyCacheCluster
&ApplyImmediately=true
&NumCacheNodes=5
&CacheClusterId=myCacheCluster
&Version=2014-12-01
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20141201T220302Z
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Date=20141201T220302Z
&X-Amz-SignedHeaders=Host
&X-Amz-Expires=20141201T220302Z
&X-Amz-Credential=<credential>
API Version 2015-02-02
164
Amazon ElastiCache ユーザーガイド
キャッシュクラスターへのノードの追加 ((ElastiCache API))
&X-Amz-Signature=<signature>
詳細については、ElastiCache API トピック「ModifyCacheCluster」を参照してください。
API Version 2015-02-02
165
Amazon ElastiCache ユーザーガイド
クラスターからのノードの削除
クラスターからのノードの削除
クラスターからのノードの削除は、Clustered Redis エンジンを実行している場合に限り適用されます。
Memcached クラスターのノード数を変更するたびに、正しいノードにマップできるようにキースペース
の一部を再マッピングする必要があります。Memcached クラスターの負荷分散の詳細については、「効
率的な負荷分散のための ElastiCache クライアントの設定 (p. 71)」を参照してください。
トピック
• クラスターからのノードの削除 ((コンソール)) (p. 166)
• クラスターからのノードの削除 ((AWS CLI)) (p. 167)
• クラスターからのノードの削除 ((ElastiCache API)) (p. 170)
クラスターからのノードの削除 ((コンソール))
クラスターからノードを削除するには ((console))
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインで、[Memcached] または [Redis] を選択します。
3.
選択したエンジンを実行しているクラスターが一覧表示されます。
クラスターの一覧から、ノードを削除するクラスターの名前を選択します。
4.
クラスターのノードが一覧表示されます。
削除するノードのノード ID の左側にあるボックスを選択します。ElastiCache コンソール で同時に
削除できるノードは 1 つのみです。複数のノードを選択すると、[Delete node] ボタンは無効になりま
す。
[Delete Node] ダイアログが表示されます。
5.
ノードを削除するには、[Delete Node] ダイアログボックスに入力し、[Delete Node] を選択します。
ノードを削除しない場合は、[Cancel] を選択します。
保留中のリクエストに対する新しい送信/削除リクエストの影響
シナリオ
保留中の操
作
新しいリク
エスト
結果
シナリオ 1
削除
削除
新しい削除リクエストは、保留中か即時かを問わず、保留
中の削除リクエストを置き換えます。
たとえば、ノード 0001、0003、および 0007 の削除が保
留中の場合に、ノード 0002 および 0004 のみを削除する
新しいリクエストが出されると、ノード 0002 および 0004
のみが削除されます。ノード 0001、0003、および 0007
は削除されません。
シナリオ 2
削除
作成
新しい作成リクエストは、保留中か即時かを問わず、保留
中の削除リクエストを置き換えます。
たとえば、ノード 0001、0003、および 0007 の削除が保
留中の場合に、ノードを作成する新しいリクエストが出さ
れると、新しいノードが作成され、ノード 0001、0003、
および 0007 は削除されません。
API Version 2015-02-02
166
Amazon ElastiCache ユーザーガイド
クラスターからのノードの削除 ((AWS CLI))
シナリオ
保留中の操
作
新しいリク
エスト
結果
シナリオ 3
作成
削除
新しい削除リクエストは、保留中か即時かを問わず、保留
中の作成リクエストを置き換えます。
たとえば、2 つのノードを作成する保留中のリクエストが
ある場合に、ノード 0003 を削除する新しいリクエストが
出されると、新しいノードは作成されず、ノード 0003 が
削除されます。
シナリオ 4
作成
作成
新しい作成リクエストは保留中の作成リクエストに追加さ
れます。
たとえば、2 つのノードを作成する保留中のリクエストが
ある場合に、3 つのノードを作成する新しいリクエストが
出されると、保留中のリクエストに新しいリクエスト追加
され、5 つのノードが作成されます。
Important
新しい作成リクエストを [Apply Immediately Yes] に設定すると、すべての作成リクエストは
すぐに実行されます。新しい作成リクエストを
[Apply Immediately - No] に設定すると、すべての
リクエストは保留中になります。
保留中の操作を特定するには、[Description] タブを選択し、表示される保留中の作成または削除の数を確
認します。保留中の作成と削除が同時に存在することはできません。
クラスターからのノードの削除 ((AWS CLI))
1.
以下の例のように、describe-cache-cluster コマンドを使用してクラスターのノードのリストを表
示します。削除するノードの識別子を書き留めてください。
Linux, macOS, or Unix 用:
aws elasticache describe-cache-clusters \
--cache-cluster-id my-memcached-cluster \
--show-cache-node-info
API Version 2015-02-02
167
Amazon ElastiCache ユーザーガイド
クラスターからのノードの削除 ((AWS CLI))
Windows の場合:
aws elasticache describe-cache-clusters ^
--cache-cluster-id my-memcached-cluster ^
--show-cache-node-info
このオペレーションでは、以下のような (JSON 形式の) 出力が生成されます。
{
"CacheClusters": [
{
"Engine": "memcached",
"CacheNodes": [
{
"CacheNodeId": "0001",
"Endpoint": {
"Port": 11211,
"Address": "my-memcached-cluster.7efexample.0001.usw2.cache.amazonaws.com"
},
"CacheNodeStatus": "available",
"ParameterGroupStatus": "in-sync",
"CacheNodeCreateTime": "2016-09-21T16:28:28.973Z",
"CustomerAvailabilityZone": "us-west-2b"
},
{
"CacheNodeId": "0002",
"Endpoint": {
"Port": 11211,
"Address": "my-memcached-cluster.7efexample.0002.usw2.cache.amazonaws.com"
},
"CacheNodeStatus": "available",
"ParameterGroupStatus": "in-sync",
"CacheNodeCreateTime": "2016-09-21T16:28:28.973Z",
"CustomerAvailabilityZone": "us-west-2b"
},
{
"CacheNodeId": "0003",
"Endpoint": {
"Port": 11211,
"Address": "my-memcached-cluster.7efexample.0003.usw2.cache.amazonaws.com"
},
"CacheNodeStatus": "available",
"ParameterGroupStatus": "in-sync",
"CacheNodeCreateTime": "2016-09-21T16:28:28.973Z",
"CustomerAvailabilityZone": "us-west-2b"
}
],
"CacheParameterGroup": {
"CacheNodeIdsToReboot": [],
"CacheParameterGroupName": "default.memcached1.4",
"ParameterApplyStatus": "in-sync"
},
"CacheClusterId": "my-memcached-cluster",
"PreferredAvailabilityZone": "us-west-2b",
"ConfigurationEndpoint": {
"Port": 11211,
"Address": "my-memcached-cluster.7efexample.cfg.usw2.cache.amazonaws.com"
},
"CacheSecurityGroups": [],
API Version 2015-02-02
168
Amazon ElastiCache ユーザーガイド
クラスターからのノードの削除 ((AWS CLI))
"CacheClusterCreateTime": "2016-09-21T16:28:28.973Z",
"AutoMinorVersionUpgrade": true,
"CacheClusterStatus": "available",
"NumCacheNodes": 3,
"ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/
home#client-download:",
"SecurityGroups": [
{
"Status": "active",
"SecurityGroupId": "sg-dbe93fa2"
}
],
"CacheSubnetGroupName": "default",
"EngineVersion": "1.4.24",
"PendingModifiedValues": {},
"PreferredMaintenanceWindow": "sat:09:00-sat:10:00",
"CacheNodeType": "cache.m3.medium"
}
]
}
2.
次の例のように、削除するノードの一覧を使用して modify-cache-cluster CLI オペレーションを呼
び出します。
コマンドラインインターフェイスを使用してクラスターからノードを削除するには、以下のパラメー
ターを指定して modify-cache-cluster コマンドを使用します。
• --cache-cluster-id、ノードを削除するキャッシュクラスターの ID。
• --num-cache-nodes --num-cache-nodes パラメーターは、この変更を適用した後に必要となるノー
ドの数を設定します。
• --cache-node-ids-to-remove このクラスターから削除するノード ID のリスト。
• --apply-immediately または --no-apply-immediately は、次のメンテナンス時にこれらのノード
を削除するかどうかを指定します。
次の例では、my-memcached-cluster クラスターからノード 0001 を直ちに削除します。
Linux, macOS, or Unix 用:
aws elasticache modify-cache-cluster \
--cache-cluster-id my-memcached-cluster \
--num-cache-nodes 2 \
--cache-node-ids-to-remove 0001 \
--apply-immediately
Windows の場合:
aws elasticache modify-cache-cluster ^
--cache-cluster-id my-memcached-cluster ^
--num-cache-nodes 2 ^
--cache-node-ids-to-remove 0001 ^
--apply-immediately
このオペレーションでは、以下のような (JSON 形式の) 出力が生成されます。
{
"CacheCluster": {
"Engine": "memcached",
"CacheParameterGroup": {
"CacheNodeIdsToReboot": [],
API Version 2015-02-02
169
Amazon ElastiCache ユーザーガイド
クラスターからのノードの削除 ((ElastiCache API))
"CacheParameterGroupName": "default.memcached1.4",
"ParameterApplyStatus": "in-sync"
},
"CacheClusterId": "my-memcached-cluster",
"PreferredAvailabilityZone": "us-west-2b",
"ConfigurationEndpoint": {
"Port": 11211,
"Address": "rlh-mem000.7ef-example.cfg.usw2.cache.amazonaws.com"
},
"CacheSecurityGroups": [],
"CacheClusterCreateTime": "2016-09-21T16:28:28.973Z", 9dcv5r
"AutoMinorVersionUpgrade": true,
"CacheClusterStatus": "modifying",
"NumCacheNodes": 3,
"ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/
home#client-download:",
"SecurityGroups": [
{
"Status": "active",
"SecurityGroupId": "sg-dbe93fa2"
}
],
"CacheSubnetGroupName": "default",
"EngineVersion": "1.4.24",
"PendingModifiedValues": {
"NumCacheNodes": 2,
"CacheNodeIdsToRemove": [
"0001"
]
},
"PreferredMaintenanceWindow": "sat:09:00-sat:10:00",
"CacheNodeType": "cache.m3.medium"
}
}
詳細については、AWS CLI トピック「describe-cache-cluster」および「modify-cache-cluster」を参
照してください。
クラスターからのノードの削除 ((ElastiCache API))
ElastiCache API を使用してノードを削除するには、次のようにキャッシュクラスター ID と削除するノー
ドの一覧を使用して ModifyCacheCluster API オペレーションを呼び出します。
• CacheClusterId、ノードを削除するキャッシュクラスターの ID。
• NumCacheNodes NumCacheNodes パラメーターは、この変更を適用した後に必要となるノードの数を設定
します。
• CacheNodeIdsToRemove.member.n クラスターから削除するノード ID の一覧。
• CacheNodeIdsToRemove.member.1=0004
• CacheNodeIdsToRemove.member.1=0005
• ApplyImmediately は、次のメンテナンス時にこれらのノードを削除するかどうかを指定します。
次の例では、myCacheCluster クラスターからノード 0004 と 0005 を直ちに削除します。
https://elasticache.us-west-2.amazonaws.com/
?Action=ModifyCacheCluster
&CacheClusterId=myCacheCluster
&ApplyImmediately=true
&CacheNodeIdsToRemove.member.1=0004
API Version 2015-02-02
170
Amazon ElastiCache ユーザーガイド
クラスターからのノードの削除 ((ElastiCache API))
&CacheNodeIdsToRemove.member.2=0005
&NumCacheNodes=3
&Version=2014-12-01
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20141201T220302Z
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Date=20141201T220302Z
&X-Amz-SignedHeaders=Host
&X-Amz-Expires=20141201T220302Z
&X-Amz-Credential=<credential>
&X-Amz-Signature=<signature>
詳細については、ElastiCache API トピック「ModifyCacheCluster」を参照してください。
API Version 2015-02-02
171
Amazon ElastiCache ユーザーガイド
保留中のノードの追加または削
除オペレーションのキャンセル
保留中のノードの追加または削除オペレーションの
キャンセル
保留中のノードの追加またはノード削除オペレーショ
ンのキャンセル ((コンソール))
変更を直ちに適用しないことを選択した場合、オペレーションは、次のメンテナンス時間に実行されるま
で pending ステータスになります。保留中のオペレーションはすべてキャンセルできます。
保留中のオペレーションをキャンセルするには
1.
2.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
左のナビゲーションペインで、[Memcached] または [Redis] をクリックします。 選択したエンジンを
実行しているクラスターが一覧表示されます。
3.
クラスターの一覧で、保留中のオペレーションをキャンセルするクラスターの名前を選択します。
4.
保留中の操作を特定するには、[Description] タブを選択し、表示される保留中の作成または削除の数
を確認します。保留中の作成と削除が同時に存在することはできません。
5.
6.
[Nodes] タブを選択します。
すべての保留中のオペレーションをキャンセルするには、[Cancel Pending] をクリックします。
[Cancel Pending] ダイアログボックスが表示されます。
[Cancel Pending] ボタンを選択して、すべての保留中のオペレーションをキャンセルすることを確認
します。オペレーションを保持する場合は、[Cancel] をクリックします。
7.
API Version 2015-02-02
172
Amazon ElastiCache ユーザーガイド
クラスターの削除
クラスターの削除
クラスターが使用可能な状態であれば、実際に使用しているかどうかに関係なく課金されます。課金を中
止するには、クラスターを削除します。
クラスターの削除 ((コンソール))
次の手順では、デプロイから 1 つのクラスターを削除します。複数のクラスターを削除するには、削除す
る各クラスターで手順を繰り返してください。別のクラスターの削除手順を開始する前に、1 つのクラス
ターの削除が終了するのを待つ必要はありません。
クラスターを削除するには
1.
AWS マネジメントコンソールにサインインし、Amazon ElastiCache コンソール (https://
console.aws.amazon.com/elasticache/) を開きます。
2.
ElastiCache コンソールダッシュボードで、削除するクラスターが実行されているエンジン
(Memcached または Redis) を選択します。
選択したエンジンを実行しているクラスターがすべて一覧表示されます。
3.
削除するクラスターを選択するには、クラスターのリストからそのクラスターの名前を選択します。
Important
ElastiCache コンソールから、一度に 1 つずつクラスターを削除できます。複数のクラス
ターを選択すると、削除オペレーションが無効になります。
4.
[Actions] ボタンを選択し、アクションのリストから [Delete] を選択します。
5.
[Delete Cluster] 確認画面:
a. これが Redis クラスターである場合、最終スナップショットを取得するかどうかと、最終スナップ
ショットが必要な場合は最終スナップショット名を指定します。
b. [Delete] を選択してクラスターを削除するか、[Cancel] を選択してクラスターを保持します。
[Delete] を選択した場合は、クラスターのステータスが削除中に変わります。
クラスターがクラスターのリストに表示されなくなるとすぐに、課金が停止されます。
キャッシュクラスターの削除 ((AWS CLI))
次のコードでは、キャッシュクラスター myCluster を削除します。
aws elasticache delete-cache-cluster --cache-cluster-id myCluster
delete-cache-cluster CLI アクションは 1 つのキャッシュクラスターのみを削除します。複数のキャッ
シュクラスターを削除する場合は、削除するキャッシュクラスターごとに delete-cache-cluster を呼び
出します。1 つのキャッシュクラスターの削除が終了するまで待たなくても次のクラスターを削除できま
す。
詳細については、AWS CLI の ElastiCache トピック「delete-cache-cluster」を参照してください。
キャッシュクラスターの削除 ((ElastiCache API))
次のコードはクラスター myCluster を削除します。
API Version 2015-02-02
173
Amazon ElastiCache ユーザーガイド
キャッシュクラスターの削除 ((ElastiCache API))
https://elasticache.us-west-2.amazonaws.com/
?Action=DeleteCacheCluster
&CacheClusterId=myCluster
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T220302Z
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Date=20150202T220302Z
&X-Amz-SignedHeaders=Host
&X-Amz-Expires=20150202T220302Z
&X-Amz-Credential=<credential>
&X-Amz-Signature=<signature>
DeleteCacheCluster API オペレーションは 1 つのキャッシュクラスターのみを削除します。複数の
キャッシュクラスターを削除する場合は、削除するキャッシュクラスターごとに DeleteCacheCluster を
呼び出します。1 つのキャッシュクラスターの削除が終了するまで待たなくても次のクラスターを削除で
きます。
詳細については、ElastiCache API リファレンストピック「DeleteCacheCluster」を参照してください。
API Version 2015-02-02
174
Amazon ElastiCache ユーザーガイド
スケーリング
アプリケーションが処理しなければならないデータの量は、一定ではありません。業務の拡大または
または通常の変動が発生すると、需要は増加します。キャッシュを自己管理する場合は、需要のピーク
に対して充分なハードウェアを用意する必要がありますが、それにより費用が高くなります。Amazon
ElastiCache を使用すると、現時点の需要を満たすための拡張を行って、利用した分だけで支払うことが
可能になります。ElastiCache で、需要に合わせてキャッシュをスケーリングできます。
Important
Amazon ElastiCache では、Redis (クラスターモードが有効) レプリケーショングループの変更
がサポートされていません。したがって、Redis (クラスターモードが有効) レプリケーショング
ループをスケーリングする唯一の方法は、ノードタイプ、スケーリングしたいノードグループの
数およびノードグループあたりのレプリカの数を持つ新しいレプリケーショングループを作成し
てから、既存のレプリケーショングループを削除することです。ノードグループの数を変更しな
い場合は、既存のレプリケーショングループからのデータを新しいレプリケーショングループに
配置できます。詳細については、「ElastiCache バックアップと復元 (Redis) (p. 246)」を参照
してください。
トピック
• Memcached のスケーリング (p. 176)
• Redis (クラスターモードが無効) クラスターのスケーリング (p. 179)
• レプリカノードを含む Redis のクラスターのスケーリング (p. 188)
API Version 2015-02-02
175
Amazon ElastiCache ユーザーガイド
Memcached のスケーリング
Memcached のスケーリング
Memcached クラスターは、1~ 20 のノードで構成されます。Memcached クラスターのスケールアウト/
インはクラスターでのノードの追加/削除と同じくらい簡単です。
Memcached クラスターで 20 を超えるノードが必要な場合、またはリージョンで合計 100 を超えるノー
ドが必要な場合は、ElastiCache 上限緩和申請 (https://aws.amazon.com/http://aws.amazon.com/contactus/elasticache-node-limit-request/) に入力してください。
Memcached クラスターのすべてのノード間でデータを分割できるため、メモリのより大きいノードタイ
プにスケールアップすることはほとんど必要ありません。ただし、Memcached エンジンによってデータ
は永続的に保持されないため、別のノードタイプへのスケーリングを行う場合は、新しい Memcached ク
ラスターを作成する必要があります。Memcached クラスターは、アプリケーションによって事前設定さ
れない限り、最初は空の状態になります。
トピック
• Memcached の水平スケーリング (p. 176)
• Memcached の垂直スケーリング (p. 177)
Memcached の水平スケーリング
Memcached エンジンでは、複数のノード間でのデータの分割がサポートされています。このた
め、Memcached クラスターの水平スケーリングは簡単です。Memcached クラスターでは、1 個から 20
までのノードを設定できます。Memcached クラスターの水平スケーリングを行うには、ノードを追加ま
たは削除するだけです。
Memcached クラスターで 20 を超えるノードが必要な場合、またはリージョンで合計 100 を超えるノー
ドが必要な場合は、ElastiCache 上限緩和申請 (https://aws.amazon.com/http://aws.amazon.com/contactus/elasticache-node-limit-request/) に入力してください。
以下のトピックでは、ノードを追加したり削除したりして Memcached クラスターをスケーリングする方
法について説明します。
• クラスターへのノードの追加 (p. 160)
• クラスターからのノードの削除 (p. 166)
Memcached クラスターのノードの数を変更するたびに、正しいノードにマップできるようにキースペー
スの一部を再マッピングする必要があります。Memcached クラスターの負荷分散の詳細については、
「効率的な負荷分散のための ElastiCache クライアントの設定 (p. 71)」を参照してください。
Memcached クラスターで自動検出を使用する場合は、ノードを追加したり削除するたびに、アプリケー
ションのエンドポイントを変更する必要はありません。自動検出の詳細については、「 ノードの自動検出
(Memcached) (p. 101)」を参照してください。自動検出を使用しない場合は、Memcached クラスターの
ノード数を変更するたびに、アプリケーションのエンドポイントを更新する必要があります。
API Version 2015-02-02
176
Amazon ElastiCache ユーザーガイド
Memcached の垂直スケーリング
Memcached の垂直スケーリング
Memcached クラスターをスケールアップ/ダウンするときは、新しいクラスターを作成する必要がありま
す。Memcached クラスターは、アプリケーションによって事前設定されない限り、最初は空の状態にな
ります。
Important
より小さいノードタイプにスケールダウンする場合は、そのノードタイプがデータとオーバー
ヘッドのニーズを満たしていることを確認してください。詳細については、「Memcached ノー
ドサイズの選択 (p. 83)」を参照してください。
トピック
• Memcached の垂直スケーリング ((コンソール)) (p. 177)
• Memcached の垂直スケーリング ((AWS CLI)) (p. 177)
• Memcached の垂直スケーリング ((ElastiCache API)) (p. 177)
Memcached の垂直スケーリング ((コンソール))
以下の手順では、ElastiCache コンソールを使用した Memcached クラスターの垂直スケーリングの手順
について説明しています。
Memcached クラスターの垂直スケーリングを行うには ((console))
1.
新しいノードインスタンスタイプで新しいクラスターを作成します。詳細については、「クラスター
の作成 ((コンソール)): Memcached (p. 134)」を参照してください。
2.
アプリケーションでは、新しいクラスターのエンドポイントにエンドポイントが更新されます。詳細
については、「Memcached クラスターのエンドポイントの検索 (コンソール) (p. 53)」を参照してく
ださい。
3.
古いクラスターを削除します。詳細については、「クラスターの削除 ((コンソール)) (p. 173)」を参照
してください。
Memcached の垂直スケーリング ((AWS CLI))
以下の手順では、AWS CLI を使用した Memcached キャッシュクラスターの垂直スケーリングの手順につ
いて説明しています。
Memcached キャッシュクラスターの垂直スケーリングを行うには ((AWS CLI))
1.
新しいノードインスタンスタイプで新しいキャッシュクラスターを作成します。詳細については、
「キャッシュクラスターの作成 ((AWS CLI)) (p. 144)」を参照してください。
2.
アプリケーションでは、新しいクラスターのエンドポイントにエンドポイントが更新されます。詳細
については、「エンドポイントの検索 (AWS CLI) (p. 59)」を参照してください。
3.
古いキャッシュクラスターを削除します。詳細については、「キャッシュクラスターの削除 ((AWS
CLI)) (p. 173)」を参照してください。
Memcached の垂直スケーリング ((ElastiCache API))
以下の手順では、ElastiCache API を使用した Memcached キャッシュクラスターの垂直スケーリングの手
順について説明しています。
API Version 2015-02-02
177
Amazon ElastiCache ユーザーガイド
Memcached の垂直スケーリング
Memcached キャッシュクラスターの垂直スケーリングを行うには ((ElastiCache API))
1.
2.
3.
新しいノードインスタンスタイプで新しいキャッシュクラスターを作成します。詳細については、
「キャッシュクラスターの作成 ((ElastiCache API)) (p. 146)」を参照してください。
アプリケーションで、エンドポイントを新しいキャッシュクラスターのエンドポイントに更新しま
す。詳細については、「エンドポイントの検索 (ElastiCache API) (p. 63)」を参照してください。
古いキャッシュクラスターを削除します。詳細については、「キャッシュクラスターの削除
((ElastiCache API)) (p. 173)」を参照してください。
API Version 2015-02-02
178
Amazon ElastiCache ユーザーガイド
Redis (クラスターモードが無効) クラスターのスケーリング
Redis (クラスターモードが無効) クラスターのス
ケーリング
Redis (クラスターモードが無効) ノードには、すべてのキャッシュのデータと Redis のオーバーヘッドを
保存するのに十分なデータ容量が必要です。Redis (クラスターモードが無効) クラスターのデータ容量を
変更するには、垂直スケーリングを行う (より大きいノードタイプにスケールアップしてデータ容量を増
やすか、より小さいノードタイプにスケールダウンしてデータ容量を減らす) 必要があります。
ElastiCache のスケールアッププロセスは、既存のデータをベストエフォートで保持するように設計さ
れており、Redis レプリケーションが正常に実行される必要があります。Redis (クラスターモードが無
効) Redis クラスターの場合、「Redis スナップショットを作成するための十分なメモリがあることの確
認 (p. 65)」トピックで説明しているように、Redis 用に十分なメモリを確保することをお勧めします。
スケールダウンプロセスは完全に手動であり、特に対処しない限り、データの保持は試みられません。
複数の Redis (クラスターモードが無効) クラスター間でデータを分割することはできません。ただし、ク
ラスターの読み込みキャパシティーを増減させる必要がある場合は、レプリカノードを含む Redis (クラ
スターモードが無効) クラスターを作成し、リードレプリカを追加または削除できます。プライマリクラ
スターとして単一ノード Redis キャッシュクラスターを使用して、レプリカノードを含む Redis (クラス
ターモードが無効) クラスターを作成するには、「Redis (クラスターモードが無効) クラスターの作成 ((コ
ンソール)) (p. 136)」を参照してください。
レプリカを含むクラスターを作成したら、リードレプリカを追加することで、読み込みキャパシティーを
増やすことができます。後で必要に応じて、リードレプリカを削除することで、読み込みキャパシティー
を減らすことができます。詳細については、「読み込みキャパシティーの増加 (p. 197)」または「読み込
みキャパシティーの削減 (p. 198)」を参照してください。
読み込みキャパシティーのスケーリングが可能なことに加えて、レプリカを含む Redis (クラスターモード
が無効) クラスターには、そのほかにもビジネス上の利点があります。詳細については、「ElastiCache レ
プリケーション (Redis) (p. 199)」を参照してください。
トピック
• 単一ノード Redis のクラスターのスケールアップ (p. 179)
• 単一ノード Redis クラスターのスケールダウン (p. 185)
単一ノード Redis のクラスターのスケールアップ
単一ノード Redis クラスターをスケールアップするとき、ElastiCache コンソール、AWS
CLI、ElastiCache API のいずれを使用する場合でも、ElastiCache によって以下のプロセスが実行されま
す。
1.
2.
キャッシュクラスターに対する読み取りと書き込みはブロックされます。
新しいノードタイプの新しいキャッシュクラスターは既存のキャッシュクラスターと同じアベイラビ
リティーゾーンでスピンアップされます。
3.
既存のキャッシュクラスターのキャッシュデータは新しいキャッシュクラスターにコピーされます。
このプロセスの所要時間はノードタイプとキャッシュクラスターのデータ量によって異なります。
読み取りと書き込みは、新しいキャッシュクラスターを使用して再開されます。新しいキャッシュク
ラスターのエンドポイントは、古いキャッシュクラスターのものと同じなので、アプリケーションの
エンドポイントを更新する必要はありません。
ElastiCache によって古いキャッシュクラスターが削除されます。
4.
5.
キャッシュクラスターに対する書き込みと読み取りはスケールアッププロセスの実行中はブロックされる
ため、スケールアップはキャッシュクラスターの需要の少ない時間にスケジュールする必要があります。
API Version 2015-02-02
179
Amazon ElastiCache ユーザーガイド
Redis クラスターのスケールアップ
以下の表に示しているように、次のメンテナンス期間にエンジンのアップグレードがスケジュールされて
いる場合、Redis のスケールアップオペレーションはブロックされます。メンテナンス期間の詳細につい
ては、「メンテナンスウィンドウ (p. 46)」を参照してください。
ブロックされた Redis オペレーション
保留中のオペレーション
ブロックされたオペレーション
スケールアップ
即時のエンジンのアップグレード
エンジンのアップグレード
即時のスケールアップ
スケールアップとエンジンのアップグレード
即時のスケールアップ
即時のエンジンのアップグレード
保留中のオペレーションによってブロックされている場合は、以下のいずれかを行うことができます。
• 次のメンテナンス期間に Redis スケールアップオペレーションをスケジュールします。そのためには、
[Apply immediately] チェックボックスをオフにします (CLI では --no-apply-immediately、API では
ApplyImmediately=false を使用)。
• Redis のスケールアップオペレーションを実行する次のメンテナンス期間 (またはその後) まで待ちま
す。
• このキャッシュクラスターの変更に Redis エンジンのアップグレードを追加します。そのためには、
[Apply Immediately] チェックボックスをオンにします (CLI では --apply-immediately、API では
ApplyImmediately=true を使用)。これにより、エンジンのアップグレードがすぐに実行されて、スケー
ルアップオペレーションのブロックが解除されます。
ElastiCache コンソール、AWS CLI、または ElastiCache API を使用して、単一ノード Redis (クラスター
モードが無効) クラスターをスケールアップできます。
単一ノード Redis のクラスターのスケールアップ ((コンソール))
以下の手順では、ElastiCache マネジメントコンソールを使用して、単一ノード Redis クラスターをス
ケールアップする方法について説明しています。
単一ノード Redis クラスターをスケールアップするには ((console))
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインから、[Redis] を選択します。
3.
クラスターのリストから、スケールアップするクラスターを選択します (Clustered Redis エンジンで
はなく Redis エンジンを実行している必要があります)。
4.
[Modify] を選択します。
5.
[Modify Cluster] ウィザードで、[Node type] リストからスケールアップするノードタイプを選択しま
す。
このリストには、スケールアップできるすべてのノードタイプが示されています。
6.
スケールアッププロセスをすぐに実行する場合は、[Apply immediately] チェックボックスをオンにし
ます。[Apply immediately] チェックボックスをオフのままにすると、スケールアッププロセスはこの
クラスターの次のメンテナンス期間中に実行されます。
7.
[Modify] を選択します。
前の手順で [Apply immediately] を選択した場合、クラスターのステータスは [modifying] に変わりま
す。ステータスが [available] に変わると、変更は完了し、新しいクラスターの使用を開始できます。
API Version 2015-02-02
180
Amazon ElastiCache ユーザーガイド
Redis クラスターのスケールアップ
単一ノード Redis キャッシュクラスターのスケールアップ
((AWS CLI))
以下の手順では、AWS CLI を使用して単一ノード Redis キャッシュクラスターをスケールアップする方法
について説明しています。
単一ノード Redis キャッシュクラスターをスケールアップするには ((AWS CLI))
1.
以下のパラメーターを指定して AWS CLI list-allowed-node-type-modifications コマンドを実行
することで、スケールアップできるノードタイプを調べます。
• --cache-cluster-id - スケールアップする単一ノード Redis キャッシュクラスターの名前。
Linux, macOS, or Unix 用:
aws elasticache list-allowed-node-type-modifications \
--cache-cluster-id my-cache-cluster-id
Windows の場合:
aws elasticache list-allowed-node-type-modifications ^
--cache-cluster-id my-cache-cluster-id
上のコマンドによる出力は次のようになります。
{
"ScaleUpModifications": [
"cache.m3.2xlarge",
"cache.m3.large",
"cache.m3.xlarge",
"cache.m4.10xlarge",
"cache.m4.2xlarge",
"cache.m4.4xlarge",
"cache.m4.large",
"cache.m4.xlarge",
"cache.r3.2xlarge",
"cache.r3.4xlarge",
"cache.r3.8xlarge",
"cache.r3.large",
"cache.r3.xlarge"
]
}
2.
詳細については、『AWS CLI リファレンス』の「list-allowed-node-type-modifications」を参照してく
ださい。
AWS CLI modify-cache-cluster コマンドで以下のパラメーターを使用して、スケールアップする
キャッシュクラスターと新しいより大きいノードタイプを指定することで、既存のキャッシュクラス
ターを変更します。
• --cache-cluster-id - スケールアップするキャッシュクラスターの名前。
• --cache-node-type - キャッシュクラスターのスケールアップ後の新しいノードタイプ。この値
は、手順 1 で list-allowed-node-type-modifications コマンドによって返されるノードタイプの
いずれかであることが必要です。
• --apply-immediately - スケールアッププロセスがすぐに適用されるようにします。スケールアッ
ププロセスをクラスターの次のメンテナンス期間に延期するには、--no-apply-immediately パラ
メーターを使用します。
API Version 2015-02-02
181
Amazon ElastiCache ユーザーガイド
Redis クラスターのスケールアップ
Linux, macOS, or Unix 用:
aws elasticache modify-cache-cluster \
--cache-cluster-id my-redis-cache-cluster \
--cache-node-type cache.m3.2xlarge \
--apply-immediately
Windows の場合:
aws elasticache modify-cache-cluster ^
--cache-cluster-id my-redis-cache-cluster ^
--cache-node-type cache.m3.2xlarge ^
--apply-immediately
上のコマンドによる出力は次のようになります。
{
"CacheCluster": {
"Engine": "redis",
"CacheParameterGroup": {
"CacheNodeIdsToReboot": [],
"CacheParameterGroupName": "default.redis3.2",
"ParameterApplyStatus": "in-sync"
},
"SnapshotRetentionLimit": 1,
"CacheClusterId": "my-redis-cache-cluster",
"CacheSecurityGroups": [],
"NumCacheNodes": 1,
"SnapshotWindow": "00:00-01:00",
"CacheClusterCreateTime": "2017-02-21T22:34:09.645Z",
"AutoMinorVersionUpgrade": true,
"CacheClusterStatus": "modifying",
"PreferredAvailabilityZone": "us-west-2a",
"ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/
home#client-download:",
"CacheSubnetGroupName": "default",
"EngineVersion": "3.2.4",
"PendingModifiedValues": {
"CacheNodeType": "cache.m3.2xlarge"
},
"PreferredMaintenanceWindow": "tue:11:30-tue:12:30",
"CacheNodeType": "cache.m3.medium"
}
}
詳細については、『AWS CLI リファレンス』の「modify-cache-cluster」を参照してください。
3.
--apply-immediately を使用した場合は、以下のパラメーターを指定して AWS CLI describecache-clusters コマンドを使用することで、新しいキャッシュクラスターのステータスを確認しま
す。ステータスが [available] に変わると、新しいより大きいキャッシュクラスターの使用を開始でき
ます。
• --cache-cache cluster-id - 単一ノード Redis のキャッシュクラスターの名前。すべてのキャッ
シュクラスターではなく特定のキャッシュクラスターの定義を表示するには、このパラメータを使
用します。
aws elasticache describe-cache-clusters --cache-cluster-id my-redis-cache-cluster
API Version 2015-02-02
182
Amazon ElastiCache ユーザーガイド
Redis クラスターのスケールアップ
詳細については、『AWS CLI リファレンス』の「describe-cache-clusters」を参照してください。
単一ノード Redis キャッシュクラスターのスケールアップ
((ElastiCache API))
以下の手順では、ElastiCache API を使用して単一ノード Redis キャッシュクラスターをスケールアップす
る方法について説明しています。
単一ノード Redis キャッシュクラスターをスケールアップするには ((ElastiCache API))
1.
以下のパラメータを使用して ElastiCache API ListAllowedNodeTypeModifications アクションを実
行することで、スケールアップできるノードタイプを調べます。
• CacheClusterId - スケールアップする単一ノード Redis キャッシュクラスターの名前。
https://elasticache.us-west-2.amazonaws.com/
?Action=ListAllowedNodeTypeModifications
&CacheClusterId=MyRedisCacheCluster
&Version=2015-02-02
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&X-Amz-Credential=<credential>
詳細については、『Amazon ElastiCache API リファレンス』の
「ListAllowedNodeTypeModifications」を参照してください。
2.
ModifyCacheCluster ElastiCache API アクションと以下のパラメータを使用して、スケールアップす
るキャッシュクラスターと新しいより大きいノードタイプを指定することで、既存のキャッシュクラ
スターを変更します。
• CacheClusterId - スケールアップするキャッシュクラスターの名前。
• CacheNodeType - キャッシュクラスターのスケールアップ後の新しいより大きいノードタイプ。こ
の値は、手順 1 で ListAllowedNodeTypeModifications アクションによって返されるノードタイプ
のいずれかであることが必要です。
• ApplyImmediately - スケールアッププロセスがすぐに実行されるようにするには、true に
設定します。スケールアッププロセスをクラスターの次のメンテナンス期間に延期するに
は、ApplyImmediately=false パラメーターを使用します。
https://elasticache.us-west-2.amazonaws.com/
?Action=ModifyCacheCluster
&ApplyImmediately=true
&CacheClusterId=MyRedisCacheCluster
&CacheNodeType=cache.m2.xlarge
&Version=2015-02-02
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&X-Amz-Credential=<credential>
詳細については、『Amazon ElastiCache API リファレンス』の「ModifyCacheCluster」を参照してく
ださい。
3.
ApplyImmediately=true を使用した場合は、以下のパラメータを指定して ElastiCache API
DescribeCacheClusters アクションを使用することで、新しいキャッシュクラスターのステータスを
API Version 2015-02-02
183
Amazon ElastiCache ユーザーガイド
Redis クラスターのスケールアップ
確認します。ステータスが [available] に変わると、新しいより大きいキャッシュクラスターの使用を
開始できます。
• CacheClusterId - 単一ノード Redis のキャッシュクラスターの名前。すべてのキャッシュクラス
ターではなく特定のキャッシュクラスターの定義を表示するには、このパラメータを使用します。
https://elasticache.us-west-2.amazonaws.com/
?Action=DescribeCacheClusters
&CacheClusterId=MyRedisCacheCluster
&Version=2015-02-02
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&X-Amz-Credential=<credential>
詳細については、『Amazon ElastiCache API リファレンス』の「DescribeCacheClusters」を参照し
てください。
API Version 2015-02-02
184
Amazon ElastiCache ユーザーガイド
単一ノード Redis キャッシュクラスターのスケールダウン
単一ノード Redis クラスターのスケールダウン
Redis クラスターをスケールダウンする ElastiCache プロセスは完全に手動であり、特に対処しない限
り、データの保持は試みられません。
以下のセクションでは、単一ノード Redis クラスターをより小さいノードタイプにスケールダウンする方
法について説明します。新しいより小さいノードタイプがデータと Redis オーバーヘッドのすべてのニー
ズを満たすのに十分な容量であることを確認するのは、新しいクラスターを長期にわたり適切に運用する
ために重要です。詳細については、「Redis スナップショットを作成するための十分なメモリがあること
の確認 (p. 65)」を参照してください。
トピック
• 単一ノード Redis クラスターのスケールダウン ((コンソール)) (p. 185)
• 単一ノード Redis キャッシュクラスターのスケールダウン ((AWS CLI)) (p. 186)
• 単一ノード Redis (クラスターモードが無効) キャッシュクラスターのスケールダウン ((ElastiCache
API)) (p. 186)
単一ノード Redis クラスターのスケールダウン ((コンソール))
以下の手順では、ElastiCache コンソールを使用して単一ノード Redis クラスターをより小さいノードタ
イプにスケールダウンする方法について説明しています。
単一ノード Redis クラスターをスケールダウンするには ((console))
1.
より小さいノードタイプがデータとオーバーヘッドのニーズを満たしていることを確認します。詳細
については、「Redis スナップショットを作成するための十分なメモリがあることの確認 (p. 65)」を
参照してください。
2.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
3.
クラスターのスナップショットを作成します。スナップショットを作成する方法の詳細については、
「手動バックアップの作成 (コンソール) (p. 250)」を参照してください。
4.
新しいクラスターに対して新しいノードタイプを指定して、このスナップショットから復元します。
詳細については、「Restoring From a Backup (コンソール) (p. 269)」を参照してください。
または、新しいノードタイプを使用して、新しいクラスターをスナップショットから作成し、起動で
きます。詳細については、「Using a Backup to Seed a Cluster (p. 271)」を参照してください。
5.
アプリケーションでは、新しいクラスターのエンドポイントにエンドポイントが更新されます。詳
細については、「Redis (クラスターモードが無効) クラスターのエンドポイントの検索 ((コンソー
ル)) (p. 55)」を参照してください。
6.
古いクラスターを削除します。詳細については、「クラスターの削除 ((コンソール)) (p. 173)」を参照
してください。
7.
スナップショットは不要になったら削除します。詳細については、「Deleting a Backup (コンソー
ル) (p. 275)」を参照してください。
Tip
クラスターが作成または復元中に使用不可になっても構わない場合は、アプリケーションのエン
ドポイントの更新を不要にすることができます。その場合は、スナップショットの作成直後に古
いクラスターを削除し、古いクラスターの名前を新しいクラスターの名前として再利用します。
API Version 2015-02-02
185
Amazon ElastiCache ユーザーガイド
単一ノード Redis キャッシュクラスターのスケールダウン
単一ノード Redis キャッシュクラスターのスケールダウン
((AWS CLI))
以下の手順では、AWS CLI を使用して単一ノード Redis キャッシュクラスターをより小さいノードタイプ
にスケールダウンする方法について説明しています。
単一ノード Redis キャッシュクラスターをスケールダウンするには ((AWS CLI))
1.
より小さいノードタイプがデータとオーバーヘッドのニーズを満たしていることを確認します。詳細
については、「Redis スナップショットを作成するための十分なメモリがあることの確認 (p. 65)」を
参照してください。
2.
既存の Redis キャッシュクラスターのスナップショットを作成します。手順については、「手動バッ
クアップの作成 (AWS CLI) (p. 251)」を参照してください。
3.
キャッシュクラスターのノードタイプとして新しいより小さいノードタイプを使用して、スナップ
ショットから復元します。詳細については、「Restoring From a Backup (AWS CLI) (p. 269)」を参
照してください。
4.
アプリケーションで、エンドポイントを新しいキャッシュクラスターのエンドポイントに更新しま
す。詳細については、「ノードとクラスターのエンドポイントの検索 (AWS CLI) (p. 59)」を参照して
ください。
5.
古いキャッシュクラスターを削除します。詳細については、「キャッシュクラスターの削除 ((AWS
CLI)) (p. 173)」を参照してください。
6.
スナップショットは不要になったら削除します。詳細については、「Deleting a Backup (AWS
CLI) (p. 275)」を参照してください。
Tip
キャッシュクラスターが作成または復元中に使用不可になっても構わない場合は、アプリケー
ションのエンドポイントの更新を不要にすることができます。その場合は、スナップショット
の作成直後に古いキャッシュクラスターを削除し、古いキャッシュクラスターの名前を新しい
キャッシュクラスターの名前として再利用します。
単一ノード Redis (クラスターモードが無効) キャッシュクラス
ターのスケールダウン ((ElastiCache API))
以下の手順では、ElastiCache API を使用して単一ノード Redis キャッシュクラスターをより小さいノード
タイプにスケールダウンする方法について説明しています。
単一ノード Redis キャッシュクラスターをスケールダウンするには ((ElastiCache API))
1.
より小さいノードタイプがデータとオーバーヘッドのニーズを満たしていることを確認します。詳細
については、「Redis スナップショットを作成するための十分なメモリがあることの確認 (p. 65)」を
参照してください。
2.
既存の Redis キャッシュクラスターのスナップショットを作成します。手順については、「手動バッ
クアップの作成 (ElastiCache API) (p. 253)」を参照してください。
3.
キャッシュクラスターのノードタイプとして新しいより小さいノードタイプを使用して、ス
ナップショットから復元します。詳細については、「Restoring From a Backup (ElastiCache
API) (p. 270)」を参照してください。
4.
アプリケーションで、エンドポイントを新しいキャッシュクラスターのエンドポイントに更新しま
す。詳細については、「ノードとクラスターのエンドポイントの検索 (ElastiCache API) (p. 63)」を参
照してください。
5.
古いキャッシュクラスターを削除します。詳細については、「キャッシュクラスターの削除
((ElastiCache API)) (p. 173)」を参照してください。
API Version 2015-02-02
186
Amazon ElastiCache ユーザーガイド
単一ノード Redis キャッシュクラスターのスケールダウン
6.
スナップショットは不要になったら削除します。詳細については、「Deleting a Backup (ElastiCache
API) (p. 275)」を参照してください。
Tip
キャッシュクラスターが作成または復元中に使用不可になっても構わない場合は、アプリケー
ションのエンドポイントの更新を不要にすることができます。その場合は、スナップショット
の作成直後に古いキャッシュクラスターを削除し、古いキャッシュクラスターの名前を新しい
キャッシュクラスターの名前として再利用します。
API Version 2015-02-02
187
Amazon ElastiCache ユーザーガイド
レプリカノードを含む Redis のクラスターのスケーリング
レプリカノードを含む Redis のクラスターのスケー
リング
レプリカノード (API/CLI ではレプリケーショングループ) を含む Redis クラスターは、自動フェイルオー
バーを備えたマルチ AZ が有効なレプリケーションにより、高可用性を実現します。レプリカノードを含
むクラスターは、最大 6 の Redis クラスターの論理的な集合であり、1 つのクラスター (プライマリ) は読
み取りと書き込みの両方のリクエストに対応できます。クラスター内の他のすべてのクラスターは、プラ
イマリの読み取り専用レプリカです。プライマリに書き込まれたデータはクラスターのすべてのリードレ
プリカに非同期でレプリケートされます。Redis (クラスターモードが無効) では複数のキャッシュクラス
ター間でのデータの分割がサポートされていないため、Redis (クラスターモードが無効) レプリケーショ
ングループの各クラスターにはキャッシュ全体のデータセットが保存されます。Redis (クラスターモード
が有効) クラスターでは、最大 15 のシャード間でのデータの分割がサポートされています。
Important
Redis (クラスターモードが有効) の現在の制限のため、ノードのタイプ、シャード (API/CLI で
はノードグループ) の数、またはレプリカノードを含む Redis (クラスターモードが有効) クラス
ターのシャード内のレプリカの数をスケーリングするには、新しいノードタイプ、シャード数、
またはレプリカ数で新しい Redis (クラスターモードが有効) クラスターを作成してから、古いク
ラスターを削除する必要があります。
クラスターのデータ容量を変更するには、より大きいノードタイプにスケールアップするか、より小さい
ノードタイプにスケールダウンする必要があります。
クラスターの読み込みキャパシティーを変更するには、最大 5 のリードレプリカを追加するか、リードレ
プリカを削除します。
ElastiCache のスケールアッププロセスは、既存のデータをベストエフォートで保持するように設計され
ており、Redis レプリケーションが正常に実行される必要があります。レプリカを含む Redis クラスター
の場合、「Redis スナップショットを作成するための十分なメモリがあることの確認 (p. 65)」トピックで
説明しているように、Redis 用に十分なメモリを確保することをお勧めします。
スケールダウンプロセスは完全に手動であり、特に対処しない限り、データの保持は試みられません。
関連トピック
• ElastiCache レプリケーション (Redis) (p. 199)
• レプリケーション: Redis (クラスターモードが無効) と Redis (クラスターモードが有効) (p. 202)
• レプリケーション: 自動フェイルオーバーとマルチ AZ (Redis) (p. 205)
• Redis スナップショットを作成するための十分なメモリがあることの確認 (p. 65)
トピック
• レプリカを含む Redis クラスターのスケールアップ (p. 189)
• レプリカを含む Redis クラスターのスケールダウン (p. 195)
• 読み込みキャパシティーの増加 (p. 197)
• 読み込みキャパシティーの削減 (p. 198)
API Version 2015-02-02
188
Amazon ElastiCache ユーザーガイド
レプリカを含む Redis クラスターのスケールアップ
レプリカを含む Redis クラスターのスケールアップ
Important
Redis (クラスターモードが有効) の現在の制限のため、レプリカを含む Redis (クラスターモード
が有効) クラスターのノードグループでノードグループ数またはノードタイプをスケーリングする
には、新しいノードグループ数またはノードタイプで新しい Redis (クラスターモードが有効) ク
ラスターを作成してから、古いレプリケーショングループを削除する必要があります。
Amazon ElastiCache では、コンソール、CLI、API を使用した Redis (クラスターモードが無効) レプリ
ケーショングループのスケールアップがサポートされています。
スケールアッププロセスが開始されると、ElastiCache によって以下の処理が実行されます。
1.
プライマリノードに対するすべての読み取りと書き込みをブロックします。ElastiCache で、現行の
レプリカから新しいレプリカに切り替えている間に一時的に中断されると、レプリカからの読み込み
はステップ 5 まで続きます。
2.
新しいノードタイプを使用して、新しい Redis レプリケーショングループを起動します。
3.
4.
現行プライマリノードのすべてのデータを新しいプライマリノードにコピーします。
新しいリードレプリカを新しいプライマリノードと同期させます。
5.
新しいノードを参照するように DNS エントリを更新します。このため、アプリケーションのエンド
ポイントを更新する必要はありません。
Important
6.
ElastiCache が現在のレプリカを新しいレプリカに切り替える間、リードレプリカノードから
の読み込みが中断されます。
新しいプライマリノードに対する読み取りと書き込みを再開します。
7.
古いクラスター (CLI/API: レプリケーショングループ) を削除します。
このプロセスの所要時間はノードタイプとクラスターのデータ量によって異なります。
以下の表に示しているように、クラスターの次のメンテナンス期間にエンジンのアップグレードがスケ
ジュールされている場合、Redis のスケールアップオペレーションはブロックされます。
ブロックされた Redis オペレーション
保留中のオペレーション
ブロックされたオペレーション
スケールアップ
即時のエンジンのアップグレード
エンジンのアップグレード
即時のスケールアップ
スケールアップとエンジンのアップグレード
即時のスケールアップ
即時のエンジンのアップグレード
保留中のオペレーションによってブロックされている場合は、以下のいずれかを行うことができます。
• 次のメンテナンス期間に Redis スケールアップオペレーションをスケジュールします。そのためには、
[Apply immediately] チェックボックスをオフにします (CLI では --no-apply-immediately、API では
ApplyImmediately=false を使用)。
• Redis のスケールアップオペレーションを実行する次のメンテナンス期間 (またはその後) まで待ちま
す。
• このキャッシュクラスターの変更に Redis エンジンのアップグレードを追加します。そのためには、
[Apply Immediately] チェックボックスをオンにします (CLI では --apply-immediately、API では
API Version 2015-02-02
189
Amazon ElastiCache ユーザーガイド
レプリカを含む Redis クラスターのスケールアップ
ApplyImmediately=true を使用)。これにより、エンジンのアップグレードがすぐに実行されて、スケー
ルアップオペレーションのブロックが解除されます。
以下のセクションでは、ElastiCache コンソール、AWS CLI、ElastiCache API を使用して、レプリカを含
む Redis のクラスターをスケールアップする方法について説明します。
レプリカを含む Redis クラスターのスケールアップ ((コンソー
ル))
以下のプロセスでは、ElastiCache コンソールを使用して、レプリカを含むクラスターをその現在のノー
ドタイプから新しいより大きいノードタイプにスケーリングします。このプロセスの実行中、ステータス
が [modifying] から [available] に変わるまで、アプリケーションとプライマリキャッシュクラスターとの間
ですべての読み取りと書き込みはブロックされます。
より大きいノードタイプへのスケールアップにかかる時間はノードタイプと現在のクラスターのデータ量
によって異なります。
レプリカを含む Redis クラスターをスケールアップするには ((console))
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインから、[Redis] を選択します。
3.
クラスターのリストから、スケールアップするクラスターを選択します。このクラスター
は、Clustered Redis エンジンではなく Redis エンジンを実行している必要があります。
4.
[Modify] を選択します。
5.
[Modify Cluster] ダイアログボックスの [Node Types] で、スケールアップするノードのタイプを選択
します。
6.
スケールアッププロセスをすぐに実行する場合は、[Apply immediately] チェックボックスをオンにし
ます。[Apply immediately] チェックボックスをオフのままにすると、スケールアッププロセスはこの
クラスターの次のメンテナンス期間中に実行されます。
7.
[Modify] を選択します。
8.
クラスターのステータスが [modifying] から [available] に変わると、クラスターは新しいノードタイプ
にスケーリングされ、その使用を再開できます。アプリケーションでエンドポイントを更新する必要
はありません。
Redis レプリケーショングループのスケールアップ ((AWS CLI))
以下のプロセスでは、AWS CLI を使用して、レプリケーショングループ (コンソールではレプリカを含む
クラスター) をその現在のノードタイプから新しいより大きいノードタイプにスケーリングします。この
プロセスの実行中、ステータスが [modifying] から [available] に変わるまで、アプリケーションとプライマ
リキャッシュクラスターとの間ですべての読み取りと書き込みはブロックされます。
より大きいノードタイプへのスケールアップにかかる時間はノードタイプと現在のキャッシュクラスター
のデータ量によって異なります。
Redis レプリケーショングループをスケールアップするには ((AWS CLI))
1.
以下のパラメータを使用して AWS CLI list-allowed-node-type-modifications コマンドを実行す
ることで、スケールアップできるノードタイプを調べます。
• --replication-group-id - レプリケーショングループの名前。すべてのレプリケーショングループ
ではなく特定のレプリケーショングループの定義を表示するには、このパラメータを使用します。
API Version 2015-02-02
190
Amazon ElastiCache ユーザーガイド
レプリカを含む Redis クラスターのスケールアップ
Linux, macOS, or Unix 用:
aws elasticache list-allowed-node-type-modifications \
--replication-group-id my-repl-group
Windows の場合:
aws elasticache list-allowed-node-type-modifications ^
--replication-group-id my-repl-group
このオペレーションによる出力は、次のようになります。
{
"ScaleUpModifications": [
"cache.m3.2xlarge",
"cache.m3.large",
"cache.m3.xlarge",
"cache.m4.10xlarge",
"cache.m4.2xlarge",
"cache.m4.4xlarge",
"cache.m4.large",
"cache.m4.xlarge",
"cache.r3.2xlarge",
"cache.r3.4xlarge",
"cache.r3.8xlarge",
"cache.r3.large",
"cache.r3.xlarge"
]
}
詳細については、『AWS CLI リファレンス』の「list-allowed-node-type-modifications」を参照してく
ださい。
2.
以下のパラメーターを指定して AWS CLI modify-replication-group コマンドを使用することで、現
在のレプリケーショングループを新しいノードタイプにスケールアップします。
• --replication-group-id - レプリケーショングループの名前。
• --cache-node-type - このレプリケーショングループのキャッシュクラスターの新しいより大きい
ノードタイプ。この値は、手順 1 で list-allowed-node-type-modifications コマンドによって返
されるインスタンスタイプのいずれかであることが必要です。
• --apply-immediately - スケールアッププロセスがすぐに適用されるようにします。スケールアッ
プオペレーションを次のメンテナンス期間に延期するには、--no-apply-immediately を使用しま
す。
Linux, macOS, or Unix 用:
aws elasticache modify-replication-group \
--replication-group-id my-repl-group \
--cache-node-type cache.m3.2xlarge \
--apply-immediately
Windows の場合:
aws elasticache modify-replication-group ^
--replication-group-id my-repl-group ^
API Version 2015-02-02
191
Amazon ElastiCache ユーザーガイド
レプリカを含む Redis クラスターのスケールアップ
--cache-node-type cache.m3.2xlarge ^
--apply-immediately
このコマンドによる出力は次のようになります。
{
"ReplicationGroup": {
"Status": "available",
"Description": "Some description",
"NodeGroups": [
{
"Status": "available",
"NodeGroupMembers": [
{
"CurrentRole": "primary",
"PreferredAvailabilityZone": "us-west-2b",
"CacheNodeId": "0001",
"ReadEndpoint": {
"Port": 6379,
"Address": "my-replgroup-001.8fdx4s.0001.usw2.cache.amazonaws.com"
},
"CacheClusterId": "my-repl-group-001"
},
{
"CurrentRole": "replica",
"PreferredAvailabilityZone": "us-west-2c",
"CacheNodeId": "0001",
"ReadEndpoint": {
"Port": 6379,
"Address": "my-replgroup-002.8fdx4s.0001.usw2.cache.amazonaws.com"
},
"CacheClusterId": "my-repl-group-002"
}
],
"NodeGroupId": "0001",
"PrimaryEndpoint": {
"Port": 6379,
"Address": "my-repl-group.8fdx4s.ng.0001.usw2.cache.amazonaws.com"
}
}
],
"ReplicationGroupId": "my-repl-group",
"SnapshotRetentionLimit": 1,
"AutomaticFailover": "disabled",
"SnapshotWindow": "12:00-13:00",
"SnapshottingClusterId": "my-repl-group-002",
"MemberClusters": [
"my-repl-group-001",
"my-repl-group-002",
],
"PendingModifiedValues": {}
}
}
詳細については、『AWS CLI リファレンス』の「modify-replication-group」を参照してください。
3.
--apply-immediately パラメータを使用した場合、以下のパラメータを指定して AWS CLI describereplication-group コマンドを使用することで、レプリケーショングループのステータスをモニタリ
ングします。ステータスが [modifying] から [available] に変わると、スケールアップした新しいレプリ
ケーショングループへの書き込みを開始できます。
API Version 2015-02-02
192
Amazon ElastiCache ユーザーガイド
レプリカを含む Redis クラスターのスケールアップ
• --replication-group-id - レプリケーショングループの名前。すべてのレプリケーショングループ
ではなく特定のレプリケーショングループの定義を表示するには、このパラメータを使用します。
Linux, macOS, or Unix 用:
aws elasticache describe-replication-group \
--replication-group-id my-replication-group
Windows の場合:
aws elasticache describe-replication-groups ^
--replication-group-id my-replication-group
詳細については、『AWS CLI リファレンス』の「describe-replication-groups」を参照してください。
Redis レプリケーショングループのスケールアップ ((ElastiCache
API))
以下のプロセスでは、ElastiCache API を使用して、レプリケーショングループをその現在のノードタ
イプから新しいより大きいノードタイプにスケーリングします。このプロセスの実行中、ステータスが
[modifying] から [available] に変わるまで、アプリケーションとプライマリキャッシュクラスターとの間で
すべての読み取りと書き込みはブロックされます。ただし、リードレプリカキャッシュクラスターからの
読み取りは中断されません。
より大きいノードタイプへのスケールアップにかかる時間はノードタイプと現在のキャッシュクラスター
のデータ量によって異なります。
Redis レプリケーショングループをスケールアップするには ((ElastiCache API))
1.
以下のパラメータを指定して ElastiCache API ListAllowedNodeTypeModifications アクションを使
用することで、スケールアップできるノードタイプを調べます。
• ReplicationGroupId - レプリケーショングループの名前。すべてのレプリケーショングループでは
なく特定のレプリケーショングループの定義を表示するには、このパラメータを使用します。
https://elasticache.us-west-2.amazonaws.com/
?Action=ListAllowedNodeTypeModifications
&ReplicationGroupId=MyReplGroup
&Version=2015-02-02
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&X-Amz-Credential=<credential>
2.
詳細については、『Amazon ElastiCache API リファレンス』の
「ListAllowedNodeTypeModifications」を参照してください。
以下のパラメータを指定して ModifyRedplicationGroup ElastiCache API アクションを使用すること
で、現在のレプリケーショングループを新しいノードタイプにスケールアップします。
• ReplicationGroupId - レプリケーショングループの名前。
• CacheNodeType - このレプリケーショングループのキャッシュクラスターの新しいより大きいノー
ドタイプ。この値は、手順 1 で ListAllowedNodeTypeModifications アクションによって返される
インスタンスタイプのいずれかであることが必要です。
API Version 2015-02-02
193
Amazon ElastiCache ユーザーガイド
レプリカを含む Redis クラスターのスケールアップ
• ApplyImmediately - スケールアッププロセスがすぐに適用されるようにするには、true に設定し
ます。スケールアッププロセスを次のメンテナンス期間に延期するには、ApplyImmediately=false
を使用します。
https://elasticache.us-west-2.amazonaws.com/
?Action=ModifyReplicationGroup
&ApplyImmediately=true
&CacheNodeType=cache.m3.2xlarge
&ReplicationGroupId=myReplGroup
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20141201T220302Z
&Version=2014-12-01
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Date=20141201T220302Z
&X-Amz-SignedHeaders=Host
&X-Amz-Expires=20141201T220302Z
&X-Amz-Credential=<credential>
&X-Amz-Signature=<signature>
3.
詳細については、『Amazon ElastiCache API リファレンス』の「ModifyReplicationGroup」を参照し
てください。
ApplyImmediately=true を使用した場合、以下のパラメータを指定して ElastiCache API
DescribeReplicationGroups アクションを使用することで、レプリケーショングループのステータス
をモニタリングします。ステータスが [modifying] から [available] に変わると、スケールアップした新
しいレプリケーショングループへの書き込みを開始できます。
• ReplicationGroupId - レプリケーショングループの名前。すべてのレプリケーショングループでは
なく特定のレプリケーショングループの定義を表示するには、このパラメータを使用します。
https://elasticache.us-west-2.amazonaws.com/
?Action=DescribeReplicationGroups
&ReplicationGroupId=MyReplGroup
&Version=2015-02-02
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&X-Amz-Credential=<credential>
詳細については、『Amazon ElastiCache API リファレンス』の「DescribeReplicationGroups」を参照
してください。
API Version 2015-02-02
194
Amazon ElastiCache ユーザーガイド
レプリカを含む Redis クラスターのスケールダウン
レプリカを含む Redis クラスターのスケールダウン
以下のセクションでは、レプリカノードを含む Redis (クラスターモードが無効) キャッシュクラスターを
より小さいノードタイプにスケールダウンする方法について説明します。新しいより小さいノードタイプ
がデータとオーバーヘッドのすべてのニーズを満たすのに十分な容量であることを確認するのは、新しい
クラスターを長期にわたり適切に運用するために重要です。詳細については、「Redis スナップショット
を作成するための十分なメモリがあることの確認 (p. 65)」を参照してください。
トピック
• レプリカを含む Redis クラスターのスケールダウン ((コンソール)) (p. 195)
• Redis レプリケーショングループのスケールダウン ((AWS CLI)) (p. 195)
• Redis レプリケーショングループのスケールダウン ((ElastiCache API)) (p. 196)
レプリカを含む Redis クラスターのスケールダウン ((コンソー
ル))
以下のプロセスでは、ElastiCache コンソールを使用して、レプリカノードを含む Redis クラスターをよ
り小さいノードタイプにスケーリングします。
レプリカノードを含む Redis のクラスターをスケールダウンするには ((console))
1.
より小さいノードタイプがデータとオーバーヘッドのニーズを満たしていることを確認します。詳細
については、「Redis スナップショットを作成するための十分なメモリがあることの確認 (p. 65)」を
参照してください。
2.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
3.
クラスターのプライマリノードのスナップショットを作成します。スナップショットを作成する方法
の詳細については、「手動バックアップの作成 (コンソール) (p. 250)」を参照してください。
4.
新しいクラスターに対して新しいノードタイプを指定して、このスナップショットから復元します。
詳細については、「Restoring From a Backup (コンソール) (p. 269)」を参照してください。
または、新しいノードタイプを使用して、新しいクラスターをスナップショットから作成し、起動で
きます。詳細については、「Using a Backup to Seed a Cluster (p. 271)」を参照してください。
5.
アプリケーションでは、新しいクラスターのエンドポイントにエンドポイントが更新されます。詳
細については、「Redis (クラスターモードが無効) クラスターのエンドポイントの検索 ((コンソー
ル)) (p. 55)」を参照してください。
6.
古いクラスターを削除します。詳細については、「レプリケーショングループの削除 ((コンソー
ル)) (p. 239)」を参照してください。
7.
スナップショットは不要になったら削除します。詳細については、「Deleting a Backup (コンソー
ル) (p. 275)」を参照してください。
Tip
レプリケーショングループが作成または復元中に使用不可になっても構わない場合は、アプリ
ケーションのエンドポイントの更新を不要にすることができます。その場合は、スナップショッ
トの作成直後に古いクラスターを削除し、古いクラスターの名前を新しいクラスターの名前とし
て再利用します。
Redis レプリケーショングループのスケールダウン ((AWS CLI))
以下のプロセスでは、AWS CLI を使用して、Redis レプリケーショングループをより小さいノードタイプ
にスケーリングします。
API Version 2015-02-02
195
Amazon ElastiCache ユーザーガイド
レプリカを含む Redis クラスターのスケールダウン
Redis レプリケーショングループをスケールダウンするには ((AWS CLI))
1.
2.
3.
4.
より小さいノードタイプがデータとオーバーヘッドのニーズを満たしていることを確認します。詳細
については、「Redis ノードサイズの選択 (p. 84)」を参照してください。
既存の Redis ノードのスナップショットを作成します。手順については、「手動バックアップの作成
(AWS CLI) (p. 251)」を参照してください。
新しいノードタイプとして新しいより小さいノードタイプを使用して、スナップショットから復元し
ます。詳細については、「Restoring From a Backup (AWS CLI) (p. 269)」を参照してください。
アプリケーションで、エンドポイントを新しいキャッシュクラスターのエンドポイントに更新しま
す。詳細については、「レプリケーショングループのエンドポイントの検索 (AWS CLI) (p. 60)」を参
照してください。
5.
古いレプリケーショングループを削除します。詳細については、「レプリケーショングループの削除
((AWS CLI)) (p. 239)」を参照してください。
6.
スナップショットは不要になったら削除します。詳細については、「Deleting a Backup (AWS
CLI) (p. 275)」を参照してください。
Tip
レプリケーショングループが作成または復元中に使用不可になっても構わない場合は、アプリ
ケーションのエンドポイントの更新を不要にすることができます。その場合は、スナップショッ
トの作成直後に古いレプリケーショングループを削除し、古いレプリケーショングループの名前
を新しいレプリケーショングループの名前として再利用します。
Redis レプリケーショングループのスケールダウン ((ElastiCache
API))
以下のプロセスでは、ElastiCacheAPI を使用して、Redis レプリケーショングループをより小さいノード
タイプにスケーリングします。
Redis レプリケーショングループをスケールダウンするには ((ElastiCache API))
1.
2.
3.
4.
5.
6.
より小さいノードタイプがデータとオーバーヘッドのニーズを満たしていることを確認します。詳細
については、「Redis ノードサイズの選択 (p. 84)」を参照してください。
既存の Redis キャッシュクラスターのスナップショットを作成します。手順については、「手動バッ
クアップの作成 (ElastiCache API) (p. 253)」を参照してください。
新しいノードタイプとして新しいより小さいノードタイプを使用して、スナップショットから復元し
ます。詳細については、「Restoring From a Backup (ElastiCache API) (p. 270)」を参照してくださ
い。
アプリケーションで、エンドポイントを新しいキャッシュクラスターのエンドポイントに更新しま
す。詳細については、「エンドポイントの検索 (ElastiCache API) (p. 63)」を参照してください。
古いレプリケーショングループを削除します。詳細については、「レプリケーショングループの削除
((ElastiCache API)) (p. 239)」を参照してください。
スナップショットは不要になったら削除します。詳細については、「Deleting a Backup (ElastiCache
API) (p. 275)」を参照してください。
Tip
レプリケーショングループが作成または復元中に使用不可になっても構わない場合は、アプリ
ケーションのエンドポイントの更新を不要にすることができます。その場合は、スナップショッ
トの作成直後に古いレプリケーショングループを削除し、古いレプリケーショングループの名前
を新しいレプリケーショングループの名前として再利用します。
API Version 2015-02-02
196
Amazon ElastiCache ユーザーガイド
読み込みキャパシティーの増加
読み込みキャパシティーの増加
読み込みキャパシティーを増やすには、Redis レプリケーショングループにリードレプリカ (最大 5 個) を
追加します。
Important
Redis (クラスターモードが有効) での現在の制限のため、Redis (クラスターモードが有効) クラス
ターのシャード内のレプリカの数をスケーリングするには、新しいレプリカ数で新しい Redis (ク
ラスターモードが有効) クラスターを作成してから、古いクラスターを削除する必要があります。
ElastiCache コンソール、AWS CLI、または ElastiCache API を使用して、Redis クラスターの読み込み
キャパシティーをスケーリングできます。詳細については、「Redis クラスターへのリードレプリカの追
加 (p. 240)」を参照してください。
API Version 2015-02-02
197
Amazon ElastiCache ユーザーガイド
読み込みキャパシティーの削減
読み込みキャパシティーの削減
読み込みキャパシティーを減らすには、レプリカを含む Redis クラスター (API/CLI ではレプリケーショ
ングループ) から 1 つ以上のリードレプリカを削除します。クラスターで自動フェイルオーバーを備え
たマルチ AZ が有効な場合は、最初に自動フェイルオーバーを備えたマルチ AZ を無効にしないと、最
後のリードレプリカを削除することはできません。詳細については、「レプリカを持つクラスターの変
更 (p. 237)」を参照してください。
Important
Redis (クラスターモードが有効) での現在の制限のために、レプリカを含む Redis (クラスター
モードが有効) クラスターのノードグループ内のレプリカの数をスケーリングするには、新しいレ
プリカ数で新しい Redis (クラスターモードが有効) クラスターを作成してから、古いレプリケー
ショングループを削除する必要があります。
詳細については、「リードレプリカの削除 (p. 245)」を参照してください。
API Version 2015-02-02
198
Amazon ElastiCache ユーザーガイド
ElastiCache レプリケーション
(Redis)
単一ノード Amazon ElastiCache Redis クラスターは、データ保護サービス (AOF) が制限されるメモリ内
エンティティです。クラスターが何らかの理由で停止すると、クラスターのすべてのデータが失われる恐
れがあります。ただし Redis エンジンを実行している場合は、2 〜 6 個のノードをクラスターとしてグ
ループ化できます。この場合、1 ~ 5 個の読み取り専用クラスターは、グループに 1 個含まれる読み書き
プライマリのレプリカデータです。このシナリオでは、1 個のクラスターが何らかの理由で停止した場合
でも 1 個以上の他のクラスターにレプリケートされているので、すべてのデータが失われることがありま
せん。
次のグラフに示すように、レプリケーション構造は Redis クラスターを構成するシャード (API/CLI で
はノードグループ) 内に含まれます。Redis (クラスターモードが無効) クラスターは常に 1 つのシャードで
構成されます。Redis (クラスターモードが有効) クラスターは、最大 15 個のシャードで構成し、シャード
間でクラスターのデータを分割できます。
レプリカノードを持つ Redis クラスター
レプリカを持つクラスターでマルチ AZ と自動フェイルオーバーが有効になっていると、プライマリで障
害が発生した場合、プライマリはリードレプリカにフェイルオーバーします。データがレプリカノードに
非同期で更新されるため、レプリカノードの更新のレイテンシーにより多少のデータが失われる場合があ
ります。詳細については、「Redis 実行時の障害の軽減 (p. 69)」を参照してください。
トピック
• Redis レプリケーション (p. 201)
API Version 2015-02-02
199
Amazon ElastiCache ユーザーガイド
• レプリケーション: Redis (クラスターモードが無効) と Redis (クラスターモードが有効) (p. 202)
•
•
•
•
•
レプリケーション: 自動フェイルオーバーとマルチ AZ (Redis) (p. 205)
同期とバックアップの実装方法 (p. 211)
レプリカを持つ Redis クラスターの作成 (p. 212)
レプリケーショングループの詳細の表示 (p. 231)
レプリケーショングループのエンドポイントの検索 (p. 236)
• レプリカを持つクラスターの変更 (p. 237)
• レプリカを持つクラスターの削除 (p. 239)
• Redis クラスターへのリードレプリカの追加 (p. 240)
• リードレプリカをプライマリに昇格させる (p. 242)
• リードレプリカの削除 (p. 245)
API Version 2015-02-02
200
Amazon ElastiCache ユーザーガイド
Redis レプリケーション
Redis レプリケーション
Redis は 2 つの方法でレプリケーションを実装するようになりました。1) Redis (クラスターモードが無効)
は単一のシャードで構成され、そのノードにクラスターのすべてのデータが含まれます。2) Redis (クラス
ターモードが有効) は最大 15 のシャードで構成され、シャード間でデータが分割されます。
Redis (クラスターモードが無効)
Redis (クラスターモードが無効) クラスターは Redis ノードの集合であり、1 個の読み書きプライマリ
ノードと、最大 five 個の読み取り専用セカンダリノード (リードレプリカと呼ばれます) で構成されます。
各リードレプリカは、クラスターのプライマリノードにあるデータのコピーを保持します。非同期レプリ
ケーション機能は、リードレプリカとプライマリの同期を維持するのに使用されます。アプリケーション
は、クラスター内のどのノードからでも読み取ることができます。アプリケーションは、そのプライマリ
ノードにのみ書き込むことができます。リードレプリカは、読み取りスループットを向上させ、データ損
失に対する保護を強化します。
レプリカノードを持つ Redis クラスター
レプリカを持つ Redis (クラスターモードが無効) クラスターを使用して ElastiCache の Redis ソリュー
ションをスケールし、大量の読み込みを行うアプリケーションを処理したり、同じクラスターから同時に
読み込みを実行する多数のクライアントをサポートしたりすることができます。
Redis (クラスターモードが無効) クラスターのすべてのノードは、同じリージョンに存在する必要があり
ます。耐障害性を向上させるために、そのリージョン内の複数のアベイラビリティーゾーンにリードレ
プリカをプロビジョニングできます。クラスターにリードレプリカを追加すると、プライマリのすべての
データがリードレプリカにコピーされます。その時点から、データがプライマリに書き込まれるときには
常に、変更が非同期的にすべてのリードレプリカに反映されます。アプリケーションはリードレプリカに
接続してクラスター内のデータにアクセスできます (ただし、レプリカにデータを書き込むことはできま
せん)。
耐障害性を向上させて書き込みのダウンタイム減少させるには、レプリカを持つ Redis クラスターにマル
チ AZ と自動フェイルオーバーを実装します。詳細については、「レプリケーション: 自動フェイルオー
バーとマルチ AZ (Redis) (p. 205)」を参照してください。
クラスター内のノードのロールを変更し、プライマリといずれかのレプリカのロールを交換できます。こ
の作業は、パフォーマンスチューニングの理由で実行することがあります。たとえば、書き込みアクティ
ビティが多いウェブアプリケーションでは、ネットワークレイテンシーが最も低いノードを選択すること
ができます。詳細については、「リードレプリカをプライマリに昇格させる (p. 242)」を参照してくださ
い。
Redis (クラスターモードが有効)
Redis (クラスターモードが有効) クラスターは、1 〜 15 個のシャードで構成されます。各シャードは、プ
ライマリノードと最大 five 個の読み取り専用セカンダリノード (リードレプリカ) で構成されます。各リー
API Version 2015-02-02
201
Amazon ElastiCache ユーザーガイド
レプリケーション: Redis (クラスターモード
が無効) と Redis (クラスターモードが有効)
ドレプリカは、プライマリからのデータのコピーを維持します。非同期レプリケーション機能は、リード
レプリカとプライマリの同期を維持するのに使用されます。アプリケーションは、クラスター内のどの
ノードからでも読み取ることができます。アプリケーションは、そのプライマリノードにのみ書き込むこ
とができます。リードレプリカは、読み取り拡張性およびデータ損失に対する保護を強化します。データ
は Redis (クラスターモードが有効) クラスター内のシャード間で分割されます。
アプリケーションは、Redis (クラスターモードが有効) クラスターの設定エンドポイントを使用してクラ
スターのノードと接続できます。詳細については、「ElastiCache エンドポイントの検索 (p. 52)」を参照
してください。
レプリカノードを持つ Redis (クラスターモードが有効) クラスター
クラスター内のすべてのノードは、同じリージョンに存在する必要があります。耐障害性を向上させるた
めに、そのリージョン内の複数のアベイラビリティーゾーンにプライマリとリードレプリカの両方をプロ
ビジョニングできます。アプリケーションはリードレプリカに接続してクラスター内のデータにアクセス
できます (ただし、レプリカにデータを書き込むことはできません)。
Redis (クラスターモードが有効) クラスターには、マルチ AZ と自動フェイルオーバーが必要です。詳細に
ついては、「レプリケーション: 自動フェイルオーバーとマルチ AZ (Redis) (p. 205)」を参照してくださ
い。
現時点の Redis (クラスターモードが有効) には、いくつかの制限があります。
• いずれのレプリカノードもプライマリに昇格できません。
• マルチ AZ と自動フェイルオーバーが必要です。
• クラスター、ノードタイプ、シャード数の構造は作成時に固定され、変更することはできません。
レプリケーション: Redis (クラスターモードが無効)
と Redis (クラスターモードが有効)
Redis バージョン 3.2 以降では、2 つの異なるタイプの Redis クラスターを作成できます。Redis (クラス
ターモードが無効) (すべての Redis バージョン) クラスターは常に 1 つのシャードと最大 5 個のリードレ
プリカノードで構成されます。Redis (クラスターモードが有効) クラスターは、最大 15 個のシャードと、
シャードごとに 1 〜 5 個のリードレプリカノードで構成されます。
API Version 2015-02-02
202
Amazon ElastiCache ユーザーガイド
レプリケーション: Redis (クラスターモード
が無効) と Redis (クラスターモードが有効)
Redis (クラスターモードが無効) クラスターと Redis (クラスターモードが有効) クラスター
次の表は、Redis (クラスターモードが無効) クラスターと Redis (クラスターモードが有効) クラスターの
重要な相違点をまとめたものです。
Redis (クラスターモードが無効) クラスターと Redis (クラスターモードが有効) クラスターの比
較
機能
Redis (クラスターモードが無効)
Redis (クラスターモードが有効)
変更可能
はい。レプリカノードの追加と
削除、およびノードタイプの
スケールアップをサポートしま
す。
いいえ. 現在、クラスター作成後
の変更はサポートされていませ
ん。
データのパーティション化
いいえ
はい
シャード
1
1~ 15 ノードグループ数は、レ
プリケーショングループの作成
時に設定されます。
リードレプリカ
0~5
0 ~ 5 (シャードあたり)。
Important
レプリカがない場合、
ノードに障害が発生する
と、データ損失が発生し
ます。
マルチ AZ と自動フェイルオー
バー
はい、少なくとも 1 つのレプリ
カ。
はい。必須。
オプション、デフォルト。
スナップショット (バックアップ) はい、1 つの .rdb ファイルを作
成。
はい、シャードごとに独自
の .rdb ファイルを作成。
復元
はい。1 つの .rdb ファイルを使
用。
はい、シャードごとに独自
の .rdb ファイルを使用。
サポート
Redis のすべてのバージョン
Redis 3.2 以降
API Version 2015-02-02
203
Amazon ElastiCache ユーザーガイド
どちらを使用すればよいですか?
機能
Redis (クラスターモードが無効)
Redis (クラスターモードが有効)
エンジンがアップグレード可能
はい
該当なし
どちらを使用すればよいですか?
Redis (クラスターモードが無効) または Redis (クラスターモードが有効) のどちらかを選択する場合は、
以下の要因を考慮する必要があります。
• スケーリングとパーティション化 – ビジネスには変化が必要です。ピーク需要に対してプロビジョニ
ングするか、需要の変化に応じてスケールする必要があります。Redis (クラスターモードが無効) はス
ケーリングをサポートしています。レプリカノードを追加または削除して読み取り容量をスケールす
るか、より大きいノードタイプにスケールアップして容量をスケールできます。両方のオペレーション
には時間がかかります。詳細については、「レプリカノードを含む Redis のクラスターのスケーリン
グ (p. 188)」を参照してください。
現在、Redis (クラスターモードが有効) はスケーリングをサポートしていませんが、最大 15 個のノード
までデータのパーティション化をサポートします。パーティション化の 1 つの利点は、より多くのエン
ドポイントに負荷を分散し、ピーク需要時のアクセスのボトルネックを減らすことです。また、データ
を複数のサーバーに分散させることができるため、より大規模なデータセットに対応できます。Redis
(クラスターモードが有効) では、作成後のレプリケーショングループのパーティション数を変更できま
せん。
• ノードサイズとノード数 – Redis (クラスターモードが無効) クラスターのシャードは 1 つだけであるた
め、ノードタイプはクラスターのすべてのデータと必要なオーバーヘッドに対応できるだけの大きさで
ある必要があります。一方、Redis (クラスターモードが有効) クラスターでは複数のシャード間でデー
タを分割できるため、ノードタイプはより小さくできます。ただし、全体ではノード数が増えます。
• 読み取りと書き込み – クラスターのプライマリロードがデータを読み取るアプリケーションである場
合、リードレプリカを追加、削除することで Redis (クラスターモードが無効) クラスターをスケールで
きます。ただし、リードレプリカの最大数は 5 であることに注意する必要があります。クラスターの書
き込み負荷が高い場合は、複数のシャードを持つ Redis (クラスターモードが有効) クラスターの追加の
書き込みエンドポイントが役立ちます。
どちらのクラスターを実装する場合でも、現在および将来のニーズに合ったノードタイプを選択してくだ
さい。詳細については、「Redis ノードサイズの選択 (p. 84)」を参照してください。
API Version 2015-02-02
204
Amazon ElastiCache ユーザーガイド
レプリケーション: 自動フェイ
ルオーバーとマルチ AZ (Redis)
レプリケーション: 自動フェイルオーバーとマルチ
AZ (Redis)
自動フェイルオーバー機能を備えた Amazon ElastiCache のマルチ AZ を Redis クラスター (API/CLI では
レプリケーショングループ) で有効にすると、何らかの理由でクラスターの読み書き可能プライマリクラ
スターにアクセス不能になったり障害が発生したりした場合の、耐障害性が向上します。
トピック
• 自動フェイルオーバーの概要 (p. 205)
• 自動フェイルオーバーとRedis マルチ AZ に関する注意事項 (p. 205)
• マルチ AZ および自動フェイルオーバーレスポンスの障害シナリオ (p. 206)
• マルチ AZ で自動フェイルオーバーを有効にする (p. 209)
自動フェイルオーバーの概要
ElastiCache クラスターは、プライマリノードと最大 5 つのリードレプリカノードで構成されます。計画
された特定のタイプのメンテナンス中、またはプライマリノードまたはアベイラビリティーゾーンの予期
しない障害が発生した場合に、クラスターでマルチ AZ が有効にされていると、ElastiCache はプライマリ
ノードの障害を自動的に検出し、リードレプリカノードを選択してそれにプライマリクラスターを昇格さ
せて、昇格が完了するとすぐに新しいプライマリクラスターに書き込みを再開できるようにします。アプ
リケーションがプライマリエンドポイントに書き込みを行っている場合に、アプリケーションでエンドポ
イントを変更しなくてもよいように、ElastiCache は昇格されたレプリカの DNS も伝達します。ただし、
個々のエンドポイントから読み取りを行うため、プライマリに昇格されたレプリカのリードエンドポイン
トを新しいレプリカのエンドポイントに変更する必要があります。
昇格プロセスは通常、数分かかります。マルチ AZ を有効にしていない場合は、新しいプライマリを再度
作成してプロビジョニングするよりも大幅に高速です。
ElastiCache コンソール、AWS CLI、または ElastiCache API を使用してマルチ AZ と自動フェイルオー
バーを有効にできます。
自動フェイルオーバーとRedis マルチ AZ に関する注
意事項
次の点に注意する必要があります。
• 自動フェイルオーバー機能を持つマルチ AZ は Redis バージョン 2.8.6 以降でのみサポートされます。
• Redis マルチ AZ と自動フェイルオーバーは、t1 と t2 のキャッシュノードタイプではサポートされませ
ん。
• Redis レプリケーションは同期されません。そのため、プライマリクラスターがレプリカにフェイル
オーバーすると、レプリケーションの遅延のために少量のデータが失われる可能性があります。
• プライマリに昇格させるレプリカを選択すると、ElastiCache はレプリケーションの遅延が最短のレプ
リカ (つまり最新の状態のレプリカ) を選択します。
• クラスターで自動フェイルオーバーを備えたマルチ AZ が有効な場合、レプリカノードを手動でプライ
マリクラスターに昇格させることはできません。したがって、AZ-a のプライマリが AZ-b のレプリカに
フェイルオーバーした場合、プライマリは AZ-b に存在します。AZ-a の新しいレプリカをプライマリに
昇格させるには、最初にクラスターで自動フェイルオーバーを備えたマルチ AZ を無効にして昇格を実
行してから、自動フェイルオーバーを備えたマルチ AZ をもう一度有効にする必要があります。
• ElastiCache 自動フェイルオーバーとマルチ AZ および AOF (Append-Only File) は、相互に排他的で
す。一方を有効にすると、他方を有効にすることはできません。
API Version 2015-02-02
205
Amazon ElastiCache ユーザーガイド
マルチ AZ および自動フェイル
オーバーレスポンスの障害シナリオ
• アベイラビリティーゾーン全体で障害が発生するというまれなイベントによりノードの障害が発生した
場合、そのアベイラビリティーゾーンがバックアップされているときにのみ、障害のあるプライマリに
置き換わるレプリカが作成されます。たとえば、レプリケーショングループと、AZ-a のプライマリおよ
び AZ-b と AZ-c のレプリカを検討してみます。プライマリで障害が発生すると、レプリケーションの遅
延が最短のレプリカがプライマリクラスターに昇格されます。その後、AZ-a がバックアップとなってい
て使用可能な場合にのみ、ElastiCache は AZ-a 内 (障害が発生したプライマリがあった場所) に新しいレ
プリカを作成します。
• プライマリをお客様が再起動した場合、自動フェイルオーバーはトリガーされません。他の再起動と障
害は、自動フェイルオーバーをトリガーします。
• プライマリが再起動すると、オンラインに戻ったときに常にデータがクリアされます。リードレプリカ
がクリアされたプライマリクラスターを検出すると、データのコピーがクリアされるため、データ損失
が発生します。
• リードレプリカが昇格されると、他のレプリカは新しいプライマリと同期されます。最初の同期の後、
レプリカのコンテンツが削除され、新しいプライマリからのデータと同期されます。このため、レプリ
カにアクセスできない短い中断が発生します。この同期プロセスにより、レプリカとの同期中にプライ
マリで一時的にロードが増えます。この動作は、Redis のネイティブな動作であり、ElastiCache マルチ
AZ 特有の動作ではありません。Redis のこの動作の詳細については、http://redis.io/topics/replication を
参照してください。
Important
• Redis バージョン 2.8.22 以降
外部レプリカは許可されていません。
• Redis バージョン 2.8.22 以前
外部 Redis レプリカを、自動フェイルオーバーを備えたマルチ AZ を有効にした ElastiCache
Redis クラスターに接続しないことをお勧めします。これはサポートされていない設定
で、ElastiCache がフェイルオーバーと復旧を正しく実行できなくなるという問題が生じる可能
性があります。ElastiCache クラスターに外部 Redis レプリカを接続する必要がある場合は、
接続する前に必ず自動フェイルオーバーを備えたマルチ AZ が無効になっていることを確認し
てください。
マルチ AZ および自動フェイルオーバーレスポンスの
障害シナリオ
自動フェイルオーバーを備えたマルチ AZ の導入前では、ElastiCache によって、クラスターの障害が発
生したノードが検出され、再度作成されてプロビジョニングされたノードに置き換えられます。自動フェ
イルオーバーを備えたマルチ AZ を有効にすることで、障害が発生したプライマリノードは、レプリケー
ションの遅延が最短のレプリカにフェイルオーバーされます。選択されたレプリカは自動的にプライマリ
に昇格されます。このプロセスは、新しいプライマリノードを作成して再プロビジョニングするよりも大
幅に高速です。通常は数分ほどで、クラスターへの書き込みが再び可能になります。
自動フェイルオーバーを備えたマルチ AZ が有効になると、ElastiCache によってプライマリノードの状態
が継続的にモニタリングされます。プライマリノードで障害が発生した場合、以下のいずれかのアクショ
ンが実行されます。
プライマリノードにのみ障害が発生した場合
プライマリノードでのみ障害が発生した場合は、レプリケーションの遅延が最短のリードレプリカがプラ
イマリに昇格され、新しいリードレプリカが作成されプロビジョニングされて、昇格されたリードレプリ
カと置き換えられます。
API Version 2015-02-02
206
Amazon ElastiCache ユーザーガイド
マルチ AZ および自動フェイル
オーバーレスポンスの障害シナリオ
障害が発生したプライマリノードの自動フェイルオーバー
プライマリノードでのみ障害が発生した場合の、自動フェイルオーバーを備えた ElastiCache マ
ルチ AZ のアクション
1.
障害が発生したプライマリノードがオフラインになります。
2.
レプリケーションの遅延が最短のリードレプリカがプライマリに昇格されます。
書き込みは、昇格プロセスが完了するとすぐに (通常は数分) 再開できます。アプリケーションがプラ
イマリエンドポイントに書き込む場合、ElastiCache は、昇格されたレプリカの DNS を伝達するとき
に、書き込み用のエンドポイントを変更する必要はありません。
3.
置き換えられたリードレプリカが起動し、プロビジョニングされます。
ノードのディストリビューションが維持されるように、障害が発生したプライマリノードがあったア
ベイラビリティーゾーンで置き換えリードレプリカが起動されます。
4.
レプリカが新しいプライマリノードと同期されます。
新しいレプリカが使用可能になったら、アプリケーションで以下の変更を実行する必要がありま
す:
• プライマリエンドポイント – 新しいプライマリノードの DNS がプライマリエンドポイントに伝達され
るため、アプリケーションに変更は加えません。
• リードエンドポイント – 障害が発生したプライマリのリードエンドポイントを新しいレプリカのエンド
ポイントに置き換えます。
クラスターのエンドポイントの検索については、以下のトピックを参照してください。
• Redis (クラスターモードが無効) クラスターのエンドポイントの検索 ((コンソール)) (p. 55)
• レプリケーショングループのエンドポイントの検索 (AWS CLI) (p. 60)
• レプリケーショングループのエンドポイントの検索 (ElastiCache API) (p. 63)
プライマリノードといくつかのリードレプリカで障害が発生した
場合
1 つのリードレプリカを除くすべてで障害が発生した場合、残りの利用可能なレプリカはプライマリクラ
スターに昇格され、新しいリードレプリカが作成されてプロビジョニングされます。
API Version 2015-02-02
207
Amazon ElastiCache ユーザーガイド
マルチ AZ および自動フェイル
オーバーレスポンスの障害シナリオ
プライマリノードといくつかのリードレプリカで障害が発生した場合の、ElastiCache マルチ AZ
のアクション
1.
障害が発生したプライマリノードとリードレプリカがオフラインになります。
2.
レプリケーションの遅延が最短の使用可能なレプリカがプライマリノードに昇格されます。
書き込みは、昇格プロセスが完了するとすぐに (通常は数分) 再開できます。アプリケーションがプラ
イマリエンドポイントに書き込む場合、ElastiCache は、昇格されたレプリカの DNS を伝達するとき
に、書き込み用のエンドポイントを変更する必要はありません。
3.
複数の置き換えレプリカを作成してプロビジョニングします。
ノードのディストリビューションが維持されるように、障害が発生したノードのアベイラビリティー
ゾーンで置き換えレプリカが作成されます。
4.
すべてのクラスターが新しいプライマリノードと同期されます。
新しいノードが使用可能になったら、アプリケーションに以下の変更を加える必要があります。
• プライマリエンドポイント – 新しいプライマリノードの DNS がプライマリエンドポイントに伝達され
るため、アプリケーションに変更は加えません。
• リードエンドポイント – 障害が発生したプライマリとレプリカのリードエンドポイントを新しいレプリ
カのノードエンドポイントに置き換えます。
レプリケーショングループのエンドポイントの検索については、次のトピックを参照してください:
• Redis (クラスターモードが無効) クラスターのエンドポイントの検索 ((コンソール)) (p. 55)
• レプリケーショングループのエンドポイントの検索 (AWS CLI) (p. 60)
• レプリケーショングループのエンドポイントの検索 (ElastiCache API) (p. 63)
クラスター全体に障害が発生した場合
すべてで障害が発生した場合は、すべてのノードが再作成されてプロビジョニングされます。
このシナリオでは、クラスター内のすべてのデータがクラスター内のすべてのノードの障害のために失わ
れます。これはまれにしか発生しません。
クラスター全体に障害が発生した場合の ElastiCache マルチ AZ のアクション
1.
障害が発生したプライマリノードとリードレプリカがオフラインになります。
2.
置き換えプライマリノードが作成され、プロビジョニングされます。
3.
複数の置き換えレプリカを作成してプロビジョニングします。
ノードのディストリビューションが維持されるように、障害が発生したノードのアベイラビリティー
ゾーンで置き換えレプリカが作成されます。
Note
クラスター全体に障害が発生したため、データが失われ、すべての新しいノードがコールド
起動されます。
置き換え先の各ノードには置き換え元のノードと同じエンドポイントが含まれるため、アプリケーション
でエンドポイントを変更する必要はありません。
レプリケーショングループのエンドポイントの検索については、次のトピックを参照してください:
API Version 2015-02-02
208
Amazon ElastiCache ユーザーガイド
マルチ AZ で自動フェイルオーバーを有効にする
• Redis (クラスターモードが無効) クラスターのエンドポイントの検索 ((コンソール)) (p. 55)
• レプリケーショングループのエンドポイントの検索 (AWS CLI) (p. 60)
• レプリケーショングループのエンドポイントの検索 (ElastiCache API) (p. 63)
耐障害性レベルを上げるために、プライマリノードとリードレプリカは別々のアベイラビリティーゾーン
に作成することをお勧めします。
マルチ AZ で自動フェイルオーバーを有効にする
AWS コンソール、AWS CLI、または ElastiCache API を使用して、クラスター (API/CLI ではレプリケー
ショングループ) の作成時や変更時に、自動フェイルオーバーを備えたマルチ AZ を有効にすることができ
ます。
自動フェイルオーバーを備えたマルチ AZ を有効にできるのは、使用可能なリードレプリカが 1 つ以上あ
る Redis クラスターに対してのみです。レプリケーションが有効なクラスターの作成については、「レプ
リカを持つ Redis クラスターの作成 (p. 212)」を参照してください。レプリケーションが有効なクラス
ターへのリードレプリカの追加については、「Redis クラスターへのリードレプリカの追加 (p. 240)」を
参照してください。
トピック
• マルチ AZ で自動フェイルオーバーを有効にする (コンソール) (p. 209)
• マルチ AZ で自動フェイルオーバーを有効にする (AWS CLI) (p. 209)
• マルチ AZ で自動フェイルオーバーを有効にする (ElastiCache API) (p. 210)
マルチ AZ で自動フェイルオーバーを有効にする (コンソール)
ElastiCache コンソールを使用して、新しい Redis クラスターの作成時や、レプリケーションが有効な既
存の Redis クラスターの変更時に、自動フェイルオーバーを備えたマルチ AZ を有効にすることができま
す。
ElastiCache コンソールを使用してクラスターを作成するときにマルチ AZ で自動
フェイルオーバーを有効にする
トピック「Redis (クラスターモードが無効) クラスターの作成 ((コンソール)) (p. 136)」を参照してくださ
い。1 つ以上のレプリカがあることを確認し、自動フェイルオーバーを備えたマルチ AZ を有効にしてく
ださい。
既存のクラスターで自動フェイルオーバーを備えたマルチ AZ を有効にする ((コ
ンソール))
トピック「クラスターの変更 ((コンソール)) (p. 155)」を参照してください。
マルチ AZ で自動フェイルオーバーを有効にする (AWS CLI)
次のコード例では、AWS CLI を使用して、レプリケーショングループ myReplGroup でマルチ AZ と自動
フェイルオーバーを有効にすることができます。
Important
レプリケーショングループ myReplGroup が既に存在しており、少なくとも 1 個の利用可能なリー
ドレプリカが必要となります。
Linux, macOS, or Unix 用:
API Version 2015-02-02
209
Amazon ElastiCache ユーザーガイド
マルチ AZ で自動フェイルオーバーを有効にする
aws elasticache modify-replication-group \
--replication-group-id myReplGroup \
--automatic-failover-enabled
Windows の場合:
aws elasticache modify-replication-group ^
--replication-group-id myReplGroup ^
--automatic-failover-enabled
詳細については、AWS CLI のトピック「create-cache-cluster」、「create-replication-group」および
「modify-replication-group」を参照してください。
マルチ AZ で自動フェイルオーバーを有効にする (ElastiCache
API)
次のコード例では、ElastiCache API を使用して、レプリケーショングループ myReplGroup でマルチ AZ
と自動フェイルオーバーを有効にすることができます。
Note
レプリケーショングループ myReplGroup が既に存在しており、少なくとも 1 個の利用可能なリー
ドレプリカが必要となります。
https://elasticache.us-west-2.amazonaws.com/
?Action=ModifyReplicationGroup
&AutoFailover=true
&ReplicationGroupId=myReplGroup
&Version=2015-02-02
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20140401T192317Z
&X-Amz-Credential=<credential>
詳細については、『ElastiCache API リファレンス』の「CreateCacheCluster」、
「CreateReplicationGroup」、および「ModifyReplicationGroup」を参照してください。
API Version 2015-02-02
210
Amazon ElastiCache ユーザーガイド
同期とバックアップの実装方法
同期とバックアップの実装方法
すべてのサポートされている Redis バージョンでは、プライマリクラスターとレプリカクラスター間で
バックアップと同期がサポートされます。ただし、バックアップと同期の実装方法は Redis バージョンに
よって異なります。
Redis バージョン 2.8.22 以降
バージョン 2.8.22 以降の Redis レプリケーションでは、2 つの方法から選択します。詳細について
は、「Redis バージョン 2.8.22 以前 (p. 211)」および「ElastiCache バックアップと復元 (Redis)
(p. 246)」を参照してください。
分岐なしプロセス中に書き込み負荷が高い場合は、クラスターへの書き込みを遅延させて、変更が蓄積し
すぎて正常なスナップショットが妨げられないようにします。
Redis バージョン 2.8.22 以前
バージョン 2.8.22 以前の Redis のバックアップと同期は、3 つのステップで構成されるプロセスです。
1.
バックグラウンドプロセスでは、分岐によりクラスターのデータがディスクにシリアル化されます。
これは、特定の時点のスナップショットを作成します。
2.
フォアグラウンドでは、クライアント出力バッファーに変更ログが蓄積されます。
Important
3.
変更ログがクライアント出力バッファーのサイズを超えると、バックアップまたは同期が失
敗します。詳細については、「Redis スナップショットを作成するための十分なメモリがあ
ることの確認 (p. 65)」を参照してください。
最後にキャッシュデータが送信され、変更ログがレプリカクラスターに転送されます。
API Version 2015-02-02
211
Amazon ElastiCache ユーザーガイド
レプリカを持つクラスターの作成
レプリカを持つ Redis クラスターの作成
レプリカノードを持つクラスターを作成するには、以下のオプションがあります。どれを使用するかは、
すでに使用可能な Redis (クラスターモードが無効) クラスターがあり、プライマリノードとして使用する
レプリカを持つクラスターのいずれとも関連付けられていないか、クラスターにプライマリノードとリー
ドレプリカを新たに作成する必要があるかどうかで異なります。現時点では、Redis (クラスターモードが
有効) クラスターは最初から作成する必要があります。
オプション 1: 使用可能な Redis (クラスターモードが無効) クラスターによる、レプリカを持つクラスター
の作成 (p. 213)
このオプションは、既存の単一ノード Redis (クラスターモードが無効) クラスターを利用する場合に
使用します。このクラスターは、新しいクラスターのプライマリとして指定し、さらに クラスターに
1 〜 5 個のリードレプリカを個別に追加します。既存のクラスターがアクティブの場合、リードレプ
リカは作成時にそのクラスターと同期されます。
Important
Redis (クラスターモードが有効) クラスターは、既存のクラスターを使用して作成できませ
ん。ElastiCache コンソールで Redis (クラスターモードが有効) クラスターを作成するには、
「Redis (クラスターモードが有効) クラスターの作成 ((コンソール)) (p. 140)」を参照してく
ださい。
オプション 2: ゼロからのレプリケーショングループの作成 (p. 217)
このオプションは、クラスターのプライマリとして使用可能な Redis (クラスターモードが無効) クラ
スターがまだない場合、または Redis (クラスターモードが有効) クラスターを作成する場合に使用し
ます。Redis (クラスターモードが無効) クラスターを作成する場合は、このオプションを使用して、
必要なリードレプリカの数を指定します。Redis (クラスターモードが有効) クラスターを作成する場
合は、このオプションを使用して、必要なシャード数とシャードごとのリードレプリカ数を指定しま
す。その後はユーザーからの入力やアクションを必要とせずに、クラスター、シャード、プライマリ
ノード、指定した数のリードレプリカが自動的に作成されます。
API Version 2015-02-02
212
Amazon ElastiCache ユーザーガイド
既存のクラスターによる、レプリカを持つクラスターの作成
使用可能な Redis (クラスターモードが無効) クラス
ターによる、レプリカを持つクラスターの作成
使用可能なクラスターは、単一ノードの Redis クラスターです。現時点では、Redis (クラスターモードが
有効) では使用可能な単一ノードのクラスターを使用して、レプリカを持つクラスターを作成することは
できません。Redis (クラスターモードが有効) クラスターを作成する場合は、「ゼロからの Redis (クラス
ターモードが有効) レプリケーショングループの作成 ((コンソール)) (p. 224)」を参照してください。
次の手順は、単一ノードの Redis (クラスターモードが無効) クラスターがある場合に限り使用できます。
このクラスターは新しいクラスターのプライマリになります。新しいクラスターのプライマリとして使用
できる Redis (クラスターモードが無効) クラスターがない場合は、「ゼロからのレプリケーショングルー
プの作成 (p. 217)」を参照してください。
関連トピック
• トピック「クラスターへのノードの追加 ((コンソール)) (p. 160)」を参照してください。
• 利用可能な Redis キャッシュクラスターを使用したレプリケーショングループの作成 ((AWS
CLI)) (p. 213)
• 利用可能な Redis キャッシュクラスターを使用したレプリケーショングループの作成 ((ElastiCache
API)) (p. 215)
使用可能な Redis クラスターによる、レプリカを持つクラスター
の作成 ((コンソール))
トピック「クラスターへのノードの追加 ((コンソール)) (p. 160)」を参照してください。
利用可能な Redis キャッシュクラスターを使用したレプリケー
ショングループの作成 ((AWS CLI))
AWS CLI を使う場合、使用可能な Redis キャッシュクラスターをプライマリとして、リードレプリカを持
つレプリケーショングループを作成するには 2 つのステップがあります。
最初に、使用可能な Redis キャッシュクラスターをプライマリとして指定するレプリケーショングループ
を作成します。
使用可能な Redis キャッシュクラスターがすでに存在する場合にレプリケーショングループを作成するに
は、AWS CLI create-replication-group コマンドを使用します。その際に以下のパラメーターを必ず含
めます。
--replication-group-id
作成するレプリケーショングループの名前。
Redis (クラスターモードが無効) レプリケーショングループの命名に関する制約
• 1~20 文字の英数字またはハイフンを使用する必要があります。
• 先頭は文字にする必要があります。
• 連続する 2 つのハイフンを含めることはできません。
• 末尾をハイフンすることはできません。
--replication-group-description
レプリケーショングループの説明。
API Version 2015-02-02
213
Amazon ElastiCache ユーザーガイド
既存のクラスターによる、レプリカを持つクラスターの作成
--primary-cluster-id
このレプリケーショングループのプライマリノードとして使用可能な Redis キャッシュクラスターの
名前。
次のコマンドは、レプリケーショングループ my-repl-group を作成します。レプリケーショングループの
プライマリノードとして使用できる Redis クラスター my-primary を使用します。my-primary の設定 (パ
ラメータグループ、セキュリティグループ、ノードタイプなど) は、レプリケーショングループのすべて
のノードに適用されます。
Linux, macOS, or Unix 用:
aws elasticache create-replication-group \
--replication-group-id my-repl-group \
--replication-group-description "test group" \
--primary-cluster-id my-primary
Windows の場合:
aws elasticache create-replication-group ^
--replication-group-id my-repl-group ^
--replication-group-description "test group" ^
--primary-cluster-id my-primary
使用するパラメーターおよび追加情報については、AWS CLI のトピック「create-replication-group」を参
照してください。
次に、リードレプリカをレプリケーショングループに追加します。
レプリケーショングループの作成後に、create-cache-cluster コマンドを使用して、そのグループに 1
〜 5 個のリードレプリカを追加します。その際に、以下のパラメーターを必ず含めます。
--cache-cluster-id
レプリケーショングループに追加するクラスターの名前。
クラスターの命名上の制約
• 1~20 文字の英数字またはハイフンを使用する必要があります。
• 先頭は文字にする必要があります。
• 連続する 2 つのハイフンを含めることはできません。
• 末尾をハイフンすることはできません。
--replication-group-id
このキャッシュクラスターに追加するレプリケーショングループの名前。
レプリケーショングループに追加するそれぞれのリードレプリカで、このコマンドを --cache-clusterid パラメーターの値のみを変更して繰り返します。
Note
レプリケーショングループに追加できるリードレプリカの数は 5 個までです。すでに 5 個のリー
ドレプリカを持つレプリケーショングループに別のリードレプリカを追加しようとすると、オペ
レーションが失敗します。
API Version 2015-02-02
214
Amazon ElastiCache ユーザーガイド
既存のクラスターによる、レプリカを持つクラスターの作成
次のコードは、リードレプリカ my-replica01 をレプリケーショングループ my-repl-group に追加しま
す。プライマリクラスター – パラメータグループ、セキュリティグループ、ノードタイプなどの設定で
す。– はレプリケーショングループに追加されると、ノードに適用されます。
Linux, macOS, or Unix 用:
aws elasticache create-cache-cluster \
--cache-cluster-id my-replica01 \
--replication-group-id my-repl-group
Windows の場合:
aws elasticache create-cache-cluster ^
--cache-cluster-id my-replica01 ^
--replication-group-id my-repl-group
使用するパラメーターおよび追加情報については、AWS CLI トピックの「create-cache-cluster」を参照し
てください。
利用可能な Redis キャッシュクラスターを使用したレプリケー
ショングループの作成 ((ElastiCache API))
利用可能な Redis クラスターをプライマリとして使用する場合に、リードレプリカを持つレプリケーショ
ングループを作成するのに 2 つのステップがあります。
最初に、プライマリクラスターとして使用できる Redis クラスターを使用してレプリケーショングループ
を作成します。
使用可能な Redis クラスターがすでに存在する場合にレプリケーショングループを作成するに
は、ElastiCache API CreateReplicationGroup オペレーションを行います。その際に必ず以下のパラメー
ターを含めます。
ReplicationGroupId
作成するレプリケーショングループの名前。
Redis (クラスターモードが無効) レプリケーショングループの命名に関する制約
• 1~20 文字の英数字またはハイフンを使用する必要があります。
• 先頭は文字にする必要があります。
• 連続する 2 つのハイフンを含めることはできません。
• 末尾をハイフンすることはできません。
ReplicationGroupDescription
レプリケーショングループの説明。
PrimaryClusterId
このレプリケーショングループのプライマリクラスターとして使用可能な Redis クラスターの名前。
次のオペレーションでは、使用可能な Redis キャッシュクラスター myPrimary をレプリケーション
グループのプライマリクラスターとして使用し、レプリケーショングループ myReplGroup を作成しま
す。myPrimary の設定 (パラメータグループ、セキュリティグループ、ノードタイプなど) は、レプリケー
ショングループのすべてのノードに適用されます。
読みやすくするために改行が追加されます。
API Version 2015-02-02
215
Amazon ElastiCache ユーザーガイド
既存のクラスターによる、レプリカを持つクラスターの作成
https://elasticache.us-west-2.amazonaws.com/
?Action=CreateReplicationGroup
&ReplicationGroupDescription=My%20replication%20group
&ReplicationGroupId=myReplGroup
&PrimaryClusterId=myPrimary
&Version=2015-02-02
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&X-Amz-Credential=<credential>
使用するパラメーターおよび追加情報については、ElastiCache API トピックの
「CreateReplicationGroup」を参照してください。
次に、リードレプリカをレプリケーショングループに追加します。
レプリケーショングループの作成後に、CreateCacheCluster オペレーションを使用して、そのグループ
に 1 〜 5 個のリードレプリカを追加します。その際に、以下のパラメーターを必ず含めます。
CacheClusterId
レプリケーショングループに追加するクラスターの名前。
クラスターの命名上の制約
• 1~20 文字の英数字またはハイフンを使用する必要があります。
• 先頭は文字にする必要があります。
• 連続する 2 つのハイフンを含めることはできません。
• 末尾をハイフンすることはできません。
ReplicationGroupId
このキャッシュクラスターに追加するレプリケーショングループの名前。
レプリケーショングループに追加するリードレプリカごとに、このオペレーションを繰り返します。その
際に、CacheClusterId パラメーターの値のみを変更します。
次のコマンドは、レプリケーショングループ myReplica01 を作成します。レプリケーショングループのプ
ライマリクラスターとして使用できる Redis クラスター myReplGroup を使用します。– はレプリケーショ
ングループに追加されると、ノードに適用されます。
https://elasticache.us-west-2.amazonaws.com/
?Action=CreateCacheCluster
&CacheClusterId=myReplica01
&ReplicationGroupId=myReplGroup
&SignatureMethod=HmacSHA256
&SignatureVersion=4
&Version=2015-02-02
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=[your-access-key-id]/20150202/us-west-2/elasticache/aws4_request
&X-Amz-Date=20150202T170651Z
&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
&X-Amz-Signature=[signature-value]
使用するパラメーターおよび追加情報については、ElastiCache API トピックの「CreateCacheCluster」を
参照してください。
API Version 2015-02-02
216
Amazon ElastiCache ユーザーガイド
ゼロからのレプリケーショングループの作成
ゼロからのレプリケーショングループの作成
このトピックでは、既存の Redis クラスターをプライマリとして使用せずに、Redis レプリケーショング
ループを作成する方法を説明します。ElastiCache コンソール、AWS CLI、または ElastiCache API を使用
して、Redis (クラスターモードが無効) または Redis (クラスターモードが有効) レプリケーショングルー
プを最初から作成できます。
続行する前に、Redis (クラスターモードが無効) レプリケーショングループを作成するのか、Redis (ク
ラスターモードが有効) レプリケーショングループを作成するのかを決定します。決定のガイダンス
については、「レプリケーション: Redis (クラスターモードが無効) と Redis (クラスターモードが有
効) (p. 202)」を参照してください。
トピック
• レプリカを持つ Redis (クラスターモードが無効) クラスターの最初からの作成 (p. 218)
• ゼロからの Redis (クラスターモードが有効) レプリケーショングループの作成 (p. 224)
API Version 2015-02-02
217
Amazon ElastiCache ユーザーガイド
ゼロからのレプリケーショングループの作成
レプリカを持つ Redis (クラスターモードが無効) クラスターの最
初からの作成
ElastiCache コンソール、AWS CLI、または ElastiCache API を使用して、Redis (クラスターモードが無
効) レプリケーショングループを最初から作成できます。Redis (クラスターモードが無効) レプリケーショ
ングループには常に 1 つのノードグループ、プライマリクラスター、および最大 5 個のリードレプリカが
あります。Redis (クラスターモードが無効) レプリケーショングループでは、データのパーティション化
はサポートされません。
トピック
• Redis クラスターの最初からの作成 ((コンソール)) (p. 218)
• ゼロからの Redis (クラスターモードが無効) レプリケーショングループの作成 ((AWS CLI)) (p. 218)
• ゼロからの Redis (クラスターモードが無効) レプリケーショングループの作成 ((ElastiCache
API)) (p. 220)
Redis クラスターの最初からの作成 ((コンソール))
レプリカを持つ Redis (クラスターモードが無効) クラスターを作成するには、「Redis (クラスターモード
が無効) クラスターの作成 ((コンソール)) (p. 136)」を参照してください。少なくとも 1 つのレプリカ ノー
ドを指定します。
ゼロからの Redis (クラスターモードが無効) レプリケーショングループの作成
((AWS CLI))
次の手順では、AWS CLI を使用して Redis (クラスターモードが無効) レプリケーショングループを作成し
ます。
Redis (クラスターモードが無効) レプリケーショングループを最初から作成する場合、レプリケーション
グループとそのすべてのノードを、AWS CLI create-replication-group コマンドへの 1 回の呼び出しで
作成します。以下のパラメーターを含めます。
--replication-group-id
作成するレプリケーショングループの名前。
Redis (クラスターモードが無効) レプリケーショングループの命名に関する制約
• 1~20 文字の英数字またはハイフンを使用する必要があります。
• 先頭は文字にする必要があります。
• 連続する 2 つのハイフンを含めることはできません。
• 末尾をハイフンすることはできません。
--replication-group-description
(オプション) レプリケーショングループの説明。
--num-cache-clusters
このレプリケーションのグループ、プライマリおよびリードレプリカ全体で作成するクラスター (ノー
ド) の総数。
マルチ AZ を有効にした場合 (--automatic-failover-enabled)、--num-cache-clusters の値は 2 以
上であることが必要です。
--cache-node-type
レプリケーショングループの各ノードのノードタイプ。
API Version 2015-02-02
218
Amazon ElastiCache ユーザーガイド
ゼロからのレプリケーショングループの作成
ElastiCache では以下のノードがサポートされています。一般に、現行世代のタイプは、以前の世代の
同等タイプと比較した場合、メモリが多く処理能力が高くなっています。
• 汎用:
• 現行世代: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium,
cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge,
cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge
• 以前の世代: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large,
cache.m1.xlarge
• コンピューティングの最適化: cache.c1.xlarge
• メモリ最適化:
• 現行世代: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge,
cache.r3.8xlarge
• 以前の世代: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge, ,
サポートされているノードタイプは、次の表に示していない限り、すべてのリージョンで使用できま
す。
例外
リージョン名
リージョン
例外
アジアパシフィック (ソウル)
ap-northeast-2
現行世代のノードタイプのみをサポートしま
す。
欧州 (フランクフルト)
eu-central-1
現行世代のノードタイプのみをサポートしま
す。
AWS GovCloud (US)
us-gov-west-1
現行世代のノードタイプのみをサポートしま
す。
M4 ノードタイプをサポートしません。
米国東部 (オハイオ)
us-east-2
ノードタイプ T2、M4、および R3 のみをサポー
トします。
次のエンジンバージョンのみをサポートしま
す。
• Memcached: 1.4.24
• Redis 2.8.21、2.8.23、2.8.24、3.2.4
Note
• すべての T2 インスタンスは Amazon VPC (Amazon VPC) で作成されます。
• Redis バックアップおよび復元は、T2 インスタンスではサポートされません。
• Redis AOF (Append-Only File) は、T1 または T2 インスタンスではサポートされません。
• 自動フェイルオーバー機能を備えた Redis マルチ AZ は、T1 または T2 インスタンスでは
サポートされていません。
• Redis 設定変数 appendonly および appendfsync Redis バージョン 2.8.22 以降ではサポー
トされていません。
ノードタイプおよび仕様の完全な一覧については、以下を参照してください。
• Amazon ElastiCache製品の特徴と詳細
• Memcached のノードタイプ固有のパラメータ
API Version 2015-02-02
219
Amazon ElastiCache ユーザーガイド
ゼロからのレプリケーショングループの作成
• Redis のノードタイプ固有のパラメータ
--cache-parameter-group
エンジンバージョンに対応するパラメータグループを指定します。Redis 3.2.4 以降を実行している場
合は、default.redis3.2 パラメータグループ、または default.redis3.2 から派生したパラメータグ
ループを指定して Redis (クラスターモードが無効) レプリケーショングループを指定します。詳細に
ついては、「Redis 固有のパラメータ (p. 313)」を参照してください。
--engine
redis
--engine-version
最も豊富な機能のセットを利用するには、最新バージョンのエンジンを選択します。
ノード名は、レプリケーショングループ名の後に「-00†」を追加して作成されます。たとえば、レプリ
ケーショングループ名 myReplGroup を使用すると、プライマリの名前は myReplGroup-001 となり、リー
ドレプリカの名前は myReplGroup-002 から myReplGroup-006 となります。
次のオペレーションでは、3 つのノード、1 つのプライマリ、2 つのレプリカを持つ Redis (クラスター
モードが無効) レプリケーショングループ my-repl-group を作成します。
Linux, macOS, or Unix 用:
aws elasticache create-replication-group \
--replication-group-id my-repl-group \
--replication-group-description "test group" \
--num-cache-clusters 3 \
--cache-node-type cache.m3.large \
--cache-parameter-group default.redis3.2 \
--engine redis \
--engine-version 3.2.4
Windows の場合:
aws elasticache create-replication-group ^
--replication-group-id my-repl-group ^
--replication-group-description "test group" ^
--num-cache-clusters 3 ^
--cache-node-type cache.m3.large ^
--cache-parameter-group default.redis3.2 ^
--engine redis ^
--engine-version 3.2.4
使用するパラメーターおよび追加情報については、AWS CLI のトピック「create-replication-group」を参
照してください。
ゼロからの Redis (クラスターモードが無効) レプリケーショングループの作成
((ElastiCache API))
次の手順では、ElastiCache API を使用して Redis (クラスターモードが無効) レプリケーショングループを
作成します。
Redis (クラスターモードが無効) レプリケーショングループを最初から作成する場合、レプリケーション
グループとそのすべてのノードを、ElastiCache API CreateReplicationGroup オペレーションへの 1 回の
呼び出しで作成します。以下のパラメーターを含めます。
API Version 2015-02-02
220
Amazon ElastiCache ユーザーガイド
ゼロからのレプリケーショングループの作成
ReplicationGroupId
作成するレプリケーショングループの名前。
Redis (クラスターモードが有効) レプリケーショングループの命名に関する制約
• 1~20 文字の英数字またはハイフンを使用する必要があります。
• 先頭は文字にする必要があります。
• 連続する 2 つのハイフンを含めることはできません。
• 末尾をハイフンすることはできません。
ReplicationGroupDescription
レプリケーショングループの説明。
NumCacheClusters
このレプリケーションのグループ、プライマリおよびリードレプリカ全体で作成するクラスター (ノー
ド) の総数。
マルチ AZ を有効にした場合 (AutomaticFailoverEnabled=true)、NumCacheClusters の値は 2 以上で
あることが必要です。
CacheNodeType
レプリケーショングループの各ノードのノードタイプ。
ElastiCache では以下のノードがサポートされています。一般に、現行世代のタイプは、以前の世代の
同等タイプと比較した場合、メモリが多く処理能力が高くなっています。
• 汎用:
• 現行世代: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium,
cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge,
cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge
• 以前の世代: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large,
cache.m1.xlarge
• コンピューティングの最適化: cache.c1.xlarge
• メモリ最適化:
• 現行世代: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge,
cache.r3.8xlarge
• 以前の世代: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge, ,
サポートされているノードタイプは、次の表に示していない限り、すべてのリージョンで使用できま
す。
例外
リージョン名
リージョン
例外
アジアパシフィック (ソウル)
ap-northeast-2
現行世代のノードタイプのみをサポートしま
す。
欧州 (フランクフルト)
eu-central-1
現行世代のノードタイプのみをサポートしま
す。
AWS GovCloud (US)
us-gov-west-1
現行世代のノードタイプのみをサポートしま
す。
M4 ノードタイプをサポートしません。
API Version 2015-02-02
221
Amazon ElastiCache ユーザーガイド
ゼロからのレプリケーショングループの作成
リージョン名
リージョン
例外
米国東部 (オハイオ)
us-east-2
ノードタイプ T2、M4、および R3 のみをサポー
トします。
次のエンジンバージョンのみをサポートしま
す。
• Memcached: 1.4.24
• Redis 2.8.21、2.8.23、2.8.24、3.2.4
Note
• すべての T2 インスタンスは Amazon VPC (Amazon VPC) で作成されます。
• Redis バックアップおよび復元は、T2 インスタンスではサポートされません。
• Redis AOF (Append-Only File) は、T1 または T2 インスタンスではサポートされません。
• 自動フェイルオーバー機能を備えた Redis マルチ AZ は、T1 または T2 インスタンスでは
サポートされていません。
• Redis 設定変数 appendonly および appendfsync Redis バージョン 2.8.22 以降ではサポー
トされていません。
ノードタイプおよび仕様の完全な一覧については、以下を参照してください。
• Amazon ElastiCache製品の特徴と詳細
• Memcached のノードタイプ固有のパラメータ
• Redis のノードタイプ固有のパラメータ
CacheParameterGroup
エンジンバージョンに対応するパラメータグループを指定します。Redis 3.2.4 以降を実行している場
合は、default.redis3.2 パラメータグループ、または default.redis3.2 から派生したパラメータグ
ループを指定して Redis (クラスターモードが無効) レプリケーショングループを指定します。詳細に
ついては、「Redis 固有のパラメータ (p. 313)」を参照してください。
エンジン
redis
EngineVersion
3.2.4
ノード名は、レプリケーショングループ名の後に「-00†」を追加して作成されます。たとえば、レプリ
ケーショングループ名 myReplGroup を使用すると、プライマリの名前は myReplGroup-001 となり、リー
ドレプリカの名前は myReplGroup-002 から myReplGroup-006 となります。
次のオペレーションでは、3 つのノード、1 つのプライマリ、2 つのレプリカを持つ Redis (クラスター
モードが無効) レプリケーショングループ myReplGroup を作成します。
https://elasticache.us-west-2.amazonaws.com/
?Action=CreateReplicationGroup
&CacheNodeType=cache.m3.large
&CacheParameterGroup=default.redis3.2
&Engine=redis
&NumCacheClusters=3
&ReplicationGroupDescription=test%20group
&ReplicationGroupId=myReplGroup
&Version=2015-02-02
API Version 2015-02-02
222
Amazon ElastiCache ユーザーガイド
ゼロからのレプリケーショングループの作成
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&X-Amz-Credential=<credential>
使用するパラメーターおよび追加情報については、ElastiCache API トピックの
「CreateReplicationGroup」を参照してください。
API Version 2015-02-02
223
Amazon ElastiCache ユーザーガイド
ゼロからのレプリケーショングループの作成
ゼロからの Redis (クラスターモードが有効) レプリケーショング
ループの作成
ElastiCache コンソール、AWS CLI、または ElastiCache API を使用して、レプリカ (API/CLI: レプリケー
ショングループ) を持つ Redis (クラスターモードが有効) クラスターをゼロから作成できます。Redis (ク
ラスターモードが有効) レプリケーショングループは、1〜 15 個のシャード (API/CLI: ノードグループ)
で構成され、各シャードには、1 つのプライマリクラスターと、最大 5 個のリードレプリカが含まれま
す。ElastiCache コンソールを使用してクラスターを作成すると、シャードごとのリードレプリカ数は同
一数になります。
トピック
• ゼロからの Redis (クラスターモードが有効) レプリケーショングループの作成 ((コンソー
ル)) (p. 224)
• ゼロからの Redis (クラスターモードが有効) レプリケーショングループの作成 ((AWS CLI)) (p. 224)
• ゼロからの Redis (クラスターモードが有効) レプリケーショングループの作成 ((ElastiCache
API)) (p. 228)
ゼロからの Redis (クラスターモードが有効) レプリケーショングループの作成
((コンソール))
レプリカを持つ Redis (クラスターモードが有効) クラスターを作成するには、「Redis (クラスターモー
ドが有効) クラスターの作成 ((コンソール)) (p. 140)」を参照してください。クラスターモード ([Cluster
Mode enabled (Scale Out)]) を必ず有効にし、最低 2 つのシャードと 1 つのレプリカノードを指定しま
す。
ゼロからの Redis (クラスターモードが有効) レプリケーショングループの作成
((AWS CLI))
次の手順では、AWS CLI を使用して Redis (クラスターモードが有効) レプリケーショングループを作成し
ます。
Redis (クラスターモードが有効) レプリケーショングループを最初から作成する場合は、レプリケーショ
ングループとそのすべてのノードを、AWS CLI create-replication-group コマンドへの 1 回の呼び出し
で作成します。以下のパラメーターを含めます。
--replication-group-id
作成するレプリケーショングループの名前。
Redis (クラスターモードが有効) レプリケーショングループの命名に関する制約
• 1~20 文字の英数字またはハイフンを使用する必要があります。
• 先頭は文字にする必要があります。
• 連続する 2 つのハイフンを含めることはできません。
• 末尾をハイフンすることはできません。
--replication-group-description
(オプション) レプリケーショングループの説明。
--cache-node-type
レプリケーショングループの各ノードのノードタイプ。
ElastiCache では以下のノードがサポートされています。一般に、現行世代のタイプは、以前の世代の
同等タイプと比較した場合、メモリが多く処理能力が高くなっています。
API Version 2015-02-02
224
Amazon ElastiCache ユーザーガイド
ゼロからのレプリケーショングループの作成
• 汎用:
• 現行世代: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium,
cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge,
cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge
• 以前の世代: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large,
cache.m1.xlarge
• コンピューティングの最適化: cache.c1.xlarge
• メモリ最適化:
• 現行世代: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge,
cache.r3.8xlarge
• 以前の世代: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge, ,
サポートされているノードタイプは、次の表に示していない限り、すべてのリージョンで使用できま
す。
例外
リージョン名
リージョン
例外
アジアパシフィック (ソウル)
ap-northeast-2
現行世代のノードタイプのみをサポートしま
す。
欧州 (フランクフルト)
eu-central-1
現行世代のノードタイプのみをサポートしま
す。
AWS GovCloud (US)
us-gov-west-1
現行世代のノードタイプのみをサポートしま
す。
M4 ノードタイプをサポートしません。
米国東部 (オハイオ)
us-east-2
ノードタイプ T2、M4、および R3 のみをサポー
トします。
次のエンジンバージョンのみをサポートしま
す。
• Memcached: 1.4.24
• Redis 2.8.21、2.8.23、2.8.24、3.2.4
Note
• すべての T2 インスタンスは Amazon VPC (Amazon VPC) で作成されます。
• Redis バックアップおよび復元は、T2 インスタンスではサポートされません。
• Redis AOF (Append-Only File) は、T1 または T2 インスタンスではサポートされません。
• 自動フェイルオーバー機能を備えた Redis マルチ AZ は、T1 または T2 インスタンスでは
サポートされていません。
• Redis 設定変数 appendonly および appendfsync Redis バージョン 2.8.22 以降ではサポー
トされていません。
ノードタイプおよび仕様の完全な一覧については、以下を参照してください。
• Amazon ElastiCache製品の特徴と詳細
• Memcached のノードタイプ固有のパラメータ
• Redis のノードタイプ固有のパラメータ
API Version 2015-02-02
225
Amazon ElastiCache ユーザーガイド
ゼロからのレプリケーショングループの作成
--cache-parameter-group
default.redis3.2.cluster.on パラメータグループまたは default.redis3.2.cluster.on から派生
したパラメータグループを指定して、Redis (クラスターモードが有効) レプリケーショングループを
作成します。詳細については、「Redis 3.2.4 パラメーターの変更 (p. 314)」を参照してください。
--engine
redis
--engine-version
3.2.4
--num-node-groups
このレプリケーショングループのノードグループの数。有効な値の範囲は 1~15 です。
--replicas-per-node-group
各ノードグループのレプリカノードの数。有効な値の範囲は 1~5 です。
次のオペレーションでは、3 つのノードグループおよびシャード (--num-node-groups) を持つ Redis (ク
ラスターモードが有効) レプリケーショングループ my-repl-group を作成します。各レプリケーショング
ループに 3 つのノード、1 つのプライマリ、2 つのリードレプリカ (--replicas-per-node-group) が含まれま
す。
Linux, macOS, or Unix 用:
aws elasticache create-replication-group \
--replication-group-id my-repl-group \
--replication-group-description "test group" \
--num-node-groups 3 \
--replicas-per-node-group 2 \
--cache-node-type cache.m3.large \
--cache-parameter-group default.redis3.2.cluster.on \
--engine redis \
--engine-version 3.2.4
Windows の場合:
aws elasticache create-replication-group ^
--replication-group-id my-repl-group ^
--replication-group-description "test group" ^
--num-node-groups 3 ^
--replicas-per-node-group 2 ^
--cache-node-type cache.m3.large ^
--cache-parameter-group default.redis3.2.cluster.on ^
--engine redis ^
--engine-version 3.2.4
前述のコマンドは、次の出力を生成します。
{
"ReplicationGroup": {
"Status": "creating",
"Description": "test group",
"ReplicationGroupId": "my-repl-group",
"SnapshotRetentionLimit": 0,
"AutomaticFailover": "enabled",
"SnapshotWindow": "05:30-06:30",
"MemberClusters": [
API Version 2015-02-02
226
Amazon ElastiCache ユーザーガイド
ゼロからのレプリケーショングループの作成
"my-repl-group-0001-001",
"my-repl-group-0001-002",
"my-repl-group-0001-003",
"my-repl-group-0002-001",
"my-repl-group-0002-002",
"my-repl-group-0002-003",
"my-repl-group-0003-001",
"my-repl-group-0003-002",
"my-repl-group-0003-003"
],
"PendingModifiedValues": {}
}
}
Redis (クラスターモードが有効) レプリケーショングループをゼロから作成する際、次の例に示すように
--node-group-configuration パラメーターを使用してクラスター内の各シャードを設定することで、2
つのノードグループ (シャード) を設定できます。1 つめのシャードは、2 つのノード、1 つのプライマ
リ、1 つのリードレプリカで構成されます。2 つめのシャードは、3 つのノード、1 つのプライマリ、2 つ
のリードレプリカで構成されます。
--node-group-configuration
各ノードグループの設定。--node-group-configuration パラメーターは次のフィールドで構成され
ます。
• PrimaryAvailabilityZone – このノードグループのプライマリノードがあるアベイラビリティー
ゾーン。このパラメーターを省略すると、ElastiCache によってプライマリノードのアベイラビリ
ティーゾーンが選択されます。
例: us-west-2a。
• ReplicaAvailabilityZones – リードレプリカがあるアベイラビリティゾーンのカンマ区切りリス
ト。このリストのアベイラビリティーゾーンの数は、ReplicaCount の値と一致する必要がありま
す。このパラメーターを省略すると、ElastiCache によってレプリカノードのアベイラビリティー
ゾーンが選択されます。
例: "us-west-2a,us-west-2b,us-west-2c"
• ReplicaCount – このノードグループのレプリカノードの数。
• Slots – 対象ノードグループのキースペースを指定する文字列。この文字列は次の形式になりま
す。startKey-endKey このパラメーターを省略すると、ElastiCache によってノードグループ間で
キーが均等に割り当てられます。
例: "0-4999"
次のオペレーションでは、2 つのノードグループとシャード (--num-node-groups) を持つ Redis (クラス
ターモードが有効) レプリケーショングループ my-repl-group を作成します。前の例とは異なり、各ノー
ドグループは、その他のノードグループ (--node-group-configuration) とは異なった構成になります。
Linux, macOS, or Unix 用:
aws elasticache create-replication-group \
--replication-group-id rc-rg \
--replication-group-description "Sharded replication group" \
--engine redis \
--engine-version 3.2.4 \
--cache-parameter-group default.redis3.2.cluster.on \
--snapshot-retention-limit 8 \
--cache-node-type cache.m3.medium \
--num-node-groups 2 \
API Version 2015-02-02
227
Amazon ElastiCache ユーザーガイド
ゼロからのレプリケーショングループの作成
--node-group-configuration \
"ReplicaCount=1,Slots=0-8999,PrimaryAvailabilityZone='useast-1c',ReplicaAvailabilityZones='us-east-1b'" \
"ReplicaCount=2,Slots=9000-16383,PrimaryAvailabilityZone='useast-1a',ReplicaAvailabilityZones='us-east-1a','us-east-1c'"
Windows の場合:
aws elastica6che create-replication-group ^
--replication-group-id rc-rg ^
--replication-group-description "Sharded replication group" ^
--engine redis ^
--engine-version 3.2.4 ^
--cache-parameter-group default.redis3.2.cluster.on ^
--snapshot-retention-limit 8 ^
--cache-node-type cache.m3.medium ^
--num-node-groups 2 ^
--node-group-configuration \
"ReplicaCount=1,Slots=0-8999,PrimaryAvailabilityZone='useast-1c',ReplicaAvailabilityZones='us-east-1b'" \
"ReplicaCount=2,Slots=9000-16383,PrimaryAvailabilityZone='useast-1a',ReplicaAvailabilityZones='us-east-1a','us-east-1c'"
前述のオペレーションは、次の出力を生成します。
{
"ReplicationGroup": {
"Status": "creating",
"Description": "Sharded replication group",
"ReplicationGroupId": "rc-rg",
"SnapshotRetentionLimit": 8,
"AutomaticFailover": "enabled",
"SnapshotWindow": "10:00-11:00",
"MemberClusters": [
"rc-rg-0001-001",
"rc-rg-0001-002",
"rc-rg-0002-001",
"rc-rg-0002-002",
"rc-rg-0002-003"
],
"PendingModifiedValues": {}
}
}
使用するパラメーターおよび追加情報については、AWS CLI のトピック「create-replication-group」を参
照してください。
ゼロからの Redis (クラスターモードが有効) レプリケーショングループの作成
((ElastiCache API))
次の手順では、ElastiCache API を使用して Redis (クラスターモードが有効) レプリケーショングループを
作成します。
Redis (クラスターモードが有効) レプリケーショングループを最初から作成する場合、レプリケーション
グループとそのすべてのノードを、ElastiCache API CreateReplicationGroup オペレーションへの 1 回の
呼び出しで作成します。以下のパラメーターを含めます。
ReplicationGroupId
作成するレプリケーショングループの名前。
API Version 2015-02-02
228
Amazon ElastiCache ユーザーガイド
ゼロからのレプリケーショングループの作成
Redis (クラスターモードが有効) レプリケーショングループの命名に関する制約
• 1~20 文字の英数字またはハイフンを使用する必要があります。
• 先頭は文字にする必要があります。
• 連続する 2 つのハイフンを含めることはできません。
• 末尾をハイフンすることはできません。
ReplicationGroupDescription
レプリケーショングループの説明。
NumNodeGroups
このレプリケーショングループで作成するノードグループの数。有効な値の範囲は 1~15 です。
ReplicasPerNodeGroup
各ノードグループのレプリカノードの数。有効な値の範囲は 1~5 です。
NodeGroupConfiguration
各ノードグループの設定。NodeGroupConfiguration パラメーターは次のフィールドで構成されま
す。
• PrimaryAvailabilityZone – このノードグループのプライマリノードがあるアベイラビリティー
ゾーン。このパラメーターを省略すると、ElastiCache によってプライマリノードのアベイラビリ
ティーゾーンが選択されます。
例: us-west-2a。
• ReplicaAvailabilityZones – リードレプリカがあるアベイラビリティゾーンのリスト。このリスト
のアベイラビリティーゾーンの数は、ReplicaCount の値と一致する必要があります。このパラメー
ターを省略すると、ElastiCache によってレプリカノードのアベイラビリティーゾーンが選択されま
す。
• ReplicaCount – このノードグループのレプリカノードの数。
• Slots – 対象ノードグループのキースペースを指定する文字列。この文字列は次の形式になりま
す。startKey-endKey このパラメーターを省略すると、ElastiCache によってノードグループ間で
キーが均等に割り当てられます。
例: "0-4999"
CacheNodeType
レプリケーショングループの各ノードのノードタイプ。
ElastiCache では以下のノードがサポートされています。一般に、現行世代のタイプは、以前の世代の
同等タイプと比較した場合、メモリが多く処理能力が高くなっています。
• 汎用:
• 現行世代: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium,
cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge,
cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge
• 以前の世代: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large,
cache.m1.xlarge
• コンピューティングの最適化: cache.c1.xlarge
• メモリ最適化:
• 現行世代: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge,
cache.r3.8xlarge
• 以前の世代: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge, ,
API Version 2015-02-02
229
Amazon ElastiCache ユーザーガイド
ゼロからのレプリケーショングループの作成
サポートされているノードタイプは、次の表に示していない限り、すべてのリージョンで使用できま
す。
例外
リージョン名
リージョン
例外
アジアパシフィック (ソウル)
ap-northeast-2
現行世代のノードタイプのみをサポートしま
す。
欧州 (フランクフルト)
eu-central-1
現行世代のノードタイプのみをサポートしま
す。
AWS GovCloud (US)
us-gov-west-1
現行世代のノードタイプのみをサポートしま
す。
M4 ノードタイプをサポートしません。
米国東部 (オハイオ)
us-east-2
ノードタイプ T2、M4、および R3 のみをサポー
トします。
次のエンジンバージョンのみをサポートしま
す。
• Memcached: 1.4.24
• Redis 2.8.21、2.8.23、2.8.24、3.2.4
Note
• すべての T2 インスタンスは Amazon VPC (Amazon VPC) で作成されます。
• Redis バックアップおよび復元は、T2 インスタンスではサポートされません。
• Redis AOF (Append-Only File) は、T1 または T2 インスタンスではサポートされません。
• 自動フェイルオーバー機能を備えた Redis マルチ AZ は、T1 または T2 インスタンスでは
サポートされていません。
• Redis 設定変数 appendonly および appendfsync Redis バージョン 2.8.22 以降ではサポー
トされていません。
ノードタイプおよび仕様の完全な一覧については、以下を参照してください。
• Amazon ElastiCache製品の特徴と詳細
• Memcached のノードタイプ固有のパラメータ
• Redis のノードタイプ固有のパラメータ
CacheParameterGroup
default.redis3.2.cluster.on パラメータグループまたは default.redis3.2.cluster.on から派生
したパラメータグループを指定して、Redis (クラスターモードが有効) レプリケーショングループを
作成します。詳細については、「Redis 3.2.4 パラメーターの変更 (p. 314)」を参照してください。
エンジン
redis
EngineVersion
3.2.4
読みやすくするために改行が追加されます。
https://elasticache.us-west-2.amazonaws.com/
API Version 2015-02-02
230
Amazon ElastiCache ユーザーガイド
レプリケーショングループの詳細の表示
?Action=CreateReplicationGroup
&CacheNodeType=cache.m3.large
&CacheParemeterGroup=default.redis3.2.cluster.on
&Engine=redis
&EngineVersion=3.2.4
&NumNodeGroups=3
&ReplicasPerNodeGroup=2
&ReplicationGroupDescription=test%20group
&ReplicationGroupId=myReplGroup
&Version=2015-02-02
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&X-Amz-Credential=<credential>
使用するパラメーターおよび追加情報については、ElastiCache API トピックの
「CreateReplicationGroup」を参照してください。
レプリケーショングループの詳細の表示
レプリケーショングループの詳細を表示すると便利な場合があります。ElastiCache コンソー
ル、ElastiCache 用 AWS CLI、または ElastiCache API を使用できます。コンソールプロセスは、Redis
(クラスターモードが無効) および Redis (クラスターモードが有効) によって異なります。
トピック
• レプリカを持つ Redis (クラスターモードが無効) の詳細の表示: Redis (クラスターモードが無
効) (p. 231)
• レプリケーショングループの詳細の表示: Redis (クラスターモードが有効) (p. 232)
• レプリケーショングループの詳細の表示: (AWS CLI) (p. 232)
• レプリケーショングループの詳細の表示: (ElastiCache API) (p. 234)
レプリカを持つ Redis (クラスターモードが無効) の詳
細の表示: Redis (クラスターモードが無効)
ElastiCache コンソール、ElastiCache 用 AWS CLI、または ElastiCache API を使用して、レプリカ (API/
CLI: レプリケーショングループ) を持つ Redis (クラスターモードが無効) クラスターの詳細を表示できま
す。
トピック
• レプリカを持つ Redis (クラスターモードが無効) クラスターの詳細の表示: Redis (クラスターモードが
無効) ((コンソール)) (p. 231)
• レプリケーショングループの詳細の表示: Redis (クラスターモードが無効) ((AWS CLI)) (p. 232)
• レプリケーショングループの詳細の表示: Redis (クラスターモードが無効) ((ElastiCache
API)) (p. 232)
レプリカを持つ Redis (クラスターモードが無効) クラスターの詳
細の表示: Redis (クラスターモードが無効) ((コンソール))
ElastiCache コンソールを使ってレプリカを持つ Redis (クラスターモードが無効) クラスターの詳細
を表示するには、トピック「Redis (クラスターモードが無効) クラスターの詳細の表示 ((コンソー
ル)) (p. 150)」を参照してください。
API Version 2015-02-02
231
Amazon ElastiCache ユーザーガイド
レプリケーショングループの詳細の
表示: Redis (クラスターモードが有効)
レプリケーショングループの詳細の表示: Redis (クラスターモー
ドが無効) ((AWS CLI))
Redis (クラスターモードが無効) レプリケーショングループの詳細を表示する AWS CLI の例については、
「レプリケーショングループの詳細の表示: (AWS CLI) (p. 232)」を参照してください。
レプリケーショングループの詳細の表示: Redis (クラスターモー
ドが無効) ((ElastiCache API))
Redis (クラスターモードが無効) レプリケーショングループの詳細を表示する ElastiCache API の例につい
ては、「レプリケーショングループの詳細の表示: (ElastiCache API) (p. 234)」を参照してください。
レプリケーショングループの詳細の表示: Redis (クラ
スターモードが有効)
レプリカを持つ Redis (クラスターモードが有効) クラスターの詳
細の表示: Redis (クラスターモードが無効) ((コンソール))
ElastiCache コンソールを使ってレプリカを持つ Redis (クラスターモードが有効) クラスターの詳細を表
示するには、「Redis (クラスターモードが有効) クラスターの詳細の表示 ((コンソール)) (p. 151)」を参照
してください。
レプリケーショングループの詳細の表示: Redis (クラスターモー
ドが有効) ((AWS CLI))
Redis (クラスターモードが有効) レプリケーショングループの詳細を表示する ElastiCache CLI の例につい
ては、「レプリケーショングループの詳細の表示: (AWS CLI) (p. 232)」を参照してください。
レプリケーショングループの詳細の表示: Redis (クラスターモー
ドが有効) ((ElastiCache API))
Redis (クラスターモードが有効) レプリケーショングループの詳細を表示する ElastiCache API の例につい
ては、「レプリケーショングループの詳細の表示: (ElastiCache API) (p. 234)」を参照してください。
レプリケーショングループの詳細の表示: (AWS CLI)
AWS CLI describe-replication-groups コマンドを使用してレプリケーションの詳細を表示できます。
一覧を絞り込むには、以下のオプションパラメーターを使用します。パラメーターを省略すると、最大
100 個のレプリケーショングループの詳細が返されます。
オプションのパラメーター
• --replication-group-id – 特定のレプリケーショングループの詳細を表示するには、このパラメーター
を使用します。指定されたレプリケーショングループに複数のノードグループがある場合、結果はノー
ドグループ別にグループ分けされて返されます。
• --max-items – 表示されるレプリケーショングループの数を制限するには、このパラメーターを使用し
ます。--max-items の値は 20 未満、または 100 を超えることはできません。
Example
次のコードは、最大 100 個のレプリケーショングループの詳細を表示します。
API Version 2015-02-02
232
Amazon ElastiCache ユーザーガイド
レプリケーショングループの詳細の表示: (AWS CLI)
aws elasticache describe-replication-groups
次のコードは my-repl-group の詳細を一覧します。
aws elasticache describe-replication-groups --replication-group-id my-repl-group
次のコードリストは、最大 25 個のレプリケーショングループを示します。
aws elasticache describe-replication-groups --max-items 25
このオペレーションからの出力は以下のような JSON 形式になります。
{
"ReplicationGroups": [
{
"Status": "available",
"Description": "test",
"NodeGroups": [
{
"Status": "available",
"NodeGroupMembers": [
{
"CurrentRole": "primary",
"PreferredAvailabilityZone": "us-west-2a",
"CacheNodeId": "0001",
"ReadEndpoint": {
"Port": 6379,
"Address": "rg-name-001.1abc4d.0001.usw2.cache.amazonaws.com"
},
"CacheClusterId": "rg-name-001"
},
{
"CurrentRole": "replica",
"PreferredAvailabilityZone": "us-west-2b",
"CacheNodeId": "0001",
"ReadEndpoint": {
"Port": 6379,
"Address": "rg-name-002.1abc4d.0001.usw2.cache.amazonaws.com"
},
"CacheClusterId": "rg-name-002"
},
{
"CurrentRole": "replica",
"PreferredAvailabilityZone": "us-west-2c",
"CacheNodeId": "0001",
"ReadEndpoint": {
"Port": 6379,
"Address": "rg-name-003.1abc4d.0001.usw2.cache.amazonaws.com"
},
"CacheClusterId": "rg-name-003"
}
],
"NodeGroupId": "0001",
"PrimaryEndpoint": {
"Port": 6379,
"Address": "rg-name.1abc4d.ng.0001.usw2.cache.amazonaws.com"
}
}
],
"ReplicationGroupId": "rg-name",
"AutomaticFailover": "enabled",
"SnapshottingClusterId": "rg-name-002",
API Version 2015-02-02
233
Amazon ElastiCache ユーザーガイド
レプリケーショングループの詳細の表示: (ElastiCache API)
"MemberClusters": [
"rg-name-001",
"rg-name-002",
"rg-name-003"
],
"PendingModifiedValues": {}
},
{
... some output omitted for previty
}
]
}
詳細については、ElastiCache 用 AWS CLI のトピック「describe-replication-groups」を参照してくだ
さい。
レプリケーショングループの詳細の表示: (ElastiCache
API)
AWS CLI DescribeReplicationGroups オペレーションを使用してレプリケーションの詳細を表示できま
す。一覧を絞り込むには、以下のオプションパラメーターを使用します。パラメーターを省略すると、最
大 100 個のレプリケーショングループの詳細が返されます。
オプションのパラメーター
• ReplicationGroupId – 特定のレプリケーショングループの詳細を表示するには、このパラメーターを使
用します。指定されたレプリケーショングループに複数のノードグループがある場合、結果はノードグ
ループ別にグループ分けされて返されます。
• MaxRecords – 表示されるレプリケーショングループの数を制限するには、このパラメーターを使用しま
す。MaxRecords の値は 20 未満、または 100 を超えることはできません。デフォルトは 100 です。
Example
次のコードリストは、最大 100 個のレプリケーショングループを示します。
https://elasticache.us-west-2.amazonaws.com/
?Action=DescribeReplicationGroups
&Version=2015-02-02
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&X-Amz-Credential=<credential>
次のコードは myReplGroup の詳細を一覧します。
https://elasticache.us-west-2.amazonaws.com/
?Action=DescribeReplicationGroups
&ReplicationGroupId=myReplGroup
&Version=2015-02-02
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&X-Amz-Credential=<credential>
次のコードは最大で 25 のクラスターの詳細を一覧します。
https://elasticache.us-west-2.amazonaws.com/
API Version 2015-02-02
234
Amazon ElastiCache ユーザーガイド
レプリケーショングループの詳細の表示: (ElastiCache API)
?Action=DescribeReplicationGroups
&MaxRecords=25
&Version=2015-02-02
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&X-Amz-Credential=<credential>
詳細については、ElastiCache API リファレンストピック「DescribeReplicationGroups」を参照してくだ
さい。
API Version 2015-02-02
235
Amazon ElastiCache ユーザーガイド
レプリケーショングループのエンドポイントの検索
レプリケーショングループのエンドポイントの検索
アプリケーションは、ノードの DNS エンドポイントとポート番号がある場合、レプリケーショングルー
プ内の任意のノードに接続できます。Redis (クラスターモードが無効) を実行しているか、Redis (クラス
ターモードが有効) レプリケーショングループを実行しているかにより、関心のあるエンドポイントが異
なります。
Redis (クラスターモードが無効)
レプリカを持つ Redis (クラスターモードが無効) クラスターには、プライマリエンドポイントとノードエ
ンドポイントの 2 種類のエンドポイントがあります。プライマリエンドポイントは、常にクラスターの
プライマリクラスターに解決される DNS 名です。プライマリエンドポイントは、リードレプリカのプラ
イマリロールへの昇格など、クラスターに対する変更の影響を受けません。書き込みアクティビティの場
合、アプリケーションを直接プライマリに接続する代わりに、プライマリエンドポイントに接続すること
をお勧めします。
読み取りアクティビティの場合、アプリケーションはクラスター内のいずれのノードにも接続できます。
プライマリエンドポイントとは異なり、ノードエンドポイントは特定のエンドポイントに解決されます。
レプリカの追加または削除など、クラスターに変更を加えた場合は、アプリケーションでノードエンドポ
イントを更新する必要があります。
Redis (クラスターモードが有効)
レプリカを持つ Redis (クラスターモードが有効) クラスターには、複数のシャード (API/CLI: ノードグ
ループ) があり、プライマリノードが複数あるため、Redis (クラスターモードが無効) とはエンドポイン
ト構造が異なります。Redis (クラスターモードが有効) には設定エンドポイントがあります。設定エンド
ポイントは、クラスターのすべてのプライマリエンドポイントとノードエンドポイントを「知って」い
ます。アプリケーションは設定エンドポイントに接続します。アプリケーションからクラスターの設定エ
ンドポイントに書き込みまたは読み取りを行うたびに、Redis は背後で、キーが属するシャードと、その
シャードで使用するエンドポイントを決定します。これはすべてアプリケーションに対して透過的です。
ElastiCache コンソール、AWS CLI、または ElastiCache API を使用して、レプリケーショングループのエ
ンドポイントを確認できます。
レプリケーショングループのエンドポイントの検索
レプリケーショングループのエンドポイントを確認するには、以下のトピックのいずれかを参照してくだ
さい。
• Redis (クラスターモードが無効) クラスターのエンドポイントの検索 ((コンソール)) (p. 55)
• Redis (クラスターモードが有効) クラスターのエンドポイントの検索 ((コンソール)) (p. 57)
• レプリケーショングループのエンドポイントの検索 (AWS CLI) (p. 60)
• レプリケーショングループのエンドポイントの検索 (ElastiCache API) (p. 63)
API Version 2015-02-02
236
Amazon ElastiCache ユーザーガイド
レプリカを持つクラスターの変更
レプリカを持つクラスターの変更
重要な制約
• 現時点では、ElastiCache は Redis (クラスターモードが有効) クラスターの変更をサポートして
いません。このようなクラスターを変更する必要がある場合、変更を組み込んだ新しいクラス
ターを作成します。
• 新しいバージョンのエンジンにアップグレードすることはできますが、以前のバージョンのエ
ンジンにダウングレードすることはできないため、既存のクラスターまたはレプリケーション
グループを削除して新しく作成し直す必要があります。詳細については、「エンジンバージョ
ンのアップグレード (p. 44)」を参照してください。
ElastiCache コンソール、AWS CLI、または ElastiCache API を使用して、Redis (クラスターモードが無
効) クラスターの設定を変更できます。ElastiCache は現在、Redis (クラスターモードが有効) レプリケー
ショングループの変更をサポートしていません。
トピック
• Redis クラスターの変更 ((コンソール)) (p. 237)
• レプリケーショングループの変更 ((AWS CLI)) (p. 237)
• レプリケーショングループの変更 ((ElastiCache API)) (p. 237)
Redis クラスターの変更 ((コンソール))
Redis (クラスターモードが無効) クラスターを変更するには、「ElastiCache クラスターの変更 (p. 155)」
を参照してください。
レプリケーショングループの変更 ((AWS CLI))
次の AWS CLI コマンドは、既存の Redis レプリケーショングループでマルチ AZ を有効にします。レプリ
ケーショングループのそのほかの変更も同じコマンドを使用できます。
Linux, macOS, or Unix 用:
aws elasticache modify-replication-group \
--replication-group-id myReplGroup \
--automatic-failover-enabled
Windows の場合:
aws elasticache modify-replication-group ^
--replication-group-id myReplGroup ^
--automatic-failover-enabled
AWS CLI modify-replication-group コマンドの詳細については、「modify-replication-group」を参照し
てください。
レプリケーショングループの変更 ((ElastiCache API))
次の ElastiCache API オペレーションは、既存の Redis レプリケーショングループでマルチ AZ を有効に
します。同じオペレーションを使用して、レプリケーショングループに対する他の変更を行うこともでき
ます。
API Version 2015-02-02
237
Amazon ElastiCache ユーザーガイド
レプリケーショングループの変更 ((ElastiCache API))
https://elasticache.us-west-2.amazonaws.com/
?Action=ModifyReplicationGroup
&AutomaticFailoverEnabled=true
&ReplicationGroupId=myReplGroup
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20141201T220302Z
&Version=2014-12-01
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Date=20141201T220302Z
&X-Amz-SignedHeaders=Host
&X-Amz-Expires=20141201T220302Z
&X-Amz-Credential=<credential>
&X-Amz-Signature=<signature>
ElastiCache API ModifyReplicationGroup オペレーションの詳細については、
「ModifyReplicationGroup」を参照してください。
API Version 2015-02-02
238
Amazon ElastiCache ユーザーガイド
レプリカを持つクラスターの削除
レプリカを持つクラスターの削除
レプリカを持つクラスター (API/CLI ではレプリケーショングループ) のいずれかが不要になった場合は、
それを削除できます。レプリケーショングループを削除すると、ElastiCache によってそのグループ内の
すべてのノードが削除されます。
このオペレーションを開始したら、中断またはキャンセルすることはできません。
レプリケーショングループの削除 ((コンソール))
レプリカがあるクラスターを削除するには、「クラスターの削除 (p. 173)」を参照してください。
レプリケーショングループの削除 ((AWS CLI))
レプリケーショングループを削除するには、delete-replication-group コマンドを使用します。
aws elasticache delete-replication-group --replication-group-id my-repgroup
決定を確認するメッセージが表示されます。すぐにオペレーションを開始する場合は「y」 (Yes) と入力し
ます。プロセスの開始後に元に戻すことはできません。
After you begin deleting this replication group, all of its nodes will be deleted as
well.
Are you sure you want to delete this replication group? [Ny]y
REPLICATIONGROUP
my-repgroup
My replication group
deleting
レプリケーショングループの削除 ((ElastiCache API))
ReplicationGroup パラメーターを使って DeleteReplicationGroup を呼び出します。
Example
https://elasticache.us-west-2.amazonaws.com/
?Action=DeleteReplicationGroup
&ReplicationGroupId=my-repgroup
&Version=2014-12-01
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20141201T220302Z
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Date=20141201T220302Z
&X-Amz-SignedHeaders=Host
&X-Amz-Expires=20141201T220302Z
&X-Amz-Credential=<credential>
&X-Amz-Signature=<signature>
Note
RetainPrimaryCluster パラメーターを true に設定した場合、リードレプリカはすべて削除され
ますが、プライマリクラスターは保持されます。
API Version 2015-02-02
239
Amazon ElastiCache ユーザーガイド
リードレプリカの追加
Redis クラスターへのリードレプリカの追加
Important
現時点では、ElastiCache は Redis (クラスターモードが有効) へのリードレプリカの追加をサポー
トしていません。さらにリードレプリカが必要な場合は、必要な数のリードレプリカでクラス
ターを作成します。
読み取りトラフィックが増えるにつれて、これらの読み取りをより多くのノードに分散させて、1 つの
ノードの読み取りの負荷を減らすことを考えます。このトピックでは、クラスターにリードレプリカを追
加する方法について説明します。ElastiCache コンソール、AWS CLI、または ElastiCache API を使用し
て、クラスターにリードレプリカを追加できます。
• クラスターへのノードの追加 (p. 160)
• レプリケーショングループへのリードレプリカの追加 ((AWS CLI)) (p. 240)
• レプリケーショングループへのリードレプリカの追加 ((ElastiCache API)) (p. 241)
トピック
• クラスターへのリードレプリカの追加 ((コンソール)) (p. 240)
• レプリケーショングループへのリードレプリカの追加 ((AWS CLI)) (p. 240)
• レプリケーショングループへのリードレプリカの追加 ((ElastiCache API)) (p. 241)
クラスターへのリードレプリカの追加 ((コンソール))
Redis (クラスターモードが無効) クラスターにレプリカを追加するには、「クラスターへのノードの追
加 (p. 160)」を参照してください。
レプリケーショングループへのリードレプリカの追加
((AWS CLI))
レプリケーショングループにリードレプリカを追加するには、AWS CLI create-cache-cluster コマンド
を使用します。パラメーターとして --replication-group-id を使用し、クラスター (ノード) を追加する
レプリケーショングループを指定します。
レプリケーショングループでは、最大 5 つのリードレプリカを作成できます。すでに 5 個のリードレプリ
カのあるレプリケーショングループにリードレプリカを追加しようとすると、オペレーションが失敗しま
す。
次の例では、クラスター my-read-replica を作成して、レプリケーショングループ my-replicationgroup に追加します。リードレプリカのノードタイプ、パラメータグループ、セキュリティグループ、メ
ンテナンスの時間などの設定は、レプリケーショングループの他のノードの設定と同じです
Linux, macOS, or Unix 用:
aws elasticache create-cache-cluster \
--cache-cluster-id my-read-replica \
--replicationgroup-id my-replication-group
Windows の場合:
aws elasticache create-cache-cluster ^
--cache-cluster-id my-read-replica ^
API Version 2015-02-02
240
Amazon ElastiCache ユーザーガイド
レプリケーショングループへのリー
ドレプリカの追加 ((ElastiCache API))
--replicationgroup-id my-replication-group
詳細については、AWS CLI のトピック「create-cache-cluster」を参照してください。
レプリケーショングループへのリードレプリカの追加
((ElastiCache API))
レプリケーショングループにリードレプリカを追加するには、ElastiCache CreateCacheCluster オペレー
ションを使用します。パラメーターとして ReplicationGroupId を使用し、クラスター (ノード) を追加す
るレプリケーショングループを指定します。
レプリケーショングループは、最大 5 つのリードレプリカで構成できます。すでに 5 個のリードレプリカ
を持つレプリケーショングループに別のリードレプリカを追加しようとすると、オペレーションが失敗し
ます。
次の例では、クラスター myReadReplica を作成して、レプリケーショングループ myReplicationGroup に
追加します。リードレプリカのノードタイプ、パラメータグループ、セキュリティグループ、メンテナン
スの時間などの設定は、レプリケーショングループの他のノードの設定と同じです
https://elasticache.us-west-2.amazonaws.com/
?Action=CreateCacheCluster
&CacheClusterId=myReadReplica
&ReplicationGroupId=myReplicationGroup
&Version=2015-02-02
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&X-Amz-Credential=<credential>
詳細については、ElastiCache API トピックの「CreateCacheCluster」を参照してください。
API Version 2015-02-02
241
Amazon ElastiCache ユーザーガイド
リードレプリカの昇格
リードレプリカをプライマリに昇格させる
Important
現在、ElastiCache は Redis (クラスターモードが有効) レプリケーショングループのプライマリへ
のリードレプリカの昇格はサポートしていません。
ElastiCache コンソール、AWS CLI、または ElastiCache API を使用して、リードレプリカをプライマリ
に昇格させることができます。ただし、レプリケーショングループでマルチ AZ を有効にしている場合は
リードレプリカをプライマリに昇格させることはできません。マルチ AZ を有効にしている場合は、以下
を実行する必要があります:
リードレプリカノードをプライマリに昇格させるには
1.
レプリケーショングループを変更してマルチ AZ を無効にします (すべてのクラスターが同じアベイラ
ビリティーゾーンに存在する必要はありません)。
レプリケーショングループの設定変更の詳細については、「レプリカを持つクラスターの変
更 (p. 237)」を参照してください。
2.
リードレプリカをプライマリに昇格させます。
3.
マルチ AZ を再び有効にするためにレプリケーショングループを変更します。
自動フェイルオーバーとマルチ AZ は、Redis 2.6.13 を実行するレプリケーショングループでは使用でき
ません。
トピック
• リードレプリカをプライマリに昇格させる ((コンソール)) (p. 242)
• リードレプリカをプライマリに昇格させる ((AWS CLI)) (p. 243)
• リードレプリカをプライマリに昇格させる ((ElastiCache API)) (p. 243)
リードレプリカをプライマリに昇格させる ((コンソー
ル))
リードレプリカをプライマリに昇格させるには ((console))
1.
昇格させるレプリカが属している、レプリカを持つ Redis (クラスターモードが無効) クラスターでマ
ルチ AZ が有効になっている場合は、クラスターを変更してマルチ AZ を無効にしてから操作を開始
します (すべてのクラスターが同じアベイラビリティーゾーンに存在する必要はありません)。クラス
ターの変更の詳細については、「クラスターの変更 ((コンソール)) (p. 155)」を参照してください。
2.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
3.
[Redis] を選択します。
Redis を実行しているクラスターが一覧表示されます。
4.
クラスターの一覧で、変更するクラスターの名前を選択します。このクラスターは、「Clusterd
Redis」エンジンではなく、「Redis」エンジンを実行していること、また 2 つ以上のノードを持って
いることが必要です。
クラスターのノードが一覧表示されます。
5.
プライマリに昇格させるレプリカノードの名前の左側にあるボックスを選択します。
[Promote] を選択します。
API Version 2015-02-02
242
Amazon ElastiCache ユーザーガイド
リードレプリカをプライマリに昇格させる ((AWS CLI))
6.
[Promote Read Replica] ダイアログボックスで以下の操作を行います。
a.
b.
7.
リードレプリカをすぐに昇格させる場合は [Yes] を選択し、クラスターの次回のメンテナンス期
間に昇格させる場合は [No] を選択します。
リードレプリカを昇格させる場合は [Promote] を選択し、オペレーションをキャンセルする場合
は [No] を選択します。
昇格プロセスを開始する前にクラスターでマルチ AZ が有効になっている場合は、クラスターを変更
してマルチ AZ をもう一度有効にします。クラスターの変更の詳細については、「クラスターの変更
((コンソール)) (p. 155)」を参照してください。
リードレプリカをプライマリに昇格させる ((AWS
CLI))
現在、レプリケーショングループでマルチ AZ を有効にしている場合はリードレプリカをプライマリに
昇格させることはできません。昇格させるレプリカが属しているレプリケーショングループでマルチ AZ
が有効になっている場合は、レプリケーショングループを変更してマルチ AZ を無効にしてから操作を
開始する必要があります (すべてのクラスターが同じアベイラビリティーゾーンに存在する必要はありま
せん)。レプリケーショングループの変更の詳細については、「レプリケーショングループの変更 ((AWS
CLI)) (p. 237)」を参照してください。
次の AWS CLI コマンドは、レプリケーショングループ my-repl-group を変更して、リードレプリカ myreplica-1 をレプリケーショングループのプライマリにします。
Linux, macOS, or Unix 用:
aws elasticache modify-replication-group \
--replication-group-id my-repl-group \
--primary-cluster-id my-replica-1
Windows の場合:
aws elasticache modify-replication-group ^
--replication-group-id my-repl-group ^
--primary-cluster-id my-replica-1
レプリケーショングループの変更の詳細については、AWS CLI のトピック「modify-replication-group」を
参照してください。
リードレプリカをプライマリに昇格させる
((ElastiCache API))
現在、レプリケーショングループでマルチ AZ を有効にしている場合はリードレプリカをプライマリに
昇格させることはできません。昇格させるレプリカが属しているレプリケーショングループでマルチ
AZ が有効になっている場合は、レプリケーショングループを変更してマルチ AZ を無効にしてから操
作を開始する必要があります (すべてのクラスターが同じアベイラビリティーゾーンに存在する必要は
ありません)。レプリケーショングループの変更の詳細については、「レプリケーショングループの変更
((ElastiCache API)) (p. 237)」を参照してください。
次の ElastiCache API アクションは、レプリケーショングループ myReplGroup を変更して、リードレプリ
カ myReplica-1 をそのレプリケーショングループのプライマリにします。
https://elasticache.us-west-2.amazonaws.com/
?Action=ModifyReplicationGroup
API Version 2015-02-02
243
Amazon ElastiCache ユーザーガイド
リードレプリカをプライマリに
昇格させる ((ElastiCache API))
&ReplicationGroupId=myReplGroup
&PrimaryClusterId=myReplica-1
&Version=2014-12-01
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20141201T220302Z
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Date=20141201T220302Z
&X-Amz-SignedHeaders=Host
&X-Amz-Expires=20141201T220302Z
&X-Amz-Credential=<credential>
&X-Amz-Signature=<signature>
レプリケーショングループの変更の詳細については、ElastiCache API トピックの
「ModifyReplicationGroup」を参照してください。
API Version 2015-02-02
244
Amazon ElastiCache ユーザーガイド
リードレプリカの削除
リードレプリカの削除
Important
現在、ElastiCache は Redis (クラスターモードが有効) レプリケーショングループからのリードレ
プリカの削除をサポートしていません。リードレプリカの数を減らす必要がある場合は、必要な
数のリードレプリカで新しいクラスターを作成します。
レプリケーショングループの読み取りトラフィックを変更すると、リードレプリカの追加または削除を行
いたくなります。レプリケーショングループからノードを削除することには、いくつかの制限はあります
が、単なるクラスターの削除と同じです。
レプリケーショングループからのノード削除の制限
• レプリケーショングループからプライマリを削除することはできません。プライマリを削除する場合
は、以下を実行する必要があります:
1.
2.
リードレプリカをプライマリに昇格させます。リードレプリカをプライマリに昇格させる詳細につ
いては、「リードレプリカをプライマリに昇格させる (p. 242)」を参照してください。
古いプライマリを削除します。この方法の制限については、次のポイントを参照してください。
• レプリケーショングループでマルチ AZ が有効になっている場合は、そのレプリケーショングループか
ら最後のリードレプリカを削除することはできません。その場合は、以下を実行する必要があります:
1.
2.
マルチ AZ を無効にしてレプリケーショングループを変更します。詳細については、「レプリカを
持つクラスターの変更 (p. 237)」を参照してください。
リードレプリカを削除します。
ElastiCache コンソール、ElastiCache 用 AWS CLI、または ElastiCache API を使用して、レプリケーショ
ングループからリードレプリカを削除できます。
クラスターの削除については、以下を参照してください:
• クラスターの削除 ((コンソール)) (p. 173)
• キャッシュクラスターの削除 ((AWS CLI)) (p. 173)
• キャッシュクラスターの削除 ((ElastiCache API)) (p. 173)
API Version 2015-02-02
245
Amazon ElastiCache ユーザーガイド
制約
ElastiCache バックアップと復元
(Redis)
Redis を実行している Amazon ElastiCache クラスターでは、データをバックアップできます。バック
アップがクラスターを復元するか、または新しいクラスターをシードできます。バックアップは、クラ
スター内の全データとクラスターのメタデータで構成されます。すべてのバックアップは、堅牢なスト
レージを提供する Amazon Simple Storage Service (Amazon S3) に書き込まれます。いつでも、新しい
Redis クラスターを作成し、バックアップのデータを挿入することでデータを復元できます。ElastiCache
では、AWS マネジメントコンソール、AWS Command Line Interface (AWS CLI)、ElastiCache API を使用
してバックアップを管理できます。
Redis 2.8.22 バージョンからは、使用可能なメモリに基づいてバックアップ方法が選択されるようになり
ました。十分な利用可能なメモリがある場合は、キャッシュのバックアップ中にすべての変更をキャッ
シュのリザーブドメモリに書き込む子プロセスが生成されます。このプロセスは、バックアップ処理中の
キャッシュへの書き込み数に応じて、すべての reserved memory を消費して、バックアップを失敗させる
場合があります。
使用可能なメモリが不足している場合は、分岐なしの協調的なバックグラウンドプロセスが使用されま
す。分岐なしの方法は、レイテンシーとスループットの両方に影響を与える場合があります。詳細につい
ては、「同期とバックアップの実装方法 (p. 211)」を参照してください。
バックアッププロセス実行時のパフォーマンスへの影響については、「パフォーマンスに対するバック
アップの影響 (p. 247)」を参照してください。
このセクションでは、バックアップとリストアシナリオを使用する場合の概要について説明します。
制約
バックアップを計画または作成するときは、以下の制約事項を考慮する必要があります。
• 現時点では、バックアップと復元は Redis で実行されるクラスターでのみサポートされます。
• バックアップと復元は、Redis (クラスターモードが無効) クラスターの cache.t1.micro または
cache.t2.* ノードでサポートされていません。他のキャッシュノードタイプはすべてサポートされま
す。
先頭の Redis (クラスターモードが有効) クラスター、バックアップ、復元はすべてのノードタイプでサ
ポートされています。
API Version 2015-02-02
246
Amazon ElastiCache ユーザーガイド
コスト
• 連続する 24 時間で、クラスターあたり 20 個までの手動バックアップを作成できます。
• Redis (クラスターモードが有効) では、シャード (API/CLI ではノードグループ) レベルではなくクラス
ター (API/CLI ではレプリケーショングループ) レベルでのバックアップのみがサポートされています。
• バックアップから復元またはシードするときは、クラスターグループ内のシャードの数は、バックアッ
プの作成に使用されるクラスター内のシャードの数と一致する必要があります。
• バックアップ処理中は、クラスターの CLI や API のオペレーションを追加実行することはできません。
コスト
ElastiCache では、アクティブなそれぞれの Redis クラスターについて、1 つのバックアップを無料で保
存することができます。追加バックアップのストレージ領域については、すべてのリージョンで 1 か月あ
たり $0.085/GB の料金が課金されます。バックアップの作成や、バックアップから Redis クラスターへの
データの復元には、データ転送料金はかかりません。
パフォーマンスに対するバックアップの影響
バックアッププロセスは実行中の Redis バージョンによって異なります。Redis 2.8.22 からは、プロセス
は分岐なしとなっています。
Redis 2.8.22 以降を実行する場合のバックアップ
バージョン 2.8.22 以降の Redis バックアップでは、2 つのバックアップ方法から選択します。分岐した
バックアップをサポートするメモリが不足している場合、ElastiCache 協調的なバックグラウンドプロセ
スを使用する分岐なしの方法を使用します。分岐した保存プロセスをサポートするのに十分なメモリがあ
る場合は、以前の Redis バージョンと同じプロセスが使用されます。
分岐なしバックアップ中の書き込みのワークロードが高い場合は、大量の変更が累積されないように、
キャッシュへの書き込みが遅延されて、その結果、正常なバックアップが維持されます。
Redis バージョン 2.8.22 以前を実行する場合のバック
アップ
バックアップは、Redis のネイティブの BGSAVE オペレーションを使用して作成されます。キャッシュ
ノードの Redis プロセスは、子プロセスを生成して、キャッシュから Redis .rdb ファイルにすべてのデー
タを書き込みます。この子プロセスの生成は最大で 10 秒かかる場合があり、この間、親プロセスは受信
アプリケーションリクエストを受け付けることができません。子プロセスが個別に実行された後、親プロ
セスは通常のオペレーションを再開します。子プロセスはバックアップオペレーションが完了すると終了
します。
バックアップが書き込まれるとき、新しい書き込みには、追加のキャッシュノードメモリが使用されま
す。この追加のメモリ使用量がノードの使用可能なメモリを超えた場合、過剰なページングよって処理が
低速になるか失敗する可能性があります。
以下に示しているのは、バックアップのパフォーマンスを向上させるためのガイドラインです。
• reserved-memory パラメータを設定する - 過剰なページングを軽減するために、reserved-memory パラ
メータを設定することをお勧めします。このパラメータは、Redis がノードの使用可能なメモリをすべ
て消費することを防止し、ページング容量を削減するのに役立ちます。また、大容量のノードを使用す
るだけでパフォーマンスが向上する場合があります。reserved-memory パラメータとノードのメモリサ
イズの詳細については、「Redis 固有のパラメータ (p. 313)」を参照してください。
API Version 2015-02-02
247
Amazon ElastiCache ユーザーガイド
Redis バージョン 2.8.22 以前
を実行する場合のバックアップ
• リードレプリカからバックアップを作成する - 複数のノードを含むノードグループで Redis を実行
している場合、プライマリノードまたはいずれかのリードレプリカからバックアップを作成できま
す。BGSAVE の実行時に必要なシステムリソースのために、プライマリではなく、いずれかのリードレ
プリカからバックアップを作成することをお勧めします。レプリカからバックアップが作成される間、
プライマリノードは BGSAVE のリソースの要件の影響を受けず、処理速度を低下させることなくリク
エストを処理し続けることができます。
レプリケーショングループを削除し、最終バックアップをリクエストした場合、ElastiCache は常にプラ
イマリノードからバックアップを作成します。これにより、レプリケーショングループが削除される前
に、最新の Redis データがキャプチャされます。
API Version 2015-02-02
248
Amazon ElastiCache ユーザーガイド
Scheduling Automatic Backups
Scheduling Automatic Backups
すべての Redis クラスターで、自動バックアップを有効にできます。自動バックアップを有効にする
と、ElastiCache はクラスターのバックアップを毎日作成します。自動バックアップは、データの損失に
対する予防策として役立ちます。障害が発生した場合、最新バックアップからすべてのデータを復元し
て、新しいクラスターを作成できます。結果は、ウォームスタートのクラスターで、データがプリロード
されており、すぐに使用できます。詳細については、「Restoring From a Backup (p. 269)」を参照して
ください。
自動バックアップをスケジュールする場合は、次の設定を検討する必要があります:
• バックアップ期間 - 毎日、ElastiCache がバックアップの作成を開始する期間。バックアップ期間の最
短時間は 60 分です。バックアップ期間は、いつでもお客様にとって都合のよい時間、つまり、バック
アップの実行が特に使用率の高い時間と重ならないような時間に設定できます。
バックアップ期間を指定していない場合、ElastiCache によって自動的にバックアップ期間が割り当て
られます。
• バックアップ保持期限 - バックアップが Amazon S3 に保持される日数。たとえば、保持期限を 5 に設
定すると、今日作成されたバックアップは 5 日間保持されます。保持期限が切れると、バックアップは
自動的に削除されます。
最大バックアップ保持期限は 35 日です。バックアップ保持期限を 0 に設定すると、クラスターの自動
バックアップが無効になります。
ElastiCache コンソール、AWS CLI、または ElastiCache API を使用して、既存の Redis クラスターまた
はレプリケーショングループの変更時に、自動バックアップを有効または無効にすることができます。
既存のクラスターまたはレプリケーショングループの自動バックアップを有効または無効にする方法の
詳細については、「ElastiCache クラスターの変更 (p. 155)」または「レプリカを持つクラスターの変
更 (p. 237)」を参照してください。
ElastiCache コンソール、AWS CLI、または ElastiCache API を使用して、Redis クラスターまたはレプ
リケーショングループの作成時に、自動バックアップを有効または無効にすることができます。Enable
Automatic Backups ボックス ([Advanced Redis Settings] セクション) をオンにして、Redis クラスターを
作成するときに自動バックアップを有効にできます。詳細については、「Redis (クラスターモードが無効)
クラスターの作成 ((コンソール)) (p. 136)」のステップ 2 を参照してください。既存のクラスターをプライ
マリクラスターとして使用しない場合は、Redis レプリケーショングループを作成したときに自動バック
アップを有効にできます。詳細については、「ゼロからのレプリケーショングループの作成 (p. 217)」を
参照してください。
API Version 2015-02-02
249
Amazon ElastiCache ユーザーガイド
Taking Manual Backups
Taking Manual Backups
自動バックアップに加えて、いつでも手動バックアップを作成できます。指定された保持期間後に自動的
に削除される自動バックアップとは異なり、手動バックアップには、経過した後で自動的に削除される保
持期間はありません。手動バックアップは手動で削除する必要があります。
手動バックアップはテストやアーカイブにも役立ちます。たとえば、テスト目的で一連の基本データを策
定したとします。このデータの手動バックアップを作成して、いつでも必要なときにデータを復元できま
す。このデータを変更するアプリケーションをテストした後、新しいクラスターを作成し、基本データの
バックアップから復元することによって、データをリセットできます。クラスターの準備ができたら、再
び基本データでアプリケーションをテストし、必要に応じてこのプロセスを繰り返すことができます。
手動バックアップの作成に加えて、以下のいずれかの方法で手動バックアップを作成できます。
• 「バックアップのコピー (p. 261)」ソースのバックアップが自動で作成されたか、手動で作成されたか
は問題ではありません。
• 「Taking a Final Backup (p. 256)」クラスターまたはノードを削除する直前に最終バックアップを作成
します。
手動バックアップの作成頻度には制限があります。連続する 24 時間の間に、ノードごとに 20 を超える
手動バックアップを作成することはできません。したがって、4 個のノードを持つ Redis (クラスターモー
ドが無効) クラスターの場合、ノードごとに 20 回 × 4 で、連続する 24 時間の間に手動バックアップを 80
回行うことができます。Redis (クラスターモードが有効) クラスターを完全にバックアップするには、各
シャードのノードをバックアップする必要があります。
手動バックアップに保持期限はなく、ElastiCache によって自動的に削除されません。クラスターまたは
ノードを削除した場合でも、そのクラスターまたはノードの手動バックアップはすべて保持されます。手
動バックアップを保持する必要がなくなった場合は、自分で明示的に削除する必要があります。
ElastiCache コンソール、AWS CLI、または ElastiCache API を使用して、ノードの手動バックアップを作
成できます。
手動バックアップの作成 (コンソール)
クラスターのバックアップを作成するには (console)
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインから、[Redis] を選択します。
[Redis clusters] 画面が表示されます。
3.
バックアップする Redis クラスターの名前の左にあるチェックボックスをオンにします。
4.
[Backup] を選択します。
5.
[バックアップを作成する] ダイアログが表示されます。
a.
リードレプリカで Redis (クラスターモードが無効) クラスターをバックアップしている場合は、
[リソース名] から、バックアップソースで使用するノードを選択します。
b.
[バックアップ名] ボックスに、バックアップの名前を入力します。
クラスターの命名上の制約
• 1~20 文字の英数字またはハイフンを使用する必要があります。
• 先頭は文字にする必要があります。
• 連続する 2 つのハイフンを含めることはできません。
API Version 2015-02-02
250
Amazon ElastiCache ユーザーガイド
手動バックアップの作成 (AWS CLI)
• 末尾をハイフンすることはできません。
6.
[Create Backup] を選択します。
クラスターのステータスが snapshotting に変わります。ステータスが [available] に戻ると、バック
アップの作成が完了です。
手動バックアップの作成 (AWS CLI)
AWS CLI を使用してクラスターの手動バックアップを作成するには、以下のパラメーターを指定して
create-snapshot AWS CLI オペレーションを使用します。
• --cache-cluster-id – バックアップのソースとして使用するレプリカを持たない Redis (クラスター
モードが無効) クラスターの名前。このパラメーターは、Redis (クラスターモードが無効) クラスターを
バックアップするときに使用します。
Important
このパラメーター値は、Redis (クラスターモードが無効) クラスターの固有ノードである必要
があります。リードレプリカがない場合は、クラスターの名前 - myCluster を使用します。
リードレプリカがある場合は、プライマリまたはリードレプリカ - myCluster-001 のいずれか
になります。
• --replication-group-id – バックアップのソースとして使用する Redis (クラスターモードが有効) クラ
スター (CLI/API: レプリケーショングループ) の名前。このパラメーターは、Redis (クラスターモードが
有効) クラスターをバックアップするときに使用します。
• --snapshot-name – 作成するスナップショットの名前。
クラスターの命名上の制約
• 1~20 文字の英数字またはハイフンを使用する必要があります。
• 先頭は文字にする必要があります。
• 連続する 2 つのハイフンを含めることはできません。
• 末尾をハイフンすることはできません。
CLI コードの例
• 例 1: Redis (クラスターモードが無効) クラスター (リードレプリカなし) のバックアップ (p. 251)
• 例 2: Redis (クラスターモードが無効) クラスター (リードレプリカあり) のバックアップ (p. 252)
• 例 3: Redis (クラスターモードが有効) クラスターのバックアップ (p. 252)
例 1: Redis (クラスターモードが無効) クラスター (リードレプリカなし) のバックアップ
以下の AWS CLI オペレーションでは、リードレプリカを持たない Redis (クラスターモードが無効) クラ
スター myNonClusteredRedis からバックアップ bkup-20150515 が作成されます。
Linux, macOS, or Unix 用:
aws elasticache create-snapshot \
--cache-cluster-id myNonClusteredRedis \
--snapshot-name bkup-20150515
Windows の場合:
API Version 2015-02-02
251
Amazon ElastiCache ユーザーガイド
手動バックアップの作成 (AWS CLI)
aws elasticache create-snapshot ^
--cache-cluster-id myNonClusteredRedis ^
--snapshot-name bkup-20150515
例 2: Redis (クラスターモードが無効) クラスター (リードレプリカあり) のバックアップ
次の AWS CLI オペレーションでは、1 つ以上のリードレプリカを持つ Redis (クラスターモードが無効) ク
ラスター myNonClusteredRedis からバックアップ bkup-20150515 が作成されます。
Linux, macOS, or Unix 用:
aws elasticache create-snapshot \
--cache-cluster-id myNonClusteredRedis-001 \
--snapshot-name bkup-20150515
Windows の場合:
aws elasticache create-snapshot ^
--cache-cluster-id myNonClusteredRedis-001 ^
--snapshot-name bkup-20150515
出力例: Redis (クラスターモードが無効) クラスターのバックアップ
オペレーションの出力は次のようになります。
{
"Snapshot": {
"Engine": "redis",
"CacheParameterGroupName": "default.redis3.2",
"VpcId": "vpc-91280df6",
"CacheClusterId": "myNonClusteredRedis-001",
"SnapshotRetentionLimit": 0,
"NumCacheNodes": 1,
"SnapshotName": "bkup-20150515",
"CacheClusterCreateTime": "2017-01-12T18:59:48.048Z",
"AutoMinorVersionUpgrade": true,
"PreferredAvailabilityZone": "us-east-1c",
"SnapshotStatus": "creating",
"SnapshotSource": "manual",
"SnapshotWindow": "08:30-09:30",
"EngineVersion": "3.2.4",
"NodeSnapshots": [
{
"CacheSize": "",
"CacheNodeId": "0001",
"CacheNodeCreateTime": "2017-01-12T18:59:48.048Z"
}
],
"CacheSubnetGroupName": "default",
"Port": 6379,
"PreferredMaintenanceWindow": "wed:07:30-wed:08:30",
"CacheNodeType": "cache.m3.2xlarge"
}
}
例 3: Redis (クラスターモードが有効) クラスターのバックアップ
以下の AWS CLI オペレーションでは、Redis (クラスターモードが有効) クラスター myClusteredRedis か
らバックアップ bkup-20150515 が作成されます。送信元を特定する --cache-cluster-id ではなく、-replication-group-id を使用することに注意してください。
API Version 2015-02-02
252
Amazon ElastiCache ユーザーガイド
手動バックアップの作成 (ElastiCache API)
Linux, macOS, or Unix 用:
aws elasticache create-snapshot \
--replication-group-id myClusteredRedis \
--snapshot-name bkup-20150515
Windows の場合:
aws elasticache create-snapshot ^
--replication-group-id myClusteredRedis ^
--snapshot-name bkup-20150515
出力例: Redis (クラスターモードが有効) クラスターのバックアップ
このオペレーションの出力は次のようになります。
{
"Snapshot": {
"Engine": "redis",
"CacheParameterGroupName": "default.redis3.2.cluster.on",
"VpcId": "vpc-91280df6",
"NodeSnapshots": [
{
"CacheSize": "",
"NodeGroupId": "0001"
},
{
"CacheSize": "",
"NodeGroupId": "0002"
}
],
"NumNodeGroups": 2,
"SnapshotName": "bkup-20150515",
"ReplicationGroupId": "myClusteredRedis",
"AutoMinorVersionUpgrade": true,
"SnapshotRetentionLimit": 1,
"AutomaticFailover": "enabled",
"SnapshotStatus": "creating",
"SnapshotSource": "manual",
"SnapshotWindow": "10:00-11:00",
"EngineVersion": "3.2.4",
"CacheSubnetGroupName": "default",
"ReplicationGroupDescription": "2 shards 2 nodes each",
"Port": 6379,
"PreferredMaintenanceWindow": "sat:03:30-sat:04:30",
"CacheNodeType": "cache.r3.large"
}
}
詳細については、『AWS Command Line Interface Reference』の「create-snapshot」を参照してくださ
い。
手動バックアップの作成 (ElastiCache API)
ElastiCache API を使用してクラスターの手動バックアップを作成するには、以下のパラメーターを指定し
て CreateSnapshot ElastiCache API オペレーションを行います。
• CacheClusterId – バックアップのソースとして使用するレプリカを持たない Redis (クラスターモード
が無効) クラスターの名前。このパラメーターは、Redis (クラスターモードが無効) クラスターをバック
アップするときに使用します。
API Version 2015-02-02
253
Amazon ElastiCache ユーザーガイド
手動バックアップの作成 (ElastiCache API)
Important
このパラメーター値は、Redis (クラスターモードが無効) クラスターの固有ノードである必要
があります。リードレプリカがない場合は、クラスターの名前 - myCluster を使用します。
リードレプリカがある場合は、レプリカ、プライマリ、リードレプリカ - myCluster-001 のい
ずれかを使用します。
• ReplicationGroupId – バックアップのソースとして使用する Redis (クラスターモードが有効) クラス
ター (CLI/API: レプリケーショングループ) の名前。このパラメーターは、Redis (クラスターモードが有
効) クラスターをバックアップするときに使用します。
• SnapshotName - 作成するバックアップの名前。
クラスターの命名上の制約
• 1~20 文字の英数字またはハイフンを使用する必要があります。
• 先頭は文字にする必要があります。
• 連続する 2 つのハイフンを含めることはできません。
• 末尾をハイフンすることはできません。
API コードの例
• 例 1: Redis (クラスターモードが無効) クラスター (リードレプリカなし) のバックアップ (p. 254)
• 例 2: Redis (クラスターモードが無効) クラスター (リードレプリカあり) のバックアップ (p. 254)
• 例 3: Redis (クラスターモードが有効) クラスターのバックアップ (p. 254)
例 1: Redis (クラスターモードが無効) クラスター (リードレプリカなし) のバックアップ
以下の ElastiCache API オペレーションでは、リードレプリカを持たない Redis (クラスターモードが無効)
クラスター myNonClusteredRedis からバックアップ bkup-20150515 が作成されます。
https://elasticache.us-west-2.amazonaws.com/
?Action=CreateSnapshot
&CacheClusterId=myNonClusteredRedis
&SnapshotName=bkup-20150515
&Version=2015-02-02
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&X-Amz-Credential=<credential>
例 2: Redis (クラスターモードが無効) クラスター (リードレプリカあり) のバックアップ
次の ElastiCache API オペレーションでは、1 つ以上のリードレプリカを持つ Redis (クラスターモードが
無効) クラスター myNonClusteredRedis からバックアップ bkup-20150515 が作成されます。
https://elasticache.us-west-2.amazonaws.com/
?Action=CreateSnapshot
&CacheClusterId=myNonClusteredRedis-001
&SnapshotName=bkup-20150515
&Version=2015-02-02
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&X-Amz-Credential=<credential>
例 3: Redis (クラスターモードが有効) クラスターのバックアップ
API Version 2015-02-02
254
Amazon ElastiCache ユーザーガイド
手動バックアップの作成 (ElastiCache API)
以下の ElastiCache API オペレーションでは、Redis (クラスターモードが有効) クラスター
myClusteredRedis からバックアップ bkup-20150515 が作成されます。送信元を特定する CacheClusterId
ではなく、ReplicationGroupId を使用することに注意してください。
https://elasticache.us-west-2.amazonaws.com/
?Action=CreateSnapshot
&ReplicationGroupId=myClusteredRedis
&SnapshotName=bkup-20150515
&Version=2015-02-02
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&X-Amz-Credential=<credential>
詳細については、『Amazon ElastiCache API Reference』の「CreateSnapshot」を参照してください。
API Version 2015-02-02
255
Amazon ElastiCache ユーザーガイド
Taking a Final Backup
Taking a Final Backup
ElastiCache コンソール、AWS CLI、または ElastiCache API を使用して最終バックアップを作成できま
す。
最終バックアップの作成 ((コンソール))
ElastiCache コンソールを使用して、Redis クラスター (API/CLI ではレプリケーショングループ) の削除時
に最終バックアップを作成できます。
Redis クラスターの削除時に最終バックアップを作成するには、削除ダイアログ (ステップ 5) で [Yes] を
選択し、バックアップに名前を付けます。
関連トピック
• クラスターの削除 ((コンソール)) (p. 173)
• レプリケーショングループの削除 ((コンソール)) (p. 239)
最終バックアップの作成 ((AWS CLI))
AWS CLI を使用して、Redis クラスター (API/CLI ではレプリケーショングループ) の削除時に最終バック
アップを作成できます。
トピック
• Redis クラスターを削除する場合 (p. 256)
• Redis レプリケーショングループを削除する場合 (p. 257)
Redis クラスターを削除する場合
最終バックアップを作成するには、以下のパラメーターを指定して、delete-cache-cluster AWS CLI オ
ペレーションを行います。
• --cache-cluster-id – 削除するクラスターの名前。
• --final-snapshot-identifier - バックアップの名前。
以下のコードは、最終バックアップ bkup-20150515-final をクラスター myRedisCluster の削除時に作成
します。
Linux, macOS, or Unix 用:
aws elasticache delete-cache-cluster \
--cache-cluster-id myRedisCluster \
--final-snapshot-identifier bkup-20150515-final
Windows の場合:
aws elasticache delete-cache-cluster ^
--cache-cluster-id myRedisCluster ^
--final-snapshot-identifier bkup-20150515-final
詳細については、『AWS Command Line Interface Reference』の「delete-cache-cluster」を参照してくだ
さい。
API Version 2015-02-02
256
Amazon ElastiCache ユーザーガイド
最終バックアップの作成 ((ElastiCache API))
Redis レプリケーショングループを削除する場合
レプリケーショングループの削除時に最終バックアップを作成するには、以下のパラメーターを指定し
て、delete-replication-group AWS CLI オペレーションを行います。
• --replication-group-id – 削除するレプリケーショングループの名前。
• --final-snapshot-identifier - 最終バックアップの名前。
以下のコードは、最終バックアップ bkup-20150515-final をレプリケーショングループ myReplGroup の
削除時に作成します。
Linux, macOS, or Unix 用:
aws elasticache delete-replication-group \
--replication-group-id myReplGroup \
--final-snapshot-identifier bkup-20150515-final
Windows の場合:
aws elasticache delete-replication-group ^
--replication-group-id myReplGroup ^
--final-snapshot-identifier bkup-20150515-final
詳細については、『AWS Command Line Interface Reference』の「delete-replication-group」を参照して
ください。
最終バックアップの作成 ((ElastiCache API))
ElastiCache API を使用して、Redis クラスターまたはレプリケーショングループの削除時に最終バック
アップを作成できます。
トピック
• Redis クラスターを削除する場合 (p. 257)
• Redis レプリケーショングループを削除する場合 (p. 258)
Redis クラスターを削除する場合
最終バックアップを作成するには、以下のパラメーターを指定して、DeleteCacheCluster ElastiCache
API オペレーションを行います。
• CacheClusterId – 削除するクラスターの名前。
• FinalSnapshotIdentifier - バックアップの名前。
以下の ElastiCache API オペレーションでは、bkup-20150515-finalクラスター削除時myRedisCluster の
バックアップが作成されます。
https://elasticache.us-west-2.amazonaws.com/
?Action=DeleteCacheCluster
&CacheClusterId=myRedisCluster
&FinalSnapshotIdentifier=bkup-20150515-final
&Version=2015-02-02
&SignatureVersion=4
&SignatureMethod=HmacSHA256
API Version 2015-02-02
257
Amazon ElastiCache ユーザーガイド
最終バックアップの作成 ((ElastiCache API))
&Timestamp=20150202T192317Z
&X-Amz-Credential=<credential>
詳細については、『Amazon ElastiCache API Reference』の「DeleteCacheCluster」を参照してくださ
い。
Redis レプリケーショングループを削除する場合
レプリケーショングループの削除時に最終バックアップを作成するには、以下のパラメーターを指定し
て、DeleteReplicationGroup ElastiCache API オペレーションを行います。
• ReplicationGroupId – 削除するレプリケーショングループの名前。
• FinalSnapshotIdentifier - 最終バックアップの名前。
以下の ElastiCache API オペレーションでは、bkup-20150515-finalレプリケーショングループの削除
時myReplGroup にバックアップが作成されます。
https://elasticache.us-west-2.amazonaws.com/
?Action=DeleteReplicationGroup
&FinalSnapshotIdentifier=bkup-20150515-final
&ReplicationGroupId=myReplGroup
&Version=2015-02-02
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&X-Amz-Credential=<credential>
詳細については、『Amazon ElastiCache API Reference』の「DeleteReplicationGroup」を参照してくだ
さい。
API Version 2015-02-02
258
Amazon ElastiCache ユーザーガイド
バックアップの詳細の表示
バックアップの詳細の表示
以下の手順では、バックアップのリストを表示する方法を示しています。必要に応じて、特定のバック
アップの詳細を表示することもできます。
バックアップの詳細の表示 ((コンソール))
AWS マネジメントコンソール を使用してバックアップの詳細を表示するには
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインから、[Backups] を選択します。
3.
[Filter] フィールドを使用して、手動、自動、またはすべてのバックアップを表示します。
4.
特定のバックアップの詳細を表示するには、バックアップの名前の左にあるチェックボックスをオン
にします。
バックアップの詳細の表示 ((AWS CLI))
バックアップのリストと必要に応じて特定のバックアップの詳細を表示するには、describe-snapshots
CLI オペレーションを使用します。
例
以下のオペレーションでは、パラメーター --max-records を使用して、アカウントに関連付けられた最大
20 個のバックアップをリスト表示します。パラメーター --max-records を省略すると、最大 50 個のバッ
クアップが一覧表示されます。
aws elasticache describe-snapshots --max-records 20
以下のオペレーションでは、パラメーター --cache-cluster-id を使用して、クラスター my-cluster に
関連付けられたバックアップのみをリスト表示します。
aws elasticache describe-snapshots --cache-cluster-id my-cluster
以下のオペレーションでは、パラメーター --snapshot-name を使用して、バックアップ my-backup の詳
細を表示します。
aws elasticache describe-snapshots --snapshot-name my-backup
詳細については、『AWS Command Line Interface Reference』の「describe-snapshots」を参照してくだ
さい。
バックアップの詳細の表示 ((ElastiCache API))
バックアップのリストを表示するには、DescribeSnapshots オペレーションを使用します。
例
以下のオペレーションでは、パラメーター MaxRecords を使用して、アカウントに関連付けられた最大 20
個のバックアップをリスト表示します。パラメーター MaxRecords を省略すると、最大 50 個のバックアッ
プが一覧表示されます。
API Version 2015-02-02
259
Amazon ElastiCache ユーザーガイド
バックアップの詳細の表示 ((ElastiCache API))
https://elasticache.us-west-2.amazonaws.com/
?Action=DescribeSnapshots
&MaxRecords=20
&SignatureMethod=HmacSHA256
&SignatureVersion=4
&Timestamp=20141201T220302Z
&Version=2014-12-01
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Date=20141201T220302Z
&X-Amz-SignedHeaders=Host
&X-Amz-Expires=20141201T220302Z
&X-Amz-Credential=<credential>
&X-Amz-Signature=<signature>
以下のオペレーションでは、パラメーター CacheClusterId を使用して、クラスター MyCluster に関連付
けられているすべてのバックアップをリスト表示します。
https://elasticache.us-west-2.amazonaws.com/
?Action=DescribeSnapshots
&CacheClusterId=MyCluster
&SignatureMethod=HmacSHA256
&SignatureVersion=4
&Timestamp=20141201T220302Z
&Version=2014-12-01
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Date=20141201T220302Z
&X-Amz-SignedHeaders=Host
&X-Amz-Expires=20141201T220302Z
&X-Amz-Credential=<credential>
&X-Amz-Signature=<signature>
以下のオペレーションでは、パラメーター SnapshotName を使用して、バックアップ MyBackup の詳細を表
示します。
https://elasticache.us-west-2.amazonaws.com/
?Action=DescribeSnapshots
&SignatureMethod=HmacSHA256
&SignatureVersion=4
&SnapshotName=MyBackup
&Timestamp=20141201T220302Z
&Version=2014-12-01
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Date=20141201T220302Z
&X-Amz-SignedHeaders=Host
&X-Amz-Expires=20141201T220302Z
&X-Amz-Credential=<credential>
&X-Amz-Signature=<signature>
詳細については、「DescribeSnapshots」を参照してください。
API Version 2015-02-02
260
Amazon ElastiCache ユーザーガイド
バックアップのコピー
バックアップのコピー
自動で作成されたか手動で作成されたかにかかわらず、どのバックアップのコピーでも作成できます。
バックアップをエクスポートし、ElastiCache 外部からアクセスすることもできます。バックアップのエ
クスポートに関するガイダンスについては、「バックアップのエクスポート (p. 263)」を参照してくださ
い。
以下の手順では、バックアップをコピーする方法を示しています。
バックアップのコピー ((コンソール))
バックアップをコピーするには ((console))
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
ElastiCache コンソールのダッシュボードで、[Backups] を選択します。
3.
バックアップのリストで、コピーするバックアップの名前の左にあるチェックボックスをオンにしま
す。
4.
[Copy] を選択します。
5.
[Create Copy of the Backup?] ダイアログボックスで、次の操作を行います。
a.
b.
[New backup name] ボックスに、新しいバックアップの名前を入力します。
オプションの [Target S3 Bucket] ボックスは空白のままにします。このフィールドは、バック
アップのエクスポートにのみ使用され、S3 の特殊なアクセス権限を必要とします。バックアップ
のエクスポートの詳細については、「バックアップのエクスポート (p. 263)」を参照してくださ
い。
c.
[Copy] を選択します。
バックアップのコピー ((AWS CLI))
バックアップをコピーするには、copy-snapshot オペレーションを使用します。
パラメーター
• --source-snapshot-name - コピーするバックアップの名前。
• --target-snapshot-name - バックアップのコピーの名前。
• --target-bucket - バックアップのエクスポート用に予約されています。バックアップのコピーを作成
する場合は、このパラメーターを使用しないでください。詳細については、「バックアップのエクス
ポート (p. 263)」を参照してください。
以下の例では、自動バックアップのコピーを作成します。
Linux, macOS, or Unix 用:
aws elasticache copy-snapshot \
--source-snapshot-name automatic.my-redis-primary-2014-03-27-03-15 \
--target-snapshot-name my-backup-copy
Windows の場合:
aws elasticache copy-snapshot ^
--source-snapshot-name automatic.my-redis-primary-2014-03-27-03-15 ^
API Version 2015-02-02
261
Amazon ElastiCache ユーザーガイド
バックアップのコピー ((ElastiCache API))
--target-snapshot-name my-backup-copy
詳細については、AWS CLI で「copy-snapshot」を参照してください。
バックアップのコピー ((ElastiCache API))
バックアップをコピーするには、以下のパラメーターを指定して、CopySnapshot オペレーションを行い
ます。
パラメーター
• SourceSnapshotName - コピーするバックアップの名前。
• TargetSnapshotName - バックアップのコピーの名前。
• TargetBucket - バックアップのエクスポート用に予約されています。バックアップのコピーを作成す
る場合は、このパラメーターを使用しないでください。詳細については、「バックアップのエクスポー
ト (p. 263)」を参照してください。
以下の例では、自動バックアップのコピーを作成します。
Example
https://elasticache.us-west-2.amazonaws.com/
?Action=CopySnapshot
&SourceSnapshotName=automatic.my-redis-primary-2014-03-27-03-15
&TargetSnapshotName=my-backup-copy
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20141201T220302Z
&Version=2014-12-01
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Date=20141201T220302Z
&X-Amz-SignedHeaders=Host
&X-Amz-Expires=20141201T220302Z
&X-Amz-Credential=<credential>
&X-Amz-Signature=<signature>
詳細については、『Amazon ElastiCache API Reference』の「CopySnapshot」を参照してください。
API Version 2015-02-02
262
Amazon ElastiCache ユーザーガイド
バックアップのエクスポート
バックアップのエクスポート
Amazon ElastiCache では、ElastiCache バックアップの Amazon Simple Storage Service (Amazon S3) バ
ケットへのエクスポートがサポートされています。これにより、ElastiCache 外部からバックアップにア
クセスできます。ElastiCache コンソール、AWS CLI、または ElastiCache API を使用してバックアップを
エクスポートできます。
バックアップのエクスポートは、他のリージョンのクラスターを起動する必要がある場合に便利です。1
つのリージョンでデータをエクスポートし、.rdb ファイルを新しいリージョンにコピーして、その .rdb
ファイルを使うことにより、新しいクラスターの入力を待つのではなく、新しいクラスターをシードでき
ます。新しいクラスターのシードについては、「Using a Backup to Seed a Cluster (p. 271)」を参照して
ください。クラスターのデータをエクスポートする別の理由は、オフライン処理のために .rdb ファイルを
使用するためです。
Important
• バックアップと、そのコピー先の Amazon S3 バケットは、同じリージョンにあることが必要
です。
• Amazon S3 バケットにコピーするバックアップは暗号化されません。バックアップを保存する
Amazon S3 バケットへのアクセスは他のユーザーに許可しないことを強くお勧めします。
バックアップを Amazon S3 にエクスポートするためには、そのバックアップと同じリージョンに
Amazon S3 バケットを配置し、ElastiCache にそのバケットへのアクセスを許可する必要があります。最
初の 2 つのステップで、これを行う方法を示します。
警告: データの脆弱性
以下のシナリオでは、目的の方法でデータを公開します。
• 他のユーザーがバックアップのエクスポート先の Amazon S3 バケットにアクセスできる。
バックアップへのアクセスを制御するには、データにアクセスする必要があるユーザーにの
み、Amazon S3 バケットへのアクセスを許可します。Amazon S3 バケットへのアクセスの管
理については、『Amazon S3 開発者ガイド』の「アクセスの管理」を参照してください。
• 他のユーザーが、CopySnapshot API を使用するアクセス権限を持っている。
CopySnapshot API を使用する権限のあるユーザーまたはグループは、独自の Amazon S3 バ
ケットを作成し、このバケットにバックアップをコピーできます。バックアップへのアクセス
を制御するには、IAM ポリシーを使用して、CopySnapshot API を使用できるユーザーを管理
します。IAM を使用した ElastiCache API の使用の管理については、『認証とアクセスコント
ロール (Amazon ElastiCache 用) (p. 358)ElastiCache ユーザーガイド』の「」を参照してく
ださい。
トピック
• ステップ 1: Amazon S3 バケットを作成する (p. 263)
• ステップ 2: ElastiCache に Amazon S3 バケットへのアクセスを許可する (p. 264)
• ステップ 3: ElastiCache バックアップをエクスポートする (p. 265)
ステップ 1: Amazon S3 バケットを作成する
以下の手順では、ElastiCache バックアップをエクスポートおよび保存できる Amazon S3 バケットを作成
します。
API Version 2015-02-02
263
Amazon ElastiCache ユーザーガイド
ステップ 2: ElastiCache に Amazon
S3 バケットへのアクセスを許可する
1.
AWS マネジメントコンソール にサインインし、Amazon S3 コンソール(https://
console.aws.amazon.com/s3/)を開きます。
2.
[Create Bucket] を選択します。
3.
[Create a Bucket - Select a Bucket Name and Region] で、以下の操作を実行します。
a.
[Bucket Name] に Amazon S3 バケットの名前を入力します。
Amazon S3 バケットの名前は DNS に準拠している必要があります。それ以外の場
合、ElastiCache はバックアップファイルにアクセスできません。DNS 準拠のルールでは、次の
ようになります:
• 名前は、3 ~ 63 文字以内にする必要があります。
• 名前は、ピリオド(.)区切られた 1 つ以上の一連のラベルに必要があります。各ラベルの条件
は次のとおりです。
• 先頭の文字には小文字の英文字または数字を使います。
• 末尾の文字には小文字の英文字または数字を使います。
• 小文字、数字、ダッシュのみを含める必要があります。
• 名前は、IP アドレスとしてフォーマットされていてはいけません(例: 192.0.2.0)。
b.
[Region] で、バックアップがある同じリージョンを選択します。
c.
[Create] を選択します。
Amazon S3 バケットの作成の詳細については、『Amazon Simple Storage Service コンソールユーザーガ
イド』の「バケットの作成」を参照してください。
ステップ 2: ElastiCache に Amazon S3 バケットへの
アクセスを許可する
以下の手順では、Amazon ElastiCache に S3 バケットへのアクセスを許可し、バックアップをバケットに
コピーできるようにします。
Warning
Amazon S3 バケットにコピーするバックアップは暗号化されません。データは、Amazon S3 バ
ケットへのアクセス権を持っているユーザーによってアクセスされる可能性があります。この
Amazon S3 バケットへの不正アクセスを防ぐよう IAM ポリシーを設定することを強くお勧めし
ます。詳細については、『Amazon S3 開発者ガイド』の「アクセスの管理」を参照してくださ
い。
1.
AWS マネジメントコンソール にサインインし、Amazon S3 コンソール(https://
console.aws.amazon.com/s3/)を開きます。
2.
[All Buckets] を選択し、エクスポートされるバックアップの書き込み先となる Amazon S3 バケット
の名前を選択します。これは、「ステップ 1: Amazon S3 バケットを作成する (p. 263)」で作成した
S3 バケットとなります。
3.
[Properties] を選択し、[Permissions] を選択します。
4.
バケットのリージョンがバックアップのリージョンと同じであることを確認します。同じでない場合
は、「ステップ 1: Amazon S3 バケットを作成する (p. 263)」に戻り、エクスポートするバックアッ
プと同じリージョンに新しいバケットを作成します。
5.
[Add more permissions] を選択します。
6.
[Grantee] に、次の一覧に示すリージョンの正規化 を入力します。
• 中国 (北京) リージョン –
b14d6a125bdf69854ed8ef2e71d8a20b7c490f252229b806e514966e490b8d83
API Version 2015-02-02
264
Amazon ElastiCache ユーザーガイド
ステップ 3: ElastiCache バックアップをエクスポートする
• AWS GovCloud (US) リージョン –
40fa568277ad703bd160f66ae4f83fc9dfdfd06c2f1b5060ca22442ac3ef8be6
Important
バックアップは AWS GovCloud (US) 内の S3 バケットにエクスポートする必要がありま
す。
• その他のすべてのリージョン –
540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353
7.
[List]、[Upload/Delete]、および [View Permissions] を選択します。ElastiCache には、S3 バケットで
エクスポートされたバックアップを作成するために、これらのアクセス権限が必要です。
8.
[Save] を選択します。
Amazon S3 バケットで、ElastiCache コンソール、AWS CLI、または ElastiCache API を使用して
ElastiCache バックアップをエクスポートする準備ができました。
ステップ 3: ElastiCache バックアップをエクスポート
する
これで S3 バケットを作成し、これにアクセスする権限を ElastiCache に付与したので、以下のいずれか
の方法を使用してバックアップをエクスポートします。
トピック
• ElastiCache バックアップのエクスポート ((コンソール)) (p. 265)
• ElastiCache バックアップのエクスポート ((AWS CLI)) (p. 266)
• ElastiCache バックアップのエクスポート ((ElastiCache API)) (p. 267)
ElastiCache バックアップのエクスポート ((コンソール))
以下のプロセスでは、ElastiCache コンソールを使用してバックアップを Amazon S3 バケットにエクス
ポートし、ElastiCache 外部からアクセスできるようにします。Amazon S3 バケットは ElastiCache バッ
クアップと同じリージョンにあることが必要です。
1.
2.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
ElastiCache コンソールダッシュボードで [Backups] を選択します。
3.
バックアップのリストから、エクスポートするバックアップの名前の左にあるチェックボックスをオ
ンにします。
4.
5.
[Copy] を選択します。
[Create a Copy of the Backup?] で、次の作業を行います。
a.
[New backup name] ボックスに、新しいバックアップの名前を入力します。
この名前は 1~1,000 文字で、UTF-8 エンコードが可能である必要があります。
b.
ElastiCache は、ここで入力した値に、インスタンス識別子と .rdb を追加します。たとえば、
「my-exported-backup」と入力した場合、ElastiCache によって my-exported-backup-0001.rdb
が作成されます。
[Target S3 Location] リストから、バックアップをコピーする Amazon S3 バケット (「ステップ
1: Amazon S3 バケットを作成する (p. 263)」で作成したバケット) の名前を選択します。
[Target S3 Location] がバックアップのリージョン内の Amazon S3 バケットであり、かつ、バッ
クアップをエクスポートするための List、Upload/Delete、View のアクセス権限が ElastiCache に
API Version 2015-02-02
265
Amazon ElastiCache ユーザーガイド
ステップ 3: ElastiCache バックアップをエクスポートする
付与されている必要があります。詳細については、「ステップ 2: ElastiCache に Amazon S3 バ
ケットへのアクセスを許可する (p. 264)」を参照してください。
c.
[Copy] を選択します。
Note
S3 バケットにバックアップをエクスポートするためのアクセス権限が ElastiCache にない場合、
以下のいずれかのエラーメッセージを受け取ります。示されたアクセス権限を追加し、バック
アップのエクスポートを再試行してください。
• ElastiCache has not been granted READ permissions %s on the S3 Bucket.
解決策: バケットでリストと読み取りのアクセス権限を追加します。
• ElastiCache has not been granted WRITE permissions %s on the S3 Bucket.
解決策: バケットでアップロード/削除のアクセス権限を追加します。
• ElastiCache has not been granted READ_ACP permissions %s on the S3 Bucket.
解決策: バケットでアクセス許可の表示を追加します。
アクセス権限の追加の詳細については、「ステップ 2: ElastiCache に Amazon S3 バケットへの
アクセスを許可する (p. 264)」を参照してください。
別のリージョンにバックアップをコピーする場合は、Amazon S3 を使用してコピーします。詳細について
は、『Amazon Simple Storage Service コンソールユーザーガイド』の「オブジェクトのコピー」を参照
してください。
ElastiCache バックアップのエクスポート ((AWS CLI))
以下のパラメーターを指定して copy-snapshot CLI オペレーションを使用することで、Amazon S3 バ
ケットにバックアップをエクスポートします。
パラメーター
• --source-snapshot-name - コピーするバックアップの名前。
• --target-snapshot-name - バックアップのコピーの名前。
この名前は 1~1,000 文字で、UTF-8 エンコードが可能である必要があります。
ElastiCache は、ここで入力した値に、インスタンス識別子と .rdb を追加します。たとえば、「myexported-backup」と入力した場合、ElastiCache によって my-exported-backup-0001.rdb が作成され
ます。
• --target-bucket - バックアップをエクスポートする Amazon S3 バケットの名前。バックアップのコ
ピーは、指定したバケットで作成されます。
[--target-bucket] がバックアップのリージョン内の Amazon S3 バケットであり、かつ、バックアップ
をエクスポートするための List、Upload/Delete、View のアクセス権限が ElastiCache に付与されている
必要があります。詳細については、「ステップ 2: ElastiCache に Amazon S3 バケットへのアクセスを
許可する (p. 264)」を参照してください。
以下のオペレーションは、my-s3-bucket にバックアップをコピーします。
Linux, macOS, or Unix 用:
aws elasticache copy-snapshot \
API Version 2015-02-02
266
Amazon ElastiCache ユーザーガイド
ステップ 3: ElastiCache バックアップをエクスポートする
--source-snapshot-name automatic.my-redis-primary-2016-06-27-03-15 \
--target-snapshot-name my-exported-backup \
--target-bucket my-s3-bucket
Windows の場合:
aws elasticache copy-snapshot ^
--source-snapshot-name automatic.my-redis-primary-2016-06-27-03-15 ^
--target-snapshot-name my-exported-backup ^
--target-bucket my-s3-bucket
Note
S3 バケットにバックアップをエクスポートするためのアクセス権限が ElastiCache にない場合、
以下のいずれかのエラーメッセージを受け取ります。示されたアクセス権限を追加し、バック
アップのエクスポートを再試行してください。
• ElastiCache has not been granted READ permissions %s on the S3 Bucket.
解決策: バケットでリストと読み取りのアクセス権限を追加します。
• ElastiCache has not been granted WRITE permissions %s on the S3 Bucket.
解決策: バケットでアップロード/削除のアクセス権限を追加します。
• ElastiCache has not been granted READ_ACP permissions %s on the S3 Bucket.
解決策: バケットでアクセス許可の表示を追加します。
アクセス権限の追加の詳細については、「ステップ 2: ElastiCache に Amazon S3 バケットへの
アクセスを許可する (p. 264)」を参照してください。
詳細については、『AWS Command Line Interface Reference』の「copy-snapshot」を参照してくださ
い。
別のリージョンにバックアップをコピーする場合は、Amazon S3 を使用してコピーします。詳細について
は、『Amazon Simple Storage Service コンソールユーザーガイド』の「オブジェクトのコピー」を参照
してください。
ElastiCache バックアップのエクスポート ((ElastiCache API))
以下のパラメーターを指定して CopySnapshot API オペレーションを使用し、バックアップを Amazon S3
バケットにエクスポートします。
パラメーター
• SourceSnapshotName - コピーするバックアップの名前。
• TargetSnapshotName - バックアップのコピーの名前。
この名前は 1~1,000 文字で、UTF-8 エンコードが可能である必要があります。
ElastiCache は、ここで入力した値に、インスタンス識別子と .rdb を追加します。たとえば、「myexported-backup」と入力した場合、my-exported-backup-0001.rdb を取得します。
• TargetBucket - バックアップをエクスポートする Amazon S3 バケットの名前。バックアップのコピー
は、指定したバケットで作成されます。
[TargetBucket] がバックアップのリージョン内の Amazon S3 バケットであり、かつ、バックアップを
エクスポートするための List、Upload/Delete、View のアクセス権限が ElastiCache に付与されている必
API Version 2015-02-02
267
Amazon ElastiCache ユーザーガイド
ステップ 3: ElastiCache バックアップをエクスポートする
要があります。詳細については、「ステップ 2: ElastiCache に Amazon S3 バケットへのアクセスを許
可する (p. 264)」を参照してください。
以下の例では、Amazon S3 バケット my-s3-bucket に自動バックアップのコピーを作成します。
Example
https://elasticache.us-west-2.amazonaws.com/
?Action=CopySnapshot
&SourceSnapshotName=automatic.my-redis-primary-2016-06-27-03-15
&TargetBucket=my-s3-bucket
&TargetSnapshotName=my-backup-copy
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20141201T220302Z
&Version=2016-01-01
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Date=20141201T220302Z
&X-Amz-SignedHeaders=Host
&X-Amz-Expires=20141201T220302Z
&X-Amz-Credential=<credential>
&X-Amz-Signature=<signature>
Note
S3 バケットに、ElastiCache がスナップショットをエクスポートするために必要なアクセス権
限がない場合、次のいずれかのエラーメッセージを受け取ります。示されたアクセス権限を追加
し、バックアップのエクスポートを再試行してください。
• ElastiCache has not been granted READ permissions %s on the S3 Bucket.
解決策: バケットでリストと読み取りのアクセス権限を追加します。
• ElastiCache has not been granted WRITE permissions %s on the S3 Bucket.
解決策: バケットでアップロード/削除のアクセス権限を追加します。
• ElastiCache has not been granted READ_ACP permissions %s on the S3 Bucket.
解決策: バケットでアクセス許可の表示を追加します。
アクセス権限の追加の詳細については、「ステップ 2: ElastiCache に Amazon S3 バケットへの
アクセスを許可する (p. 264)」を参照してください。
詳細については、『Amazon ElastiCache API Reference』の「CopySnapshot」を参照してください。
別のリージョンにバックアップをコピーする場合は、Amazon S3 のコピーを使用して、エクスポートさ
れたバックアップを別のリージョンの Amazon S3 バケットにコピーします。詳細については、『Amazon
Simple Storage Service コンソールユーザーガイド』の「オブジェクトのコピー」を参照してください。
API Version 2015-02-02
268
Amazon ElastiCache ユーザーガイド
Restoring From a Backup
Restoring From a Backup
バックアップから新しいクラスターにいつでもデータを復元できます。デフォルトでは、新しいクラス
ターは、バックアップを作成したときのソースクラスターと同じ設定になります。ただし、ノードサイズ
など、一部のパラメータは変更できます。
復元操作時に、ElastiCache は新しいクラスターを作成し、バックアップファイルからのデータを使用し
てキャッシュに入力します。このプロセスが完了すると、Redis のキャッシュはウォームアップ状態にな
り、クラスターはリクエストを受け付けることができます。
以下の手順では、新しいクラスターにバックアップを復元する方法を示しています。
Restoring From a Backup (コンソール)
ElastiCache コンソールを使用して、バックアップからクラスターを復元できます。
新しいクラスターにバックアップを復元するには (console)
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインから、[Backups] を選択します。
3.
バックアップのリストで、復元元のバックアップを選択します。
4.
[Restore] を選択します。
5.
[Restore Cluster] ダイアログボックスに入力します。
[オプション] [Instance Type]、[Cache Port]、および他のいくつかのプロパティに新しい値を選択する
ことで、新しいクラスターをカスタマイズできます。
6.
設定が完了したら、[Launch Cluster] を選択します。
Restoring From a Backup (AWS CLI)
バックアップから新しいクラスターにデータを復元するには、以下のパラメーターを指定して createcache-cluster CLI オペレーションを使用します。
• --snapshot-name - 復元するバックアップの名前。
• --cache-cluster-id – 復元後の新しいキャッシュクラスターの名前。
以下の例では、my-restored-redis という名前の新しいキャッシュクラスターを作成し、my-manualbackup からそのクラスターにデータを復元します。
Linux, macOS, or Unix 用:
aws elasticache create-cache-cluster \
--cache-cluster-id my-restored-redis \
--snapshot-name my-manual-backup
Windows の場合:
aws elasticache create-cache-cluster ^
--cache-cluster-id my-restored-redis ^
--snapshot-name my-manual-backup
API Version 2015-02-02
269
Amazon ElastiCache ユーザーガイド
Restoring From a Backup (ElastiCache API)
詳細については、『AWS Command Line Interface Reference』の「create-cache-cluster」を参照してくだ
さい。
Restoring From a Backup (ElastiCache API)
バックアップから新しいクラスターにデータを復元するには、以下のパラメーターを指定して
CreateCacheCluster API オペレーションを使用します。
• SnapshotName - 復元するバックアップの名前。
• CacheClusterId – 復元後の新しいキャッシュクラスターの名前。
以下の例では、my-restored-redis という名前の新しいキャッシュクラスターを作成し、my-manualbackup からそのクラスターにデータを復元します。
例
https://elasticache.us-west-2.amazonaws.com/
?Action=CreateCacheCluster
&CacheClusterId=my-restored-redis
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&SnapshotName=my-manual-backup
&Timestamp=20141201T220302Z
&Version=2015-02-02
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Date=20141201T220302Z
&X-Amz-SignedHeaders=Host
&X-Amz-Expires=20141201T220302Z
&X-Amz-Credential=<credential>
&X-Amz-Signature=<signature>
詳細については、『Amazon ElastiCache API Reference』の「CreateCacheCluster」を参照してくださ
い。
API Version 2015-02-02
270
Amazon ElastiCache ユーザーガイド
Using a Backup to Seed a Cluster
Using a Backup to Seed a Cluster
新しい Redis クラスターを作成するときに、Redis .rdb バックアップファイルのデータでシードできま
す。クラスターをシードすることは、現在 ElastiCache の外部で Redis インスタンスを管理していて、新
しい ElastiCache クラスターに既存の Redis データを入力する場合に役に立ちます。
Important
• Redis バックアップデータがノードのリソースを超えていないことを確認する必要がありま
す。たとえば、2.9 GB のメモリがある cache.m3. ミディアムノードに、5 GB の Redis データ
がある .rdb ファイルをアップロードすることはできません。
バックアップが大きすぎる場合、結果として作成されるクラスターのステータスが restorefailed になります。その場合は、クラスターを削除してやり直す必要があります。
ノードの種類および仕様の一覧については、「Redis のノードタイプ固有のパラメー
タ (p. 328)」および Amazon ElastiCache 製品の機能と詳細を参照してください。
• S3 SSE を使用した Redis RDB ファイルの暗号化はサポートされていません。
次のトピックで、ElastiCache Redis 以外のクラスターを Amazon ElastiCache に移行させる方法について
説明します。
トピック
ステップ 1: Redis バックアップを作成する (p. 271)
ステップ 2: バックアップを Amazon S3 にアップロードする (p. 271)
ステップ 3: .rdb ファイルへの読み込みアクセスを ElastiCache に許可する (p. 272)
ステップ 4: ElastiCache クラスターと .rdb ファイルデータを提携させる (p. 273)
ステップ 1: Redis バックアップを作成する
ElastiCache Redis インスタンスのシード元の Redis バックアップを作成するには
1.
既存の Redis インスタンスに接続します。
2.
BGSAVE オペレーション、または SAVE オペレーションを実行してバックアップを作成します。
BGSAVE は非同期処理であり、処理中も他のクライアントをブロックしません。詳細について
は、Redis ウェブサイトの「BGSAVE」を参照してください。
SAVE が同期され、完了するまで他のプロセスがブロックされます。詳細については、Redis ウェブサ
イトの「SAVE」を参照してください。
バックアップの作成の詳細については、Redis ウェブサイトの「Redis Persistence」を参照してくださ
い。
ステップ 2: バックアップを Amazon S3 にアップロー
ドする
バックアップファイルを作成したら、Amazon S3 バケットにアップロードする必要があります。このタス
クの詳細については、『Amazon Simple Storage Service 入門ガイド』を参照してください。
API Version 2015-02-02
271
Amazon ElastiCache ユーザーガイド
ステップ 3: .rdb ファイルへの読み込
みアクセスを ElastiCache に許可する
rdb ファイルの S3 バケットへのパスを書き留めることも重要です。たとえば、バケット名が myBucket で
ありパスが myFolder/redis.rdb である場合、myBucket/myFolder/redis.rdb と入力します。新しいクラ
スターにこのバックアップのデータをシードする際にこのパスが必要です。
Amazon S3 バケットの名前は DNS に準拠している必要があります。それ以外の場合、ElastiCache は
バックアップファイルにアクセスできません。DNS 準拠のルールでは、次のようになります:
• 名前は、3 ~ 63 文字以内にする必要があります。
• 名前は、ピリオド(.)区切られた 1 つ以上の一連のラベルに必要があります。各ラベルの条件は次のと
おりです。
• 先頭の文字には小文字の英文字または数字を使います。
• 末尾の文字には小文字の英文字または数字を使います。
• 小文字、数字、ダッシュのみを含める必要があります。
• 名前は、IP アドレスとしてフォーマットされていてはいけません(例: 192.0.2.0)。
詳細については、『Amazon Simple Storage Service 開発者ガイド』の「Bucket Restrictions and
Limitations」を参照してください。
Amazon S3 バケットは ElastiCache クラスターと同じリージョンで使用することを強くお勧めします。こ
の手法により、ElastiCache が Amazon S3 から .rdb ファイルを読み取る場合のデータ転送速度が最大限に
速くなります。
ステップ 3: .rdb ファイルへの読み込みアクセスを
ElastiCache に許可する
バックアップファイルへの読み込みアクセスを ElastiCache に許可するには
1.
AWS マネジメントコンソール にサインインし、Amazon S3 コンソール(https://
console.aws.amazon.com/s3/)を開きます。
2.
[All Buckets] を選択し、.rdb ファイルを含む S3 バケットの名前を選択します。
3.
.rdb ファイルを含むフォルダの名前を選択します。
4.
.rdb バックアップファイルの名前を選択します。
5.
[Actions] ドロップダウンメニューを選択して、[Properties] を選択します。
6.
[Grantee] ボックスで、対象リージョンの正規化 ID を入力します。
• 中国 (北京) リージョン: b14d6a125bdf69854ed8ef2e71d8a20b7c490f252229b806e514966e490b8d83
• AWS GovCloud (US) リージョン:
40fa568277ad703bd160f66ae4f83fc9dfdfd06c2f1b5060ca22442ac3ef8be6
Important
お客様がバックアップを AWS GovCloud (US) 内の Redis クラスターにダウンロードする
には、そのバックアップが AWS GovCloud (US) 内の S3 バケットにあることが必要です。
• その他のすべてのリージョン –
540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353
7.
[Open/Download] を選択して、次に [Save] を選択します。
API Version 2015-02-02
272
Amazon ElastiCache ユーザーガイド
ステップ 4: ElastiCache クラスター
と .rdb ファイルデータを提携させる
ステップ 4: ElastiCache クラスターと .rdb ファイル
データを提携させる
これで ElastiCache クラスターを作成し、.rdb ファイルのデータと提携する準備が整いました。クラス
ターを作成するには、「クラスターの作成 (p. 133)」のリダイレクトに従ってください。Redis がクラス
ターエンジンとして選択されていることを確認してください。
さらに、お客様が ElastiCache に使用するよう指示した方法は、Amazon S3 にアップロードしたバック
アップがどこにあるのかを検索するものですが、これはクラスターの作成に使用する方法によって異なり
ます。
• ElastiCache クラスターと .rdb ファイルデータを提携させます (ElastiCache コンソールを使用して)。
[Specify Cluster Details] ページ ([Configuration] セクションの下部) で Redis エンジンを選択した
ら、[S3 Location of the Redis .rdb file] を検索して、S3 バケットにアップロードするバックアップの
Amazon S3 パスを入力します。Amazon S3 パスは次のように表示されます。myBucket/myFolder/
myBackupFilename.rdb
• AWS CLI を使用して ElastiCache クラスターを .rdb ファイルのデータでシードする
aws elasticache create-cache-cluster オペレーションを行う場合は、-snapshot-arns パラメーターを使用して完全修飾 ARN を指定します。
("arn:aws:s3:::myBucket/myFolder/myBackupFilename.rdb" など)。ARN は、Amazon S3 に保存した
バックアップファイルに解決される必要があります。
• ElastiCache クラスターと .rdb ファイルデータを提携させます (ElastiCache API を使用して)。
CreateCacheClusterElastiCache API を使用している場合、SnapshotArns パラメータを使用して完全
修飾 ARN を指定します。 ("arn:aws:s3:::myBucket/myFolder/myBackupFilename.rdb" など)。ARN
は、Amazon S3 に保存したバックアップファイルに解決される必要があります。
クラスターの作成処理中、Redis バックアップ内のデータがクラスターに書き込まれます。ElastiCache
イベントメッセージを表示して、進行状況をモニタリングできます。これを行うには、ElastiCache コン
ソールに移動し、[Cache Events] を選択します。AWS ElastiCache コマンドラインインターフェイスま
たは ElastiCache API を使用して、イベントメッセージを取得することもできます。詳細については、
「Viewing ElastiCache Events (p. 392)」を参照してください。
API Version 2015-02-02
273
Amazon ElastiCache ユーザーガイド
Tagging Backups
Tagging Backups
コスト配分タグは、費用を請求書タグ値別にグループ化することで、複数の AWS サービスのコストを追
跡する方法です。コスト配分タグの詳細については、「コスト配分タグの使用」と「コスト配分のタグに
よるコストのモニタリング (p. 399)」を参照してください。
ElastiCache コンソール、AWS CLI、または ElastiCache API を使用して、バックアップのコスト配分タグ
を追加、一覧表示、変更、削除、またはコピーできます。詳細については、次を参照してください。
<xrerf></xrerf>
API Version 2015-02-02
274
Amazon ElastiCache ユーザーガイド
Deleting a Backup
Deleting a Backup
自動バックアップは、保持期限を過ぎると自動的に削除されます。クラスターを削除すると、そのクラス
ターのすべての自動バックアップも削除されます。レプリケーショングループを削除すると、そのグルー
プのクラスターからすべて自動バックアップも削除されます。
ElastiCache には、バックアップが自動と手動のいずれで作成されたかにかかわらず、いつでもバック
アップを削除できる削除 API が用意されています (手動バックアップには保持期限がないため、手動削除
は手動スナップショットを削除する唯一の方法です)。
ElastiCache コンソール、AWS CLI、または ElastiCache API を使用してバックアップを削除できます。
Deleting a Backup (コンソール)
以下の手順では、ElastiCache コンソールを使用してバックアップを削除します。
バックアップを削除するには
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインで、[Backups] を選択します。
[Backups] 画面にバックアップのリストが表示されます。
3.
4.
削除するバックアップの名前の左にあるチェックボックスをオンにします。
[Delete] を選択します。
5.
[Delete Backup] 確認画面が表示されます。
このバックアップを削除する場合は、[Delete] を選択します。ステータスが deleting に変わります。
このバックアップを保持する場合は、[Cancel] を選択します。
Deleting a Backup (AWS CLI)
バックアップを削除するには、以下のパラメーターを指定して delete-snapshot AWS CLI オペレーション
を使用します。
• --snapshot-name - 削除するバックアップの名前。
以下のコードはバックアップ myBackup を削除します。
aws elasticache delete-snapshot --snapshot-name myBackup
詳細については、『AWS Command Line Interface Reference』の「delete-snapshot」を参照してくださ
い。
Deleting a Backup (ElastiCache API)
以下のパラメーターを指定して DeleteSnapshot API オペレーションを使用することで、バックアップを削
除します。
• SnapshotName - 削除するバックアップの名前。
以下のコードはバックアップ myBackup を削除します。
API Version 2015-02-02
275
Amazon ElastiCache ユーザーガイド
AOF (Redis Append Only Files)
https://elasticache.us-west-2.amazonaws.com/
?Action=DeleteSnapshot
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&SnapshotId=myBackup
&Timestamp=20150202T192317Z
&Version=2015-02-02
&X-Amz-Credential=<credential>
詳細については、『Amazon ElastiCache API Reference』の「DeleteSnapshot」を参照してください。
AOF (Redis Append Only Files)
デフォルトでは、ElastiCache の Redis ノード内のデータはメモリにのみ存在し、永続的ではありませ
ん。ノードが再起動されるか、基になる物理サーバーでハードウェア障害が発生した場合、キャッシュ内
のデータは失われます。
データの耐久性が必要な場合、Redis の AOF (Append-Only File) 機能を有効にすることができます。こ
の機能を有効にすると、キャッシュノードは、キャッシュデータを変更するすべてのコマンドを AppendOnly File に書き込みます。ノードが再起動されてキャッシュエンジンが開始すると AOF が「再生」され
ます。その結果、すべてのデータが変更されていないウォーム状態の Redis キャッシュとなります。
AOF はデフォルトでは無効になっています。Redis を実行しているクラスターで AOF を有効にするに
は、appendonly パラメータを yes に設定してパラメータグループを作成した後、そのパラメータグループ
をクラスターに割り当てます。appendfsync パラメータを変更して、Redis が AOF ファイルに書き込む頻
度を制御することもできます。
Important
AOF (Append Only File) は、cache.t1.micro ノードおよび cache.t2* ノードではサポートされませ
ん。これらのタイプのノードの場合、appendonly パラメータ値は無視されます。
マルチ AZ レプリケーショングループでは、AOF は無効になります。
AOF は、Redis バージョン 2.8.22 以降ではサポートされません。
Warning
AOF はすべての障害のシナリオに対応できるわけではありません。たとえば、基になる物理サー
バーでハードウェア障害が発生したためノードでエラーが発生した場合、ElastiCache は別のサー
バーで新しいノードをプロビジョニングします。この場合、AOF ファイルは使用できなくなり、
データの復旧には使用できません。したがって、Redis はコールドキャッシュを使って再開され
ます。
信頼性を高め、より迅速な復旧を可能にするため、クラスターの異なるアベイラビリティーゾー
ンに 1 つ以上のリードレプリカを作成し、AOF を使用する代わりにレプリケーショングループで
マルチ AZ を有効にすることをお勧めします。AOF はマルチ AZ レプリケーショングループでは
無効になります。
障害の軽減の詳細については、「Redis 実行時の障害の軽減 (p. 69)」を参照してください。
詳しくは次を参照してください。
• Redis 固有のパラメータ (p. 313)
• レプリケーション: 自動フェイルオーバーとマルチ AZ (Redis) (p. 205)
• 障害の軽減 (p. 68)
API Version 2015-02-02
276
Amazon ElastiCache ユーザーガイド
セキュリティグループ [EC2-Classic]
Important
Amazon ElastiCache セキュリティグループは、Amazon Virtual Private Cloud 環境 (VPC) で実行
されていないクラスターにのみ適用されます。Amazon Virtual Private Cloud で実行している場
合、[ Security Groups] はコンソールのナビゲーションペインでは使用できません。
ElastiCache ノードを Amazon VPC で実行している場合は、Amazon VPC セキュリティグループ
でクラスターへのアクセスを制御します。これは、ElastiCache セキュリティグループとは異な
ります。Amazon VPC での ElastiCache の使用に関する詳細は、「Amazon Virtual Private Cloud
(Amazon VPC) と ElastiCache (p. 340)」を参照してください。
Amazon ElastiCache では、ElastiCache セキュリティグループを使用してクラスターへのアクセスを制
御できます。ElastiCache セキュリティグループは、クラスターへのネットワークアクセスを制御する
ファイアウォールのように動作します。デフォルトでは、クラスターへのネットワークアクセスは無効に
なっています。アプリケーションからキャッシュクラスターにアクセスできるようにするには、特定の
Amazon EC2 セキュリティグループのホストからのアクセスを明示的に有効にする必要があります。入口
ルールが設定されると、同じルールがそのセキュリティグループに関連するすべてのクラスターに適用さ
れます。
クラスターへのネットワークアクセスを許可するには、セキュリティグループを作成
し、AuthorizeCacheSecurityGroupIngress API オペレーション (CLI では authorize-cache-securitygroup-ingress) を使用して、必要な Amazon EC2 セキュリティグループを認証します (その結果として、
許可されている Amazon EC2 インスタンスを指定します)。セキュリティグループは、その作成時に、ま
たは ModifyCacheCluster API オペレーション (CLI では modify-cache-cluster) の使用時に、クラスター
に関連付けられます。
Important
IP 範囲に基づくアクセス制御は現在、個々のクラスターレベルでは有効になっていません。クラ
スターのすべてのクライアントは、EC2 ネットワーク内にある必要があり、前に説明したよう
に、セキュリティグループによって許可されている必要があります。
Amazon RDS での ElastiCache の使用に関する詳細は、「Amazon Virtual Private Cloud (Amazon VPC) と
ElastiCache (p. 340)」を参照してください。
Amazon VPC で実行されている Amazon EC2 インスタンスは EC2-Classic の ElastiCache クラスターに
接続できないことに注意してください。
トピック
• セキュリティグループを作成する (p. 279)
API Version 2015-02-02
277
Amazon ElastiCache ユーザーガイド
• 利用可能な セキュリティグループを一覧表示する (p. 281)
• セキュリティグループの表示 (p. 282)
• Amazon EC2 セキュリティグループへのネットワークアクセスの許可 (p. 284)
API Version 2015-02-02
278
Amazon ElastiCache ユーザーガイド
セキュリティグループを作成する
セキュリティグループを作成する
このトピックは、Amazon VPC で実行していない場合にのみ該当します。Amazon VPC で実行している場
合は、「Amazon Virtual Private Cloud (Amazon VPC) と ElastiCache (p. 340)」を参照してください。
セキュリティグループを作成するには、名前と説明を入力する必要があります。
以下の手順では、新しいセキュリティグループを作成する方法を示しています。
セキュリティグループを作成する (コンソール)
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインで [ Security Groups] を選択します。
3.
4.
[Create Security Group] を選択します。
[Create Security Group] で、[ Security Group] に新しいセキュリティグループの名前を入力します。
5.
[Description] に、新しいセキュリティグループの説明を入力します。
6.
[Create] を選択します。
セキュリティグループを作成する (AWS CLI)
コマンドプロンプトで、create-cache-security-group パラメータを指定して以下のコマンドを使用しま
す:
• --cache-security-group-name – 作成するセキュリティグループの名前。
例: mysecuritygroup
• --説明 – このセキュリティグループの説明
例:「新しいマイセキュリティグループ」
Linux, macOS, or Unix 用:
aws elasticache create-cache-security-group \
--cache-security-group-name mysecuritygroup \
--description "My new security group"
Windows の場合:
aws elasticache create-cache-security-group ^
--cache-security-group-name mysecuritygroup ^
--description "My new security group"
詳細については、「create-cache-security-group」を参照してください。
セキュリティグループを作成する (ElastiCache API)
ElastiCache API オペレーション CreateCacheSecurityGroup で以下のパラメーターを指定します。
• CacheSecurityGroupName – 作成するセキュリティグループの名前。
例: mysecuritygroup
API Version 2015-02-02
279
Amazon ElastiCache ユーザーガイド
セキュリティグループを作成する (ElastiCache API)
• Description – このセキュリティグループの URL のエンコードされた説明。
例: My%20security%20group
Example
次のコード例の改行が読み込みのために追加されます。
https://elasticache.us-west-2.amazonaws.com /
?Action=CreateCacheSecurityGroup
&CacheSecurityGroupName=mysecuritygroup
&Description=My%20security%20group
&Version=2015-02-02
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T220302Z
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Date=20150202T220302Z
&X-Amz-SignedHeaders=Host
&X-Amz-Expires=20150202T220302Z
&X-Amz-Credential=<credential>
&X-Amz-Signature=<signature>
API Version 2015-02-02
280
Amazon ElastiCache ユーザーガイド
利用可能な セキュリティグループを一覧表示する
利用可能な セキュリティグループを一覧表示する
このトピックは、Amazon VPC で実行していない場合にのみ該当します。Amazon VPC で実行している場
合は、「Amazon Virtual Private Cloud (Amazon VPC) と ElastiCache (p. 340)」を参照してください。
AWS アカウント用に作成された セキュリティグループを一覧表示できます。
以下の手順では、AWS アカウントで使用可能なセキュリティグループを表示する方法を示しています。
使用可能なセキュリティグループの一覧表示 ((コン
ソール))
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインで [ Security Groups] を選択します。
利用可能な セキュリティグループが [ Security Groups] リストに一覧表示されます。
使用可能なセキュリティグループの一覧表示 ((AWS
CLI))
コマンドプロンプトで、AWS アカウントで利用可能なすべてのセキュリティグループを一覧表示するに
は、describe-cache-security-groups コマンドを使用します。
aws elasticache describe-cache-security-groups
詳細については、「describe-cache-security-groups」を参照してください。
使用可能なセキュリティグループの一覧表示
((ElastiCache API))
ElastiCache API を使用して DescribeCacheSecurityGroups を呼び出します。
Example
次のコード例の改行が読み込みのために追加されます。
https://elasticache.us-west-2.amazonaws.com/
?Action=DescribeCacheSecurityGroups
&MaxRecords=100
&Version=2015-02-02
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T220302Z
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Date=20150202T220302Z
&X-Amz-SignedHeaders=Host
&X-Amz-Expires=20150202T220302Z
&X-Amz-Credential=<credential>
&X-Amz-Signature=<signature>
API Version 2015-02-02
281
Amazon ElastiCache ユーザーガイド
セキュリティグループの表示
セキュリティグループの表示
このトピックは、Amazon VPC で実行していない場合にのみ該当します。Amazon VPC で実行している場
合は、「Amazon Virtual Private Cloud (Amazon VPC) と ElastiCache (p. 340)」を参照してください。
セキュリティグループに関する詳細情報を表示できます。
以下の手順では、ElastiCache コンソール、AWS CLI、ElastiCache API を使用してセキュリティグループ
のプロパティを表示する方法を示しています。
セキュリティグループの表示 ((コンソール))
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインで [ Security Groups] を選択します。
使用可能なキャッシュセキュリティグループが、[ Security Groups] のリストに表示されます。
3.
[ Security Groups] リストからキャッシュセキュリティグループを選択します。
セキュリティグループに対して定義されている権限のリストがウィンドウの下部の詳細セクションに
表示されます。
セキュリティグループの表示 ((AWS CLI))
コマンドプロンプトで、表示するセキュリティグループの名前を指定して AWS CLI describe-cachesecurity-groups コマンドを使用します。
• --cache-security-group-name - 詳細を返すセキュリティグループの名前。
aws elasticache describe-cache-security-groups --cache-security-group-name mysecuritygroup
詳細については、「describe-cache-security-groups」を参照してください。
セキュリティグループの表示 ((ElastiCache API))
ElastiCache API で、表示するセキュリティグループの名前を指定して DescribeCacheSecurityGroups を
呼び出します。
• CacheSecurityGroupName – 詳細を返すキャッシュセキュリティグループの名前。
Example
次のコード例の改行が読み込みのために追加されます。
https://elasticache.amazonaws.com/
?Action=DescribeCacheSecurityGroups
&CacheSecurityGroupName=mysecuritygroup
&Version=2015-02-02
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T220302Z
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Date=20150202T220302Z
API Version 2015-02-02
282
Amazon ElastiCache ユーザーガイド
セキュリティグループの表示 ((ElastiCache API))
&X-Amz-SignedHeaders=Host
&X-Amz-Expires=20150202T220302Z
&X-Amz-Credential=<credential>
&X-Amz-Signature=<signature>
API Version 2015-02-02
283
Amazon ElastiCache ユーザーガイド
Amazon EC2 セキュリティグルー
プへのネットワークアクセスの許可
Amazon EC2 セキュリティグループへのネット
ワークアクセスの許可
このトピックは、Amazon VPC で実行していない場合にのみ該当します。Amazon VPC で実行している場
合は、「Amazon Virtual Private Cloud (Amazon VPC) と ElastiCache (p. 340)」を参照してください。
Amazon EC2 インスタンスからクラスターにアクセスする場合、EC2 インスタンスが属する Amazon EC2
セキュリティグループにアクセスを許可する必要があります。以下の手順では、Amazon EC2 セキュリ
ティグループにアクセスを許可する方法を示します。
Important
• Amazon EC2 セキュリティグループにアクセスを許可する場合、その Amazon EC2 セキュリ
ティグループに属するすべての EC2 インスタンスからクラスターへのアクセスのみが許可され
ます。
• アクセス許可に対する変更が有効になるまでに約 1 分かかります。
Amazon EC2 セキュリティグループへのネットワーク
アクセスの許可 (コンソール)
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインで [ Security Groups] を選択します。
3.
[Security Groups] リストで、アクセスを許可するセキュリティグループの左にあるチェックボックス
をオンにします。
4.
ウィンドウの下部にある [EC2 Security Group Name] リストで、お客様の Amazon EC2 セキュリティ
グループを選択します。
5.
[Add] を選択します。
Amazon EC2 セキュリティグループへのネットワーク
アクセスの許可 (AWS CLI)
コマンドプロンプトで、Amazon EC2 セキュリティグループにアクセスを許可するには、authorizecache-security-group-ingress コマンドを使用します。以下のパラメータを使用します。
• --cache-security-group-name – Amazon EC2 アクセスに付与しているセキュリティグループの名前。
• --ec2-security-group-name – Amazon EC2 インスタンスが属する Amazon EC2 セキュリティグルー
プの名前。
• --ec2-security-group-owner-id – Amazon EC2 セキュリティグループ所有者の ID。
Example
Linux, macOS, or Unix 用:
aws elasticache authorize-cache-security-group-ingress \
--cache-security-group-name default \
--ec2-security-group-name myec2group \
--ec2-security-group-owner-id 987654321021
API Version 2015-02-02
284
Amazon ElastiCache ユーザーガイド
Amazon EC2 セキュリティグループへのネッ
トワークアクセスの許可 (ElastiCache API)
Windows の場合:
aws elasticache authorize-cache-security-group-ingress ^
--cache-security-group-name default ^
--ec2-security-group-name myec2group ^
--ec2-security-group-owner-id 987654321021
このコマンドでは、次のような出力が生成されます。
SECGROUP Name
Description
SECGROUP default default
EC2-SECGROUP myec2group
987654321021
authorizing
詳細については、「authorize-cache-security-group-ingress」を参照してください。
Amazon EC2 セキュリティグループへのネットワーク
アクセスの許可 (ElastiCache API)
以下のパラメータを指定して、ElastiCache API を使用して AuthorizeCacheSecurityGroupIngress を呼
び出します。
• CacheSecurityGroupName – Amazon EC2 アクセスに付与しているセキュリティグループの名前。
• EC2SecurityGroupName – Amazon EC2 インスタンスが属する Amazon EC2 セキュリティグループの名
前。
• EC2SecurityGroupOwnerId – Amazon EC2 セキュリティグループ所有者の ID。
Example
https://elasticache.us-west-2.amazonaws.com/
?Action=AuthorizeCacheSecurityGroupIngress
&EC2SecurityGroupOwnerId=987654321021
&EC2SecurityGroupName=myec2group
&Version=2015-02-02
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T220302Z
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Date=20150202T220302Z
&X-Amz-SignedHeaders=Host
&X-Amz-Expires=20150202T220302Z
&X-Amz-Credential=<credential>
&X-Amz-Signature=<signature>
詳細については、「AuthorizeCacheSecurityGroupIngress」を参照してください。
API Version 2015-02-02
285
Amazon ElastiCache ユーザーガイド
パラメータとパラメータグループ
Amazon ElastiCache はパラメータを使用して、ノードとクラスターの実行時のプロパティを制御しま
す。通常、新しいエンジンバージョンには新しい機能をサポートするための追加のパラメータが含まれ
ます。エンジンやバージョンごとのパラメータのテーブルについては、「Memcached 固有のパラメー
タ (p. 302)」および「Redis 固有のパラメータ (p. 313)」を参照してください。
もちろん、max_cache_memory などのパラメーター値はエンジンやノードのタイプによって決まります。
ノードタイプ別のパラメータ値のテーブルについては、「Memcached のノードタイプ固有のパラメー
タ (p. 312)」および「Redis のノードタイプ固有のパラメータ (p. 328)」を参照してください。
トピック
• パラメーター管理 (p. 287)
• キャッシュパラメータグループの階層 (p. 288)
• パラメーターグループを作成する (p. 289)
• パラメータグループを名前別に一覧表示する (p. 292)
• パラメータグループの値を一覧する (p. 295)
• パラメータグループを変更する (p. 298)
• パラメータグループを削除する (p. 300)
• Memcached 固有のパラメータ (p. 302)
• Redis 固有のパラメータ (p. 313)
API Version 2015-02-02
286
Amazon ElastiCache ユーザーガイド
パラメーター管理
パラメーター管理
パラメータの管理を容易にするために、パラメータは名前付きのパラメータグループに分類されます。パ
ラメータグループは、起動時にエンジンソフトウェアに渡されるパラメーターの特定の値の組み合わせを
表しています。これらの値により、各ノードのエンジンプロセスが実行時にどのように動作するかが決ま
ります。特定のパラメータグループのパラメータ値は、クラスターが属するグループに関係なく、そのグ
ループに関連付けられているすべてのノードに適用されます。
クラスターのパフォーマンスを最適化するには、パラメータ値を変更するか、またはクラスターのパラ
メータグループを変更できます。
制約
• デフォルトのパラメータグループの変更や削除はできません。カスタムパラメータ値が必要な場合は、
独自のパラメータグループを作成する必要があります。
• パラメータグループファミリーとユーザーが割り当てているクラスターには、互換性が必要です。たと
えば、クラスターで Redis バージョン 2.8.6 を実行している場合は、Redis 2.8 ファミリーのグループか
らデフォルトまたはカスタムのパラメータグループのみを使用できます。Redis 2.6 パラメータグループ
ファミリーのものは使用できません。
• クラスターのパラメータグループを変更する場合は、条件付きで変更可能なパラメータの値は、現在の
パラメータグループと新しいパラメータグループで一致している必要があります。
• クラスターのパラメータを変更する場合は、クラスターのパラメータグループまたはクラスターのパ
ラメータグループのパラメータ値を変更することによって、変更がすぐにまたはクラスターの再起動
後にクラスターに適用されます。特定のパラメータの変更が適用するタイミングであるかを確認する
には、以下のテーブルの Changes Take Effect 列を参照してください。Memcached 固有のパラメー
タ (p. 302) および Redis 固有のパラメータ (p. 313)クラスターの再起動については、「クラスターの
再起動 (p. 158)」を参照してください。
API Version 2015-02-02
287
Amazon ElastiCache ユーザーガイド
パラメータグループの階層
キャッシュパラメータグループの階層
Amazon ElastiCache には、ここに説明されるキャッシュパラメータグループの 3 つの階層があります。
Amazon ElastiCache パラメータグループの階層
グローバルデフォルト
リージョン内のすべての Amazon ElastiCache のお客様向け最上位ルートパラメータグループ。
グローバルデフォルトのキャッシュパラメータグループ:
• ElastiCache 向けに確保されており、お客様が使用することはできません。
お客様デフォルト
グローバルデフォルトのキャッシュパラメータグループのコピーは、お客様が使用するために作成されて
います。
お客様デフォルトのキャッシュパラメータグループ:
• ElastiCache が作成、所有します。
• このキャッシュパラメータグループでサポートされているエンジンのバージョンを実行しているすべ
てのクラスターのキャッシュパラメータグループとして使用できます。たとえば、default.redis2.8
は、Redis エンジンのバージョン 2.8 x をサポートします。
• お客様が編集することはできません。
お客様所有
お客様デフォルトのキャッシュパラメータグループのコピー。お客様所有のキャッシュパラメータグルー
プは、お客様がキャッシュパラメータグループを作成する度に作成されます。
お客様所有のキャッシュパラメータグループ:
• お客様が作成、所有します。
• お客様の互換性のあるいずれのクラスターにも割り当てることができます。たとえば、ファミリー
redis2.8 で作成されたキャッシュパラメータグループは、Redis 2.8 x を実行しているどのクラスター
でも使用できます。
• カスタムキャッシュパラメータグループを作成するようにお客様が変更できます。カスタムキャッシュ
パラメータグループを作成するようにお客様が変更できます。
†すべてのパラメーター値を変更できるわけではありません。詳細については、「Memcached 固有のパ
ラメータ (p. 302)」または「Redis 固有のパラメータ (p. 313)」を参照してください。
API Version 2015-02-02
288
Amazon ElastiCache ユーザーガイド
パラメーターグループを作成する
パラメーターグループを作成する
デフォルト値から変更するパラメーターの値が 1 つ以上ある場合、新しいパラメータグループを作成する
必要があります。セキュリティグループは、ElastiCache コンソール、AWS CLI または ElastiCache API
を使って作成できます。
パラメータグループを作成する (コンソール)
次の手順では、ElastiCache コンソールを使用してパラメータグループを編集する方法を示します。
ElastiCache コンソールを使用してパラメータグループを作成するには
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインで [ Parameter Groups] を選択します。
使用できるパラメータグループのリストは、[Parameter Groups] 画面に表示されます。
3.
パラメータグループを作成するには、[Create Parameter Group] を選択します。
[Create Parameter Group] 画面が表示されます。
4.
[Family] のリストから、パラメータグループのテンプレートとなるパラメータグループファミリーを
選択します。
パラメータグループファミリーは、redis2.8 などの実際のパラメータグループの実際のパラメータお
よびその初期値を定義します。パラメータグループファミリーは、クラスターのエンジンおよびバー
ジョンと一致している必要があります。たとえば、redis2.8 ファミリーでパラメータグループを作成
して Redis バージョン 2.6 を実行しているクラスターでそれを使用することはできません。
5.
[Name] ボックスで、このパラメータグループの一意の名前を入力します。
クラスターのパラメータグループを作成または変更するときは、パラメータグループを名前で選択し
ます。したがって、わかりやすくパラメータグループのファミリーを特定するのに役立つ名前をお勧
めします。たとえば、Redis2-8-24-Custom のような名前を付けます。
パラメーターグループの命名に関する制約
• ASCII 文字で始まる必要があります。
• ASCII文字、数字、ハイフンのみを使用できます。
• 1~255 文字の長さが必要です。
• 連続する 2 つのハイフンを含めることはできません。
• 末尾をハイフンすることはできません。
6.
[Description] ボックスに、パラメータグループの説明を入力します。
7.
パラメータグループを作成するには、[Create] を選択します。
パラメータグループを作成しないでプロセスを終了するには、[Cancel] を選択します。
8.
パラメータグループが作成されると、ファミリーのデフォルト値が設定されます。デフォルト値を変
更するには、パラメータグループを変更する必要があります。詳細については、「パラメータグルー
プを変更する (p. 298)」を参照してください。
パラメータグループを作成する (AWS CLI)
AWS CLI を使用してパラメータグループを作成するには、以下のパラメータを指定して create-cacheparameter-group コマンドを使用します。
API Version 2015-02-02
289
Amazon ElastiCache ユーザーガイド
パラメータグループを作成する (ElastiCache API)
• --cache-parameter-group-name — パラメータグループの名前。
パラメーターグループの命名に関する制約
• ASCII 文字で始まる必要があります。
• ASCII文字、数字、ハイフンのみを使用できます。
• 1~255 文字の長さが必要です。
• 連続する 2 つのハイフンを含めることはできません。
• 末尾をハイフンすることはできません。
• --cache-parameter-group-family — パラメータグループのエンジンとバージョンファミリー。たとえ
ば、redis2.8 と指定します。
• --description — パラメータグループについてユーザーが入力する説明。
次の例では、redis2.8 ファミリーをテンプレートとして使用して、myRedis28 という名前のパラメータグ
ループを作成します。
Linux, macOS, or Unix 用:
aws elasticache create-cache-parameter-group \
--cache-parameter-group-name myRedis28 \
--cache-parameter-group-family redis2.8 \
--description "My first parameter group"
Windows の場合:
aws elasticache create-cache-parameter-group ^
--cache-parameter-group-name myRedis28 ^
--cache-parameter-group-family redis2.8 ^
--description "My first parameter group"
このコマンドの出力は次のようになります。
CACHEPARAMETERGROUP
myRedis28
redis2.8
My first
parameter group
パラメータグループが作成されると、ファミリーのデフォルト値が設定されます。デフォルト値を変更す
るには、パラメータグループを変更する必要があります。詳細については、「パラメータグループを変更
する (p. 298)」を参照してください。
詳細については、create-cache-parameter-groupを参照してください。
パラメータグループを作成する (ElastiCache API)
ElastiCache API を使用してパラメータグループを作成するには、以下のパラメータを指定して
CreateCacheParameterGroup アクションを使用します。
• ParameterGroupName — パラメータグループの名前。
パラメーターグループの命名に関する制約
•
•
•
•
•
ASCII 文字で始まる必要があります。
ASCII文字、数字、ハイフンのみを使用できます。
1~255 文字の長さが必要です。
連続する 2 つのハイフンを含めることはできません。
末尾をハイフンすることはできません。
API Version 2015-02-02
290
Amazon ElastiCache ユーザーガイド
パラメータグループを作成する (ElastiCache API)
• CacheParameterGroupFamily — パラメータグループのエンジンとバージョンファミリー。たとえ
ば、redis2.8 と指定します。
• Description — パラメータグループについてユーザーが入力する説明。
次の例では、redis2.8 ファミリーをテンプレートとして使用して、myRedis28 という名前のパラメータグ
ループを作成します。
https://elasticache.us-west-2.amazonaws.com/
?Action=CreateCacheParameterGroup
&CacheParameterGroupFamily=redis2.8
&CacheParameterGroupName=myRedis28
&Description=My%20first%20parameter%20group
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&Version=2015-02-02
&X-Amz-Credential=<credential>
このアクションからの応答は、次のようになります。
<CreateCacheParameterGroupResponse xmlns="http://elasticache.amazonaws.com/
doc/2013-06-15/">
<CreateCacheParameterGroupResult>
<CacheParameterGroup>
<CacheParameterGroupName>myRedis28</CacheParameterGroupName>
<CacheParameterGroupFamily>redis2.8</CacheParameterGroupFamily>
<Description>My first parameter group</Description>
</CacheParameterGroup>
</CreateCacheParameterGroupResult>
<ResponseMetadata>
<RequestId>d8465952-af48-11e0-8d36-859edca6f4b8</RequestId>
</ResponseMetadata>
</CreateCacheParameterGroupResponse>
パラメータグループが作成されると、ファミリーのデフォルト値が設定されます。デフォルト値を変更す
るには、パラメータグループを変更する必要があります。詳細については、「パラメータグループを変更
する (p. 298)」を参照してください。
詳細については、CreateCacheParameterGroupを参照してください。
API Version 2015-02-02
291
Amazon ElastiCache ユーザーガイド
パラメータグループを名前別に一覧表示する
パラメータグループを名前別に一覧表示する
ElastiCache コンソール、AWS CLI、または ElastiCache API を使用して、パラメータグループを一覧でき
ます。
パラメータグループを名前別に一覧表示する (コン
ソール)
次の手順は、ElastiCache コンソールを使用してパラメータグループのリストを表示する方法を示しま
す。
ElastiCache コンソールを使用してパラメータグループを一覧するには
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインで [ Parameter Groups] を選択します。
使用できるパラメータグループのリストは、[Parameter Groups] 画面に表示されます。リスト内の各
行にはパラメータグループの名前、ファミリー、および説明が表示されます。
パラメータグループを名前別に一覧表示する (AWS
CLI)
AWS CLI を使用してパラメータグループのリストを生成するには、describe-cache-parameter-groups
コマンドを使用します。パラメータグループの名前を指定した場合は、そのパラメータグループのみが一
覧表示されます。パラメータグループの名前を指定しない場合は、最大で --max-records のパラメータグ
ループが一覧表示されます。いずれの場合も、パラメータグループの名前、ファミリー、および説明が表
示されます。
次のサンプルコードは、パラメータグループ myRedis28 のリストです。
Linux, macOS, or Unix 用:
aws elasticache describe-cache-parameter-groups \
--cache-parameter-group-name myRedis28
Windows の場合:
aws elasticache describe-cache-parameter-groups ^
--cache-parameter-group-name myRedis28
このコマンドの出力は、名前の一覧、ファミリー、パラメータグループの説明となります。
CACHEPARAMETERGROUP
myRedis28
redis2.8
My Redis 2.8 parameter group
次のサンプルコードリストには、最大で 10 個のパラメータグループが一覧されています。
aws elasticache describe-cache-parameter-groups --max-records 10
このコマンドの出力は、名前の一覧、ファミリー、各パラメータグループの説明となります。
API Version 2015-02-02
292
Amazon ElastiCache ユーザーガイド
パラメータグループを名前別に
一覧表示する (ElastiCache API)
CACHEPARAMETERGROUP
CACHEPARAMETERGROUP
myRedis28
myMem14
redis2.8
My Redis 2.8 parameter group
memcached1.4 My Memcached 1.4 parameter group
詳細については、describe-cache-parameter-groupsを参照してください。
パラメータグループを名前別に一覧表示する
(ElastiCache API)
ElastiCache API を使用してパラメータグループのリストを生成するに
は、DescribeCacheParameterGroups アクションを使用します。パラメータグループの名前を指定した場
合は、そのパラメータグループのみが一覧表示されます。パラメータグループの名前を指定しない場合
は、最大で MaxRecords のパラメータグループが一覧表示されます。いずれの場合も、パラメータグルー
プの名前、ファミリー、および説明が表示されます。
次のサンプルコードは、パラメータグループ myRedis28 のリストです。
https://elasticache.us-west-2.amazonaws.com/
?Action=DescribeCacheParameterGroups
&CacheParameterGroupName=myRedis28
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&Version=2015-02-02
&X-Amz-Credential=<credential>
このアクションからの応答は、各グループパラメータの名前の一覧、ファミリー、説明となります。
<DescribeCacheParameterGroupsResponse xmlns="http://elasticache.amazonaws.com/
doc/2013-06-15/">
<DescribeCacheParameterGroupsResult>
<CacheParameterGroups>
<CacheParameterGroup>
<CacheParameterGroupName>myRedis28</CacheParameterGroupName>
<CacheParameterGroupFamily>redis 2.8</CacheParameterGroupFamily>
<Description>My Redis 2.8 parameter group</Description>
</CacheParameterGroup>
</CacheParameterGroups>
</DescribeCacheParameterGroupsResult>
<ResponseMetadata>
<RequestId>3540cc3d-af48-11e0-97f9-279771c4477e</RequestId>
</ResponseMetadata>
</DescribeCacheParameterGroupsResponse>
次のサンプルコードリストには、最大で 10 個のパラメータグループが一覧されています。
https://elasticache.us-west-2.amazonaws.com/
?Action=DescribeCacheParameterGroups
&MaxRecords=10
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&Version=2015-02-02
&X-Amz-Credential=<credential>
このアクションからの応答は、各グループパラメータの名前の一覧、ファミリー、説明となります。
<DescribeCacheParameterGroupsResponse xmlns="http://elasticache.amazonaws.com/
doc/2013-06-15/">
API Version 2015-02-02
293
Amazon ElastiCache ユーザーガイド
パラメータグループを名前別に
一覧表示する (ElastiCache API)
<DescribeCacheParameterGroupsResult>
<CacheParameterGroups>
<CacheParameterGroup>
<CacheParameterGroupName>myRedis28</CacheParameterGroupName>
<CacheParameterGroupFamily>redis2.8</CacheParameterGroupFamily>
<Description>My Redis 2.8 parameter group</Description>
</CacheParameterGroup>
<CacheParameterGroup>
<CacheParameterGroupName>myMem14</CacheParameterGroupName>
<CacheParameterGroupFamily>memcached1.4</CacheParameterGroupFamily>
<Description>My Memcached 1.4 parameter group</Description>
</CacheParameterGroup>
</CacheParameterGroups>
</DescribeCacheParameterGroupsResult>
<ResponseMetadata>
<RequestId>3540cc3d-af48-11e0-97f9-279771c4477e</RequestId>
</ResponseMetadata>
</DescribeCacheParameterGroupsResponse>
詳細については、DescribeCacheParameterGroupsを参照してください。
API Version 2015-02-02
294
Amazon ElastiCache ユーザーガイド
パラメータグループの値を一覧する
パラメータグループの値を一覧する
ElastiCache コンソール、AWS CLI、または ElastiCache API を使用して、パラメータグループのパラメー
タとその値を一覧できます。
パラメータグループの値を一覧する (コンソール)
次の手順は、ElastiCache コンソールを使用してパラメータグループのパラメータと値を一覧する方法を
示しています。
ElastiCache コンソールを使用してパラメータグループのパラメータとその値を表示するには
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインで [ Parameter Groups] を選択します。
使用できるパラメータグループのリストは、[Parameter Groups] 画面に表示されます。
3.
パラメータグループ名の左側にあるボックスを選択して、パラメーターと値を一覧するパラメータグ
ループを選択します。
パラメータと値は画面の下部に表示されます。パラメータの数によっては、スクロールして関心のあ
るパラメータを検索するに必要がある場合もあります。
パラメータグループの値を一覧する (AWS CLI)
AWS CLI を使用してパラメータグループのパラメータとその値の一覧を表示するには、describe-cacheparameters コマンドを使用します。
次のサンプルコードは、パラメータグループ myRedis28 のすべてのパラメータと値リストを一覧します。
Linux, macOS, or Unix 用:
aws elasticache describe-cache-parameters \
--cache-parameter-group-name myRedis28
Windows の場合:
aws elasticache describe-cache-parameters ^
--cache-parameter-group-name myRedis28
このコマンドの出力は次のようになります。
{
"Parameters": [
{
"Description": "Apply rehashing or not.",
"DataType": "string",
"ChangeType": "requires-reboot",
"IsModifiable": true,
"AllowedValues": "yes,no",
"Source": "system",
"ParameterValue": "yes",
"ParameterName": "activerehashing",
API Version 2015-02-02
295
Amazon ElastiCache ユーザーガイド
パラメータグループの値を一覧する (ElastiCache API)
"MinimumEngineVersion": "2.8.6"
},
(...sample truncated...)
{
"Description": "Enable Redis persistence.",
"DataType": "string",
"ChangeType": "immediate",
"IsModifiable": true,
"AllowedValues": "yes,no",
"Source": "system",
"ParameterValue": "no",
"ParameterName": "appendonly",
"MinimumEngineVersion": "2.8.6"
}
]
}
詳細については、describe-cache-parametersを参照してください。
パラメータグループの値を一覧する (ElastiCache API)
ElastiCache API を使用してパラメータグループのパラメータとその値の一覧を表示するに
は、DescribeCacheParameters アクションを使用します。
次のサンプルコードは、パラメータグループ myRedis28 のすべてのパラメータを一覧します。
https://elasticache.us-west-2.amazonaws.com/
?Action=DescribeCacheParameters
&CacheParameterGroupName=myRedis28
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&Version=2015-02-02
&X-Amz-Credential=<credential>
このアクションからの応答は、次のようになります。この応答には短縮されています。
<DescribeCacheParametersResponse xmlns="http://elasticache.amazonaws.com/doc/2013-06-15/">
<DescribeCacheParametersResult>
<CacheClusterClassSpecificParameters>
<CacheNodeTypeSpecificParameter>
<DataType>integer</DataType>
<Source>system</Source>
<IsModifiable>false</IsModifiable>
<Description>The maximum configurable amount of memory to use to store items, in
megabytes.</Description>
<CacheNodeTypeSpecificValues>
<CacheNodeTypeSpecificValue>
<Value>1000</Value>
<CacheClusterClass>cache.c1.medium</CacheClusterClass>
</CacheNodeTypeSpecificValue>
<CacheNodeTypeSpecificValue>
<Value>6000</Value>
<CacheClusterClass>cache.c1.xlarge</CacheClusterClass>
</CacheNodeTypeSpecificValue>
<CacheNodeTypeSpecificValue>
<Value>7100</Value>
<CacheClusterClass>cache.m1.large</CacheClusterClass>
</CacheNodeTypeSpecificValue>
<CacheNodeTypeSpecificValue>
<Value>1300</Value>
API Version 2015-02-02
296
Amazon ElastiCache ユーザーガイド
パラメータグループの値を一覧する (ElastiCache API)
<CacheClusterClass>cache.m1.small</CacheClusterClass>
</CacheNodeTypeSpecificValue>
...output omitted...
</CacheNodeTypeSpecificValues>
<AllowedValues>1-100000</AllowedValues>
<ParameterName>max_cache_memory</ParameterName>
<MinimumEngineVersion>1.4.5</MinimumEngineVersion>
</CacheNodeTypeSpecificParameter>
<CacheNodeTypeSpecificParameter>
<DataType>integer</DataType>
<Source>system</Source>
<IsModifiable>false</IsModifiable>
<Description>The number of memcached threads to use.</Description>
<CacheNodeTypeSpecificValues>
<CacheNodeTypeSpecificValue>
<Value>2</Value>
<CacheClusterClass>cache.c1.medium</CacheClusterClass>
</CacheNodeTypeSpecificValue>
<CacheNodeTypeSpecificValue>
<Value>8</Value>
<CacheClusterClass>cache.c1.xlarge</CacheClusterClass>
</CacheNodeTypeSpecificValue>
...output omitted...
</CacheNodeTypeSpecificValues>
<AllowedValues>1-8</AllowedValues>
<ParameterName>num_threads</ParameterName>
<MinimumEngineVersion>1.4.5</MinimumEngineVersion>
</CacheNodeTypeSpecificParameter>
</CacheClusterClassSpecificParameters>
<Parameters>
<Parameter>
<ParameterValue>1024</ParameterValue>
<DataType>integer</DataType>
<Source>system</Source>
<IsModifiable>false</IsModifiable>
<Description>The backlog queue limit.</Description>
<AllowedValues>1-10000</AllowedValues>
<ParameterName>backlog_queue_limit</ParameterName>
<MinimumEngineVersion>1.4.5</MinimumEngineVersion>
</Parameter>
<Parameter>
<ParameterValue>auto</ParameterValue>
<DataType>string</DataType>
<Source>system</Source>
<IsModifiable>false</IsModifiable>
<Description>Binding protocol.</Description>
<AllowedValues>auto,binary,ascii</AllowedValues>
<ParameterName>binding_protocol</ParameterName>
<MinimumEngineVersion>1.4.5</MinimumEngineVersion>
</Parameter>
...output omitted...
</Parameters>
</DescribeCacheParametersResult>
<ResponseMetadata>
<RequestId>6d355589-af49-11e0-97f9-279771c4477e</RequestId>
</ResponseMetadata>
</DescribeCacheParametersResponse>
詳細については、DescribeCacheParametersを参照してください。
API Version 2015-02-02
297
Amazon ElastiCache ユーザーガイド
パラメータグループを変更する
パラメータグループを変更する
Important
デフォルトのパラメータグループを変更することはできません。
パラメータグループでいくつかのパラメータを変更できます。これらのパラメータ値は、パラメータグ
ループに関連付けられるクラスターに適用されます。パラメータ値の変更がパラメータグループに適用さ
れる場合の詳細については、「Memcached 固有のパラメータ (p. 302)」および「Redis 固有のパラメー
タ (p. 313)」を参照してください。
パラメータグループを変更する (コンソール)
次の手順では、ElastiCache コンソールで binding_protocol パラメーター値を変更する方法を説明しま
す。同じ手順を使用して、すべてのパラメーターを変更します。
ElastiCache コンソールを使用してパラメータ値を変更するには
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインで [ Parameter Groups] を選択します。
使用できるパラメータグループのリストは、[Parameter Groups] 画面に表示されます。
3.
パラメータグループ名の左側にあるボックスを選択して、変更するパラメータグループを選択しま
す。
パラメータグループのパラメータは、画面の下部に表示されます。すべてのパラメータを確認するに
は、ページでリストを作成する必要があります。
4.
複数のパラメーターを修正するには、[Edit Parameters] を選択します。
[Edit Parameter Group: ] 画面が表示されます。
5.
[パラメータグループの編集:] 画面において、binding_protocol パラメーターが見つかるまで、左ま
たは右の矢印を使用してスクロールします。次に、[値] 列に ascii と入力します。
6.
[変更の保存] を選択します。
7.
次のいずれかのトピックで変更したパラメーターの名前を見つけます。
• Memcached 固有のパラメータ (p. 302)
• Redis 固有のパラメータ (p. 313)
再起動後にパラメーターを変更する場合は、このパラメータグループを使用するクラスターを再起動
します。詳細については、「クラスターの再起動 (p. 158)」を参照してください。
パラメータグループを変更する (AWS CLI)
AWS CLI を使用してパラメータ値を変更するには、modify-cache-parameter-group コマンドを使用しま
す。
次のサンプルコードは、binding_protocol の値を MyMemPG パラメータグループの ascii に設定しま
す。同一コードを使用すると、以下に表示されるパラメータグループの名前、パラメータの名前、パラ
メーターの新しい値が変更されます。
Linux, macOS, or Unix 用:
API Version 2015-02-02
298
Amazon ElastiCache ユーザーガイド
パラメータグループを変更する (ElastiCache API)
aws elasticache modify-cache-parameter-group \
--cache-parameter-group-name MyMemPG \
--parameter-name-values ParameterName=binding_protocol,ParameterValue=ascii
Windows の場合:
aws elasticache modify-cache-parameter-group ^
--cache-parameter-group-name MyMemPG ^
--parameter-name-values ParameterName=binding_protocol,ParameterValue=ascii
詳細については、modify-cache-parameter-groupを参照してください。
次のいずれかのトピックで変更したパラメーターの名前を見つけます。
• Memcached 固有のパラメータ (p. 302)
• Redis 固有のパラメータ (p. 313)
再起動後にパラメーターを変更する場合は、このパラメータグループを使用するクラスターを再起動しま
す。詳細については、「クラスターの再起動 (p. 158)」を参照してください。
パラメータグループを変更する (ElastiCache API)
ElastiCache API を使用してパラメータグループのパラメータ値を変更するに
は、ModifyCacheParameterGroup アクションを使用します。
次のサンプルコードは、binding_protocol の値を myMemPG パラメータグループの ascii に設定しま
す。同一コードを使用すると、以下に表示されるパラメータグループの名前、パラメータの名前、パラ
メーターの新しい値が変更されます。
https://elasticache.us-west-2.amazonaws.com/
?Action=ModifyCacheParameterGroup
&CacheParameterGroupName=MyMemPG
&ParameterNameValues.member.1.ParameterName=binding_protocol
&ParameterNameValues.member.1.ParameterValue=ascii
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&Version=2015-02-02
&X-Amz-Credential=<credential>
詳細については、ModifyCacheParameterGroupを参照してください。
パラメーターの更新および保存を行い、再起動後に変更する場合は、変更後のパラメータグループを使用
する各クラスターを再起動します。詳細については、「クラスターの再起動 (p. 158)」を参照してくださ
い。
次のいずれかのトピックで変更したパラメーターの名前を見つけます。
• Memcached 固有のパラメータ (p. 302)
• Redis 固有のパラメータ (p. 313)
再起動後にパラメーターを変更する場合は、このパラメータグループを使用するクラスターを再起動しま
す。詳細については、「クラスターの再起動 (p. 158)」を参照してください。
API Version 2015-02-02
299
Amazon ElastiCache ユーザーガイド
パラメータグループを削除する
パラメータグループを削除する
ElastiCache コンソール、AWS CLI、または ElastiCache API を使用してカスタムのパラメータグループを
削除できます。
パラメータグループがクラスターに関連付けられている場合は、パラメータグループを削除できません。
デフォルトのパラメータグループも削除できません。
パラメータグループを削除する (コンソール)
次の手順では、ElastiCache コンソールを使用してパラメータグループを削除する方法を示します。
ElastiCache コンソールを使用してパラメータグループを削除するには
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインで [ Parameter Groups] を選択します。
使用できるパラメータグループのリストは、[Parameter Groups] 画面に表示されます。
3.
パラメータグループ名の左側にあるボックスを選択して、削除するパラメータグループを選択しま
す。
[Delete] ボタンがアクティブになります。
4.
[Delete] を選択します。
[Delete Parameter Groups] の確認画面が表示されます。
5.
パラメータグループを削除するには、[Delete] を選択します。
パラメータグループを保持するには、[Cancel] を選択します。
パラメータグループを削除する (AWS CLI)
AWS CLI を使用してパラメータグループを削除するには、delete-cache-parameter-group コマンドを使
用します。削除するパラメータグループで、--cache-parameter-group-name で指定されたパラメータグ
ループは、それに関連付けられるクラスターを持つことはできません。また、デフォルトのパラメータグ
ループも持つことはできません。
次のサンプルコードは、myRedis28 パラメータグループを削除します。
Linux, macOS, or Unix 用:
aws elasticache delete-cache-parameter-group \
--cache-parameter-group-name myRedis28
Windows の場合:
aws elasticache delete-cache-parameter-group ^
--cache-parameter-group-name myRedis28
詳細については、delete-cache-parameter-groupを参照してください。
パラメータグループを削除する (ElastiCache API)
ElastiCache API を使用したパラメータグループを削除するには、DeleteCacheParameterGroup アクショ
ンを使用します。削除するパラメータグループで、CacheParameterGroupName で指定されたパラメータグ
API Version 2015-02-02
300
Amazon ElastiCache ユーザーガイド
パラメータグループを削除する (ElastiCache API)
ループは、それに関連付けられるクラスターを持つことはできません。また、デフォルトのパラメータグ
ループも持つことはできません。
次のサンプルコードは、myRedis28 パラメータグループを削除します。
https://elasticache.us-west-2.amazonaws.com/
?Action=DeleteCacheParameterGroup
&CacheParameterGroupName=myRedis28
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20150202T192317Z
&Version=2015-02-02
&X-Amz-Credential=<credential>
詳細については、DeleteCacheParameterGroupを参照してください。
API Version 2015-02-02
301
Amazon ElastiCache ユーザーガイド
Memcached 固有のパラメータ
Memcached 固有のパラメータ
Memcached クラスターにパラメータグループを指定しない場合、デフォルトのパラメータグループ
(default.memcached1.4) が使用されます。デフォルトのパラメータグループ内のパラメータは、どれも値
を変更できません。ただし、いつでもカスタムパラメータグループを作成して、クラスターに割り当てる
ことができます。
トピック
• Memcached 1.4.33 で追加されたパラメータ (p. 302)
• Memcached 1.4.24 で追加されたパラメータ (p. 304)
• Memcached 1.4.14 で追加されたパラメータ (p. 305)
• Memcached 1.4.5 では、パラメータがサポートされていました。 (p. 309)
• Memcached 接続オーバーヘッド (p. 311)
• Memcached のノードタイプ固有のパラメータ (p. 312)
Memcached 1.4.33 で追加されたパラメータ
Memcached 1.4.33 では、次のパラメータが追加でサポートされます。
パラメータグループファミリー: memcached1.4
名前
詳細
説明
modern
デフォルト: 有効
各種機能のエイリアス有効化
modern は、次のコマンドをオンに
し、murmur3 ハッシュアルゴリズム
(slab_reassign、slab_automove、lru_crawler、lr
を使用する場合と同等です。
タイプ: ブール値
変更可能: はい
変更の適用: 起動時
watch
デフォルト: 有効
タイプ: ブール値
変更可能: はい
ログ取得、削除または変異。
たとえば、watch をオンにする
と、get、set、delete または
update が発生したときにユーザーは
ログを表示できます。
変更の適用: 即時
ログ
は、watcher_logbuf_size
および
worker_logbuf_size 制
限に達すると削除でき
ます。
idle_timeout
デフォルト: 0 (無効)
タイプ: 整数
閉じる前にクライアントがアイドル
状態にできる最小秒数。値の範囲: 0
~86400
変更可能: はい
変更の適用: 起動時
cache_memlimit
タイプ: 整数
API Version 2015-02-02
302
メモリが事前に割り当てられていな
い場合は、実行中のシステムのメ
Amazon ElastiCache ユーザーガイド
Memcached 1.4.33 で追加されたパラメータ
名前
詳細
説明
変更可能: はい
モリ制限を動的に増やすことができ
ます。cache_memlimit N N は、値
(MB) を表します。値は増減できま
す。
変更の適用: 即時
範囲: 8 (MB)~ノードタイプの
maxmemory。
stats sizes
デフォルト: 無効
タイプ: ブール値
変更可能: はい
変更の適用: 即時
各スラブグループの消費サイズを表
示します。
track_sizes を使用していない場合
は、stats sizes_enable を実行して
stats sizes を有効にする必要があ
ります。stats sizes を無効にする
には、stats sizes_disable を実行
します。
track_sizes
デフォルト: 無効
タイプ: ブール値
変更可能: はい
変更の適用: 起動時
watcher_logbuf_size
デフォルト: 256 (KB)
タイプ: 整数
変更可能: はい
変更の適用: 起動時
worker_logbuf_size
デフォルト: 64 (KB)
タイプ: 整数
変更可能: はい
変更の適用: 起動時
slab_chunk_max
デフォルト: 524288 (バ
イト)
タイプ: 整数
変更可能: はい
変更の適用: 起動時
API Version 2015-02-02
303
各スラブグループの消費サイズを表
示します。
有効化 track_sizes を行うと、stats
sizes_enable を実行せずに stats
sizes を実行できます。
watch コマンドは、Memcached の
配信ログ作成をオンにします。ただ
し、削除、変異、取得によって、ロ
ギングバッファがいっぱいになる可
能性がある場合には、watch でログを
削除することができます。このよう
な場合、ユーザーは、バッファサイ
ズを増やして、ログ損失の可能性を
抑えることができます。
watch コマンドは、Memcached の
配信ログ作成をオンにします。ただ
し、削除、変異、取得によって、ロ
ギングバッファがいっぱいになる可
能性がある場合には、watch でログを
削除することができます。このよう
な場合、ユーザーは、バッファサイ
ズを増やして、ログ損失の可能性を
抑えることができます。
スラブの最大サイズを指定しま
す。スラブサイズを小さくする
と、メモリは効率的に使用されま
す。slab_chunk_max より大きい項目
は、複数のスラブに分割されます。
Amazon ElastiCache ユーザーガイド
Memcached 1.4.24 で追加されたパラメータ
名前
詳細
説明
lru_crawler metadump [all|1|2|3]
デフォルト: 無効
タイプ: ブール値
lru_crawler を有効化すると、このコ
マンドによってすべてのキーがダン
プされます。
変更可能: はい
all|1|2|3 - すべてのスラブ、または
変更の適用: 即時
特定のスラブ数を指定する
Memcached 1.4.24 で追加されたパラメータ
Memcached 1.4.24 では、次のパラメータが追加でサポートされます。
パラメータグループファミリー: memcached1.4
名前
詳細
説明
disable_flush_all
デフォルト: 0 (無効)
flush_all を無効化するパラメータ -F
を追加します。本稼働インスタンス
でフルフラッシュを実行しない場合
に便利です。
タイプ: ブール値
変更可能: はい
変更の適用: 起動時
hash_algorithm
デフォルト: jenkins
タイプ: 文字列
値: 0、1 (値が 0 の場合にユーザーは
flush_all を実行できます。)
使用されるハッシュアルゴリズム。
使用可能な値: murmur3 と jenkins。
変更可能: はい
変更の適用: 起動時
lru_crawler
デフォルト: 0 (無効)
タイプ: ブール値
変更可能: はい
変更の適用: 再起動後
Note
実行時に、コマ
ンドラインから
lru_crawler を
一時的に有効
にすることが
できます。詳
細については、
「Describe」列
を参照してくだ
さい。
API Version 2015-02-02
304
期限が切れた項目のスラブクラスを
消去します。これにより、バックグ
ラウンドで実行されるプロセスの影
響を小さくなります。現在は、手動
コマンドを使用して Crawl を起動す
る必要があります。
一時的に有効にするには、コマンド
ラインで lru_crawler enable を実
行します。
lru_crawler 1,3,5 はスラブクラス
1、3、5 をクロールし、freelist に
追加する期限切れの項目を検索しま
す。
値: 0、1
Note
コマンドラインで
lru_crawler を有効にして、
コマンドラインまたは次の
再起動で無効化されるまで
クローラを有効にします。
Amazon ElastiCache ユーザーガイド
Memcached 1.4.14 で追加されたパラメータ
名前
詳細
説明
永続的に有効にするには、パ
ラメータ値を変更する必要が
あります。詳細については、
「パラメータグループを変更
する (p. 298)」を参照してく
ださい。
デフォルト: 0 (無効)
lru_maintainer
タイプ: ブール値
容量に到達すると LRU 間で項目を
シャッフルするバックグラウンドス
レッドです。値: 0、1。
変更可能: はい
変更の適用: 起動時
expirezero_does_not_evict
デフォルト: 0 (無効)
タイプ: ブール値
lru_maintainer と併用すると、項目
の期限切れ時間が 0 (期限切れなし)
になります。
変更可能: はい
Warning
変更の適用: 起動時
これにより、期限切れでクリ
アされる他の項目をメモリか
ら排除して、メモリを使用で
きるようにすることができま
す。
lru_maintainer を無視するよう設定
できます。
Memcached 1.4.14 で追加されたパラメータ
Memcached 1.4.14 では、次のパラメータが追加でサポートされます。
パラメータグループファミリー: memcached1.4
Memcached 1.4.14 で追加されたパラメータ
名前
config_max
詳
説明
細
デ
ElastiCache 設定エントリの最大数。
フォ
ル
ト:
16
タ
イ
プ:
整
数
変
更
可
API Version 2015-02-02
305
Amazon ElastiCache ユーザーガイド
Memcached 1.4.14 で追加されたパラメータ
名前
詳
説明
細
能:
い
い
え
config_size_max
デ
設定エントリの最大サイズ (バイト単位)。
フォ
ル
ト:
65536
タ
イ
プ:
整
数
変
更
可
能:
い
い
え
hashpower_init
デ
ElastiCache ハッシュテーブルの初期サイズは、2 の累乗として表されます。
フォ
デフォルトは 16 (2^16)、つまり 65536 のキーです。
ル
ト:
16
タ
イ
プ:
整
数
変
更
可
能:
い
い
え
API Version 2015-02-02
306
Amazon ElastiCache ユーザーガイド
Memcached 1.4.14 で追加されたパラメータ
名前
maxconns_fast
詳
説明
細
デ
最大接続制限に達したときに新しい接続リクエストを処理する方法を変更し
フォ
ます。このパラメータを 0 (ゼロ) に設定した場合、新しい接続がバックログ
ル
キューに追加され、他の接続が終了するまで待機します。パラメータを 1 に
ト:
設定した場合、ElastiCache はクライアントにエラーを送信し、すぐに接続を
0 (false)
終了します。
タ
イ
プ:
ブー
ル
値
変
更
可
能:
は
い
変
更
の
適
用: 再
起
動
後
API Version 2015-02-02
307
Amazon ElastiCache ユーザーガイド
Memcached 1.4.14 で追加されたパラメータ
名前
slab_automove
詳
説明
細
デ
スラブ自動移動アルゴリズムを調整します。このパラメータを 0 (ゼロ)
フォ
に設定した場合、自動移動アルゴリズムは無効です。1 に設定した場
ル
合、ElastiCache 低速で控えめな手法を使用して、スラブを自動的に移動しま
ト:
す。2 に設定した場合、削除が生じると必ず ElastiCache はスラブを積極的
0に移動します (このモードは、テスト目的以外では推奨されません)。
タ
イ
プ:
整
数
変
更
可
能:
は
い
変
更
の
適
用: 再
起
動
後
API Version 2015-02-02
308
Amazon ElastiCache ユーザーガイド
Memcached 1.4.5 では、パラメー
タがサポートされていました。
名前
詳
説明
細
デ
スラブの再割り当てを有効または無効にします。このパラメータを 1 に設定
フォ
した場合、「slabs reassign」コマンドを使用してメモリを手動で再割り当て
ル
できます。
ト:
0 (false)
slab_reassign
タ
イ
プ:
ブー
ル
値
変
更
可
能:
は
い
変
更
の
適
用: 再
起
動
後
Memcached 1.4.5 では、パラメータがサポートされて
いました。
パラメータグループファミリー: memcached1.4
Memcached 1.4.5 では、さらに次のパラメータがサポートされています。
Memcached 1.4.5 で追加されたパラメータ
名前
詳細
説明
backlog_queue_limit
デフォルト: 1024
バックログキューの制限。
タイプ: 整数
変更可能: いいえ
binding_protocolデフォルト: auto
バインディングプロトコル。
タイプ: 文字列
許可される値は ascii および auto です。
変更可能: はい
binding_protocol の値を変更する際のガイダン
変更の適用: 再起動後
スについては、「パラメータグループを変更す
る (p. 298)」を参照してください。
API Version 2015-02-02
309
Amazon ElastiCache ユーザーガイド
Memcached 1.4.5 では、パラメー
タがサポートされていました。
名前
詳細
説明
cas_disabled
デフォルト: 0 (false)
1 (true) の場合、CAS (Check and Set) 操作が無効
タイプ: ブール値
変更可能: はい
になり、格納されている項目が消費するバイト数
は CAS が有効な場合より 8 バイト少なくなりま
す。
変更の適用: 再起動後
chunk_size
デフォルト: 48
最も小さい項目のキー、値、およびフラグ (バイト
単位) に割り当てる領域の最小量 (バイト単位)。
タイプ: 整数
変更可能: はい
変更の適用: 再起動後
chunk_size_growth_factor
デフォルト: 1.25
タイプ: 浮動小数点
連続する各 memcached チャンクのサイズを制御
する増加係数。各チャンクは、前のチャンクより
chunk_size_growth_factor 倍大きくなります。
変更可能: はい
変更の適用: 再起動後
error_on_memory_exhausted
デフォルト: 0 (false)
タイプ: ブール値
1 (true) の場合、項目を保存するメモリがない
と、Memcached によって項目が削除されるのでは
なくエラーが返されます。
変更可能: はい
変更の適用: 再起動後
large_memory_pages
デフォルト: 0 (false)
タイプ: ブール値
1 (true) の場合、ElastiCache は大量のメモリペー
ジを使用しようとします。
変更可能: いいえ
lock_down_paged_memory
デフォルト: 0 (false)
タイプ: ブール値
1 (true) の場合、ElastiCache はすべてのページ分
割メモリをロックダウンします。
変更可能: いいえ
max_item_size
デフォルト: 1048576
タイプ: 整数
クラスターに保存できる最も大きい項目のサイズ
(バイト単位)。
変更可能: はい
変更の適用: 再起動後
max_simultaneous_connections
デフォルト: 65000
同時接続の最大数。
タイプ: 整数
変更可能: いいえ
API Version 2015-02-02
310
Amazon ElastiCache ユーザーガイド
Memcached 接続オーバーヘッド
名前
詳細
説明
maximize_core_file_limit
デフォルト: 0 (false)
タイプ: ブール値
1 (true) の場合、ElastiCache はコアファイルの制
限を最大限に高くします。
変更可能:
変更の適用: いいえ
memcached_connections_overhead
デフォルト: 100
タイプ: 整数
変更可能: はい
Memcached 接続および他のさまざまなオーバー
ヘッド用に予約されるメモリの量。このパラメー
タの詳細については、「Memcached 接続オーバー
ヘッド (p. 311)」を参照してください。
変更の適用: 再起動後
requests_per_event
デフォルト: 20
タイプ: 整数
特定の接続のイベントごとの最大リクエスト数。
この制限は、リソース不足を防ぐために必要で
す。
変更可能: いいえ
Memcached 接続オーバーヘッド
各ノードで、項目の保存に使用可能なメモリは、ノード上の使用可能な合計メモリ
(max_cache_memory パラメーター内) から、接続や他のオーバーヘッドに使用されてい
るメモリ (memcached_connections_overhead パラメーター内) を引いた量です。たとえ
ば、タイプが cache.m1.small のノードには 1300MB の max_cache_memory があるとしま
す。memcached_connections_overhead がデフォルト値の 100 MB の場合、Memcached プロセスは項目
を保存するために 1,200 MB 使用できます。
memcached_connections_overhead パラメータのデフォルト値は、ほとんどのユースケースに適していま
す。ただし、接続オーバーヘッドの割り当てに必要な量は、リクエストの頻度、ペイロードサイズ、接続
数など、複数の要因によって変化します。
アプリケーションのニーズにさらに合うように memcached_connections_overhead の値を変
更できます。たとえば、memcached_connections_overhead パラメーターの値を大きくする
と、項目の保存に使用できるメモリの量が減り、接続のオーバーヘッド用のバッファが増えま
す。memcached_connections_overhead パラメーターの値を小さくすると、項目の保存に使用できるメモ
リは増えますが、スワップの使用とパフォーマンスの低下のリスクが高くなります。スワップの使用やパ
フォーマンスの低下が観察される場合、memcached_connections_overhead パラメータの値を大きくして
みてください。
Important
ノードタイプが cache.t1.micro の場合、memcached_connections_overhead の値は次のように
決まります。
• クラスターがデフォルトのパラメータグループを使用している場合、ElastiCache は
memcached_connections_overhead の値を 13 MB に設定します。
• 自身で作成したパラメータグループをクラスターが使用している場
合、memcached_connections_overhead の値を選択した値に設定できます。
API Version 2015-02-02
311
Amazon ElastiCache ユーザーガイド
Memcached のノードタイプ固有のパラメータ
Memcached のノードタイプ固有のパラメータ
ほとんどのパラメータの値は 1 つですが、一部のパラメータには、使用されているノードタイプによっ
て複数の値が設定されることがあります。次の表は、各ノードタイプの max_cache_memory パラメータと
num_threads パラメータのデフォルト値を示しています。これらのパラメータの値は変更できません。
ノードタイプ固有のパラメータ
Node Type
max_cache_memory (MiB)
num-threads
cache.t1.micro
213
1
cache.t2.micro
555
1
cache.t2.small
1588
1
cache.t2.medium
3301
2
cache.m1.small
1300
1
cache.m1.medium
3350
1
cache.m1.large
7100
2
cache.m1.xlarge
14600
4
cache.m2.xlarge
16700
2
cache.m2.2xlarge
33800
4
cache.m2.4xlarge
68000
8
cache.m3.medium
2850
1
cache.m3.large
6200
2
cache.m3.xlarge
13600
4
cache.m3.2xlarge
28600
8
cache.m4.large
6573
2
cache.m4.xlarge
14618
4
cache.m4.2xlarge
30412
8
cache.m4.4xlarge
62234
16
cache.m4.10xlarge
158355
40
6600
8
cache.r3.large
13800
2
cache.r3.xlarge
29100
4
cache.r3.2xlarge
59600
8
cache.r3.4xlarge
120600
16
cache.r3.8xlarge
242600
32
cache.c1.xlarge
API Version 2015-02-02
312
Amazon ElastiCache ユーザーガイド
Redis 固有のパラメータ
Redis 固有のパラメータ
Redis クラスターにパラメータグループを指定しない場合は、デフォルトのパラメータグループ
(default.redis2.6、default.redis2.8、または default.redis3.2) が使用されます。デフォルトのパラ
メータグループのすべてのパラメータの値は変更できません。ただし条件付きで変更可能なパラメータの
値が両方のパラメータグループで同じである限り、独自のパラメータグループを作成して、それをクラス
ターに割り当てることができます。
トピック
• Redis 3.2.4 パラメーターの変更 (p. 314)
• Redis 2.8.24 (拡張) で追加されたパラメータ (p. 316)
• Redis 2.8.23 (拡張) で追加されたパラメータ (p. 317)
• Redis 2.8.22 (拡張) で追加されたパラメータ (p. 318)
• Redis 2.8.21 で追加されたパラメータ (p. 319)
• Redis 2.8.19 で追加されたパラメータ (p. 319)
• Redis 2.8.6 で追加されたパラメータ (p. 319)
• Redis 2.6.13 パラメータ (p. 322)
• Redis のノードタイプ固有のパラメータ (p. 328)
Note
新しいバージョンの Redis ほど、より良く安定したユーザーエクスペリエンスを提供しているた
め、Redis バージョン 2.6.13、2.8.6、および 2.8.19 は ElastiCache コンソールから廃止されまし
た。お勧めしませんが、以前のいずれかの Redis バージョンを使用する必要がある場合は、AWS
CLI または ElastiCache API を使用できます。
詳細については、以下のトピックを参照してください。
AWS AWS CLI
ElastiCache API
クラスターの作成
キャッシュクラスターの作成
((AWS CLI)) (p. 144)
キャッシュクラスターの作成
((ElastiCache API)) (p. 146)
クラスターの変更
キャッシュクラスターの変更
((AWS CLI)) (p. 156)
キャッシュクラスターの変更
((ElastiCache API)) (p. 157)
レプリケーショングループの
作成
ゼロからの Redis (クラスター
モードが無効) レプリケー
ショングループの作成 ((AWS
CLI)) (p. 218)
ゼロからの Redis (クラス
ターモードが無効) レプリ
ケーショングループの作成
((ElastiCache API)) (p. 220)
ゼロからの Redis (クラスター
モードが有効) レプリケー
ショングループの作成 ((AWS
CLI)) (p. 224)
ゼロからの Redis (クラス
ターモードが有効) レプリ
ケーショングループの作成
((ElastiCache API)) (p. 228)
レプリケーショングループの
変更 ((AWS CLI)) (p. 237)
レプリケーショングルー
プの変更 ((ElastiCache
API)) (p. 237)
レプリケーショングループの
変更
Redis (クラスターモードが有効) クラスターまたはレプリケーショングループの作成に使用す
ることはできません。
Redis (クラスターモードが有効) クラスターまたはレプリケーショングループの変更に使用す
ることはできません。
API Version 2015-02-02
313
Amazon ElastiCache ユーザーガイド
Redis 3.2.4 パラメーターの変更
Redis 3.2.4 パラメーターの変更
パラメータグループファミリー: redis3.2
Redis 3.2.4 から、2 つのデフォルトのパラメータグループがあります。
• default.redis3.2 – Redis 3.2.4 を実行する場合は、Redis (クラスターモードが無効) レプリケーション
グループを作成し、Redis 3.2.4 のその他の機能を引き続き使用する場合は、このパラメータグループま
たはそこから派生したパラメータグループを指定します。
• default.redis3.2.cluster.on – Redis (クラスターモードが有効) レプリケーショングループを作成す
る場合は、このパラメータグループまたはそこから派生したパラメータグループを指定します。
トピック
• Redis 3.2.4 の新しいパラメーター (p. 314)
• Redis 3.2.4 (拡張) で変更されたパラメータ (p. 316)
Redis 3.2.4 の新しいパラメーター
パラメータグループファミリー: redis3.2
Redis 3.2.4 では、次のパラメータが追加でサポートされます。
名前
list-maxziplist-size
詳細
説明
デフォルト: -2
リストは、領域を節約する特殊な方法でエンコー
ドされます。内部リストノードあたり許可される
エントリの数は、要素の固定最大サイズまたは
最大数として指定できます。最大固定サイズに
は、-5~-1 を使用します。この意味は次のとおり
です。
タイプ: 整数
変更可能: いいえ
• -5: 最大サイズ: 64 KB - 通常のワークロードには
推奨されません
• -4: 最大サイズ: 32 KB - 推奨されません
• -3: 最大サイズ: 16 KB - 推奨されません
• -2: 最大サイズ: 8 KB - 推奨
• -1: 最大サイズ: 4 KB - 推奨
• 正の値は、リストノードあたり、最大でその数
の要素まで保存することを意味します。
listcompressdepth
デフォルト: 0
タイプ: 整数
変更可能: はい
変更の適用: 即時
リストは、圧縮される場合もあります。圧縮の深
さは、圧縮から除外するリストの端からのクイッ
クリスト ziplist ノードの数です。リストの先頭と
末尾は、プッシュおよびポップオペレーションを
高速にするために常に圧縮されません。設定は以
下のとおりです。
• 0: すべての圧縮を無効にします。
• 1: 先頭から末尾までの最初のノードで圧縮を開
始します。
[先頭]->ノード->ノード->...->ノード->[末尾]
API Version 2015-02-02
314
Amazon ElastiCache ユーザーガイド
Redis 3.2.4 パラメーターの変更
名前
詳細
説明
[先頭] と [末尾] を除くすべてのノードで圧縮を
実行します。
• 2: 先頭から末尾までの 2 番目のノードで圧縮を
開始します。
[先頭]->[次]->ノード->ノード->...->ノード->[前]>[末尾]
[先頭]、[次]、[前]、[末尾] は圧縮されません。他
のすべてのノードで圧縮を実行します。
• その他
clusterenabled
デフォルト: はい/いいえ
タイプ: ブール値
変更可能: いいえ
これがクラスターモードの Redis (クラスターモー
ドが有効) レプリケーショングループ (yes) か、非
クラスターモードの Redis (クラスターモードが有
効) レプリケーショングループである (no) かを示
します。クラスターモードの Redis (クラスター
モードが有効) レプリケーショングループはその
データを最大 15 のノードグループ間で分割できま
す。
† Redis 3.2.x には 2 つのデフォルトのパラメータ
グループがあります。
• default.redis3.2 – デフォルト値 no。
• default.redis3.2.cluster.on – デフォルト値
yes。
。
clusterrequire-fullcoverage
デフォルト: いいえ
タイプ: ブール値
変更可能: はい
変更の適用: 即時
いずれのノードの処理対象になっていないハッ
シュスロットが検出された場合、デフォルトで
は、クラスターモードの Redis (クラスターモード
が有効) ノードがクエリの受け入れを停止します。
このように、クラスターが部分的にダウンしてい
る場合、クラスターは使用できなくなります。す
べてのスロットが再び処理対象になると、クラス
ターは自動的に再び使用可能になります。
ただし、まだ処理対象になっているキー空間の部
分に対するクエリを受け入れ続けるようにクラス
ターのサブセットが機能していることが必要な場
合があります。その場合は、cluster-requirefull-coverage オプションを no に設定するだけで
す。
API Version 2015-02-02
315
Amazon ElastiCache ユーザーガイド
Redis 2.8.24 (拡張) で追加されたパラメータ
名前
hll-sparsemax-bytes
詳細
説明
デフォルト: 3000
HyperLogLog のスパースな表示バイト制限。この
制限には 16 バイトのヘッダーが含まれます。ス
パースな表現を使用する HyperLogLog がこの制限
を超えると、デンスな表現に変換されます。
タイプ: 整数
変更可能: はい
16,000 より大きい値はお勧めしません。その時点
では、デンスな表現の方がメモリ効率が高くなる
ためです。
変更の適用: 即時
PFADD の速度を下げすぎることなく領域効率の
良いエンコードの利点を活かせる (スパースなエン
コードで O(N) になる) ように、値は 3,000 までに
することをお勧めします。問題が CPU ではなく領
域であり、データセットが 0 ~ 15,000 の濃度の大
量の HyperLogLog で構成されているときは、値を
10,000 まで大きくすることができます。
Redis 3.2.4 (拡張) で変更されたパラメータ
パラメータグループファミリー: redis3.2
Redis 3.2.4 の場合、次のパラメーターが Redis 3.2.4 以降に変更されました。
名前
詳細
変更
appendonly
デフォルト: オフ
以前のバージョンの Redis からアップグレードす
る場合は、最初に appendonly をオフにする必要が
あります。
変更可能: いいえ
appendfsync
repl-timeout
デフォルト: オフ
変更可能: いいえ
以前のバージョンの Redis からアップグレードす
る場合は、最初に appendfsync をオフにする必要
があります。
デフォルト: 60
現在はデフォルト値 60 で、変更できません。
変更可能: いいえ
tcp-keepalive
デフォルト: 300
デフォルト値は 0 でした。
パラメーターは使用できなくなりました。
list-maxziplistentries
パラメーターは使用できなくなりました。
list-maxziplist-value
Redis 2.8.24 (拡張) で追加されたパラメータ
パラメータグループファミリー: redis2.8
Redis 2.8.24 では、追加でサポートされているパラメータはありません。
API Version 2015-02-02
316
Amazon ElastiCache ユーザーガイド
Redis 2.8.23 (拡張) で追加されたパラメータ
Redis 2.8.23 (拡張) で追加されたパラメータ
パラメータグループファミリー: redis2.8
Redis 2.8.23 では、以下のパラメータが追加でサポートされます。
名前
close-onslave-write
詳細
説明
デフォルト: はい
有効にした場合、読み取り専用レプリカに書き込
もうとするクライアントの接続は切断されます。
タイプ: 文字列 (はい/いいえ)
変更可能: はい
変更の適用: 即時
close-on-slave-write
close-on-slave-write パラメーターが ElastiCache に導入されたことで、リードレプリカがプライマリに
昇格するために両者間でロールが入れ替わるときのクラスターの応答を、より細かく制御できるようにな
りました。
リードレプリカクラスターが、マルチ AZ 対応レプリケーショングループのフェイルオーバー以外の理
由で、プライマリに昇格する場合、クライアントは引き続きエンドポイント A に書き込もうとします。
エンドポイント A はこの時点でリードレプリカのエンドポイントであるため、これらの書き込みは失
敗します。これは、close-on-slave-write が ElastiCache に導入される前の Redis に対する動作であ
り、close-on-slave-write を無効にした場合の動作です。
API Version 2015-02-02
317
Amazon ElastiCache ユーザーガイド
Redis 2.8.22 (拡張) で追加されたパラメータ
close-on-slave-write が有効になっていると、クライアントがリードレプリカに書き込もうとするた
びに、クラスターへのクライアントの接続は切断されます。アプリケーションロジックは、切断を検出
し、DNS テーブルを確認して、プライマリエンドポイント (この時点でエンドポイント B になっている)
に再接続する必要があります。
close-on-slave-write
を無効にする理由
close-on-slave-write を無効にしてクラスターへの書き込みが失敗する場合、close-on-slave-write を
無効にする理由を考えてみます。
前述したように、close-on-slave-write が有効になっていると、クライアントがリードレプリカに書き
込もうとするたびに、クラスターへのクライアントの接続は切断されます。ノードへの新たな接続が確
立されるまでに時間がかかるため、レプリカへの書き込みリクエストの結果としての切断と再接続は、そ
の新たな接続が確立されるまで同じ接続を使用する読み取りリクエストのレイテンシーにも影響を与えま
す。したがって、アプリケーションが特に読み取り過多だったり、レイテンシーの影響を非常に受けやす
かったりする場合、読み取りパフォーマンスが落ちないように、クライアントは接続されたままにするほ
うが良いことがあります。
Redis 2.8.22 (拡張) で追加されたパラメータ
パラメータグループファミリー: redis2.8
API Version 2015-02-02
318
Amazon ElastiCache ユーザーガイド
Redis 2.8.21 で追加されたパラメータ
Redis 2.8.22 では、追加でサポートされているパラメータはありません。
Important
• Redis バージョン 2.8.22 から、プライマリクラスターとレプリカクラスターに repl-backlogsize が適用されるようになりました。
• Redis バージョン 2.8.22 以降では、repl-timeout パラメータはサポートされていません。そ
のパラメータが変更された場合、appendonly と同様に、ElastiCache によってデフォルト (60
秒) で上書きされます。
次のパラメータはサポートされなくなりました。
• appendonly
• appendfsync
• repl-timeout
Redis 2.8.21 で追加されたパラメータ
パラメータグループファミリー: redis2.8
Redis 2.8.21 では、追加でサポートされているパラメータはありません。
Redis 2.8.19 で追加されたパラメータ
パラメータグループファミリー: redis2.8
Redis 2.8.19 では、追加でサポートされているパラメータはありません。
Redis 2.8.6 で追加されたパラメータ
パラメータグループファミリー: redis2.8
Redis 2.8.6 では、次のパラメータが追加でサポートされます。
名前
詳細
説明
min-slaves-max-lag
デフォルト: 10
プライマリノードからリードレプリ
カから ping リクエストを受け取る
必要がある秒数。この時間が経過し
てもプライマリが ping を受け取ら
ない場合、レプリカは使用可能と見
なされなくなります。使用可能なレ
プリカの数が min-slaves-to-write を
下回った場合、プライマリはその時
点で書き込みの受け入れを停止しま
す。
タイプ: 整数
変更可能: はい
変更の適用: 即時
このパラメータか min-slaves-to-write
のどちらかが 0 の場合、レプリカ
が使用できない場合でもプライマリ
ノードは常に書き込みリクエストを
受け入れます。
min-slaves-to-write
デフォルト: 0
API Version 2015-02-02
319
プライマリノードがクライアントか
らの書き込みを受け入れるために、
Amazon ElastiCache ユーザーガイド
Redis 2.8.6 で追加されたパラメータ
名前
詳細
説明
タイプ: 整数
使用可能でなければならないリード
レプリカの数。使用可能なレプリカ
の数がこの数を下回った場合、プラ
イマリノードは書き込みリクエスト
を受け入れなくなります。
変更可能: はい
変更の適用: 即時
このパラメータか min-slaves-maxlag のどちらかが 0 の場合、レプリカ
が使用できない場合でもプライマリ
ノードは常に書き込みリクエストを
受け入れます。
API Version 2015-02-02
320
Amazon ElastiCache ユーザーガイド
Redis 2.8.6 で追加されたパラメータ
名前
詳細
説明
notify-keyspace-events
デフォルト: (空の文字
列)
Redis はクライアントに通知できる
keyspace のタイプ。各イベントタイ
プは 1 文字で表されます。
タイプ: 文字列
変更可能: はい
変更の適用: 即時
• K - Keyspace イベント。プレ
フィックス __keyspace@<db>__
を付けて発行
• E - Key-event イベント。プレ
フィックス __keyevent@<db>__ を
付けて発行
• g - 固有でない汎用コマンド
(DEL、EXPIRE、RENAME など)
• $ - 文字列コマンド
• l - リストコマンド
• s - 設定コマンド
• h - ハッシュコマンド
• z - ソート対象セットコマンド
• x - 期限切れのイベント (キーの期
限が切れるたびにイベントが生成
されます)
• e - 削除されたイベント
(maxmemory に達したためにキー
が削除された場合にイベントが生
成されます)
• A - g$lshzxe のエイリアス
これらのイベントタイプは自由に組
み合わせることができます。たとえ
ば、AKE は Redis がすべてのイベン
トタイプの通知を発行できることを
意味します。
上に挙げられた文字以外の文字を使
用しないでください。使用しようと
すると、エラーメッセージが表示さ
れます。
デフォルトでは、このパラメータ
は空の文字列に設定されます。これ
は、keyspace イベント通知が無効で
あることを意味します。
API Version 2015-02-02
321
Amazon ElastiCache ユーザーガイド
Redis 2.6.13 パラメータ
名前
詳細
説明
repl-backlog-size
デフォルト: 1048576
プライマリノードバックログバッ
ファーのサイズ (バイト単位)。バッ
クログは、プライマリノードのデー
タの更新を記録するために使用され
ます。リードレプリカは、プライマ
リに接続すると、部分同期 (psync) の
実行を試みます。このとき、プライ
マリノードに追いつくことができる
ようにバックログからデータを適用
します。psync に失敗した場合は、完
全同期が必要です。
タイプ: 整数
変更可能: はい
変更の適用: 即時
このパラメータの最小値は 16384 で
す。
Note
Redis 2.8.22 から、このパラ
メータはプライマリクラス
ターとリードレプリカに適用
されます。
デフォルト: 3600
repl-backlog-ttl
タイプ: 整数
変更可能: はい
変更の適用: 即時
プライマリノードがバックログバッ
ファーを保持する秒数。最後のレ
プリカノードが切断されたときか
ら、バックログ内のデータは replbacklog-ttl の期限が切れるまで
変更されません。レプリカがこの
時間内にプライマリに接続されない
場合、プライマリはバックログバッ
ファーを解放します。レプリカが最
終的に再接続した場合、プライマリ
との完全同期を実行する必要があり
ます。
このパラメータを 0 に設定した場
合、バックログバッファーは解放さ
れません。
デフォルト: 60
repl-timeout
タイプ: 整数
変更可能: はい
変更の適用: 即時
Redis 2.6.13 パラメータ
パラメータグループファミリー: redis2.6
API Version 2015-02-02
322
次のタイムアウト時間 (秒単位) を表
します。
• 同期中の一括データ転送 (リードレ
プリカの観点から)
• プライマリノードのタイムアウト
(レプリカの観点から)
• レプリカのタイムアウト (プライマ
リノードの観点から)
Amazon ElastiCache ユーザーガイド
Redis 2.6.13 パラメータ
Redis バージョン 2.6.13 は、ElastiCache でサポートされた Redis の最初のバージョンです。次の表
は、ElastiCache によりサポートされている Redis 2.6.13 パラメータを示しています。
名前
詳細
説明
activerehashing デフォルト: はい
タイプ: 文字列 (はい/いいえ)
変更可能: 作成時
appendonly
Redis のアクティブな再ハッシュ機能を有効にする
かどうかを決定します。主要なハッシュテーブル
は、1 秒あたり 10 回再ハッシュされます。再ハッ
シュ操作ごとに 1 ミリ秒の CPU が消費されます。
パラメータグループを作成するとき、この値を設
定します。クラスターに新しいパラメータグルー
プを割り当てるとき、この値は以前のパラメータ
グループと新しいパラメータグループで一致して
いる必要があります。
デフォルト: いいえ
タイプ: 文字列
変更可能: はい
Redis の AOF (Append Only File) 機能を有効また
は無効にします。AOF は、キャッシュ内のデータ
を変更する Redis コマンドをキャプチャし、特定
のノード障害からの復元に使用されます。
デフォルト値は no です (AOF が無効であることを
意味します)。AOF を有効にするには、このパラ
メータを yes に設定します。
変更の適用: 即時
詳細については、「障害の軽減 (p. 68)」を参照し
てください。
Note
AOF (Append Only File)
は、cache.t1.micro ノードおよび
cache.t2* ノードではサポートされ
ません。このタイプのノードの場
合、appendonly パラメータ値は無視され
ます。
Note
マルチ AZ レプリケーショングループで
は、AOF は許可されません。
appendfsync
デフォルト: everysec
タイプ: 文字列
変更可能: はい
変更の適用: 即時
AOF 出力バッファーがディスクに書き込まれる頻
度を制御します。
• no - バッファーは必要に応じてディスクにフ
ラッシュされます。
• everysec - バッファーは 1 秒に 1 回フラッシュ
されます。これがデフォルト値です。
• always - バッファは、クラスターが変更される
たびにフラッシュされます。
Important
Redis バージョン 3.2.4 では、このパラ
メーターのアスペクト値が一部変更され
ています。Redis 3.2.4 (拡張) で変更され
API Version 2015-02-02
323
Amazon ElastiCache ユーザーガイド
Redis 2.6.13 パラメータ
名前
詳細
説明
たパラメータ (p. 316) を参照してくださ
い。
clientoutputbuffer-limitnormal-hardlimit
デフォルト: 0
クライアントの出力バッファーが指定されたバイ
ト数に達した場合、クライアントの接続が切断さ
れます。デフォルトは 0 です (ハード制限なし)。
タイプ: 整数
変更可能: はい
変更の適用: 即時
clientoutputbuffer-limitnormal-softlimit
デフォルト: 0
クライアントの出力バッファーが指定されたバイ
ト数に達した場合、クライアントの接続が切断さ
れますが、この条件が client-output-bufferlimit-normal-soft-seconds の間存続した場合
に限ります。デフォルトは 0 です (ソフト制限な
し)。
タイプ: 整数
変更可能: はい
変更の適用: 即時
clientoutputbuffer-limitnormal-softseconds
デフォルト: 0
クライアントの出力バッファーが、この秒数より
長い時間 client-output-buffer-limit-normalsoft-limit バイトのままの場合、クライアントの
接続が切断されます。デフォルトは 0 です (時間制
限なし)。
タイプ: 整数
変更可能: はい
変更の適用: 即時
clientoutputbuffer-limitpubsub-hardlimit
デフォルト: 33554432
タイプ: 整数
変更可能: はい
Redis 発行/サブスクライブクライアントの場合: ク
ライアントの出力バッファーが指定されたバイト
数に達した場合、クライアントの接続が切断され
ます。
変更の適用: 即時
clientoutputbuffer-limitpubsub-softlimit
デフォルト: 8388608
タイプ: 整数
変更可能: はい
変更の適用: 即時
clientoutputbuffer-limitpubsub-softseconds
デフォルト: 60
Redis 発行/サブスクライブクライアントの場合:
クライアントの出力バッファーが指定されたバイ
ト数に達した場合、クライアントの接続が切断さ
れますが、この条件が client-output-bufferlimit-pubsub-soft-seconds の間存続した場合に
限ります。
Redis 発行/サブスクライブクライアントの場合: ク
ライアントの出力バッファーがこの秒数より長い
間 client-output-buffer-limit-pubsub-softlimit バイトのままの場合、クライアントの接続
が切断されます。
タイプ: 整数
変更可能: はい
変更の適用: 即時
clientoutputbuffer-limitslave-hardlimit
デフォルト: 値については、
「Redis のノードタイプ固有のパ
ラメータ (p. 328)」を参照して
ください
Redis リードレプリカの場合: クライアントの出力
バッファーが指定されたバイト数に達した場合、
クライアントの接続が切断されます。
タイプ: 整数
変更可能: いいえ
API Version 2015-02-02
324
Amazon ElastiCache ユーザーガイド
Redis 2.6.13 パラメータ
名前
clientoutputbuffer-limitslave-softlimit
詳細
説明
デフォルト: 値については、
「Redis のノードタイプ固有のパ
ラメータ (p. 328)」を参照して
ください
Redis リードレプリカの場合: クライアントの出力
バッファーが指定されたバイト数に達した場合、
クライアントの接続が切断されますが、この条件
が client-output-buffer-limit-slave-softseconds の間存続した場合に限ります。
タイプ: 整数
変更可能: いいえ
clientoutputbuffer-limitslave-softseconds
databases
デフォルト: 60
タイプ: 整数
変更可能: いいえ
デフォルト: 16
タイプ: 整数
変更可能: 作成時
hash-maxziplistentries
デフォルト: 512
タイプ: 整数
変更可能: はい
Redis リードレプリカの場合: クライアントの出
力バッファーが、この秒数より長い時間 clientoutput-buffer-limit-slave-soft-limit バイト
のままの場合、クライアントの接続が切断されま
す。
論理パーティションデータベース数は分割されま
す。この値を低く抑えることをお勧めします。
パラメータグループを作成するとき、この値を設
定します。クラスターに新しいパラメータグルー
プを割り当てるとき、この値は以前のパラメータ
グループと新しいパラメータグループで一致して
いる必要があります。
ハッシュに使用されるメモリ量を決定します。エ
ントリが指定された数より少ないハッシュは、領
域を節約する特殊なエンコードを使用して格納さ
れます。
変更の適用: 即時
hash-maxziplist-value
デフォルト: 64
タイプ: 整数
変更可能: はい
ハッシュに使用されるメモリ量を決定します。エ
ントリが指定されたバイト数より小さいハッシュ
は、領域を節約する特殊なエンコードを使用して
格納されます。
変更の適用: 即時
list-maxziplistentries
デフォルト: 512
タイプ: 整数
変更可能: はい
リストに使用されるメモリ量を決定します。エン
トリが指定された数より少ないリストは、領域を
節約する特殊なエンコードを使用して格納されま
す。
変更の適用: 即時
list-maxziplist-value
デフォルト: 64
タイプ: 整数
変更可能: はい
リストに使用されるメモリ量を決定します。エン
トリが指定されたバイト数より小さいリストは、
領域を節約する特殊なエンコードを使用して格納
されます。
変更の適用: 即時
API Version 2015-02-02
325
Amazon ElastiCache ユーザーガイド
Redis 2.6.13 パラメータ
名前
lua-timelimit
maxclients
詳細
説明
デフォルト: 5000
タイプ: 整数
ElastiCache がスクリプトを停止するアクションを
実行までの Lua スクリプトの最大実行時間 (ミリ秒
単位)。
変更可能: いいえ
lua-time-limit を超過した場合、すべての Redis
デフォルト: 65000
一度に接続できるクライアントの最大数。
コマンドによりエラーが ____-BUSY の形式で返さ
れます。この状態により、多く必須 Redis 操作と
の干渉が発生する可能性があるため、ElastiCache
はまず SCRIPT KILL コマンドを発行します。これ
に失敗すると、ElastiCache は強制的に Redis を再
開します。
タイプ: 整数
変更可能: いいえ
maxmemorypolicy
デフォルト: volatile-lru
タイプ: 文字列
変更可能: はい
変更の適用: 即時
maxmemorysamples
デフォルト: 3
タイプ: 整数
変更可能: はい
メモリの最大使用量に到達したときのキーの削除
ポリシー。
有効な値は次のとおりです。volatile-lru |
allkeys-lru | volatile-random | allkeysrandom | volatile-ttl | noeviction
詳細については、「RedisLabs でサポートされて
いる削除ポリシー」を参照してください。
LRU (least-recently-used) と TTL (time-to-live) の計
算の場合、このパラメータはチェックするキーの
サンプルサイズを表します。デフォルトで、Redis
は 3 個のキーを選択し、最も長い間使用されてい
ないキーを使用します。
変更の適用: 即時
API Version 2015-02-02
326
Amazon ElastiCache ユーザーガイド
Redis 2.6.13 パラメータ
名前
reservedmemory
詳細
説明
デフォルト: 0
非クラスター用に予約されたメモリの合計。
デフォルトでは、Redis ノードは、ノード
の maxmemory を消費するまで大きくなりま
す (「Redis のノードタイプ固有のパラメー
タ (p. 328)」を参照)。この場合、メモリページ
ングが大量に行われるため、ノードパフォーマン
スが低下する可能性が高くなります。使用可能な
メモリの一部を Redis 以外の用途に確保してお
くことで、ページングの量を減らすことができま
す。
タイプ: 整数
変更可能: はい
変更の適用: 即時
たとえば、maxmemory が 900MB の
cache.m1.small ノードがあるとします。180 MB
を確保した場合、Redis はアプリケーションデータ
(キーや値のデータなど) を直接格納するためにこ
のメモリを消費しなくなります。代わりに、この
180 MB は、ノードのオペレーティングシステムと
その他のバックグラウンドプロセス用に確保され
ます。
リードレプリカ、AOF (Append-Only File)、または
多くのメモリを消費する他の Redis 機能を使用し
ている場合は、reserved-memory パラメーターの
値を大きくすることを検討してください。
このパラメータは ElastiCache に固有であり、標
準的な Redis ディストリビューションには含まれ
ていません。
詳細については、「Redis スナップショットを
作成するための十分なメモリがあることの確
認 (p. 65)」を参照してください。
set-maxintsetentries
デフォルト: 512
特定のタイプのセットに使用されるメモリの量を
決定します (64 ビット符号付き整数の範囲に収ま
る基数 10 の整数である文字列)。エントリが指定
された数より少ないセットは、領域を節約する特
殊なエンコードを使用して格納されます。
タイプ: 整数
変更可能: はい
変更の適用: 即時
slave-allowchaining
デフォルト: いいえ
タイプ: 文字列
Redis のリードレプリカは自身のリードレプリカを
持つことができるかどうかを決定します。
変更可能: いいえ
slowlog-logslower-than
デフォルト: 10000
タイプ: 整数
Redis の Slow Log 機能によりコマンドを記録する
最大実行時間 (マイクロ秒単位)。
変更可能: はい
変更の適用: 即時
API Version 2015-02-02
327
Amazon ElastiCache ユーザーガイド
Redis のノードタイプ固有のパラメータ
名前
slowlog-maxlen
詳細
説明
デフォルト: 128
Redis Slow Log の最大長。
タイプ: 整数
変更可能: はい
変更の適用: 即時
tcp-keepalive
デフォルト: 0
タイプ: 整数
変更可能: はい
変更の適用: 即時
0 以外の値 (N) に設定した場合、接続が維持され
ていることを確認するためにノードクライアント
が N 秒ごとにポーリングされます。デフォルト設
定の 0 では、このようなポーリングが行われませ
ん。
Important
Redis バージョン 3.2.4 では、このパラ
メーターのアスペクト値が一部変更され
ています。Redis 3.2.4 (拡張) で変更され
たパラメータ (p. 316) を参照してくださ
い。
timeout
デフォルト: 0
タイプ: 整数
変更可能: はい
0 以外の値 (N) に設定した場合、クライアントが N
秒間アイドル状態になると、ノードが接続を終了
します。デフォルト設定の 0 では、ノードはアイ
ドル状態のクライアントを切断しません。
変更の適用: 即時
zset-maxziplistentries
デフォルト: 128
タイプ: 整数
変更可能: はい
ソート対象セットに使用されるメモリ量を決定し
ます。要素が指定された数より少ないソート対象
セットは、領域を節約する特殊なエンコードを使
用して格納されます。
変更の適用: 即時
zset-maxziplist-value
デフォルト: 64
タイプ: 整数
変更可能: はい
ソート対象セットに使用されるメモリ量を決定し
ます。エントリが指定されたバイト数より小さい
ソート対象セットは、領域を節約する特殊なエン
コードを使用して格納されます。
変更の適用: 即時
Note
Redis 2.6.13 クラスターにパラメータグループを指定しない場合、デフォルトのパラメータグ
ループ (default.redis2.6) が使用されます。デフォルトのパラメータグループ内のパラメータ
は、どれも値を変更できません。ただし、いつでもカスタムパラメータグループを作成して、ク
ラスターに割り当てることができます。
Redis のノードタイプ固有のパラメータ
ほとんどのパラメータの値は 1 つですが、一部のパラメータには、使用されているノードタイプによって
複数の値が設定されることがあります。次の表は、各ノードタイプの maxmemory, client-output-bufferAPI Version 2015-02-02
328
Amazon ElastiCache ユーザーガイド
Redis のノードタイプ固有のパラメータ
limit-slave-hard-limit パラメータと client-output-buffer-limit-slave-soft-limit パラメータの
デフォルト値を示しています。maxmemory の値は、ノードでデータやその他の用途に使用できる最大バイ
ト数です。
Note
maxmemory パラメータは変更できません。
Node Type
maxmemory
client-output-bufferlimit-slave-hard-limit
client-output-bufferlimit-slave-soft-limit
cache.t1.micro
142606336
14260633
14260633
cache.t2.micro
581959680
58195968
58195968
cache.t2.small
1665138688
166513868
166513868
cache.t2.medium
3461349376
346134937
346134937
943718400
943718400
943718400
cache.m1.medium
3093299200
309329920
309329920
cache.m1.large
7025459200
702545920
702545920
cache.m1.xlarge
14889779200
1488977920
1488977920
cache.m2.xlarge
17091788800
1709178880
1709178880
cache.m2.2xlarge
35022438400
3502243840
3502243840
cache.m2.4xlarge
70883737600
7088373760
7088373760
cache.m3.medium
2988441600
309329920
309329920
cache.m3.large
6501171200
650117120
650117120
cache.m3.xlarge
14260633600
1426063360
1426063360
cache.m3.2xlarge
29989273600
2998927360
2998927360
cache.m4.large
6892593152
689259315
689259315
cache.m4.xlarge
15328501760
1532850176
1532850176
cache.m4.2xlarge
31889126359
3188912636
3188912636
cache.m4.4xlarge
65257290629
6525729063
6525729063
cache.m4.10xlarge
166047614239
16604761424
16604761424
6501171200
650117120
650117120
cache.r3.large
14470348800
1468006400
1468006400
cache.r3.xlarge
30513561600
3040870400
3040870400
cache.r3.2xlarge
62495129600
6081740800
6081740800
cache.r3.4xlarge
126458265600
12268339200
12268339200
cache.r3.8xlarge
254384537600
24536678400
24536678400
cache.m1.small
cache.c1.xlarge
API Version 2015-02-02
329
Amazon ElastiCache ユーザーガイド
Redis のノードタイプ固有のパラメータ
Note
T2 インスタンスでは、Redis バックアップ/復元はサポートされません。
t1 および t2 のインスタンスは、Redis AOF またはマルチ AZ をサポートしていません。
API Version 2015-02-02
330
Amazon ElastiCache ユーザーガイド
サブネットおよびサブネットグルー
プ
サブネットグループは、Amazon Virtual Private Cloud (VPC) 環境で実行しているクラスターに対して指定
できるサブネット (通常はプライベート) の集合です。
Amazon VPC でクラスターを作成する場合は、サブネットグループを指定する必要がありま
す。ElastiCache はそのキャッシュサブネットグループを使用して、そのサブネット内でノードに関連付
けるサブネットおよび IP アドレスを選択します。
このセクションでは、サブネットおよびサブネットグループを作成し活用して、ElastiCache リソースへ
のアクセスを管理する方法を扱います。
Amazon VPC 環境でのサブネットグループの使用方法の詳細については、「ステップ 4: アクセスを許可
する (p. 26)」を参照してください。
トピック
• サブネットグループの作成 (p. 332)
• クラスターまたはレプリケーショングループにサブネットグループを割り当てる (p. 335)
• サブネットグループの変更 (p. 336)
• サブネットグループの削除 (p. 338)
API Version 2015-02-02
331
Amazon ElastiCache ユーザーガイド
サブネットグループの作成
サブネットグループの作成
新しいサブネットグループを作成する場合は、使用可能な IP アドレス数に注意してください。サブネット
の空き IP アドレス数が非常に少ない場合は、クラスターに追加できるノード数が制約される可能性があり
ます。この問題を解決するために、クラスターのアベイラビリティーゾーンで十分な数の IP アドレスを使
用できるように、サブネットグループに 1 つ以上のサブネットを割り当てることができます。その後で、
クラスターにノードを追加できます。
以下の手順では、により、mysubnetgroup というサブネットグループを作成する方法 ((console)、AWS
CLI、ElastiCache API ) を示します。
サブネットグループの作成 ((コンソール))
次の手順では、サブネットグループを作成する方法 ((console) ) を示します。
サブネットグループを作成するには ((コンソール))
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール (https://
console.aws.amazon.com/elasticache/) を開きます。
2.
ナビゲーションリストで [ Subnet Groups] を選択します。
3.
[Create Subnet Group] を選択します。
4.
Create Subnet Group ウィザードで、次の操作を行います。すべての設定が正しいことを確認した
ら、[Yes, Create] を選択します。
a.
[Name] ボックスにサブネットグループの名前を入力します。
b.
[Description] ボックスにサブネットグループの説明を入力します。
c.
[VPC ID] ボックスで、作成した Amazon VPC を選択します。
d.
[Availability Zone] および [Subnet ID] リストで、プライベートサブネットのアベイラビリティー
ゾーンと ID を選択し、[Add] を選択します。
API Version 2015-02-02
332
Amazon ElastiCache ユーザーガイド
サブネットグループの作成 ((AWS CLI))
5.
表示された確認メッセージで、[Close] を選択します。
新しいサブネットグループが、ElastiCache コンソールの [Subnet Groups] リストに表示されます。ウィン
ドウの下部で、サブネットグループを選択して、ウィンドウの下部で詳細 (このグループに関連付けられ
ているすべてのサブネットなど) を確認します。
サブネットグループの作成 ((AWS CLI))
コマンドプロンプトで、create-cache-subnet-group コマンドを使用してサブネットグループを作成しま
す。
Linux, macOS, or 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
このコマンドでは、次のような出力が生成されます。
SUBNETGROUP mysubnetgroup Testing vpc-5a2e4c35
SUBNET subnet-53df9c3a us-west-2b
詳細については、AWS CLI トピックの「create-cache-subnet-group」を参照してください。
サブネットグループの作成 ((ElastiCache API))
ElastiCache API を使用して、以下のパラメーターを指定して CreateCacheSubnetGroup を呼び出します:
• CacheSubnetGroupName=mysubnetgroup
• CacheSubnetGroupDescription==Testing
• SubnetIds.member.1=subnet-53df9c3a
Example
https://elasticache.us-west-2.amazonaws.com/
?Action=CreateCacheSubnetGroup
&CacheSubnetGroupDescription=Testing
&CacheSubnetGroupName=mysubnetgroup
&SignatureMethod=HmacSHA256
&SignatureVersion=4
&SubnetIds.member.1=subnet-53df9c3a
&Timestamp=20141201T220302Z
&Version=2014-12-01
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=<credential>
&X-Amz-Date=20141201T220302Z
&X-Amz-Expires=20141201T220302Z
API Version 2015-02-02
333
Amazon ElastiCache ユーザーガイド
サブネットグループの作成 ((ElastiCache API))
&X-Amz-Signature=<signature>
&X-Amz-SignedHeaders=Host
API Version 2015-02-02
334
Amazon ElastiCache ユーザーガイド
クラスターまたはレプリケーショング
ループにサブネットグループを割り当てる
クラスターまたはレプリケーショングループにサブ
ネットグループを割り当てる
サブネットグループを作成したら、Amazon VPC でクラスターまたはレプリケーショングループを起動で
きます。詳細については、次のトピックのいずれかを参照してください。
• Memcached クラスター – Memcached クラスターを起動するには、「クラスターの作成 ((コンソール)):
Memcached (p. 134)」を参照してください。ステップ 5.a (Memcached の高度な設定) で、VPC サブ
ネットグループを選択します。
• スタンドアロン Redis クラスター – 単一ノード Redis クラスターを起動するには、「Redis (クラスター
モードが無効) クラスターの作成 ((コンソール)) (p. 136)」を参照してください。ステップ 5.a (Redis の
高度な設定) で、VPC サブネットグループを選択します。
• Redis (クラスターモードが無効) レプリケーショングループ – VPC で Redis (クラスターモードが
無効) レプリケーショングループを起動するには、「Redis クラスターの最初からの作成 ((コンソー
ル)) (p. 218)」を参照してください。ステップ 5.b (Redis の高度な設定) で、VPC サブネットグループを
選択します。
• Redis (クラスターモードが有効) レプリケーショングループ – ゼロからの Redis (クラスターモード
が有効) レプリケーショングループの作成 ((コンソール)) (p. 224)ステップ 5.a (Redis の高度な設定)
で、VPC サブネットグループを選択します。
API Version 2015-02-02
335
Amazon ElastiCache ユーザーガイド
サブネットグループの変更
サブネットグループの変更
サブネットグループの説明を変更することや、サブネットグループに関連付けられたサブネット ID のリス
トを変更することができます。クラスターが現在サブネットを使用している場合、サブネットグループか
らそのサブネット ID を削除することはできません。
次の手順では、サブネットグループを変更する方法を示します。
サブネットグループの変更 ((コンソール))
サブネットグループを変更するには
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインで [ Subnet Groups] を選択します。
3.
サブネットグループのリストで、変更するグループを選択します。
4.
ElastiCache コンソールの下部で、サブネットグループの説明またはサブネット ID のリストを変更し
ます。変更を保存するには [Save] を選択します。
サブネットグループの変更 ((AWS CLI))
コマンドプロンプトで、modify-cache-subnet-group コマンドを使用してサブネットグループを変更しま
す。
Linux, macOS, or Unix 用:
aws elasticache modify-cache-subnet-group \
--cache-subnet-group-name mysubnetgroup \
--cache-subnet-group-description "New description" \
--subnet-ids subnet-42df9c3a,subnet-48fc21a9
Windows の場合:
aws elasticache modify-cache-subnet-group ^
--cache-subnet-group-name mysubnetgroup ^
--cache-subnet-group-description "New description" ^
--subnet-ids subnet-42df9c3a,subnet-48fc21a9
このコマンドでは、次のような出力が生成されます。
SUBNETGROUP mysubnetgroup Testing vpc-5a2e4c35
SUBNET subnet-42df9c3a us-west-2b
SUBNET subnet-48fc21a9 us-west-2b
詳細については、AWS CLI トピックの「modify-cache-subnet-group」を参照してください。
サブネットグループの変更 ((ElastiCache API))
以下のパラメーターを指定して、ElastiCache API を使用して ModifyCacheSubnetGroup を呼び出します。
• CacheSubnetGroupName=mysubnetgroup
• 変更したいその他のパラメーター値。この例では、CacheSubnetGroupDescription=New%20description
を使用してサブネットグループの説明を変更します。
API Version 2015-02-02
336
Amazon ElastiCache ユーザーガイド
サブネットグループの変更 ((ElastiCache API))
Example
https://elasticache.us-west-2.amazonaws.com/
?Action=ModifyCacheSubnetGroup
&CacheSubnetGroupDescription=New%20description
&CacheSubnetGroupName=mysubnetgroup
&SubnetIds.member.1=subnet-42df9c3a
&SubnetIds.member.2=subnet-48fc21a9
&SignatureMethod=HmacSHA256
&SignatureVersion=4
&Timestamp=20141201T220302Z
&Version=2014-12-01
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=<credential>
&X-Amz-Date=20141201T220302Z
&X-Amz-Expires=20141201T220302Z
&X-Amz-Signature=<signature>
&X-Amz-SignedHeaders=Host
Note
新しいサブネットグループを作成する場合は、使用可能な IP アドレス数に注意してください。サ
ブネットの空き IP アドレス数が非常に少ない場合は、クラスターに追加できるノード数が制約さ
れる可能性があります。この問題を解決するために、クラスターのアベイラビリティーゾーンで
十分な数の IP アドレスを使用できるように、サブネットグループに 1 つ以上のサブネットを割り
当てることができます。その後で、クラスターにノードを追加できます。
API Version 2015-02-02
337
Amazon ElastiCache ユーザーガイド
サブネットグループの削除
サブネットグループの削除
サブネットグループが必要ではなくなったと判断した場合、サブネットグループを削除できます。サブ
ネットグループがクラスターで現在使用されている場合、サブネットグループを削除できません。
次の手順では、サブネットグループを削除する方法を示します。
サブネットグループの削除 ((コンソール))
サブネットグループを削除するには
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインで [ Subnet Groups] を選択します。
3.
サブネットグループのリストで、削除する項目を選択し、[Delete] を選択します。
4.
このオペレーションを確認するよう求められた場合は、[Yes, Delete] を選択します。
サブネットグループの削除 ((AWS CLI))
コマンドプロンプトで、delete-cache-subnet-group コマンドを使用してサブネットグループを削除しま
す。
Linux, macOS, or Unix 用:
aws elasticache delete-cache-subnet-group \
--cache-subnet-group-name mysubnetgroup
Windows の場合:
aws elasticache delete-cache-subnet-group ^
--cache-subnet-group-name mysubnetgroup
このコマンドでは何も出力されません。
詳細については、AWS CLI トピックの「delete-cache-subnet-group」を参照してください。
サブネットグループの削除 ((ElastiCache API))
以下のパラメーターを指定して、ElastiCache API を使用して DeleteCacheSubnetGroup を呼び出します。
• CacheSubnetGroupName=mysubnetgroup
Example
次のコード例の改行が読み込みのために追加されます。
https://elasticache.us-west-2.amazonaws.com/
?Action=DeleteCacheSubnetGroup
&CacheSubnetGroupName=mysubnetgroup
&SignatureMethod=HmacSHA256
&SignatureVersion=4
&Timestamp=20141201T220302Z
API Version 2015-02-02
338
Amazon ElastiCache ユーザーガイド
サブネットグループの削除 ((ElastiCache API))
&Version=2014-12-01
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=<credential>
&X-Amz-Date=20141201T220302Z
&X-Amz-Expires=20141201T220302Z
&X-Amz-Signature=<signature>
&X-Amz-SignedHeaders=Host
API Version 2015-02-02
339
Amazon ElastiCache ユーザーガイド
Amazon Virtual Private Cloud
(Amazon VPC) と ElastiCache
Amazon Virtual Private Cloud (Amazon VPC) サービスは、従来のデータセンターに非常によく似た仮想
ネットワークを定義します。お客様が Amazon VPC を設定すると、IP アドレス範囲の選択、サブネット
の作成、ルートテーブル、ネットワークゲートウェイ、セキュリティの設定などが可能になります。仮想
ネットワークにキャッシュクラスターを追加でき、Amazon VPC のセキュリティグループを使用して、
キャッシュクラスターへのアクセスを制御できます。
このセクションでは、Amazon VPC 内で手動で ElastiCache クラスターを設定する方法を説明します。こ
の情報は、ElastiCache と Amazon VPC との連携について理解を深めたいユーザーを対象としています。
トピック
• ElastiCache および Amazon VPC (p. 341)
• Virtual Private Cloud (VPC) の作成 (p. 346)
• キャッシュサブネットグループの作成 (p. 348)
• Amazon VPC でのキャッシュクラスターの作成 (p. 349)
• Amazon VPC でレプリケーショングループを作成する (p. 350)
• Amazon VPC で実行中のクラスターまたはレプリケーショングループに接続する (p. 351)
API Version 2015-02-02
340
Amazon ElastiCache ユーザーガイド
ElastiCache および Amazon VPC
ElastiCache および Amazon VPC
Note
ElastiCache は Amazon Virtual Private Cloud (Amazon VPC) と完全に統合されます。ElastiCache
ユーザーにとって、これは次のことを意味します。
• AWS アカウントが EC2-VPC プラットフォームのみをサポートしている場合、ElastiCache は
常に VPC でクラスターを起動します。
• AWS を初めて利用する場合、クラスターは VPC にデプロイされます。デフォルト VPC が自
動的に作成されます。
• デフォルト VPC をお持ちのお客様が、クラスター起動時にサブネットを指定しなかった場合
は、そのクラスターはお客様のデフォルト VPC で起動されます。
詳細については、「Detecting Your Supported Platforms and Whether You Have a Default VPC」
を参照してください。
Amazon Virtual Private Cloud を使用することによって、従来のデータセンターに非常によく似た仮想ネッ
トワークを AWS クラウド内に作成できます。お客様の Amazon VPC はお客様が設定できます。たとえ
ば、IP アドレス範囲の選択、サブネットの作成、ルートテーブル、ネットワークゲートウェイ、セキュリ
ティの設定などが可能です。
ElastiCache の基本機能は仮想プライベートクラウドの場合と同じです。ElastiCache は、クラスターが
Amazon VPC の内部と外部のどちらにデプロイされるかに関係なく、ソフトウェアのアップグレード、
パッチ適用、障害検出、および復旧を管理します。
Amazon VPC の外部にデプロイされた ElastiCache キャッシュノードには、エンドポイント/DNS 名の解
決先となる IP アドレスが割り当てられます。これにより、Amazon Elastic Compute Cloud (Amazon EC2)
インスタンスからの接続が提供されます。Amazon VPC プライベートサブネットで ElastiCache クラス
ターを起動した場合、すべてのキャッシュノードにはそのサブネット内のプライベート IP アドレスが割り
当てられます。
Amazon VPC 内の ElastiCache の概要
次の図と表で、ElastiCache クラスターと Amazon EC2 インスタンスが Amazon VPC で起動された場合の
Amazon VPC 環境について説明します。
API Version 2015-02-02
341
Amazon ElastiCache ユーザーガイド
Amazon VPC 内の ElastiCache の概要
Amazon VPC は、独自の IP アドレスのブロックが割り当てられた AWS クラウドの独立した部
分です。
インターネットゲートウェイは Amazon VPC を直接インターネットに接続し、Amazon Simple
Storage Service (Amazon S3) など、Amazon VPC の外部で実行されている他の AWS リソース
へのアクセスを提供します。
Amazon VPC サブネットは、セキュリティおよび運用上のニーズに合わせて AWS リソースを分
離できる Amazon VPC の IP アドレス範囲のセグメントです。
Amazon VPC のルーティングテーブルは、サブネットとインターネットとの間でネットワークト
ラフィックを送信します。Amazon VPC には暗黙のルーターがあり、この図では円と R で表さ
れています。
API Version 2015-02-02
342
Amazon ElastiCache ユーザーガイド
なぜ EC2 Classic の代わりに Amazon VPC を
ElastiCache デプロイメントで使用するのですか。
Amazon VPC のセキュリティグループは、ElastiCache クラスターと Amazon EC2 インスタンス
のインバウンドおよびアウトバウンドのトラフィックを制御します。
サブネットで ElastiCache クラスターを起動できます。キャッシュノードは、サブネットのアド
レス範囲のプライベート IP アドレスを持ちます。
サブネットで Amazon EC2 インスタンスを起動することもできます。各 Amazon EC2 インスタ
ンスはサブネットのアドレス範囲内のプライベート IP アドレスを持ちます。Amazon EC2 イン
スタンスは、同じサブネット内のすべてのキャッシュノードに接続できます。
インターネットからアクセス可能な Amazon VPC 内の Amazon EC2 インスタンスの場合は、イ
ンスタンスに Elastic IP アドレスと呼ばれる静的なパブリックアドレスを割り当てる必要があり
ます。
なぜ EC2 Classic の代わりに Amazon VPC を
ElastiCache デプロイメントで使用するのですか。
VPC へのインスタンスを起動すると、次のことが可能となります:
• 開始から停止までの間に維持される静的プライベート IP アドレスをインスタンスに割り当てる.
• 複数の IP アドレスをインスタンスに割り当てる.
• ネットワークインターフェイスを定義し、1 つまたは複数のネットワークインターフェイスをインスタ
ンスに割り当てる.
• 実行中にインスタンスのセキュリティグループメンバーシップを変更する.
• インスタンスからのアウトバウンドトラフィックを制御し (egress フィルタリング)、インスタンスへの
インバウンドトラフィックを制御する (ingress フィルタリング)。
• ネットワークアクセスコントロールリスト (ACL) の形でインスタンスにアクセス制御の層を追加する。
• 単一テナントハードウェアでインスタンスを実行する.
Amazon EC2 Classic、デフォルトの VPC、デフォルト以外の VPC の比較については、「EC2-Classic と
EC2-VPC の違い」を参照してください。
Amazon VPC は、専用ではない Amazon EC2 インスタンスを許可する必要があります。専用インスタン
スのテナンシー用に設定された Amazon VPC では ElastiCache を使用できません。
Note
ElastiCache は Amazon Virtual Private Cloud (Amazon VPC) と完全に統合されます。ElastiCache
ユーザーにとって、これは次のことを意味します。
• AWS アカウントが EC2-VPC プラットフォームのみをサポートしている場合、ElastiCache は
常に VPC でクラスターを起動します。
• AWS を初めて利用する場合、クラスターは VPC にデプロイされます。デフォルト VPC が自
動的に作成されます。
• デフォルト VPC をお持ちのお客様が、クラスター起動時にサブネットを指定しなかった場合
は、そのクラスターはお客様のデフォルト VPC で起動されます。
詳細については、「Detecting Your Supported Platforms and Whether You Have a Default VPC」
を参照してください。
API Version 2015-02-02
343
Amazon ElastiCache ユーザーガイド
前提条件
前提条件
Amazon VPC 内に ElastiCache クラスターを作成するには、Amazon VPC が次の要件を満たしている必要
があります。
• Amazon VPC は、専用ではない Amazon EC2 インスタンスを許可する必要があります。専用インスタ
ンスのテナンシー用に設定された Amazon VPC では ElastiCache を使用できません。
• キャッシュサブネットグループを Amazon VPC 用に定義する必要があります。ElastiCache はその
キャッシュサブネットグループを使用して、そのサブネット内でキャッシュノードに関連付けるサブ
ネットおよび IP アドレスを選択します。
• Amazon VPC 用にキャッシュセキュリティグループを定義する必要があります。または、用意されてい
るデフォルトを使用できます。
• 各サブネットの CIDR ブロックは、メンテナンス作業で使用する予備の IP アドレスを ElastiCache に提
供するのに十分な大きさが必要です。
ルーティングとセキュリティ
Amazon VPC でルーティングを設定して、トラフィックの送信先 (インターネットゲートウェイ、仮想プ
ライベートゲートウェイなど) を制御できます。インターネットゲートウェイの場合、Amazon VPC は、
同じ Amazon VPC で実行されているのではない他の AWS リソースに直接アクセスできます。お客様の
組織のローカルネットワークに接続された仮想プライベートゲートウェイのみを選択した場合、VPN 経
由でインターネット宛てのトラフィックをルーティングし、ローカルセキュリティポリシーとファイア
ウォールを使用して送信を制御できます。この場合、インターネット経由で AWS リソースにアクセスす
る際に、帯域の追加料金が発生します。
Amazon VPC セキュリティグループを使用して、Amazon VPC 内の ElastiCache クラスターと Amazon
EC2 インスタンスをセキュリティで保護することができます。セキュリティグループは、サブネットレベ
ルでなくインスタンスレベルでファイアウォールのように動作します。
Amazon VPC 内のクラスターは、同じ Amazon VPC 内の Amazon EC2 インスタンスからアクセスできま
す。Elastic IP が関連付けられたパブリックサブネット内にこのような Amazon EC2 インスタンスをデプ
ロイしている場合は、インターネットを介して Amazon EC2 インスタンスにアクセスできます。
Note
キャッシュノードを再起動すると、基になる IP アドレスは変わる可能性があるため、キャッシュ
ノードに接続するには DNS 名を使用することを強くお勧めします。
Amazon VPC ドキュメント
Amazon VPC に関するドキュメントには、Amazon VPC の作成および使用方法について説明する独自のド
キュメントがあります。Amazon VPC ガイドへのリンクについて以下の表にまとめます。
説明
ドキュメント
Amazon VPC の使用を開始するには
Amazon VPC 入門ガイド
AWS マネジメントコンソールで Amazon VPC を
使用する方法
Amazon VPC ユーザーガイド
すべての Amazon VPC コマンドの詳細説明
Amazon EC2 コマンドラインリファレンス
(Amazon VPC コマンドは、Amazon EC2 リファレ
ンスの一部です)
API Version 2015-02-02
344
Amazon ElastiCache ユーザーガイド
Amazon VPC ドキュメント
説明
ドキュメント
Amazon VPC API アクション、データタイプ、お
よびエラーの詳細説明
Amazon EC2 API Reference
オプションとして IPsec VPN 接続のゲートウェイ
を設定する必要のあるネットワーク管理者向け情
報
Amazon VPC ネットワーク管理者ガイド
(Amazon VPC API アクションは、Amazon EC2 リ
ファレンスの一部です)
Amazon Virtual Private Cloud の詳細については、「Amazon Virtual Private Cloud」を参照してください。
API Version 2015-02-02
345
Amazon ElastiCache ユーザーガイド
Virtual Private Cloud (VPC) の作成
Virtual Private Cloud (VPC) の作成
この例では、各アベイラビリティーゾーンのプライベートサブネットを持つ Amazon VPC を作成します。
Amazon VPC バケットの作成 (コンソール)
Amazon Virtual Private Cloud 内に ElastiCache キャッシュクラスターを作成するには
1.
AWS マネジメントコンソールにサインインし、Amazon VPC コンソール (https://
console.aws.amazon.com/vpc/) を開きます。
2.
Amazon Virtual Private Cloud ウィザードを使用して新しい Amazon VPC を作成します。
3.
a.
ナビゲーションリストで、[VPC Dashboard] を選択します。
b.
[Start VPC Wizard] を選択します。
c.
Amazon VPC ウィザードで、[VPC with Public and Private Subnets] を選択し、[Next] を選択しま
す。
d.
[VPC with Public and Private Subnets] ページで、デフォルトのオプションを変更せずに、[Create
VPC] を選択します。
e.
表示された確認メッセージで、[Close] を選択します。
Amazon VPC 内にパブリックサブネットとプライベートサブネットの 2 つのサブネットがあることを
確認します。これらのサブネットは自動的に作成されます。
a.
ナビゲーションリストで、[Subnets] を選択します。
b.
サブネットのリストで、Amazon VPC にある 2 つのサブネットを探します。
パブリックサブネットで使用可能な IP アドレスは 1 つ少なくなります。これは、ウィザードに
よって、プライベートサブネットからインターネットへのアウトバウンド通信用に Amazon EC2
NAT インスタンスと Elastic IP アドレス (Amazon EC2 料金が適用される) が作成されるためで
す。
Tip
2 つのサブネットの識別子と、どちらがパブリックで、どちらがプライベートであるかを
書き留めておきます。この情報は、後でキャッシュクラスターを起動し、Amazon VPC に
Amazon EC2 インスタンスを追加するときに必要になります。
4.
Amazon VPC セキュリティグループを作成します。キャッシュクラスターと Amazon EC2 インスタ
ンスでは、このグループを使用します。
a.
Amazon VPC マネジメントコンソールで、左のナビゲーションペインの [Security Groups] を選択
します。
b.
[Create Security Group] を選択します。
c.
対応するボックスにセキュリティグループの名前と説明を入力します。[VPC] ボックスで
Amazon VPC の ID を選択します。
API Version 2015-02-02
346
Amazon ElastiCache ユーザーガイド
Amazon VPC バケットの作成 (コンソール)
d.
5.
すべての設定が正しいことを確認したら、[Yes, Create] を選択します。
セキュリティグループのネットワーク Ingress ルールを定義します。このルールは、Secure Shell
(SSH) を使用して Amazon EC2 インスタンスに接続することを許可します。
a.
ナビゲーションリストで [Security Groups] を選択します。
b.
c.
リストで対象となるセキュリティグループを探して選択します。
[Security Group] の下で、[Inbound] タブを選択します。[Create a new rule] ボックスで、[SSH] を
選択し、[Add Rule] を選択します。
[Apply Rule Changes] を選択します。
d.
これで、キャッシュサブネットグループを作成して Amazon VPC でキャッシュクラスターを起動する準備
が整いました。
API Version 2015-02-02
347
Amazon ElastiCache ユーザーガイド
キャッシュサブネットグループの作成
キャッシュサブネットグループの作成
キャッシュサブネットグループは、Amazon VPC 内でキャッシュクラスターとして指定できるサブネット
の集合です。Amazon VPC でキャッシュクラスターを起動するときに、キャッシュサブネットグループを
選択する必要があります。次に、ElastiCache ではそのキャッシュサブネットグループを使用して、サブ
ネット内の IP アドレスをクラスター内の各キャッシュノードに割り当てます。
ElastiCache 管理コンソール、AWS CLI、または ElastiCache API を使用してサブネットグループを作成す
る方法のガイダンスについては、「サブネットグループの作成 (p. 332)」を参照してください。
キャッシュサブネットグループを作成した後、キャッシュクラスターを起動して Amazon VPC で実行でき
ます。次のトピック「Amazon VPC でのキャッシュクラスターの作成 (p. 349)」に進みます。
API Version 2015-02-02
348
Amazon ElastiCache ユーザーガイド
Amazon VPC でのキャッシュクラスターの作成
Amazon VPC でのキャッシュクラスターの作成
この例では、Amazon VPC でキャッシュクラスターを作成します。
Amazon VPC でのキャッシュクラスターの作成 (コン
ソール)
• Memcached キャッシュクラスターを起動するには、「クラスターの作成 ((コンソール)):
Memcached (p. 134)」を参照してください。ステップ 6.c では、VPC サブネットグループを選択しま
す。
• Redis キャッシュクラスターを起動するには、「Redis (クラスターモードが無効) クラスターの作成 ((コ
ンソール)) (p. 136)」を参照してください。ステップ 6.d では、VPC サブネットグループを選択しま
す。
これで、Amazon VPC 内でキャッシュクラスターを起動できました。Amazon VPC で実行されている新し
いキャッシュクラスターに接続する方法の例については、「Amazon VPC で実行中のクラスターまたはレ
プリケーショングループに接続する (p. 351)」に進んでください。
API Version 2015-02-02
349
Amazon ElastiCache ユーザーガイド
Amazon VPC でレプリケーショングループを作成する
Amazon VPC でレプリケーショングループを作成
する
この例では、Amazon VPC で Redis レプリケーショングループを作成します。
Amazon VPC でレプリケーショングループを作成する
(コンソール)
VPC で Redis (クラスターモードが無効) レプリケーショングループを起動するには、Redis クラスターの
最初からの作成 ((コンソール)) (p. 218)ステップ 5.b で、VPC サブネットグループを選択します。
Redis (クラスターモードが有効) レプリケーショングループを起動するには、ゼロからの Redis (クラス
ターモードが有効) レプリケーショングループの作成 ((コンソール)) (p. 224)ステップ 6.d で、VPC サブ
ネットグループを選択します。
ここで、Amazon VPC 内で Redis レプリケーショングループを起動しました。Amazon VPC で実行され
ている新しいレプリケーショングループに接続する方法の例については、「Amazon VPC で実行中のクラ
スターまたはレプリケーショングループに接続する (p. 351)」に進んでください。
API Version 2015-02-02
350
Amazon ElastiCache ユーザーガイド
Amazon VPC で実行中のクラスターまた
はレプリケーショングループに接続する
Amazon VPC で実行中のクラスターまたはレプリ
ケーショングループに接続する
この例では、Amazon VPC で Amazon EC2 インスタンスを起動する方法を示します。次に、このインス
タンスにログインし、その Amazon VPC で実行中の ElastiCache クラスターにアクセスできます。
Note
Amazon EC2 の使用については、「Amazon EC2 入門ガイド」(『Amazon EC2 ドキュメント』)
を参照してください。
トピック
• 1. Amazon EC2 インスタンスを作成する (p. 351)
• 2. Amazon EC2 インスタンスに IP アドレスを割り当てる (p. 352)
• 3. Amazon EC2 インスタンスに接続する (p. 353)
1. Amazon EC2 インスタンスを作成する
以下の手順では、VPC に Amazon EC2 インスタンスを作成します。
1.
AWS マネジメントコンソールにサインインをしたあと、https://console.aws.amazon.com/ec2/ にある
Amazon EC2 コンソールを開きます。
2.
コンソールで、[Launch Instance] を選択し、以下の手順を実行します。
3.
[Choose an Amazon Machine Image (AMI)] ページで、64 ビット Amazon Linux AMI を選択し、
[Select] を選択します。
4.
[Choose an Instance Type] ページで、[3] を選択します。インスタンスの設定.
5.
[Configure Instance Details] ページで以下の項目を選択します。
a.
[Network] リストで、Amazon VPC を選択します。
b.
[Subnet] リストで、パブリックサブネットを選択します。
API Version 2015-02-02
351
Amazon ElastiCache ユーザーガイド
2. Amazon EC2 インスタンスに IP アドレスを割り当てる
すべての設定が正しいことを確認したら、[4] を選択します。ストレージの追加.
6.
[Add Storage] ページで、[5] を選択します。インスタンスのタグ付け.
7.
[Tag Instance] ページで、Amazon EC2 インスタンスの名前を入力し、[6] を選択します。セキュリ
ティグループの設定.
8.
[Configure Security Group] ページで [Select an existing security group] を選択します。
Amazon VPC セキュリティグループの名前を選択し、[Review and Launch] を選択します。
9.
[Review Instance and Launch] ページで、[Launch] を選択します。
[Select an existing key pair or create a new key pair] ウィンドウで、このインスタンスで使用するキー
ペアを指定します。
Note
キーペアの管理については、『Amazon EC2 入門ガイド』を参照してください。
10. Amazon EC2 インスタンスを起動する準備ができたら、[Launch Instances] を選択します。
2. Amazon EC2 インスタンスに IP アドレスを割り当
てる
これで、作成した Amazon EC2 インスタンスに Elastic IP アドレスを割り当てることができま
す。Amazon EC2 インスタンスに接続するには、この IP アドレスを使用する必要があります。
1.
https://console.aws.amazon.com/vpc/にある Amazon VPC コンソールを開きます。
2.
ナビゲーションリストで [Elastic IPs] を選択します。
3.
[Allocate New Address] を選択します。
4.
[Allocate New Address] ダイアログボックスの [EIP used in] ボックスで、[VPC] を選択してさらに
[Yes, Allocate] を選択します。
5.
リストから割り当てた Elastic IP アドレスを選択し、[Associate Address] を選択します。
6.
[Associate Address] ダイアログボックスの [Instance] ボックスで、起動した Amazon EC2 インスタン
スの ID を選択し、[Yes, Associate] を選択します。
API Version 2015-02-02
352
Amazon ElastiCache ユーザーガイド
3. Amazon EC2 インスタンスに接続する
これで、作成した Elastic IP アドレスを使用して、SSH で Amazon EC2 インスタンスに接続できま
す。
Tip
SSH を使用して Linux/UNIX インスタンスに接続する手順については、「Linux/UNIX インス
タンスへの接続」(『Amazon EC2 入門ガイド』) を参照してください。
3. Amazon EC2 インスタンスに接続する
以下の手順では、Amazon EC2 インスタンスに接続します。
1.
コマンドウィンドウを開きます。コマンドプロンプトで、次のコマンドを実行しま
す。mykeypair.pem をご使用のキーペアファイルの名前に、54.207.55.251 をご使用の Elastic IP アド
レスに置き換えます。
ssh -i mykeypair.pem [email protected]
Important
まだ、Amazon EC2 インスタンスからログアウトしないでください。
API Version 2015-02-02
353
Amazon ElastiCache ユーザーガイド
3. Amazon EC2 インスタンスに接続する
2.
これで、ElastiCache クラスターを操作する準備ができました。まだ telnet ユーティリティをインス
トールしていない場合、これを行うには、このユーティリティをインストールする必要があります。
telnet をインストールし、キャッシュクラスターを操作するには (AWS CLI)
Linux、OS X、Unix の場合:
コマンドウィンドウを開きます。コマンドプロンプトで、次のコマンドを実行します。確認のプロン
プトが表示されたら、「y」を入力します。
sudo yum install telnet
Loaded plugins: priorities, security, update-motd, upgrade-helper
Setting up Install Process
Resolving Dependencies
--> Running transaction check
...(output omitted)...
Total download size: 63 k
Installed size: 109 k
Is this ok [y/N]: y
Downloading Packages:
telnet-0.17-47.7.amzn1.x86_64.rpm
|
63 kB
00:00
...(output omitted)...
Complete!
Windows の場合
コマンドウィンドウを開きます。コマンドプロンプトで、次のコマンドを実行します。[User Account
Control] ダイアログボックスが開いた場合は、必要なアクションが表示されていることを確認し、
[Continue] をクリックします。
pkgmgr /iu:"TelnetClient"
3.
ElastiCache コンソール ( https://console.aws.amazon.com/elasticache/) に移動し、キャッシュクラス
ターのいずれかのノードのエンドポイントを取得します。
4.
telnet を使用して、ポート 11211 でキャッシュノードのエンドポイントに接続します。次の例のホス
ト名を、キャッシュノードのホスト名に置き換えてください。
telnet my-cache-cluster.7wufxa.0001.use1.cache.amazonaws.com 11211
これで、キャッシュエンジンに接続されたので、コマンドを実行できます。この例では、キャッシュ
にデータ項目を追加した後、直ちにデータ項目を取得します。最後に、キャッシュノードから切断し
ます。
キーと値を保存するには、次の 2 行を入力します。
add mykey 0 3600 28
This is the value for my key
キャッシュエンジンは次のように応答します。
STORED
mykey の値を取得するには、次のように入力します。
API Version 2015-02-02
354
Amazon ElastiCache ユーザーガイド
3. Amazon EC2 インスタンスに接続する
get mykey
キャッシュエンジンは次のように応答します。
VALUE mykey 0 28
This is the value for my key
END
キャッシュエンジンから切断するには、次のように入力します。
quit
Important
AWS アカウントの追加料金が発生しないように、これらの例を試した後で、今後使用しない
AWS リソースはすべて削除してください。
API Version 2015-02-02
355
Amazon ElastiCache ユーザーガイド
セキュリティグループ
Amazon ElastiCache のセキュリティ
Amazon ElastiCache では、以下の方法によりキャッシュデータを不正なアクセスからセキュリティで保護
します。
• 「ElastiCache とセキュリティグループ (p. 356)」では、インストールに必要なセキュリティグループ
のタイプについて説明しています。
• ユーザー、グループ、ロールのアクションの許可と制限については、「認証とアクセスコントロール
(Amazon ElastiCache 用) (p. 358)」を参照してください。
ElastiCache とセキュリティグループ
データのセキュリティが重要であるため、ElastiCache には、データへのアクセス権限を持つユーザーを
制御するための手段が用意されています。データへのアクセスを制御する方法は、Amazon Virtual Private
Cloud (Amazon VPC) または Amazon EC2-Classic でクラスターを起動したかどうかによって決まりま
す。
トピック
• Amazon Virtual Private Cloud: Amazon VPC セキュリティグループ (p. 356)
• Amazon EC2-Classic: ElastiCache セキュリティグループ (p. 356)
Amazon Virtual Private Cloud: Amazon VPC セキュリ
ティグループ
Amazon Virtual Private Cloud でクラスターを起動した場合、Amazon VPC の設定で、IP アドレス範囲
を選択し、サブネットを作成し、ルートテーブル、ネットワークゲートウェイ、セキュリティの設定
を定義できます。また、仮想ネットワークにキャッシュクラスターを追加でき、Amazon ElastiCache
セキュリティグループではなく Amazon VPC セキュリティグループを使用して、キャッシュクラス
ターへのアクセスを制御できます。詳細については、「Amazon Virtual Private Cloud (Amazon VPC) と
ElastiCache (p. 340)」を参照してください。
Amazon EC2-Classic: ElastiCache セキュリティグ
ループ
Amazon ElastiCache を使用すると、ElastiCache キャッシュセキュリティグループを使用して、キャッ
シュクラスターへのアクセスを制御できます。ElastiCache キャッシュセキュリティグループは、クラス
API Version 2015-02-02
356
Amazon ElastiCache ユーザーガイド
Amazon EC2-Classic: ElastiCache セキュリティグループ
ターへのネットワークアクセスを制御するファイアウォールのように動作します。デフォルトでは、クラ
スターへのネットワークアクセスは無効になっています。アプリケーションからキャッシュクラスターに
アクセスできるようにするには、特定の Amazon EC2 セキュリティグループのホストからのアクセスを明
示的に有効にする必要があります。詳細については、「セキュリティグループ [EC2-Classic] (p. 277)」を
参照してください。
API Version 2015-02-02
357
Amazon ElastiCache ユーザーガイド
認証とアクセスコントロール
認証とアクセスコントロール (Amazon ElastiCache
用)
Amazon ElastiCache へのアクセスには、AWS によってリクエストの認証に使用される認証情報が必
要です。これらの認証情報には、ElastiCache キャッシュクラスターや Amazon Elastic Compute Cloud
(Amazon EC2) インスタンスなどの AWS リソースに対するアクセス権限が含まれている必要がありま
す。以下のセクションでは、AWS Identity and Access Management (IAM) と ElastiCache を使用して、リ
ソースにアクセスできるユーザーを制御することで、リソースをセキュリティで保護する方法について詳
しく説明します。
• 認証 (p. 358)
• アクセスコントロール (p. 359)
認証
AWS には、次のタイプのアイデンティティでアクセスできます。
• AWS アカウントのルートユーザー – AWS にサインアップするときは、AWS アカウントに関連付けら
れた E メールアドレスとパスワードを指定します。これらは ルート認証情報であり、これらの情報を使
用すると、すべての AWS リソースへの完全なアクセスが可能になります。
Important
セキュリティ上の理由から、AWS アカウントへの完全なアクセス権限を持つ管理者ユーザー
(IAM ユーザー) を作成するためにのみ、ルート認証情報を使用することをお勧めします。その
後、この管理者ユーザーを使用して、制限されたアクセス権限を持つ他の IAM ユーザーとロー
ルを作成できます。詳細については、『IAM ユーザーガイド』の「IAM のベストプラクティ
ス」および「管理者のユーザーおよびグループの作成」を参照してください。
• IAM ユーザー – IAM ユーザーは、特定のカスタム権限 (たとえば、ElastiCache で a cache cluster を
作成するアクセス権限) を持つ AWS アカウント内のアイデンティティです。IAM のユーザー名とパス
ワードを使用して、AWS マネジメントコンソール、AWS ディスカッションフォーラム、AWS Support
Center などのセキュリティ保護された AWS ウェブページにサインインできます。
ユーザー名とパスワードに加えて、各ユーザーのアクセスキーを生成することもできます。いくつか
の SDK の 1 つまたは AWS Command Line Interface (CLI) を使ってプログラムで AWS サービスにアク
セスするときに、これらのキーを使用します。SDK と CLI ツールでは、アクセスキーを使用してリク
エストが暗号で署名されます。AWS ツールを使用しない場合は、リクエストを自分で署名する必要が
あります。ElastiCache supports では、署名バージョン 4 がサポートされています。これは、インバウ
ンド API リクエストを認証するためのプロトコルです。リクエストの認証の詳細については、『AWS
General Reference』の「署名バージョン 4 の署名プロセス」を参照してください。
• IAM ロール – IAM ロールは、特定のアクセス権限を持ち、アカウントで作成できるもう 1 つの IAM ア
イデンティティです。これは IAM ユーザーに似ていますが、特定のユーザーに関連付けられていませ
ん。IAM ロールでは、AWS サービスおよびリソースにアクセスするために使用できる一時的なアクセス
キーを取得することができます。IAM ロールと一時的な認証情報は、次の状況で役立ちます。
• フェデレーティッドユーザーアクセス – IAM ユーザーを作成するのではなく、AWS Directory
Service、エンタープライズユーザーディレクトリ、またはウェブアイデンティティプロバイダーの既
存のユーザーアイデンティティを使用することもできます。このようなユーザーはフェデレーティッ
API Version 2015-02-02
358
Amazon ElastiCache ユーザーガイド
アクセスコントロール
ドユーザーと呼ばれます。AWS では、アイデンティティプロバイダーを通じてアクセスがリクエスト
されたときに、フェデレーティッドユーザーにロールを割り当てます。フェデレーティッドユーザー
の詳細については、『IAM ユーザーガイド』の「フェデレーティッドユーザーとロール」を参照して
ください。
• クロスアカウントアクセス – アカウントで IAM ロールを使って、お客様のアカウントのリソースへの
アクセス権を別の AWS アカウントに付与できます。この例については、『IAM ユーザーガイド』の
「チュートリアル: AWS アカウント間の IAM ロールを使用したアクセスの委任」を参照してくださ
い。
• AWS サービスアカウント – アカウントで IAM ロールを使って、お客様のアカウントのリソースにア
クセスする AWS サービスのアクセス権限を付与できます。たとえば、Amazon Redshift がお客様に
代わって Amazon S3 バケットにアクセスし、バケットに保存されたデータを Amazon Redshift クラ
スターにロードすることを許可するロールを作成できます。 詳細については、『IAM ユーザーガイ
ド』の「AWS ユーザーにアクセス権限を委任するロールの作成」を参照してください。
• Amazon EC2 で実行されるアプリケーション – インスタンスで実行し、AWS API リクエストを作成
するアプリケーションで使用されるアクセスキーを EC2 インスタンス内に保存する代わりに、IAM
ロールを使用して、これらのアプリケーション用の一時認証情報を管理できます。AWS ロールを
EC2 インスタンスに割り当て、そのすべてのアプリケーションで使用できるようにするには、インス
タンスにアタッチされたインスタンスプロファイルを作成できます。インスタンスプロファイルには
ロールが含まれ、EC2 インスタンスで実行されるプログラムは一時認証情報を取得することができま
す。詳細については、『IAM ユーザーガイド』の「Amazon EC2 上のアプリケーションに対するロー
ルの使用」を参照してください。
アクセスコントロール
有効な認証情報があればリクエストを認証できますが、Amazon ElastiCache リソースを作成したり、そ
れらのリソースにアクセスしたりするには、そのためのアクセス権限が必要です。たとえば、ElastiCache
キャッシュクラスターを作成するためのアクセス権限が必要です。
以下のセクションでは、Amazon ElastiCache のアクセス権限を管理する方法について説明します。最初に
概要のセクションを読むことをお勧めします。
• ElastiCache リソースへのアクセス権限の管理の概要 (p. 360)
• Amazon ElastiCache でアイデンティティベースのポリシー (IAM ポリシー) を使用する (p. 364)
API Version 2015-02-02
359
Amazon ElastiCache ユーザーガイド
アクセス管理の概要
ElastiCache リソースへのアクセス権限の管理の概要
すべての AWS リソースは AWS アカウントによって所有され、となり、リソースの作成またはアクセス
は、アクセス権限のポリシーによって管理されます。アカウント管理者は、アクセス権限ポリシーを IAM
アイデンティティ (ユーザー、グループ、ロール) にアタッチできます。一部のサービス (AWS Lambda な
ど) では、アクセス権限ポリシーをリソースにアタッチすることもできます。
Note
アカウント管理者 (または管理者ユーザー) は、管理者権限を持つユーザーです。詳細について
は、IAM ユーザーガイド の「IAM のベストプラクティス」を参照してください。
アクセス権限を付与する場合、アクセス権限を取得するユーザー、取得するアクセス権限の対象となるリ
ソース、およびそれらのリソースに対して許可される特定のアクションを決定します。
トピック
• Amazon ElastiCache リソースおよびオペレーション (p. 360)
• リソース所有権について (p. 360)
• リソースへのアクセスの管理 (p. 361)
• ポリシー要素の指定 : アクション、効果、リソース、プリンシパル (p. 362)
• ポリシーでの条件の指定 (p. 363)
Amazon ElastiCache リソースおよびオペレーション
Amazon ElastiCache では、プライマリリソースはキャッシュクラスターです。Amazon ElastiCache で
は、追加のリソースタイプとして snapshot もサポートされています。ただし、既存の Redis キャッシュ
クラスターのコンテキストでのみスナップショットを作成できます。スナップショットはサブリソースと
呼ばれます。
これらのリソースとサブリソースには、次の表に示すとおり、一意の Amazon リソースネーム (ARN) が関
連付けられています。
リソースタイプ
ARN 形式
キャッシュクラスター
arn:aws:elasticache:region:accountid:cluster:resource-name
スナップショット
arn:aws:elasticache:region:accountid:snapshot:resource-name
ElastiCache には、ElastiCache リソースを操作するための一連のオペレーションが用意されています。使
用可能なオペレーションのリストについては、Amazon ElastiCache の「アクション」を参照してくださ
い。
リソース所有権について
リソース所有者は、リソースを作成した AWS アカウントです。つまり、リソース所有者は、リソース
の作成リクエストを認証するプリンシパルエンティティ (ルートアカウント、IAM ユーザー、または IAM
ロール) の AWS アカウントです。以下の例では、このしくみを示しています。
• AWS アカウントの root アカウントの認証情報を使用してキャッシュクラスターを作成する場合、AWS
アカウントはリソースの所有者です (ElastiCache では、リソースはキャッシュクラスターです)。
API Version 2015-02-02
360
Amazon ElastiCache ユーザーガイド
アクセス管理の概要
• AWS アカウントに IAM ユーザーを作成し、キャッシュクラスターを作成するためのアクセス権限をそ
のユーザーに付与した場合、そのユーザーはキャッシュクラスターを作成できます。ただし、キャッ
シュクラスターリソースを所有しているのは、このユーザーが属する AWS アカウントです。
• AWS アカウントに、キャッシュクラスターを作成するためのアクセス権限を持つ IAM ロールを作成す
る場合は、ロールを引き受けることのできるいずれのユーザーもキャッシュクラスターを作成できま
す。ロールが属する AWS アカウントがキャッシュクラスターリソースを所有しています。
リソースへのアクセスの管理
アクセスポリシーでは、誰が何にアクセスできるかを記述します。以下のセクションで、アクセス権限の
ポリシーを作成するために使用可能なオプションについて説明します。
Note
このセクションでは、Amazon ElastiCache のコンテキストでの IAM の使用について説明しま
す。これは、IAM サービスに関する詳細情報を取得できません。完全な IAM ドキュメントについ
ては、「IAM とは?」 (IAM ユーザーガイド ) を参照してください。IAM ポリシー構文の詳細およ
び説明については、IAM ユーザーガイド の「AWS IAM ポリシーリファレンス」を参照してくだ
さい。
IAM アイデンティティにアタッチされたポリシーはアイデンティティベースのポリシー (IAM ポリシー)
と呼ばれ、リソースにアタッチされたポリシーはリソースベースのポリシーと呼ばれます。Amazon
ElastiCache では、アイデンティティベースのポリシー (IAM ポリシー) のみがサポートされています。
トピック
• アイデンティティベースのポリシー (IAM ポリシー) (p. 361)
• リソースベースのポリシー (p. 362)
アイデンティティベースのポリシー (IAM ポリシー)
ポリシーを IAM アイデンティティにアタッチできます。たとえば、次の操作を実行できます。
• アカウントのユーザーまたはグループにアクセス権限ポリシーをアタッチする - アカウント管理者は、
特定のユーザーに関連付けられるアクセス権限ポリシーを使用して、そのユーザーに ElastiCache リ
ソース (キャッシュクラスター、パラメータグループ、セキュリティグループなど) を作成するためのア
クセス権限を付与できます。
• アクセス権限ポリシーをロールにアタッチする (クロスアカウントのアクセス権限を付与) – アイデン
ティティベースのアクセス権限ポリシーを IAM ロールにアタッチして、クロスアカウントのアクセス権
限を付与することができます。たとえば、アカウント A の管理者は、次のように他のまたは AWS にク
ロスアカウントのアクセス権限を別の AWS アカウント (アカウント B) または AWS サービスに付与す
るロールを作成することができます。
1. アカウント A の管理者は、IAM ロールを作成して、アカウント A のリソースに権限を付与するロー
ルに権限ポリシーをアタッチします。
2. アカウント A の管理者は、アカウント B をそのロールを引き受けるプリンシパルとして識別する
ロールに、信頼ポリシーをアタッチします。
3. アカウント B の管理者は、アカウント B のユーザーにロールを引き受ける権限を委任できるように
なります。これにより、アカウント B のユーザーにアカウント A のリソースの作成とアクセスが許
可されます。AWS サービスのアクセス権限を付与してロールを引き受けさせたい場合は、信頼ポリ
シー内のプリンシパルも、AWS サービスのプリンシパルとなることができます。
IAM を使用したアクセス権限の委任の詳細については、IAM ユーザーガイド の「アクセス管理」を参照
してください。
以下に示しているのは、お客様の AWS アカウントに対する DescribeCacheClusters アクションの実行
をユーザーに許可するポリシーの例です。現在の実装では、ElastiCache で任意の API アクションについ
API Version 2015-02-02
361
Amazon ElastiCache ユーザーガイド
アクセス管理の概要
て、リソース ARN (リソースレベルのアクセス権限と呼ばれる) を使用した特定のリソースの識別がサポー
トされていません。そのため、ワイルドカード文字 (*) を指定する必要があります。
{
"Version": "2012-10-17",
"Statement": [{
"Sid": "DescribeCacheClusters",
"Effect": "Allow",
"Action": [
"elasticache:DescribeCacheClusters"],
"Resource": "*"
}
]
}
ElastiCache でアイデンティティベースのポリシーを使用する方法の詳細については、「Amazon
ElastiCache でアイデンティティベースのポリシー (IAM ポリシー) を使用する (p. 364)」を参照してくだ
さい。ユーザー、グループ、ロール、アクセス権限の詳細については、IAM ユーザーガイド の「アイデン
ティティ (ユーザー、グループ、ロール)」を参照してください。
リソースベースのポリシー
Amazon S3 などの他のサービスでは、リソースベースのアクセス権限ポリシーもサポートされています。
たとえば、ポリシーを S3 バケットにアタッチして、そのバケットに対するアクセス権限を管理できま
す。Amazon ElastiCache では、リソースベースのポリシーはサポートされていません。 ポリシー要素の指定 : アクション、効果、リソース、プリンシパ
ル
Amazon ElastiCache リソースごとに (「Amazon ElastiCache リソースおよびオペレーション (p. 360)」
を参照)、サービスは一連の API オペレーションを定義します (「アクション」を参照)。これらの API
オペレーションを実行するためのアクセス権限を付与するために、ElastiCache ではポリシーに一連の
アクションを定義できます。たとえば、ElastiCache スナップショットリソースに対して、アクション
CreateSnapshot、DeleteSnapshot、DescribeSnapshots を定義します。API オペレーションを実行する
場合に、複数のアクションで権限が必要となる場合があることに注意してください。
以下は、最も基本的なポリシーの要素です。
• リソース – ポリシーで Amazon Resource Name (ARN) を使用して、ポリシーを適用するリソースを
識別します。ElastiCache リソースの場合、IAM ポリシーでは必ずワイルドカード文字 (*) を使用しま
す。詳細については、「Amazon ElastiCache リソースおよびオペレーション (p. 360)」を参照してく
ださい。
• アクション – アクションのキーワードを使用して、許可または拒否するリソースオペレーションを識
別します。たとえば、指定した Effect に応じて、elasticache:CreateCacheCluster アクセス権限で
は、Amazon ElastiCache CreateCacheCluster オペレーションの実行をユーザーに許可または拒否しま
す。
• 効果 – ユーザーが特定のアクションをリクエストする際の効果を指定します。許可または拒否のいずれ
かになります。リソースへのアクセスを明示的に許可していない場合、アクセスは暗黙的に拒否されま
す。また、明示的にリソースへのアクセスを拒否すると、別のポリシーによってアクセスが許可されて
いる場合でも、ユーザーはそのリソースにアクセスできなくなります。
• プリンシパル – アイデンティティベースのポリシー (IAM ポリシー) で、ポリシーがアタッチされてい
るユーザーが黙示的なプリンシパルとなります。リソースベースのポリシーでは、権限 (リソースベー
スのポリシーにのみ適用) を受け取りたいユーザー、アカウント、サービス、またはその他のエンティ
ティを指定します。ElastiCache では、リソースベースのポリシーはサポートされていません。
IAM ポリシーの構文と説明についての詳細については、『IAM ユーザーガイド』の「AWS IAM ポリシー
の参照」を参照してください。
API Version 2015-02-02
362
Amazon ElastiCache ユーザーガイド
アクセス管理の概要
すべての Amazon ElastiCache API アクションを示す表については、「ElastiCache API のアクセス権限:
アクション、リソース、条件リファレンス (p. 369)」を参照してください。
ポリシーでの条件の指定
アクセス権限を付与するとき、IAM ポリシー言語を使用して、ポリシーが有効になる必要がある条件を
指定できます。たとえば、特定の日付の後にのみ適用されるポリシーが必要になる場合があります。ポリ
シー言語での条件の指定の詳細については、IAM ユーザーガイド の「条件」を参照してください。
条件を表すには、あらかじめ定義された条件キーを使用します。Amazon ElastiCache に固有の条件キー
はありません。ただし、AWS 全体の条件キーがあり、必要に応じて使用できます。AWS 全体を対象とす
るすべてのキーのリストについては、IAM ユーザーガイド の「条件に利用可能なキー」を参照してくださ
い。
API Version 2015-02-02
363
Amazon ElastiCache ユーザーガイド
アイデンティティベースのポリ
シー (IAM ポリシー) を使用する
Amazon ElastiCache でアイデンティティベースのポ
リシー (IAM ポリシー) を使用する
このトピックでは、アカウント管理者が識別 IAM アイデンティティ (ユーザー、グループ、ロール) へのア
クセス権限ポリシーをアタッチする、アイデンティティベースのポリシーの例を示します。
Important
初めに、Amazon ElastiCache リソースへのアクセスを管理するための基本概念と使用可能
なオプションについて説明する概要トピックを読むことをお勧めします。詳細については、
「ElastiCache リソースへのアクセス権限の管理の概要 (p. 360)」を参照してください。
このセクションでは、次のトピックを対象としています。
• Amazon ElastiCache コンソールを使用するために必要なアクセス権限 (p. 365)
• Amazon ElastiCache での AWS 管理 (事前定義) ポリシー (p. 365)
• お客様が管理するポリシーの例 (p. 366)
以下に示しているのは、アクセス権限ポリシーの例です。
{
"Version": "2012-10-17",
"Statement": [{
"Sid": "AllowClusterPermissions",
"Effect": "Allow",
"Action": [
"elasticache:CreateCacheCluster",
"elasticache:CreateReplicationGroup",
"elasticache:DescribeCacheClusters",
"elasticache:ModifyCacheCluster",
"elasticache:RebootCacheCluster"],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"iam:PassRole"],
"Resource": "arn:aws:iam::account-id:role/*"
}
]
}
このポリシーには以下の 2 つのステートメントがあります。
• 最初のステートメントは、アカウントが所有するキャッ
シュクラスターに対して Amazon ElastiCache アクション
(elasticache:CreateCacheCluster、elasticache:DescribeCacheClusters、elasticache:ModifyCacheCluster、el
を実行するためのアクセス権限を付与します。現在、Amazon ElastiCache では、リソースレベルで
のアクションを実行するためのアクセス権限はサポートされていません。したがって、ポリシーでは
Resource の値としてワイルドカード文字 (*) を指定します。
• 2 番目のステートメントは、IAM ロールに対して IAM アクション (iam:PassRole) を実行するためのア
クセス権限を付与します。このステートメントで Resource 値の末尾のワイルドカード文字 (*) は、任意
の IAM ロールに対して iam:PassRole アクションを実行するためのアクセス権限を付与することを意味
します。このアクセス権限を特定のロールに制限するには、リソース ARN 内のワイルドカード文字 (*)
を特定のロール名に置き換えます。
API Version 2015-02-02
364
Amazon ElastiCache ユーザーガイド
アイデンティティベースのポリ
シー (IAM ポリシー) を使用する
アイデンティティベースのポリシーでアクセス権限を得るプリンシパルを指定していないため、ポリシー
では Principal 要素を指定していません。ユーザーにポリシーをアタッチすると、そのユーザーが暗黙の
プリンシパルになります。IAM ロールにアクセス権限ポリシーをアタッチすると、ロールの信頼ポリシー
で識別されたプリンシパルがアクセス権限を得ることになります。
すべての Amazon ElastiCache API アクションとそれらが適用されるリソースの表については、
「ElastiCache API のアクセス権限: アクション、リソース、条件リファレンス (p. 369)」を参照してくだ
さい。
Amazon ElastiCache コンソールを使用するために必要なアクセ
ス権限
アクセス権限のリファレンス表では、Amazon ElastiCache API オペレーションとそれらの各オペレー
ションに必要なアクセス権限を示しています。ElastiCache API オペレーションの詳細については、
「ElastiCache API のアクセス権限: アクション、リソース、条件リファレンス (p. 369)」を参照してくだ
さい。
Amazon ElastiCache コンソールを使用するには、以下のアクセス権限ポリシーに示しているように、追加
のアクションのためのアクセス権限を付与する必要があります。
{
"Version": "2012-10-17",
"Statement": [{
"Sid": "MinPermsForECConsole",
"Effect": "Allow",
"Action": [
"elasticache:Describe*",
"elasticache:List*",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeVpcs",
"ec2:DescribeAccountAttributes",
"ec2:DescribeSecurityGroups",
"cloudwatch:GetMetricStatistics",
"cloudwatch:DescribeAlarms",
"s3:ListAllMyBuckets",
"sns:ListTopics",
"sns:ListSubscriptions" ],
"Resource": "*"
}
]
}
ElastiCache コンソールには、以下の理由でこれらの追加のアクセス権限が必要になります。
• ElastiCache アクションを実行するためのアクセス権限。コンソールで、アカウントの ElastiCache リ
ソースを表示するために必要です。
• Amazon EC2 に対してクエリを行う ec2 アクションを実行するためのアクセス権限。コンソールで、ア
ベイラビリティーゾーン、VPC、セキュリティグループ、アカウント属性を表示するために必要です。
• cloudwatch アクションを実行するためのアクセス権限。コンソールで、Amazon CloudWatch メトリク
スとアラームを取得し、表示するために必要です。
• sns アクションを実行するためのアクセス権限。コンソールで、Amazon Simple Notification Service
(Amazon SNS) トピックとサブスクリプションを取得し、表示するために必要です。
Amazon ElastiCache での AWS 管理 (事前定義) ポリシー
AWS は、AWS によって作成され管理されるスタンドアロンの IAM ポリシーが提供する多くの一般的ユー
スケースに対応します。管理ポリシーは、一般的ユースケースに必要なアクセス権限を付与することで、
API Version 2015-02-02
365
Amazon ElastiCache ユーザーガイド
アイデンティティベースのポリ
シー (IAM ポリシー) を使用する
どの権限が必要なのかをユーザーが調査する必要をなくすることができます。詳細については、「AWS 管
理ポリシー」 (IAM ユーザーガイド) を参照してください。
アカウントのユーザーにアタッチ可能な以下の AWS 管理ポリシーは、ElastiCache に固有のものです。
• AmazonElastiCacheReadOnlyAccess - Amazon ElastiCache リソースへの読み取り専用アクセスを許可
します。
• AmazonElastiCacheFullAccess - Amazon ElastiCache リソースへのフルアクセスを許可します。
Note
IAM コンソールにサインインし、特定のポリシーを検索することで、これらのアクセス権限ポリ
シーを確認することができます。
独自のカスタム IAM ポリシーを作成して、Amazon ElastiCache API アクションにアクセス権限を付与す
ることもできます。これらのカスタムポリシーは、それらのアクセス権限が必要な IAM ユーザーまたはグ
ループにアタッチできます。
お客様が管理するポリシーの例
Amazon ElastiCache コンソールを使用するために必要な最小限のアクセス権限と組み合わせて、このセク
ションでのポリシーの例は、追加のアクセス権限を付与します。この例は、AWS SDK と AWS CLI に関連
しています。ElastiCache コンソールを使用するために必要なアクセス権限の詳細については、「Amazon
ElastiCache コンソールを使用するために必要なアクセス権限 (p. 365)」を参照してください。
IAM ユーザーとグループを設定する手順については、『IAM ユーザーガイド』の「最初の IAM ユーザーと
管理者グループの作成」を参照してください。
Important
IAM ポリシーは必ず、本稼働環境での使用前にテストしてください。ElastiCache のアク
ションによっては、シンプルに見えても、ElastiCache コンソールの使用時にそれらのア
クションをサポートするために、他のアクションが必要になる場合があります。たとえ
ば、elasticache:CreateCacheCluster は、ElastiCache キャッシュクラスターを作成するための
アクセス権限を付与します。ただし、このオペレーションを実行するために、ElastiCache コン
ソールでは Describe と List の多数のアクションが使用されて、リストが事前設定されます。ま
た、レプリケーションが有効な Redis キャッシュクラスターをユーザーが作成する必要がある場
合は、elasticache:CreateReplicationGroup アクションを実行するためのアクセス権限もユー
ザーに付与する必要があります。
例
• 例 1: ユーザーにセキュリティグループの作成と管理を許可する (p. 366)
• 例 2: ユーザーに ElastiCache リソースへの読み取り専用アクセスを許可する (p. 367)
• 例 3: ユーザーに一般的な ElastiCache システム管理者タスクの実行を許可する (p. 367)
• 例 4: ユーザーにすべての ElastiCache API アクションへのアクセスを許可する (p. 367)
例 1: ユーザーにセキュリティグループの作成と管理を許可する
以下のポリシーでは、セキュリティグループの特定の ElastiCache アクションを実行するためのアクセス
権限を付与します。通常、このタイプのアクセス権限ポリシーはシステム管理者グループにアタッチしま
す。
{
"Version": "2012-10-17",
"Statement":[{
"Sid": "SecGrpAllows",
"Effect":"Allow",
API Version 2015-02-02
366
Amazon ElastiCache ユーザーガイド
アイデンティティベースのポリ
シー (IAM ポリシー) を使用する
"Action":[
"elasticache:CreateCacheSecurityGroup",
"elasticache:DeleteCacheSecurityGroup",
"elasticache:DescribeCacheSecurityGroup",
"elasticache:AuthorizeCacheSecurityGroupIngress",
"elasticache:RevokeCacheSecurityGroupIngress"],
"Resource":"*"
}
]
}
例 2: ユーザーに ElastiCache リソースへの読み取り専用アクセスを許可する
以下のポリシーでは、リソースを一覧表示する ElastiCache アクションを実行するためのアクセス権限を
ユーザーに付与します。通常、このタイプのアクセス権限ポリシーは管理者グループにアタッチします。
{
"Version": "2012-10-17",
"Statement":[{
"Sid": "ECUnrestricted",
"Effect":"Allow",
"Action": [
"elasticache:Describe*",
"elasticache:List*"],
"Resource":"*"
}
]
}
例 3: ユーザーに一般的な ElastiCache システム管理者タスクの実行を許可する
一般的なシステム管理者タスクには、キャッシュクラスター、パラメータ、パラメータグループの変更が
含まれます。システム管理者は ElastiCache イベントに関する情報を取得することが必要になる場合もあ
ります。以下のポリシーでは、これらの一般的なシステム管理タスクに必要な ElastiCache アクションを
実行するためのアクセス権限をユーザーに付与します。通常、このタイプのアクセス権限ポリシーはシス
テム管理者グループにアタッチします。
{
"Version": "2012-10-17",
"Statement":[{
"Sid": "ECAllowSpecific",
"Effect":"Allow",
"Action":[
"elasticache:ModifyCacheCluster",
"elasticache:RebootCacheCluster",
"elasticache:DescribeCacheClusters",
"elasticache:DescribeEvents",
"elasticache:ModifyCacheParameterGroup",
"elasticache:DescribeCacheParameterGroups",
"elasticache:DescribeCacheParameters",
"elasticache:ResetCacheParameterGroup",
"elasticache:DescribeEngineDefaultParameters"],
"Resource":"*"
}
]
}
例 4: ユーザーにすべての ElastiCache API アクションへのアクセスを許可する
以下のポリシーでは、ユーザーにすべての ElastiCache アクションへのアクセスを許可します。このタイ
プのアクセス権限ポリシーは管理者ユーザーにのみ付与することをお勧めします。
API Version 2015-02-02
367
Amazon ElastiCache ユーザーガイド
アイデンティティベースのポリ
シー (IAM ポリシー) を使用する
{
"Version": "2012-10-17",
"Statement":[{
"Sid": "ECAllowSpecific",
"Effect":"Allow",
"Action":[
"elasticache:*" ],
"Resource":"*"
}
]
}
API Version 2015-02-02
368
Amazon ElastiCache ユーザーガイド
ElastiCache API の権限リファレンス
ElastiCache API のアクセス権限: アクション、リソー
ス、条件リファレンス
アクセスコントロール (p. 359) をセットアップし、IAM アイデンティティにアタッチできるアクセス権限
ポリシー (アイデンティティベースのポリシー) を作成するときは、以下の表をリファレンスとして使用で
きます。この表には、各 Amazon ElastiCache API オペレーション、およびその実行のためのアクセス権
限を付与できる対応するアクションを示しています。ポリシーの Action フィールドでアクションを指定
し、ポリシーの Resource フィールドでリソース値としてワイルドカード文字 (*) を指定します。
ElastiCache ポリシーで AWS 全体の条件キーを使用して、条件を表現することができます。AWS 全体を
対象とするすべてのキーのリストについては、『IAM ユーザーガイド』の「条件に利用可能なキー」を参
照してください。
Note
アクションを指定するには、API オペレーション名 (elasticache: など) の前に
elasticache:DescribeSnapshots プレフィックスを使用します。すべて ElastiCache アクション
に対して、リソースとしてワイルドカード文字 (*) を指定します。
Amazon ElastiCache API とアクションで必要なアクセス権限
AddTagsToResource
アクション: elasticache:AddTagsToResource
リソース: *
AuthorizeCacheSecurityGroupIngress
アクション: elasticache:AuthorizeCacheSecurityGroupIngress
リソース: *
CopySnapshot
アクション: elasticache:CopySnapshot
リソース: *
CreateCacheCluster
アクション: elasticache:CreateCacheCluster
s3:GetObject
Note
SnapshotArns パラメータを使用する場合、SnapshotArns リストの各メンバーには、そのリ
ソースとして s3 ARN を関連付けた独自の s3:GetObject アクセス権限が必要です。
リソース: *
arn:aws:s3:::my_bucket/snapshot1.rdb
ここで、my_bucket/snapshot1 はキャッシュクラスターの作成元になる S3 バケットとスナップ
ショットです。
CreateCacheParameterGroup
アクション: elasticache:CreateCacheParameterGroup
リソース: *
API Version 2015-02-02
369
Amazon ElastiCache ユーザーガイド
ElastiCache API の権限リファレンス
CreateCacheSecurityGroup
アクション: elasticache:CreateCacheSecurityGroup
リソース: *
CreateCacheSubnetGroup
アクション: elasticache:CreateCacheSubnetGroup
リソース: *
CreateReplicationGroup
アクション: elasticache:CreateReplicationGroup
s3:GetObject
Note
SnapshotArns パラメータを使用する場合、SnapshotArns リストの各メンバーには、そのリ
ソースとして s3 ARN を関連付けた独自の s3:GetObject アクセス権限が必要です。
リソース: *
arn:aws:s3:::my_bucket/snapshot1.rdb
ここで、my_bucket/snapshot1 はキャッシュクラスターの作成元になる S3 バケットとスナップ
ショットです。
CreateSnapshot
アクション: elasticache:CreateSnapshot
リソース: *
DeleteCacheCluster
アクション: elasticache:DeleteCacheCluster
リソース: *
DeleteCacheParameterGroup
アクション: elasticache:DeleteCacheParameterGroup
リソース: *
DeleteCacheSecurityGroup
アクション: elasticache:DeleteCacheSecurityGroup
リソース: *
DeleteCacheSubnetGroup
アクション: elasticache:DeleteCacheSubnetGroup
リソース: *
DeleteReplicationGroup
アクション: elasticache:DeleteReplicationGroup
リソース: *
DeleteSnapshot
アクション: elasticache:DeleteSnapshot
API Version 2015-02-02
370
Amazon ElastiCache ユーザーガイド
ElastiCache API の権限リファレンス
リソース: *
DescribeCacheClusters
アクション: elasticache:DescribeCacheClusters
リソース: *
DescribeCacheEngineVersions
アクション: elasticache:DescribeCacheEngineVersions
リソース: *
DescribeCacheParameterGroups
アクション: elasticache:DescribeCacheParameterGroups
リソース: *
DescribeCacheParameters
アクション: elasticache:DescribeCacheParameters
リソース: *
DescribeCacheSecurityGroups
アクション: elasticache:DescribeCacheSecurityGroups
リソース: *
DescribeCacheSubnetGroups
アクション: elasticache:DescribeCacheSubnetGroups
リソース: *
DescribeEngineDefaultParameters
アクション: elasticache:DescribeEngineDefaultParameters
リソース: *
DescribeEvents
アクション: elasticache:DescribeEvents
リソース: *
DescribeReplicationGroups
アクション: elasticache:DescribeReplicationGroups
リソース: *
DescribeReservedCacheNodes
アクション: elasticache:DescribeReservedCacheNodes
リソース: *
DescribeReservedCacheNodesOfferings
アクション: elasticache:DescribeReservedCacheNodesOfferings
リソース: *
DescribeSnapshots
アクション: elasticache:DescribeSnapshots
API Version 2015-02-02
371
Amazon ElastiCache ユーザーガイド
ElastiCache API の権限リファレンス
リソース: *
ListTagsForResource
アクション: elasticache:ListTagsForResource
リソース: *
ModifyCacheCluster
アクション: elasticache:ModifyCacheCluster
リソース: *
ModifyCacheParameterGroup
アクション: elasticache:ModifyCacheParameterGroup
リソース: *
ModifyCacheSubnetGroup
アクション: elasticache:ModifyCacheSubnetGroup
リソース: *
ModifyReplicationGroup
アクション: elasticache:ModifyReplicationGroup
リソース: *
PurchaseReservedCacheNodesOffering
アクション: elasticache:PurchaseReservedCacheNodesOffering
リソース: *
RebootCacheCluster
アクション: elasticache:RebootCacheCluster
リソース: *
RemoveTagsFromResource
アクション: elasticache:RemoveTagsFromResource
リソース: *
ResetCacheParameterGroup
アクション: elasticache:ResetCacheParameterGroup
リソース: *
RevokeCacheSecurityGroupIngress
アクション: elasticache:RevokeCacheSecurityGroupIngress
リソース: *
API Version 2015-02-02
372
Amazon ElastiCache ユーザーガイド
要件
AWS 外部からの ElastiCache リソー
スへのアクセス
Amazon ElastiCache は、クラウドベースのメモリ内のキー値ストアを提供する AWS サービスです。これ
は、バックエンドで Memcached エンジンまたは Redis エンジンを使用します。このサービスは、AWS
内からのみアクセスできるように設計されています。ElastiCache クラスターが VPC 内でホストされてい
る場合は、ネットワークアドレス変換 (NAT) インスタンスを使用して外部からアクセスできるようにでき
ます。
トピック
• 要件 (p. 373)
• 考慮事項 (p. 373)
• 制約事項 (p. 374)
• AWS 外部から ElastiCache リソースにアクセスする方法 (p. 374)
• 以下の資料も参照してください。 (p. 376)
要件
AWS 外部から ElastiCache リソースにアクセスするには、以下の要件を満たしている必要があります。
• クラスターが VPC 内にあり、ネットワークアドレス変換 (NAT) インスタンスを介してアクセスできる
必要があります。これは必須の要件であり、例外はありません。
• NAT インスタンスがクラスターと同じ VPC 内で起動されている必要があります。
• NAT インスタンスがクラスターとは別のパブリックサブネットで起動されている必要があります。
• Elastic IP (EIP) アドレスが NAT インスタンスに関連付けられている必要があります。NAT インスタン
スのポートは、iptables のポート転送機能を使用して VPC 内のキャッシュノードポートに転送されま
す。
考慮事項
ElastiCache 外部から ElastiCache リソースにアクセスする際には、以下の点を考慮してください。
• クライアントは EIP に接続し、NAT インスタンスのポートをキャッシュします。NAT インスタンスで
ポート転送すると、トラフィックは適切なキャッシュクラスターノードに転送されます。
API Version 2015-02-02
373
Amazon ElastiCache ユーザーガイド
制約事項
• クラスターノードが追加または交換されたら、この変更が反映されるように iptables ルールが更新され
る必要があります。
制約事項
このアプローチは、テストおよび開発の目的にしか使用できません。以下の制限があるため、本稼働で使
用することは推奨されません。
• NAT インスタンスは、クライアントと複数のクラスターの間のプロキシとして機能します。プロキシを
追加すると、キャッシュクラスターのパフォーマンスに影響が及びます。この影響は、NAT インスタン
スを介してアクセスするキャッシュクラスターの数に応じて増大します。
• クライアントから NAT インスタンスへのトラフィックは暗号化されません。したがって、NAT インス
タンスを介して機密データを送信することは回避してください。
• NAT インスタンスは、別のインスタンスを維持するためのオーバーヘッドを増加させます。
• NAT インスタンスは単一障害点として機能します。VPC で高可用性 NAT をセットアップする方法につ
いては、「Amazon VPC NAT インスタンスの高可用性: 例」を参照してください。
AWS 外部から ElastiCache リソースにアクセスす
る方法
次の手順は、NAT インスタンスを使用して ElastiCache リソースに接続する方法を示しています。
Tip
Amazon ElastiCache クラスター用に動作させるように次のプロセスを変更できます。クラスター
のポート番号に、例のポート番号を指定します。
これらのステップは、以下を前提としています。
• IP アドレス 10.0.1.230、デフォルトの Memcached ポート 11211、およびセキュリティグループ sgbd56b7da を使用して Memcached クラスターにアクセスしている。
• 信頼済みクライアントの IP アドレスが 198.51.100.27 である。
• NAT インスタンスの Elastic IP アドレスが 203.0.113.73 である。
• NAT インスタンスのセキュリティグループが sg-ce56b7a9 である。
次の手順で NAT インスタンスの作成を終了すると、以下のようになります。
• NAT インスタンスで IP 転送が有効になります。これを確認するために、次のコマンドを使用できま
す。
cat /proc/sys/net/ipv4/ip_forward
• マスカレードが有効になります。マスカレードを有効にするには、次のコマンドを使用できます。
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
NAT インスタンスを使用して ElastiCache リソースに接続するには
1.
キャッシュクラスターと同じ VPC 内のパブリックサブネット内に NAT インスタンスを作成します。
API Version 2015-02-02
374
Amazon ElastiCache ユーザーガイド
AWS 外部から ElastiCache リソースにアクセスする方法
デフォルトでは、VPC ウィザードが cache.m1.small ノードタイプを起動します。必要に応じてノー
ドサイズを選択する必要があります。
NAT インスタンスの作成については、『AWS VPC User Guide』の「NAT インスタンス」を参照して
ください。
2.
キャッシュクラスターと NAT インスタンスのセキュリティグループルールを作成します。
NAT インスタンスのセキュリティグループには以下のルールが必要です。
• 2 つのインバウンドルール
• 信頼済みクライアントから、NAT インスタンスから転送された各キャッシュポート (11211 11213) への TCP 接続を許可するルール。
• 信頼済みクライアントへの SSH アクセスを許可するルール。
NAT インスタンスのセキュリティグループ - インバウンドルール
タイプ
プロトコル
ポート範囲
送信元
カスタム TCP ルール
TCP
11211-11213
198.51.100.27/32
SSH
TCP
22
198.51.100.27/32
• 転送された各キャッシュポート (11211 ~ 11213) への TCP 接続を許可するアウトバウンドルー
ル。
NAT インスタンスのセキュリティグループ - アウトバウンドルール
タイプ
カスタム TCP ルール
プロトコル
ポート範囲
TCP
11211-11213
送信先
sg-bd56b7da (キャッ
シュクラスターのセ
キュリティグループ)
• NAT インスタンスからクラスター内の各インスタンスのキャッシュポート (11211 ~ 11213) への
TCP 接続を許可するクラスターのセキュリティグループのインバウンドルール。
キャッシュクラスターのセキュリティグループ - インバウンドルール
タイプ
カスタム TCP ルール
3.
プロトコル
ポート範囲
TCP
11211-11213
送信元
sg-ce56b7a9 (NAT イ
ンスタンスのセキュ
リティグループ)
ルールを検証します。
• 信頼済みクライアントが NAT インスタンスに SSH 接続できることを確認します。
• 信頼済みクライアントが NAT インスタンスからクラスターに接続できることを確認します。
4.
NAT インスタンスに iptables ルールを追加します。
NAT インスタンスからのキャッシュポートをクラスターノードに転送するには、iptables ルールをク
ラスターのノードごとに NAT テーブルに追加する必要があります。以下に例を示します。
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 11211 -j DNAT --to
10.0.1.230:11211
API Version 2015-02-02
375
Amazon ElastiCache ユーザーガイド
以下の資料も参照してください。
ポート番号は、クラスターのノードごとに一意である必要があります。たとえば、ポート 11211 ~
11213 を使用する 3 つのノードで構成される Memcached クラスターを使用している場合、ルールは
次のようになります。
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 11211 -j DNAT --to
10.0.1.230:11211
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 11212 -j DNAT --to
10.0.1.231:11211
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 11213 -j DNAT --to
10.0.1.232:11211
5.
信頼済みクライアントがクラスターに接続できることを確認します。
信頼済みクライアントは、NAT インスタンスに関連付けられている EIP と、適切なクラスターノード
に対応するクラスターポートに接続できる必要があります。たとえば、PHP の接続文字列は次のよう
になります。
$memcached->connect( '203.0.113.73', 11211 );
$memcached->connect( '203.0.113.73', 11212 );
$memcached->connect( '203.0.113.73', 11213 );
telnet クライアントを使用して接続を検証することもできます。以下に例を示します。
telnet 203.0.113.73 11211
telnet 203.0.113.73 11212
telnet 203.0.113.73 11213
6.
iptables 設定を保存します。
ルールをテストし、検証してから保存します。Red Hat ベースの Linux ディストリビューション
(Amazon Linux など) を使用している場合は、次のコマンドを実行します。
service iptables save
以下の資料も参照してください。
• NAT インスタンス
• ElastiCache クライアントの設定
• Amazon VPC NAT インスタンスの高可用性: 例
API Version 2015-02-02
376
Amazon ElastiCache ユーザーガイド
使用状況、イベント、コストのモニ
タリング
クラスターの動作状況、リソースの使用状況、生成されたイベント、およびデプロイのコストを知るこ
とは、エンタープライズキャッシュソリューションの管理における重要な要因です。CloudWatch は、
キャッシュパフォーマンスをモニタリングするためのメトリクスを提供します。コスト配分タグは、コス
トのモニタリングと管理に役立ちます。
トピック
• CloudWatch メトリクスを使用したモニタリング (p. 378)
• ElastiCache イベントのモニタリング (p. 388)
• コスト配分のタグによるコストのモニタリング (p. 399)
API Version 2015-02-02
377
Amazon ElastiCache ユーザーガイド
使用状況のモニタリング
CloudWatch メトリクスを使用したモニタリング
ElastiCache には、クラスターを監視できるようにするメトリクスが用意されています。CloudWatch を通
じてこれらのメトリクスにアクセスできます。CloudWatch の詳細については、CloudWatch のドキュメン
トを参照してください。
ElastiCache では、ホストレベルのメトリクス (たとえば、CPU 使用率など) とキャッシュエンジンソフト
ウェアに固有のメトリクス (たとえば、キャッシュの取得やキャッシュの損失など) の両方が提供されま
す。これらのメトリクスは 60 秒間隔で各キャッシュノードに対して測定およびパブリッシュされます。
Important
キャッシュクラスターのパフォーマンスが低下し始めた場合に通知を受け取ることができるよう
に、特定の主要メトリクスに CloudWatch アラームを設定することを検討してください。詳細に
ついては、「モニタリングすべきメトリクス (p. 384)」を参照してください。
トピック
• ElastiCache メトリクスのディメンション (p. 378)
• ホストレベルのメトリクス (p. 378)
• Memcached のメトリクス (p. 379)
• Redis のメトリクス (p. 381)
• モニタリングすべきメトリクス (p. 384)
• メトリクスの統計と期間の選択 (p. 385)
• Monitoring CloudWatch Cache Cluster and Cache Node Metrics (p. 385)
ElastiCache メトリクスのディメンション
すべての ElastiCache メトリクスは "AWS/ElastiCache" 名前空間を使用し、CacheNodeId という 1 つ
のディメンションに関するメトリクスを提供します。このディメンションは、キャッシュクラスター
の各キャッシュノードに対して自動的に生成される識別子です。キャッシュノードに対するこれら
の値を確認するには、DescribeCacheClusters API または elasticache-describe-cache-clusters コマ
ンドラインユーティリティを使用します。詳細については、Amazon ElastiCache API Referenceの
「DescribeCacheClusters」および AWS Command Line Interface Referenceの「 describe-cacheclusters」を参照してください。
メトリクスはそれぞれ 1 組のディメンションの下でパブリッシュされます。メトリクスを取得するとき
は、CacheClusterId と CacheNodeId の両方のディメンションを指定する必要があります。
トピック
• ホストレベルのメトリクス (p. 378)
• Memcached のメトリクス (p. 379)
• Redis のメトリクス (p. 381)
• モニタリングすべきメトリクス
ホストレベルのメトリクス
次の表は、ElastiCache が各キャッシュノードに対して提供するホストレベルのメトリクスを示します。
以下の資料も参照してください。
• Memcached のメトリクス (p. 379)
• Redis のメトリクス (p. 381)
API Version 2015-02-02
378
Amazon ElastiCache ユーザーガイド
Memcached のメトリクス
メトリクス
説明
単位
CPUUtilization
CPU 使用率。
パーセント
FreeableMemory
ホストで使用可能な空きメモリの量。
Bytes
NetworkBytesIn
ホストがネットワークから読み取ったバイト数。
Bytes
NetworkBytesOut
ホストがネットワークに書き込んだバイト数。
Bytes
SwapUsage
ホストで使用されるスワップの量。
Bytes
Memcached のメトリクス
次の表は、ElastiCache によって提供され、Memcached stats コマンドから算出されるメトリクスを示し
ます。各メトリクスは、キャッシュノードレベルで算出されます。
Memcached stats コマンドの詳細については、https://github.com/memcached/memcached/blob/master/
doc/protocol.txt にアクセスしてください。
以下の資料も参照してください。
• ホストレベルのメトリクス (p. 378)
メトリクス
説明
単位
BytesReadIntoMemcached
キャッシュノードによってネットワークから読み
取られたバイト数。
Bytes
BytesUsedForCacheItems
キャッシュ項目の格納に使用したバイト数。
Bytes
BytesWrittenOutFromMemcached
キャッシュノードによってネットワークに書き込
まれたバイト数。
Bytes
キャッシュが受信したが、その Cas (チェックと設
定) 値と格納されている Cas 値が一致しない CAS
リクエストの数。
カウント
CasHits
キャッシュが受信し、リクエストされたキーが見
つかって Cas 値が一致した Cas リクエストの数。
カウント
CasMisses
キャッシュが受信したが、リクエストされたキー
が見つからない Cas リクエストの数。
カウント
CmdFlush
キャッシュが受信した flush コマンドの数。
カウント
CmdGet
キャッシュが受信した get コマンドの数。
カウント
CmdSet
キャッシュが受信した set コマンドの数。
カウント
CurrConnections
特定の時点でキャッシュに接続された接続回数。
カウント
CurrItems
キャッシュに現在格納されている項目の数。
カウント
DecrHits
キャッシュが受信し、リクエストされたキーが見
つかったデクリメントリクエストの数。
カウント
CasBadval
API Version 2015-02-02
379
Amazon ElastiCache ユーザーガイド
Memcached のメトリクス
メトリクス
説明
単位
キャッシュが受信したが、リクエストされたキー
が見つからなかったデクリメントリクエストの
数。
カウント
DeleteHits
キャッシュが受信し、リクエストされたキーが見
つかった削除リクエストの数。
カウント
DeleteMisses
キャッシュが受信したが、リクエストされたキー
が見つからなかった削除リクエストの数。
カウント
新しく書き込むための領域を確保するために
キャッシュが排除した、期限切れではない項目の
数。
カウント
GetHits
キャッシュが受信し、リクエストされたキーが見
つかった get リクエストの数。
カウント
GetMisses
キャッシュが受信したが、リクエストされたキー
が見つからなかった get リクエストの数。
カウント
IncrHits
キャッシュが受信し、リクエストされたキーが見
つかったインクリメントリクエストの数。
カウント
キャッシュが受信したが、リクエストされたキー
が見つからなかったインクリメントリクエストの
数。
カウント
新しく書き込むための領域を確保するために
キャッシュが排除した、期限切れ項目の数。
カウント
DecrMisses
Evictions
IncrMisses
Reclaimed
Memcached 1.4.14 では、次のメトリクスが追加で提供されます。
メトリクス
説明
単位
BytesUsedForHash
ハッシュテーブルで現在使用されているバイト
数。
Bytes
CmdConfigGet
config get リクエストの累積数。
カウント
CmdConfigSet
config set リクエストの累積数。
カウント
CmdTouch
touch リクエストの累積数。
カウント
CurrConfig
現在格納されている設定の数。
カウント
EvictedUnfetched
設定されてからまったくタッチされていない LRU
キャッシュから排除された有効な項目の数。
カウント
設定されてからまったくタッチされていない LRU
キャッシュから再生された有効期限切れの項目の
数。
カウント
SlabsMoved
移動されたスラブページの合計数。
カウント
TouchHits
タッチされて新しい有効期限を与えられたキーの
数。
カウント
ExpiredUnfetched
API Version 2015-02-02
380
Amazon ElastiCache ユーザーガイド
Redis のメトリクス
メトリクス
説明
単位
TouchMisses
タッチされたが見つからなかった項目の数。
カウント
次の表では、算出されたキャッシュレベルのメトリクスについて説明します。
メトリクス
NewConnections
NewItems
UnusedMemory
説明
単位
キャッシュが受信した新しい接続の数。これ
は、Memcached total_connections 統計に基
づき、一定期間にわたる total_connections
の変更を記録することで算出されます。この値
は、ElastiCache に予約された接続が 1 つあるた
め、少なくとも 1 になります。
カウント
キャッシュが格納した新しい項目の数。これ
は、Memcached total_items 統計に基づき、一定
期間にわたる total_items の変更を記録すること
で算出されます。
カウント
データに使用されていないメモリの量。この値
は、Memcached 統計の limit_maxbytes と bytes
のうち、limit_maxbytes から bytes を引いたもの
から派生しています。
Bytes
Memcached がデータに加えてオーバーヘッドに
もメモリを使用するため、UnusedMemory は追加
データに使用できるメモリ量としてはみなされま
せん。未使用メモリがまだ残っている状態でも削
除が発生する場合があります。
詳細については、「Memcached item memory
usage」を参照してください。
Redis のメトリクス
次の表は、ElastiCache が提供するメトリクスを示します。ReplicationLag を除き、これらのメトリクス
は、Redis info コマンドから算出されます。各メトリクスは、キャッシュノードレベルで算出されます。
Redis info コマンドの詳細は、Redis コマンドのウェブサイトを参照してください。
以下の資料も参照してください。
• ホストレベルのメトリクス (p. 378)
メトリクス
説明
単位
BytesUsedForCache
Redis によって割り当てられた総バイト数。
Bytes
CacheHits
成功したキー検索の数。
カウント
CacheMisses
失敗したキー検索の数。
カウント
CurrConnections
クライアントの接続数 (リードレプリカからの接続
を除く)。
カウント
API Version 2015-02-02
381
Amazon ElastiCache ユーザーガイド
Redis のメトリクス
メトリクス
説明
単位
Evictions
maxmemory の制限のため排除されたキーの数。
カウント
HyperLogLogBasedCmds
HyperLogLog ベースのコマンドの総数。これ
は、Redis commandstats 統計に基づき、すべての
カウント
NewConnections
この期間内にサーバーによって受け入れられた接
続の総数。
カウント
Reclaimed
キーの有効期限切れイベントの総数。
カウント
レプリカがアタッチされたプライマリについて
は、ReplicationBytes は、プライマリがすべて
のレプリカに対して送信するバイト数を報告し
ます。このメトリクスは、レプリケーショング
ループに対する書き込み負荷を表します。レプ
リカおよびスタンドアロンのプライマリについて
は、ReplicationBytes は常に 0 です。
Bytes
このメトリクスは、リードレプリカとして実行中
のノードにのみ適用できます。レプリカのプライ
マリノードからの変更適用の進行状況を秒で表し
ます。
Seconds
このバイナリメトリクスは、バックグラウンド保
存 (分岐または分岐なし) が進行中の場合は常に
1 を返し、それ以外の場合は 0 を返します。バッ
クグラウンド保存プロセスは一般に、スナップ
ショットおよび同期の際に使用されます。これら
のオペレーションによりパフォーマンスが低下す
る可能性があります。 SaveInProgress メトリク
スを使用して、パフォーマンスが低下した原因が
バックグラウンド保存プロセスであるかどうかを
診断できます。
カウント
pf 方のコマンド (pfadd、pfcount、pfmerge) を合計
することで算出されます。
ReplicationBytes
ReplicationLag
SaveInProgress
これらは特定の種類のコマンドの集計で、info commandstats から算出されています。
メトリクス
CurrItems
GetTypeCmds
HashBasedCmds
KeyBasedCmds
説明
単位
クラスターの項目の数。これは、Redis keyspace
統計に基づき、キー空間全体のすべてのキーを合
計することで算出されます。
カウント
get の種類のコマンドの総数。これは、Redis
commandstats 統計に基づき、get 型のすべてのコ
マンド (get、mget、hget など) を合計することで
算出されます。
カウント
ハッシュベースのコマンドの総数。これは、Redis
commandstats 統計に基づき、1 つ以上のハッシュ
に対して実行されるすべてのコマンドを合計する
ことで算出されます。
カウント
キーベースのコマンドの総数。これは、Redis
commandstats 統計に基づき、1 つ以上のキーに対
カウント
API Version 2015-02-02
382
Amazon ElastiCache ユーザーガイド
Redis のメトリクス
メトリクス
説明
単位
して実行されるすべてのコマンドを合計すること
で算出されます。
ListBasedCmds
SetBasedCmds
SetTypeCmds
SortedSetBasedCmds
StringBasedCmds
リストベースのコマンドの総数。これは、Redis
commandstats 統計に基づき、1 つ以上のリストに
対して実行されるすべてのコマンドを合計するこ
とで算出されます。
カウント
セットベースのコマンドの総数。これは、Redis
commandstats 統計に基づき、1 つ以上のセットに
対して実行されるすべてのコマンドを合計するこ
とで算出されます。
カウント
set の種類のコマンドの総数。これは、Redis
commandstats 統計に基づき、set 型のすべてのコ
マンド (set、hset など) を合計することで算出され
ます。
カウント
ソートされたセットベースのコマンドの総数。こ
れは、Redis commandstats 統計に基づき、1 つ以
上のソートされたセットに対して実行されるすべ
てのコマンドを合計することで算出されます。
カウント
文字列ベースのコマンドの総数。これは、Redis
commandstats 統計に基づき、1 つ以上の文字列に
対して実行されるすべてのコマンドを合計するこ
とで算出されます。
カウント
API Version 2015-02-02
383
Amazon ElastiCache ユーザーガイド
モニタリングすべきメトリクス
モニタリングすべきメトリクス
次の CloudWatch メトリクスは、ElastiCache パフォーマンスを把握するのに役立ちます。ほとんどの場
合、パフォーマンスの問題が発生する前に修正作業を行うことができるように、これらのメトリクスに
CloudWatch アラームを設定することをお勧めします。
CPUUtilization
パーセント単位でレポートされるホストレベルのメトリクスです。詳細については、「ホストレベルのメ
トリクス (p. 378)」を参照してください。
• Memcached: Memcached はマルチスレッドのため、このメトリクスは約 90% です。このしきい値を超
えた場合、より大きいキャッシュノードタイプを使用してキャッシュクラスターをスケールするか、さ
らにキャッシュノードを追加してスケールアウトしてください。
• Redis: Redis はシングルスレッドのため、しきい値は (90/プロセッサのコア数) で計算されます。たとえ
ば、4 個のコアを搭載する cache.m1.xlarge ノードを使用しているとします。この場合、CPUUtilization
のしきい値は (90/4)、つまり 22.5% になります。
使用しているキャッシュノードのコア数に基づいて独自のしきい値を決定する必要があります。このし
きい値を超えた場合で、主なワークロードが読み込みリクエストから生成されている場合、リードレプ
リカを追加してキャッシュクラスターをスケールします。主なワークロードが書き込みリクエストから
生成されている場合、大きいキャッシュインスタンスタイプを使用してスケールアップすることをお勧
めします。
SwapUsage
バイト単位でレポートされるホストレベルのメトリクスです。詳細については、「ホストレベルのメトリ
クス (p. 378)」を参照してください。
• Memcached: このメトリクスは 50 MB を超えてはなりせん。超えた場合、ConnectionOverhead パラ
メーター値を大きくすることをお勧めします。
• Redis: 現時点では、このパラメーターに関する推奨事項はありません。CloudWatch アラームを設定す
る必要はありません。
Evictions
これは、Memcached キャッシュクラスターと Redis キャッシュクラスターの両方に対して発行される
キャッシュエンジンメトリクスです。アプリケーションニーズに基づいてこのメトリクスの独自のアラー
ムしきい値を決定することをお勧めします。
• Memcached: 選択したしきい値を超過した場合は、大きいキャッシュノードタイプを使用してキャッ
シュクラスターをスケールするか、さらにキャッシュノードを追加してスケールアウトしてください。
• Redis: 指定したしきい値を超過する場合は、さらに上のノードタイプを使用してクラスターを拡張しま
す。
CurrConnections
これは、Memcached キャッシュクラスターと Redis キャッシュクラスターの両方に対して発行される
キャッシュエンジンメトリクスです。アプリケーションニーズに基づいてこのメトリクスの独自のアラー
ムしきい値を決定することをお勧めします。
Memcached と Redis のどちらを実行しているかにかかわらず、CurrConnections の値が大きくなった場
合、アプリケーションに問題があることを示している可能性があります。アプリケーション動作を調査し
てこの問題を解決する必要があります。
API Version 2015-02-02
384
Amazon ElastiCache ユーザーガイド
メトリクスの統計と期間の選択
メトリクスの統計と期間の選択
CloudWatch では、各メトリクスの統計および期間を選択できますが、すべての組み合わせが役に立つと
は言えません。たとえば、CPUUtilization の Average、Minimum、および Maximum 統計は役に立ちます
が、Sum 統計は役に立ちません。
ElastiCache のすべてのサンプルは、個々のキャッシュノードに対して 60 秒間発行されています。任意の
60 秒間において、キャッシュノードメトリクスに含められるサンプルは 1 つだけです。
キャッシュノードのメトリクスを取得する方法の詳細については、「Monitoring CloudWatch Cache
Cluster and Cache Node Metrics (p. 385)」を参照してください。
Monitoring CloudWatch Cache Cluster and Cache
Node Metrics
ElastiCache と CloudWatch は、多様なメトリクスを収集できるように統合されています。CloudWatch を
使用して、これらのメトリクスをモニタリングできます。
Note
次の例には、コマンドラインツール CloudWatch が必要です。CloudWatch の詳細についてと開
発者ツールのダウンロードについては、CloudWatch 製品ページを参照してください。
次の手順は、CloudWatch を使用して、過去 1 時間のキャッシュクラスターのストレージ領域統計を収集
する方法を示しています。
Note
以下の例で指定されている StartTime 値と EndTime 値は、例示を目的としています。実際の
キャッシュノードに適した開始時刻値および終了時刻値で置き換える必要があります。
ElastiCache の制限の詳細については、「AWS サービスの制限」(ElastiCache 用) を参照してください。
Monitoring CloudWatch Cache Cluster and Cache Node Metrics
(コンソール)
キャッシュクラスターの CPU 使用率統計を収集するには
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
メトリクスを表示するキャッシュノードを選択します。
Note
20 個を超えるノードを選択すると、コンソールでメトリクスを表示できなくなります。
a.
AWS マネジメントコンソールの [Cache Clusters] ページで、1 つ以上のキャッシュクラスターの
名前をクリックします。
キャッシュクラスターの詳細ページが表示されます。
b.
ウィンドウ上部にある [Nodes] タブをクリックします。
c.
詳細ウィンドウの [Nodes] タブで、メトリクスを表示するキャッシュノードを選択します。
使用可能な CloudWatch メトリクスのリストがコンソールウィンドウの下部に表示されます。
d.
[CPU Utilization] メトリクスをクリックします。
API Version 2015-02-02
385
Amazon ElastiCache ユーザーガイド
Monitoring CloudWatch Cache
Cluster and Cache Node Metrics
CloudWatch コンソールが開き、選択されたメトリクスが表示されます。[Statistic] および
[Period] ドロップダウンリストボックスや [Time Range] タブを使用すると、表示されるメトリク
スを変更できます。
Monitoring CloudWatch Cache Cluster and Cache Node Metrics
CloudWatch CLI の使用
キャッシュクラスターの CPU 使用率統計を収集するには
•
以下のパラメータを指定して、CloudWatch コマンド mon-get-stats を使用します (示されている開始
時刻と終了時刻は例です。適切な開始時刻と終了時刻に置き換える必要があります)。
Linux, macOS, or Unix 用:
mon-get-stats CPUUtilization \
--dimensions="CacheClusterId=mycachecluster,CacheNodeId=0002" \
--statistics=Average \
--namespace="AWS/ElastiCache" \
--start-time 2013-07-05T00:00:00 \
--end-time 2013-07-06T00:00:00 \
--period=60
Windows の場合:
mon-get-stats CPUUtilization ^
--dimensions="CacheClusterId=mycachecluster,CacheNodeId=0002" ^
--statistics=Average ^
--namespace="AWS/ElastiCache" ^
--start-time 2013-07-05T00:00:00 ^
--end-time 2013-07-06T00:00:00 ^
--period=60
Monitoring CloudWatch Cache Cluster and Cache Node Metrics
CloudWatch API の使用
キャッシュクラスターの CPU 使用率統計を収集するには
•
以下のパラメータを指定して、CloudWatch API GetMetricStatistics を呼び出します (示されている
開始時刻と終了時刻は例です。適切な開始時刻と終了時刻に置き換える必要があります)。
• Statistics.member.1=Average
• Namespace=AWS/ElastiCache
• StartTime=2013-07-05T00:00:00
• EndTime=2013-07-06T00:00:00
• Period=60
• MeasureName=CPUUtilization
• Dimensions=CacheClusterId=mycachecluster,CacheNodeId=0002
Example
API Version 2015-02-02
386
Amazon ElastiCache ユーザーガイド
Monitoring CloudWatch Cache
Cluster and Cache Node Metrics
http://monitoring.amazonaws.com/
?SignatureVersion=4
&Action=GetMetricStatistics
&Version=2014-12-01
&StartTime=2013-07-16T00:00:00
&EndTime=2013-07-16T00:02:00
&Period=60
&Statistics.member.1=Average
&Dimensions.member.1="CacheClusterId=mycachecluster"
&Dimensions.member.2="CacheNodeId=0002"
&Namespace=AWS/ElastiCache
&MeasureName=CPUUtilization
&Timestamp=2013-07-07T17%3A48%3A21.746Z
&AWSAccessKeyId=<AWS Access Key ID>
&Signature=<Signature>
API Version 2015-02-02
387
Amazon ElastiCache ユーザーガイド
イベントのモニタリング
ElastiCache イベントのモニタリング
ノード追加の失敗、ノード追加の成功、セキュリティグループの変更などの重要なイベントがクラスター
で発生すると、ElastiCache は特定の Amazon SNS トピックに通知を送信します。主要イベントをモニ
タリングすることで、クラスターの現在の状態を知り、イベントに基づいて是正措置を取ることができま
す。
トピック
• ElastiCacheAmazon SNS 通知の管理 (p. 388)
• Viewing ElastiCache Events (p. 392)
• イベント通知と Amazon SNS (p. 393)
ElastiCacheAmazon SNS 通知の管理
Amazon Simple Notification Service (Amazon SNS) を使用して重要なクラスターイベントの通知が送信さ
れるように ElastiCache を設定できます。これらの例では、Amazon SNS トピックの Amazon リソース
ネーム (ARN) を使用してクラスターを設定し、通知を受け取るようにします。
Note
このトピックでは、Amazon SNS にサインアップし、Amazon SNS トピックをセットアップお
よびサブスクライブしていることを前提としています。この方法の詳細については、「Amazon
Simple Notification Service 開発者ガイド」を参照してください。
Amazon SNS トピックの追加
以下のセクションでは、Amazon SNS トピックを AWS コンソール、AWS CLI、または ElastiCache API
を使用して追加する方法について説明します。
Amazon SNS トピックの追加 ((コンソール))
以下の手順は、クラスターの Amazon SNS トピックを追加する方法を示しています。レプリケーショング
ループの Amazon SNS トピックを追加するには、ステップ 2 で、クラスターを選択する代わりにレプリ
ケーショングループを選択して同じ操作を行います。
Note
このプロセスは、Amazon SNS トピックの変更に使用できます。
クラスターの Amazon SNS トピックを追加または変更するには ((コンソール))
1.
2.
3.
4.
5.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
[Clusters] で、Amazon SNS トピック ARN を追加または変更するクラスターを選択します。
[Modify] を選択します。
In [Modify Cluster] の [Topic for SNS Notification], で、追加する SNS トピックを選択します。また
は、[Manual ARN input] を選択して Amazon SNS トピックの ARN を入力します。
[Modify] を選択します。
Amazon SNS トピックの追加 ((AWS CLI))
クラスターの Amazon SNS トピックを追加または変更するには、AWS CLI コマンド modify-cachecluster を使用します。レプリケーショングループの Amazon SNS トピックを追加または変更するに
は、AWS CLI コマンド modify-replication-group を使用します。
API Version 2015-02-02
388
Amazon ElastiCache ユーザーガイド
ElastiCacheAmazon SNS 通知の管理
次のコード例では、Amazon SNS トピック ARN を my-cluster に追加します。
Linux, macOS, or Unix 用:
aws elasticache modify-cache-cluster \
--cache-cluster-id my-cluster \
--notification-topic-arn arn:aws:sns:us-west-2:565419523791:ElastiCacheNotifications
Windows の場合:
aws elasticache modify-cache-cluster ^
--cache-cluster-id my-cluster ^
--notification-topic-arn arn:aws:sns:us-west-2:565419523791:ElastiCacheNotifications
詳細については、「modify-cache-cluster」および「modify-replication-group」を参照してください。
Amazon SNS トピックの追加 ((ElastiCache API))
クラスターの Amazon SNS トピックを追加または変更するには、以下のパラメーターを指定して
ModifyCacheCluster アクションを呼び出します。
• CacheClusterId=my-cluster
• TopicArn=arn%3Aaws%3Asns%3Aus-west-2%3A565419523791%3AElastiCacheNotifications
レプリケーショングループの Amazon SNS トピックを追加または変更するに
は、ModifyReplicationGroup アクションを呼び出します。
Example
https://elasticache.amazon.com/
?Action=ModifyCacheCluster
&ApplyImmediately=false
&CacheClusterId=my-cluster
&NotificationTopicArn=arn%3Aaws%3Asns%3Auswest-2%3A565419523791%3AElastiCacheNotifications
&Version=2014-12-01
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=20141201T220302Z
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Date=20141201T220302Z
&X-Amz-SignedHeaders=Host
&X-Amz-Expires=20141201T220302Z
&X-Amz-Credential=<credential>
&X-Amz-Signature=<signature>
詳細については、「ModifyCacheCluster」および「ModifyReplicationGroup」を参照してください。
Amazon SNS 通知の有効化と無効化
クラスターでは、通知を有効または無効にすることができます。次の手順は、Amazon SNS 通知を無効に
する方法を示しています。
Amazon SNS 通知の有効化と無効化 ((コンソール))
AWS マネジメントコンソール を使用して Amazon SNS 通知を無効にするには
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
API Version 2015-02-02
389
Amazon ElastiCache ユーザーガイド
ElastiCacheAmazon SNS 通知の管理
2.
通知を変更するクラスターで実行されているエンジンとして、[Memcached] または [Redis] を選択し
ます。
4.
選択したエンジンを実行しているクラスターが一覧表示されます。
[Memcached] または [Redis] の一覧で、通知を変更するクラスターの左側にあるボックスを選択しま
す。
[Modify] を選択します。
5.
In [Modify Cluster] の [Topic for SNS Notification], で、[Disable Notifications] を選択します。
6.
[Modify] を選択します。
3.
Amazon SNS 通知の有効化と無効化 ((AWS CLI))
Amazon SNS 通知を無効にするには、以下のパラメーターを指定して modify-cache-cluster コマンドを
使用します。
Linux, macOS, or Unix 用:
aws elasticache modify-cache-cluster \
--cache-cluster-id my-cluster \
--notification-topic-status inactive
Windows の場合:
aws elasticache modify-cache-cluster ^
--cache-cluster-id my-cluster ^
--notification-topic-status inactive
このコマンドでは、以下のような出力が生成されます。
CACHECLUSTER my-cluster 2013-07-26T01:21:46.607Z cache.m1.large memcached
available 3 us-west-2c 1.4.5
SECGROUP default active
PARAMGRP default.memcached1.4 in-sync
NOTIFICATION arn:aws:sns:us-west-2:565419523791:ElastiCacheNotifications
inactive
Amazon SNS 通知の有効化と無効化 ((ElastiCache API))
Amazon SNS 通知を無効にするには、以下のパラメーターを指定して ModifyCacheCluster アクションを
呼び出します。
• CacheClusterId=my-cluster
• NotificationTopicStatus=inactive
この呼び出しにより、以下のような出力が返されます。
Example
https://elasticache.us-west-2.amazonaws.com/
?Action=ModifyCacheCluster
&ApplyImmediately=false
&CacheClusterId=my-cluster
&NotificationTopicStatus=inactive
&Version=2014-12-01
&SignatureVersion=4
API Version 2015-02-02
390
Amazon ElastiCache ユーザーガイド
ElastiCacheAmazon SNS 通知の管理
&SignatureMethod=HmacSHA256
&Timestamp=20141201T220302Z
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Date=20141201T220302Z
&X-Amz-SignedHeaders=Host
&X-Amz-Expires=20141201T220302Z
&X-Amz-Credential=<credential>
&X-Amz-Signature=<signature>
API Version 2015-02-02
391
Amazon ElastiCache ユーザーガイド
Viewing ElastiCache Events
Viewing ElastiCache Events
ElastiCache は、クラスターのインスタンス、セキュリティグループ、パラメータグループに関連するイ
ベントを記録します。この情報には、イベントの日付と時刻、イベントのソース名とソースタイプ、イ
ベントの説明などがあります。ElastiCache コンソール、AWS CLI describe-events コマンド、または
ElastiCache API アクション DescribeEvents を使用して、ログから簡単にイベントを取得できます。
次の手順は、過去 24 時間 (1440 分) のすべての ElastiCache イベントを表示する方法を示しています。
Viewing ElastiCache Events (コンソール)
次の手順は、ElastiCache コンソールを使用してイベントを表示します。
ElastiCache コンソールを使用してイベント表示するには
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
左のナビゲーションペインで、[Events] を選択します。
[ Events] 画面に、利用可能なすべてのイベントが一覧されます。リスト内の各行は 1 個のイベント
を表し、イベントのソース、イベントの種類 (キャッシュクラスター、キャッシュパラメータグルー
プ、キャッシュセキュリティグループ、キャッシュサブネットグループ、レプリケーショングルー
プ)、イベントの GMT 時間、イベントの説明が表示されます。
[Filter] を使用して、イベントリストにすべてのイベントを表示するか特定タイプのイベントのみを表
示するかを指定できます。
Viewing ElastiCache Events (AWS CLI)
AWS CLI を使用して ElastiCache イベントの一覧を生成するには、describe-events コマンドを使用しま
す。オプションパラメーターを使用して、一覧されるイベントのタイプ、イベントの期間、イベント一覧
の最大数などを制御できます。
次のコードは、40 個の最新のキャッシュクラスターイベントを一覧します。
aws elasticache describe-events --source-type cache-cluster --max-items 40
次のコードは、過去 24 時間 (1440 分) のキャッシュクラスターイベントを一覧します。
aws elasticache describe-events --source-type cache-cluster --duration 1440
詳細については、describe-events を参照してください。
Viewing ElastiCache Events (ElastiCache API)
ElastiCache イベントのリストを ElastiCache API を使用して生成するには、DescribeEvents アクション
を使用します。オプションパラメーターを使用して、一覧されるイベントのタイプ、イベントの期間、イ
ベント一覧の最大数などを制御できます。
次のコードは、40 個の最新のキャッシュクラスターイベントを一覧します。
https://elasticache.us-west-2.amazonaws.com/
API Version 2015-02-02
392
Amazon ElastiCache ユーザーガイド
イベント通知と Amazon SNS
?Action=DescribeEvents
&MaxRecords=40
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&SourceType=cache-cluster
&Timestamp=20150202T192317Z
&Version=2015-02-02
&X-Amz-Credential=<credential>
次のコードは、過去 24 時間 (1440 分) のキャッシュクラスターイベントを一覧します。
https://elasticache.us-west-2.amazonaws.com/
?Action=DescribeEvents
&Duration=1440
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&SourceType=cache-cluster
&Timestamp=20150202T192317Z
&Version=2015-02-02
&X-Amz-Credential=<credential>
上記のアクションでは、次のような出力が生成されます。
<DescribeEventsResponse xmlns="http://elasticache.amazonaws.com/doc/2015-02-02/">
<DescribeEventsResult>
<Events>
<Event>
<Message>Cache cluster created</Message>
<SourceType>cache-cluster</SourceType>
<Date>2015-02-02T18:22:18.202Z</Date>
<SourceIdentifier>my-redis-primary</SourceIdentifier>
</Event>
(...output omitted...)
</Events>
</DescribeEventsResult>
<ResponseMetadata>
<RequestId>e21c81b4-b9cd-11e3-8a16-7978bb24ffdf</RequestId>
</ResponseMetadata>
</DescribeEventsResponse>
詳細については、DescribeEvents を参照してください。
イベント通知と Amazon SNS
ElastiCache は、キャッシュクラスターで重要なイベントが発生したときに Amazon Simple Notification
Service (SNS) を使用してメッセージを発行できます。この機能を使用すると、キャッシュクラスターの
個々のキャッシュノードエンドポイントに接続されたクライアントコンピュータでサーバーリストを更新
できます。
Note
料金情報や Amazon SNS ドキュメントへのリンクなど、Amazon Simple Notification Service
(SNS) の詳細については、Amazon SNS 製品ページを参照してください。
通知は、指定した Amazon SNS トピックに発行されます。通知の要件は以下のとおりです:
• ElastiCache 通知に対して設定できるトピックは 1 つだけです。
API Version 2015-02-02
393
Amazon ElastiCache ユーザーガイド
イベント通知と Amazon SNS
• Amazon SNS トピックを所有する AWS アカウントは、通知が有効になっているキャッシュクラスター
を所有するアカウントと同じアカウントである必要があります。
ElastiCache SNS 通知の例
以下の例では、キャッシュクラスターが正常に作成された場合の ElastiCache Amazon SNS 通知を示して
います。
Example
{
"Date": "2015-12-05T01:02:18.336Z",
"Message": "Cache cluster created",
"SourceIdentifier": "memcache-ni",
"SourceType": "cache-cluster"
}
ElastiCache イベント
以下の ElastiCache イベントにより Amazon SNS 通知がトリガーされます。
イベント名
メッセージ
ElastiCache:AddCacheNodeComplete
"Finished modifying number
of nodes from %d to %d"
ElastiCache:AddCacheNodeFailed "Failed to modify number
(使用できる IP アドレスが不足し of nodes from %d to %d due
ているため)
to insufficient free IP
説明
キャッシュノードがキャッシュ
クラスターに追加され、使用可
能になっています。
使用できる IP アドレスが不足し
ているため、キャッシュノード
を追加できませんでした。
addresses"
ElastiCache:CacheClusterParametersChanged
"Updated parameter %s to %s"
作成の場合は、"Updated to use
a CacheParameterGroup %s" も
送ります。
1 つ以上のキャッシュクラスター
パラメータが変更されました。
ElastiCache:CacheClusterProvisioningComplete
"Cache cluster created"
キャッシュクラスターのプロビ
ジョニングが完了し、キャッ
シュクラスター内のキャッシュ
ノードが使用可能になりまし
た。
ElastiCache:CacheClusterProvisioningFailed
"Failed to create the cache
(ネットワーク状態に互換性がな
cluster due to incompatible
いため)
network state"
存在しない Virtual Private Cloud
(VPC) に新しいキャッシュクラ
スターに起動する試みが行われ
ました。
ElastiCache:CacheClusterRestoreFailed
"Restore from %s failed for
ElastiCache が、キャッシュクラ
スターに Redis スナップショッ
トデータを入力できませんで
した。これは、Amazon S3 に
スナップショットファイルが
存在しないか、そのファイルに
対するアクセス許可が間違って
いることが原因の可能性があり
node %s"
API Version 2015-02-02
394
Amazon ElastiCache ユーザーガイド
イベント通知と Amazon SNS
イベント名
メッセージ
説明
ます。キャッシュクラスターを
記述する場合、ステータスは
restore-failed です。キャッ
シュクラスターを削除してやり
直す必要があります。
詳細については、「Using
a Backup to Seed a
Cluster (p. 271)」を参照してくだ
さい。
ElastiCache:
CacheClusterScalingComplete
ElastiCache:
CacheClusterScalingFailed
"Succeeded applying
modification to cache node
type to %s."
"Failed applying
modification to cache node
type to %s."
ElastiCache:CacheClusterSecurityGroupModified
"Applied change to security
group"
: キャッシュクラスターのスケー
ルアップが正常に完了しまし
た。
キャッシュクラスターのスケー
ルアップが失敗しました。
以下のいずれかのイベントが発
生しました。
• キャッシュクラスターに承認
されたキャッシュセキュリ
ティグループのリストが修正
されました。
• 1 つ以上の新しい EC2 セキュ
リティグループが、キャッ
シュクラスターに関連付けら
れたキャッシュセキュリティ
グループで承認されました。
• 1 つ以上の EC2 セキュリティ
グループが、キャッシュク
ラスターに関連付けられた
キャッシュセキュリティグ
ループから取り消されまし
た。
API Version 2015-02-02
395
Amazon ElastiCache ユーザーガイド
イベント通知と Amazon SNS
イベント名
メッセージ
ElastiCache:CacheNodeReplaceComplete
"Finished recovery for cache
nodes %s"
説明
ElastiCache が、キャッシュノー
ドを実行しているホストのパ
フォーマンスが低下している
か、到達できないことを検出し
たため、キャッシュノードの置
き換えを完了しました。
Note
置き換えられたキャッ
シュノードの DNS エン
トリは変更されません。
ほとんどのインスタンスでは、
このイベントが発生したとき
にクライアントのサーバーリ
ストを更新する必要はありま
せん。ただし、一部のキャッ
シュクライアントライブラリ
は、ElastiCache がキャッシュ
ノードを置き換えた後でも
キャッシュノードの使用を停
止する可能性があります。この
場合、このイベントが発生した
とき、アプリケーションがサー
バーリストを更新する必要があ
ります。
ElastiCache:CacheNodesRebooted "Cache node %s restarted"
1 つ以上のキャッシュノードが再
起動されました。
メッセージ (Memcached) :
"Cache node %s shutdown" 2 番
目のメッセージ: "Cache node %s
restarted"
ElastiCache:
"Replication group %s
CreateReplicationGroupComplete created"
レプリケーショングループは正
常に作成されています。
ElastiCache:
CreateReplicationGroupFailed
レプリケーショングループは作
成されませんでした。
"Failed to create
replication group %s due
to unsuccessful creation
of its cache cluster(s)."
および "Deleting all cache
clusters belonging to this
replication group."
ElastiCache:DeleteCacheClusterComplete
"Cache cluster deleted"
キャッシュクラスターと関連す
るすべてのアプリケーション
キャッシュノードの削除が完了
しました。
ElastiCache: FailoverComplete
レプリカノードへのフェイル
オーバーが成功しました。
"Failover to replica node %s
completed"
API Version 2015-02-02
396
Amazon ElastiCache ユーザーガイド
イベント通知と Amazon SNS
イベント名
メッセージ
ElastiCache:NodeReplacementCanceled
"The replacement for Cache
Cluster ID: %s, Node ID:
%s scheduled during the
maintenance window from
Start Time: %s, End Time: %s
has been canceled"
ElastiCache:NodeReplacementRescheduled
"The replacement in
maintenance window for node
with Cache Cluster ID: %s,
Node ID: %s has re-scheduled
from Previous Start Time:
%s, Previous End Time: %s to
New Start Time: %s, New End
Time: %s""
ElastiCache:NodeReplacementScheduled
"The node with Cache Cluster
ID: %s, Node ID: %s is
scheduled for replacement
during the maintenance
window from Start Time: %s,
End Time: %s"
説明
置き換え対象となっていたクラ
スター内のノードが置き換え対
象ではなくなりました。
以前置き換え対象になったクラ
スター内のノードのスケジュー
ルが、通知に記載されている新
しい期間に変更されました。
実行可能なアクションについて
は、「ノードが置き換え対象
となった場合に実行可能なアク
ション (p. 98)」を参照してくだ
さい。
クラスター内のノードが、通知
に記載されている期間中の置き
換え対象となりました。
実行可能なアクションについて
は、「ノードが置き換え対象
となった場合に実行可能なアク
ション (p. 98)」を参照してくだ
さい。
ElastiCache:RemoveCacheNodeComplete
"Removed cache nodes %s"
キャッシュノードがキャッシュ
クラスターから削除されまし
た。
ElastiCache:
"Succeeded applying
ReplicationGroupScalingComplete modification to cache node
レプリケーショングループのス
ケールアップオペレーションが
正常に完了しました。
type to %s."
ElastiCache:
ReplicationGroupScalingFailed
ElastiCache:SnapshotComplete
ElastiCache:SnapshotFailed
"Failed applying
modification to cache node
type to %s."
"Snapshot succeeded for
snapshot with ID '%s' of
cache cluster with ID '%s'"
"Snapshot failed for
snapshot with ID '%s' of
cache cluster with ID '%s'"
レプリケーショングループのス
ケールアップが失敗しました。
キャッシュスナップショットの
作成が正常に完了しました。
キャッシュスナップショットの
作成に失敗しました。詳細な
原因については、クラスターの
キャッシュイベントを参照して
ください。
スナップショットを表示する場
合は、「DescribeSnapshots」を
参照してください。ステータス
は failed です。
API Version 2015-02-02
397
Amazon ElastiCache ユーザーガイド
イベント通知と Amazon SNS
ElastiCache イベントの表示方法については、「Viewing ElastiCache Events (p. 392)」を参照してくださ
い。
API Version 2015-02-02
398
Amazon ElastiCache ユーザーガイド
タグによるコストのモニタリング
コスト配分のタグによるコストのモニタリング
Amazon ElastiCache でリソースにコスト配分タグを追加する場合、リソースのタグ値に基づいて請求書の
費用をグループ化してコストを追跡できます。
ElastiCache コスト配分タグは、ElastiCache リソースを定義してそのリソースに関連付けるキーと値のペ
アです。キーと値は大文字と小文字が区別されます。タグキーを使用してカテゴリを定義し、タグ値をそ
のカテゴリの項目にすることができます。たとえば、「CostCenter」というタグキーと「10010」という
タグ値を定義して、リソースがコストセンター 10010 に割り当てられていることを示すことができます。
また、Environment などのキーと、test や production などの値を使用して、リソースがテスト用なの
か本稼働用なのかを示すこともできます。リソースに関連付けられているコストの追跡が簡単になるよう
に、一貫した一連のタグキーを使用することをお勧めします。
コスト配分タグを使用して AWS 請求書を整理し、自分のコスト構造を反映します。そのためには、AWS
アカウントにサインアップして、タグキー値が含まれた AWS アカウントの請求書を取得する必要があり
ます。 次に、結合したリソースのコストを見るには、同じタグキー値のリソースに従って請求書情報を整
理します。たとえば、複数のリソースに特定のアプリケーション名のタグを付け、請求情報を整理するこ
とで、複数のサービスを利用しているアプリケーションの合計コストを確認することができます。
タグを組み合わせてさらに細かくコストを追跡することもできます。たとえば、リージョンごとのサービ
スのコストを追跡するために、Service と Region というタグキーを使用できます。1 つのリソースでは
値を ElastiCache と ######### (######) にし、別のリソースでは値を ElastiCache と ## (#######)
にします。これによって、ElastiCache の合計コストをリージョン毎に表示できます。詳細については、
『AWS Billing and Cost Management ユーザーガイド』の「コスト配分タグの使用」を参照してくださ
い。
ElastiCache のコスト配分タグは、Memcached クラスター、Redis ノード、バックアップに追加できま
す。タグの追加やリスト、変更、削除を行った場合、そのオペレーションは、指定したクラスター、ノー
ド、またはバックアップにのみ適用されます。
バックアップに追加されたタグは、コスト配分レポートには使用されません。バックアップのタグは、ク
ラスターのタグを保持または復元するために使用されます。バックアップを作成すると、クラスターにあ
るタグはバックアップにコピーされます。バックアップから復元すると、バックアップにあるタグがクラ
スターにコピーされます。
ElastiCache コスト配分タグの特徴
• コスト配分タグは、ARN として CLI および API オペレーションで指定された ElastiCache リソースに適
用されます。リソースタイプは、「クラスター」または「スナップショット」です。
サンプル ARN: arn:aws:elasticache:<region>:<customer-id>:<resource-type>:<resource-name>
• Memcached: タグはクラスターに適用されます。
サンプル arn: arn:aws:elasticache:us-west-2:1234567890:cluster:mymemcached
• Redis: タグは個々のノードに適用されます。このため、タグは、レプリケーションを持つ Redis クラ
スター内のノードに別々に適用できます。
サンプル arn
• Redis (クラスターモードが無効) レプリケーションなし:
サンプル arn: arn:aws:elasticache:us-west-2:1234567890:cluster:myredis
• Redis (クラスターモードが無効) レプリケーションあり:
サンプル arn: arn:aws:elasticache:us-west-2:1234567890:cluster:myredis-001
• Redis (クラスターモードが有効):
サンプル arn: arn:aws:elasticache:us-west-2:1234567890:cluster:myredis-0001-001
API Version 2015-02-02
399
Amazon ElastiCache ユーザーガイド
コンソールを使用したタグの管理
• バックアップ (Redis): タグは、バックアップに適用されます。
サンプル arn: arn:aws:elasticache:us-west-2:1234567890:snapshot:myredisbackup
• タグキーは、必須のタグ名です。キーの文字列値は、長さが 1~128 文字の Unicode 文字です。aws: を
プレフィックスとして使用することはできません。文字列には、一連の Unicode 文字、数字、空白、下
線 ( _ )、ピリオド ( . )、コロン ( : )、バックスラッシュ ( \ )、等号 ( = )、符号 ( + )、ハイフン ( - ) または
記号 ( @ ) のみ含むことができます。
• タグ値は、オプションのタグの値です。値の文字列値は、長さが 1~256 文字の Unicode 文字で
す。aws: をプレフィックスとして使用することはできません。文字列には、一連の Unicode 文字、数
字、空白、下線 ( _ )、ピリオド ( . )、コロン ( : )、バックスラッシュ ( \ )、等号 ( = )、符号 ( + )、ハイフ
ン ( - ) または記号 ( @ ) のみ含むことができます。
• タグは、クラスター (Memcached)、ノード (Redis)、またはバックアップ (Redis) といった ElastiCache
リソースに適用できます。
• ElastiCache リソースには、最大 10 個のタグを設定できます。
• 値はタグセット内で一意である必要はありません。たとえば、タグセット内に Service と Application
というキーがあり、両方の値として ElastiCache を指定できます。
AWS は、タグに意味論的意味を適用しません。タグは文字列として厳密に解釈されます。AWS によっ
て、どの ElastiCache リソースのタグも自動的には設定されません。
ElastiCache 管理コンソール、AWS CLI、ElastiCache API を使用して、ElastiCache リソースのタグを追
加、リスト表示、変更、または削除することができます。
トピック
• ElastiCache コンソールを使用したタグの管理 (p. 400)
• AWS CLI を使用したコスト配分タグの管理 (p. 404)
• ElastiCache API を使用したコスト配分タグの管理 (p. 407)
• Copying Tags to Your ElastiCache Resource (p. 409)
ElastiCache コンソールを使用したタグの管理
Amazon ElastiCache コンソールを使用して、コスト配分タグを追加、変更、または削除できます。
トピック
• Memcached クラスター (コンソール) のタグ管理 (p. 401)
• Redis (クラスターモードが無効) クラスター (コンソール) のタグ管理 (p. 401)
• Redis (クラスターモードが有効) クラスター (コンソール) のタグ管理 (p. 402)
• バックアップ (コンソール) のタグ管理 (p. 403)
API Version 2015-02-02
400
Amazon ElastiCache ユーザーガイド
コンソールを使用したタグの管理
Memcached クラスター (コンソール) のタグ管理
以下の手順では、ElastiCache 管理コンソールを用いて、Memcached クラスターのコスト配分タグを 1 つ
以上表示、追加、変更、削除する方法について説明します。
ElastiCache 管理コンソールを使用して、Memcached クラスターのタグを追加、変更、削除する
には
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
[Memcached] を選択します。
3.
タグを追加するクラスターの名前の左にあるチェックボックスをオンにします。
クラスターを選択すると、詳細エリアの下部にこのリソースの現在のタグ名と値が表示されます。
4.
[タグの管理] を選択後、タグを管理するダイアログボックスを選択します。
5.
各タグの追加、変更、削除を行う場合:
タグを追加、変更または追加するには
• タグを追加するには: [キー] 列の キーの追加と表示されているテキストボックスにキー名、キー名
の右側にあるテキストボックスに任意の値を入力します。
• タグを変更するには: [値] 列に新しい値を入力するか、タグの既存の値を削除します。
• タグを削除するには: タグの右側にある [X] を選択します。
6.
完了したら、[変更の適用] を選択します。
Redis (クラスターモードが無効) クラスター (コンソール) のタグ
管理
以下の手順では、ElastiCache 管理コンソールを用いて、Redis (クラスターモードが無効) クラスターの
ノードのコスト配分タグを 1 つ以上表示、追加、変更、削除する方法について説明します。
API Version 2015-02-02
401
Amazon ElastiCache ユーザーガイド
コンソールを使用したタグの管理
ElastiCache 管理コンソールを用いて Redis (クラスターモードが無効) ノードのタグを追加、変
更、削除するには
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
[Redis] を選択します。
3.
タグを追加、変更、削除するクラスターの名前を選択します。
クラスターを選択すると、詳細エリアの下部にこのリソースの現在のタグ名と値が表示されます。
4.
クラスターの各ノードのタグを表示、追加、削除するには、以下の作業を行います。
a.
ノードの名前の左側にあるチェックボックスをオンにします。これにより、[タグの管理] ボタン
が有効になります。
b.
[タグの管理] を選択後、タグを管理するダイアログボックスを選択します。
c.
各タグの追加、変更、削除を行う場合:
ノードのタグを追加、変更、削除するには
• タグを追加するには: [キー] 列のキーの追加と表示されているテキストボックスにキー名、キー
名の右側にあるテキストボックスに任意の値を入力します。
• タグを変更するには: [値] 列に新しい値を入力するか、タグの既存の値を削除します。
• タグを削除するには: タグの右側にある [X] を選択します。
d.
完了したら、[変更の適用] を選択します。
Redis (クラスターモードが有効) クラスター (コンソール) のタグ
管理
以下の手順では、ElastiCache 管理コンソールを用いて、Redis (クラスターモードが有効) クラスター内の
ノードのコスト配分タグを 1 つ以上表示、追加、変更、削除する方法について説明します。
API Version 2015-02-02
402
Amazon ElastiCache ユーザーガイド
コンソールを使用したタグの管理
ElastiCache 管理コンソールを使用して Redis (クラスターモードが有効) ノードを追加するには
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
[Redis] を選択します。
3.
タグを追加するクラスターの名前を指定します。クラスターのシャードのリストが表示されます。
4.
クラスターの各シャードのタグを表示、追加、削除するには、以下の作業を行います。
a.
タグを表示、追加、削除するノードを含むシャードの名前を選択します。
b.
シャードの各ノードのタグを表示、追加、変更、削除するには、以下の作業を行います。
i.
ノードの名前の左側にあるチェックボックスをオンにします。これにより、[タグの管理] ボ
タンが有効になります。
ii.
[タグの管理] を選択後、タグを管理するダイアログボックスを選択します。
iii.
各タグの追加、変更、削除を行う場合:
タグを追加、変更または追加するには
• タグを追加するには: [キー] 列のキーの追加と表示されているテキストボックスにキー名、
キー名の右側にあるテキストボックスに任意の値を入力します。
• タグを変更するには: [値] 列に新しい値を入力するか、タグの既存の値を削除します。
• タグを削除するには: タグの右側にある [X] を選択します。
iv.
完了したら、[変更の適用] を選択します。
バックアップ (コンソール) のタグ管理
以下の手順では、ElastiCache 管理コンソールを用いて、Redis バックアップのコスト配分タグを 1 つ以上
表示、追加、変更、削除する方法について説明します。
1.
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://
console.aws.amazon.com/elasticache/)を開きます。
2.
[バックアップ] を選択します。
3.
タグを追加するバックアップの名前の左にあるチェックボックスをオンにします。
API Version 2015-02-02
403
Amazon ElastiCache ユーザーガイド
AWS CLI を使用したタグの管理
クラスターを選択すると、詳細エリアの下部にこのリソースの現在のタグ名と値が表示されます。
4.
[タグの管理] を選択後、タグを管理するダイアログボックスを選択します。
5.
各タグの追加、変更、削除を行う場合:
タグを追加、変更または追加するには
• タグを追加するには: [キー] 列のキーの追加と表示されているテキストボックスにキー名、キー名の
右側にあるテキストボックスに任意の値を入力します。
• タグを変更するには: [値] 列に新しい値を入力するか、タグの既存の値を削除します。
• タグを削除するには: タグの右側にある [X] を選択します。
6.
完了したら、[変更の適用] を選択します。
AWS CLI を使用したコスト配分タグの管理
AWS CLI を使用して、コスト配分タグを追加、変更、または削除できます。
コスト配分タグは、ElastiCache リソースに適用されます。リソースの内容や ARN の指定方法は、エンジ
ンやクラスターの構造によって異なります。
• Memcached: タグはクラスターに適用されます。
サンプル arn: arn:aws:elasticache:us-west-2:1234567890:cluster:mymemcached
• Redis: タグは個々のノードに適用されます。このため、タグは、レプリケーションを持つ Redis クラス
ター内のノードに別々に適用できます。
サンプル arn
• Redis (クラスターモードが無効) レプリケーションなし:
サンプル arn: arn:aws:elasticache:us-west-2:1234567890:cluster:myredis
• Redis (クラスターモードが無効) レプリケーションあり:
サンプル arn: arn:aws:elasticache:us-west-2:1234567890:cluster:myredis-001
• Redis (クラスターモードが有効):
API Version 2015-02-02
404
Amazon ElastiCache ユーザーガイド
AWS CLI を使用したタグの管理
サンプル arn: arn:aws:elasticache:us-west-2:1234567890:cluster:myredis-0001-001
• バックアップ (Redis): タグは、バックアップに適用されます。
サンプル arn: arn:aws:elasticache:us-west-2:1234567890:snapshot:myredisbackup
トピック
• AWS CLI を使用したタグのリスト表示 (p. 405)
• AWS CLI を使用したタグの追加 (p. 406)
• AWS CLI を使用したタグの変更 (p. 406)
• AWS CLI を使用したタグの削除 (p. 407)
AWS CLI を使用したタグのリスト表示
AWS CLI で list-tags-for-resource オペレーションを行い、既存の ElastiCache リソースのタグをリスト表
示できます。
次のコードは、AWS CLI を使用して、us-west-2 リージョンの Memcached クラスター myCluster のタグ
をリスト表示します。
Linux, macOS, or Unix 用:
aws elasticache list-tags-for-resource \
--resource-name arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster
Windows の場合:
aws elasticache list-tags-for-resource ^
--resource-name arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster
このオペレーションの出力は、リソースのすべてのタグを示した次のリストのようになります。
{
"TagList": [
{
"Value": "10110",
"Key": "CostCenter"
},
{
"Value": "EC2",
"Key": "Service"
}
]
}
リソースにタグが見つからない場合は、空の TagList が出力されます。
{
"TagList": []
}
詳細については、ElastiCache 用 AWS CLI の「list-tags-for-resource」を参照してください。
API Version 2015-02-02
405
Amazon ElastiCache ユーザーガイド
AWS CLI を使用したタグの管理
AWS CLI を使用したタグの追加
AWS CLI で add-tags-to-resource CLI オペレーションを行い、既存の ElastiCache リソースにタグを追
加できます。タグキーがリソースに存在しない場合は、キーと値がリソースに追加されます。キーが既に
リソースに存在する場合、キーに関連付けられた値は新しい値に更新されます。
次のコードは、AWS CLI を使用して、us-west-2 リージョンのリソース myCluster に Service と Region
というキーを追加し、それぞれの値を elasticache と us-west-2 に設定します。
Linux, macOS, or Unix 用:
aws elasticache add-tags-to-resource \
--resource-name arn:aws:elasticache:us-west-2:0123456789:cluster:memcluster \
--tags Key=Service,Value=elasticache \
Key=Region,Value=us-west-2
Windows の場合:
aws elasticache add-tags-to-resource ^
--resource-name arn:aws:elasticache:us-west-2:0123456789:cluster:memcluster ^
--tags Key=PM ^
Key=Region,Value=us-west-2
このオペレーションの出力は、次のオペレーションのリソースのすべてのタグを示した以下のリストのよ
うになります。
{
"TagList": [
{
"Value": "10110",
"Key": "CostCenter"
},
{
"Value": "EC2",
"Key": "Service"
},
{
"Value": "",
"Key": "PM"
},
{
"Value": "us-west-2",
"Key": "Region"
}
]
}
詳細については、 ElastiCache 用 AWS CLI の「add-tags-to-resource」を参照してください。
新しいクラスターを作成するときは、create-cache-cluster オペレーション、または新しいレプリケーショ
ングループを作成するときは create-replication-group オペレーションを AWS CLI で行い、タグをクラス
ターに追加することもできます。ElastiCache マネジメントコンソールでは、リソースの作成時にタグを
追加できないことに注意してください。クラスターやレプリケーショングループを作成した後は、コン
ソールを使用してリソースにタグを追加できます。
AWS CLI を使用したタグの変更
AWS CLI を使用して、ElastiCache リソースのタグを変更できます。
API Version 2015-02-02
406
Amazon ElastiCache ユーザーガイド
ElastiCache API を使用したタグの管理
タグの値を変更するには:
• add-tags-to-resource を使用して、新しいタグを追加するか、既存のタグに関連付けられている値を変更
します。
• remove-tags-from-resource を使用して、リソースから指定したタグを削除します。
どちらのオペレーションでも、指定のリソースのタグとその値を示すリストが出力されます。
AWS CLI を使用したタグの削除
AWS CLI で remove-tags-from-resource オペレーションを行い、既存の ElastiCache リソースからタグを
削除できます。
次のコードでは、AWS CLI を使用して、(Service) と (Region) というキーのタグを us-west-2 リージョン
のリソース (myCluster) から削除します。
Linux, macOS, or Unix 用:
aws elasticache remove-tags-from-resource \
--resource-name arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster \
--tag-keys PM Service
Windows の場合:
aws elasticache remove-tags-from-resource ^
--resource-name arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster ^
--tag-keys PM Service
このオペレーションの出力は、次のオペレーションのリソースのすべてのタグを示した以下のリストのよ
うになります。
{
"TagList": [
{
"Value": "10110",
"Key": "CostCenter"
},
{
"Value": "us-west-2",
"Key": "Region"
}
]
}
詳細については、 ElastiCache 用 AWS CLI の「remove-tags-from-resource」を参照してください。
ElastiCache API を使用したコスト配分タグの管理
ElastiCache API を使用して、コスト配分タグを追加、変更、または削除できます。
コスト配分タグは、ElastiCache リソースに適用されます。リソースの内容や ARN の指定方法は、エンジ
ンやクラスターの構造によって異なります。
• Memcached: タグはクラスターに適用されます。
サンプル arn: arn:aws:elasticache:us-west-2:1234567890:cluster:mymemcached
API Version 2015-02-02
407
Amazon ElastiCache ユーザーガイド
ElastiCache API を使用したタグの管理
• Redis: タグは個々のノードに適用されます。このため、タグは、レプリケーションを持つ Redis クラス
ター内のノードに別々に適用できます。
サンプル arn
• Redis (クラスターモードが無効) レプリケーションなし:
サンプル arn: arn:aws:elasticache:us-west-2:1234567890:cluster:myredis
• Redis (クラスターモードが無効) レプリケーションあり:
サンプル arn: arn:aws:elasticache:us-west-2:1234567890:cluster:myredis-001
• Redis (クラスターモードが有効):
サンプル arn: arn:aws:elasticache:us-west-2:1234567890:cluster:myredis-0001-001
• バックアップ (Redis): タグは、バックアップに適用されます。
サンプル arn: arn:aws:elasticache:us-west-2:1234567890:snapshot:myredisbackup
トピック
• ElastiCache API を使用したタグのリスト表示 (p. 408)
• ElastiCache API を使用したタグの追加 (p. 408)
• ElastiCache API を使用したタグの変更 (p. 409)
• ElastiCache API を使用したタグの削除 (p. 409)
ElastiCache API を使用したタグのリスト表示
ElastiCache API で ListTagsForResource オペレーションを行い、既存のリソースのタグをリスト表示でき
ます。
次のコードは、ElastiCache API を使用して、us-west-2 リージョンのリソース myCluster のタグをリスト
表示します。
https://elasticache.us-west-2.amazonaws.com/
?Action=ListTagsForResource
&ResourceName=arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Version=2015-02-02
&Timestamp=20150202T192317Z
&X-Amz-Credential=<credential>
ElastiCache API を使用したタグの追加
ElastiCache API で AddTagsToResource オペレーションを行い、既存の ElastiCache リソースにタグを追
加できます。タグキーがリソースに存在しない場合は、キーと値がリソースに追加されます。キーが既に
リソースに存在する場合、キーに関連付けられた値は新しい値に更新されます。
次のコードは、ElastiCache API を使用して、us-west-2 リージョンのリソース myCluster に、Service と
Region というキーを追加し、それぞれの値を elasticache と us-west-2 に設定します。
https://elasticache.us-west-2.amazonaws.com/
?Action=AddTagsToResource
&ResourceName=arn:aws:elasticache:us-west-2:0123456789:cluster:memclusterr
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Tags.member.1.Key=Service
API Version 2015-02-02
408
Amazon ElastiCache ユーザーガイド
Copying Tags to Your ElastiCache Resource
&Tags.member.1.Value=elasticache
&Tags.member.2.Key=Region
&Tags.member.2.Value=us-west-2
&Version=2015-02-02
&Timestamp=20150202T192317Z
&X-Amz-Credential=<credential>
詳細については、『Amazon ElastiCache API Reference』の「AddTagsToResource」を参照してくださ
い。
ElastiCache API を使用したタグの変更
ElastiCache API を使用して、ElastiCache リソースのタグを変更できます。
タグの値を変更するには:
• AddTagsToResource オペレーションを行い、新しいタグを追加するか、既存のタグの値を変更しま
す。
• RemoveTagsFromResource を行い、リソースからタグを削除します。
どちらのオペレーションでも、指定のリソースのタグとその値を示すリストが出力されます。
RemoveTagsFromResource を行い、リソースからタグを削除します。
ElastiCache API を使用したタグの削除
ElastiCache API で RemoveTagsFromResource オペレーションを行い、既存の ElastiCache リソースから
タグを削除できます。
次のコードは、ElastiCache API を使用して、us-west-2 リージョンのリソース myCluster から、Service
と Region というキーのタグを削除します。
https://elasticache.us-west-2.amazonaws.com/
?Action=RemoveTagsFromResource
&ResourceName=arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&TagKeys.member.1=Service
&TagKeys.member.2=Region
&Version=2015-02-02
&Timestamp=20150202T192317Z
&X-Amz-Credential=<credential>
Copying Tags to Your ElastiCache Resource
ElastiCache API または AWS AWS CLI を使用して ElastiCache リソースに対して特定のオペレーションを
実行するときに、リソースにタグが存在する場合は、タグがコピーされます。次のリストで、このような
オペレーションと実行されるコピーについて説明します。
• CopySnapshotまたはcopy-snapshot – バックアップのコピーを作成するときに、ソースのバックアップ
にタグがある場合は、タグもコピー先にコピーされます。
• CreateSnapshotまたはcreate-snapshot – バックアップを作成するときに、ソースクラスターにタグがあ
る場合は、タグもバックアップにコピーされます。
• RestoreFromSnapshot または restore-from-snapshot – ElastiCache によって作成されたバックアップか
らクラスターを復元するときに、バックアップにタグがある場合は、タグも復元されたクラスターにコ
ピーされます。
API Version 2015-02-02
409
Amazon ElastiCache ユーザーガイド
Copying Tags to Your ElastiCache Resource
• DeleteSnapshotまたはdelete-snapshot – バックアップを削除するときに、バックアップにタグがある場
合は、タグもバックアップとともに削除されます。
• DeleteCluster または delete-cluster – クラスターを削除するときに、クラスターのタグはクラスターと
ともに削除されます。ただし、最終バックアップを作成する場合、タグはバックアップにコピーされま
す。
API Version 2015-02-02
410
Amazon ElastiCache ユーザーガイド
クエリ API の使用
ElastiCache API の使用
このセクションでは、ElastiCache のオペレーションを使用および実装する方法を、メソッドに重点
を置いて説明します。これらのオペレーションの詳細な説明については、「Amazon ElastiCache API
Reference」を参照してください。
トピック
• クエリ API の使用 (p. 411)
• 利用可能なライブラリ (p. 413)
• アプリケーションのトラブルシューティング (p. 414)
• AWS CloudTrail を使用した Amazon ElastiCache API 呼び出しのログ記録 (p. 415)
クエリ API の使用
Query パラメータ
HTTP クエリベースのリクエストとは、HTTP 動詞 (GET または POST) とクエリパラメータ Action で記
述する HTTP リクエストです。
各クエリリクエストに、アクションの認証と選択を処理するための一般的なパラメーターがいくつか含ま
れている必要があります。
オペレーションの中にはパラメーターのリストを取るものがあります。これらのリストは、param.n 表記
を使用して指定されます。n 値は、1 から始まる整数です。
クエリリクエストの認証
HTTPS 経由でのみリクエストを送信できます。また、各クエリリクエストには署名を含める必要がありま
す。このセクションでは、署名を作成する方法について説明します。次に説明する方法は、署名バージョ
ン 4 と呼ばれます。
AWS へのリクエストを認証するために使用される基本的なステップを次に示します。この手順で
は、AWS に登録されており、アクセスキー ID とシークレットアクセスキーを持っていることを前提とし
ています。
API Version 2015-02-02
411
Amazon ElastiCache ユーザーガイド
クエリリクエストの認証
クエリ認証プロセス
1.
送信者は、AWS へのリクエストを構築します。
2.
このトピックの次のセクションに示すように、送信者は、SHA-1 ハッシュ関数を使用してリクエスト
の署名 (ハッシュベースメッセージ認証コード (HMAC) のキー付きハッシュ) を生成します。
3.
リクエストの送信者は、リクエストデータ、署名、およびアクセスキー ID (使用するシークレットア
クセスキーのキー識別子) を AWS に送信します。
4.
AWS ではアクセスキー ID を使用して、シークレットアクセスキーを調べます。
5.
AWS では、リクエストの署名を生成する際に使用したものと同じアルゴリズムを使い、リクエスト
データとシークレットアクセスキーから署名を生成します。
6.
署名が一致すると、リクエストは認証されたものと見なされます。署名が一致しなかった場合、リク
エストの処理は拒否され、AWS はエラーレスポンスを返します。
Note
リクエストに Timestamp パラメータが含まれている場合、リクエストに対して生成された署名は
パラメータの値の 15 分後に期限が切れます。
リクエストに Expires パラメータが含まれている場合、署名は Expires パラメータで指定された
時刻に期限が切れます。
リクエストの署名を計算するには
1.
2.
本手順で後に必要となる、正規化されたクエリ文字列を作成します。
a.
自然なバイト順のパラメータ名で、UTF-8 のクエリ文字列コンポーネントを並び替えます。パ
ラメータは、GET URI または POST ボディから取得される場合があります。(Content-Type が
application/x-www-form-urlencoded の場合)
b.
URL は、以下の規則に応じてパラメータ名と値をエンコードします。
i.
RFC 3986 が定義する非予約文字を、URL がエンコードすることはありません。非予約文字
とは、A-Z, a-z, 0-9, ハイフン (-)、アンダーバー (_)、ピリオド (.)、およびチルダ (~) です。
ii.
他のすべての文字についても、%XY (X および Y には HEX 文字の 0-9 および大文字の A-F
が入る) によるパーセントエンコードが必要です。
iii.
パーセントは、拡張 UTF-8 文字を %XY%ZA.... 形式でエンコードします。
iv.
パーセントは、スペース文字を %20 (通常エンコードスキーマが行なうような + ではありま
せん) としてエンコードします。
c.
パラメータの値が空値の場合でも、エンコードされるパラメータ名とエンコードされる値の間に
等号 (=) (ASCII コード 61) を入れます。
d.
それぞれのパラメータ名と値のペアをアンド (&) (ASCII コード 38) で分割します。
文字列を作成し、以下の擬似文法に従って ("\n" は ASCII 新規行を意味します) 署名を作成します。
StringToSign = HTTPVerb + "\n" +
ValueOfHostHeaderInLowercase + "\n" +
HTTPRequestURI + "\n" +
CanonicalizedQueryString <from the preceding step>
HTTPRequestURI 要素は URI の HTTP 絶対パス要素ですが、クエリ文字列は含みませ
ん。HTTPRequestURI が空値の場合は、スラッシュ (/) を使用してください。
3.
作成したばかりの文字列を使い、シークレットアクセスキーをキーとして、また SHA256 または
SHA1 をハッシュアルゴリズムとして、RFC 2104 に準拠した HMAC を計算します。
詳細については、https://www.ietf.org/rfc/rfc2104.txt を参照してください。
API Version 2015-02-02
412
Amazon ElastiCache ユーザーガイド
利用可能なライブラリ
4.
結果の値を base64 に変換します。
5.
その値は、Signature パラメータの値としてリクエストに含めます。
サンプルのリクエストを次に示します (見やすくするために改行が追加されています)。
https://elasticache.us-west-2.amazonaws.com/
?Action=DescribeCacheClusters
&CacheClusterIdentifier=myCacheCluster
&SignatureMethod=HmacSHA256
&SignatureVersion=4
&Version=2014-12-01
前のクエリ文字列では、次の文字列に対する HMAC 署名が生成されます。
GET\n
elasticache.amazonaws.com\n
Action=DescribeCacheClusters
&CacheClusterIdentifier=myCacheCluster
&SignatureMethod=HmacSHA256
&SignatureVersion=4
&Version=2014-12-01
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIADQKE4SARGYLE%2F20140523%2Fus-west-2%2Felasticache%2Faws4_request
&X-Amz-Date=20141201T223649Z
&X-Amz-SignedHeaders=content-type%3Bhost%3Buser-agent%3Bx-amz-content-sha256%3Bx-amzdate
content-type:
host:elasticache.us-west-2.amazonaws.com
user-agent:CacheServicesAPICommand_Client
x-amz-content-sha256:
x-amz-date:
結果の署名付きリクエストは次のようになります。
https://elasticache.us-west-2.amazonaws.com/
?Action=DescribeCacheClusters
&CacheClusterIdentifier=myCacheCluster
&SignatureMethod=HmacSHA256
&SignatureVersion=4
&Version=2014-12-01
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIADQKE4SARGYLE/20141201/us-west-2/elasticache/aws4_request
&X-Amz-Date=20141201T223649Z
&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
&X-Amz-Signature=2877960fced9040b41b4feaca835fd5cfeb9264f768e6a0236c9143f915ffa56
プロセスへの署名とリクエスト署名の生成の詳細については、トピック「署名バージョン 4 の署名プロセ
ス」とそのサブトピックを参照してください。
利用可能なライブラリ
AWS では、クエリ API の代わりに言語固有の API を使用してアプリケーションを構築するソフトウェア
開発者向け Software Development Kit (SDK) を提供します。こうした SDK には、リクエスト認証、リク
エストの再実行、エラー処理など、 (API には含まれない) 基本的な機能が用意されていて、簡単に開始で
きるようになっています。次のプログラミング言語の SDK と追加のリソースがあります。
API Version 2015-02-02
413
Amazon ElastiCache ユーザーガイド
アプリケーションのトラブルシューティング
• Java
• Windows および .NET
• PHP
• Python
• Ruby
他の言語については、「サンプルコードとライブラリ」を参照してください。
アプリケーションのトラブルシューティング
ElastiCache では、ElastiCache API とのやり取りで発生する問題をトラブルシューティングする際に役立
つ、具体的でわかりやすいエラーを提供します。
エラーの取得
通常、アプリケーションでは、結果を処理する前にリクエストでエラーが生成されたかどうかを必ず確認
します。エラーが発生したかどうかを確認する最も簡単な方法は、ElastiCache API からのレスポンスで
Error ノードを検索することです。
XPath 構文を使用すると、簡単な方法で Error ノードがあるかどうかを検索し、エラーコードとメッセー
ジを取得することができます。次のコードでは、Perl および XML::XPath モジュールによって、リクエス
ト時のエラーの発生を判定しています。エラーが発生した場合、レスポンス内の最初のエラーコードと
メッセージが表示されます。
use XML::XPath;
my $xp = XML::XPath->new(xml =>$response);
if ( $xp->find("//Error") )
{print "There was an error processing your request:\n", " Error code: ",
$xp->findvalue("//Error[1]/Code"), "\n", " ",
$xp->findvalue("//Error[1]/Message"), "\n\n"; }
トラブルシューティングのヒント
ElastiCache API の問題を診断して解決するには、次の手順を実行することをお勧めします。
• ElastiCache が正しく実行されていることを確認します。
これを行うには、ブラウザウィンドウを開いて、ElastiCache サービス (https://
elasticache.amazonaws.com など) に対してクエリリクエストを送信しま
す。MissingAuthenticationTokenException または内部サーバーエラー 500 は、サービスが利用可能であ
り、リクエストに応答していることを示します。
• リクエストの構文を確認します。
『ElastiCache API リファレンス』には、各 ElastiCache オペレーションについてのリファレンスペー
ジがあります。パラメータを正しく使用していることをもう一度確認してください。間違っている可能
性がある部分を判断するヒントとして、同様のオペレーションを実行しているサンプルのリクエストや
ユーザーシナリオを調べてください。
• フォーラムを確認します。
ElastiCache にはディスカッションフォーラムがあります。このフォーラムでは、これまで他のユー
ザーが経験してきた問題に対する解決策を探すことができます。フォーラムを表示するには、次の URL
にアクセスしてください。
API Version 2015-02-02
414
Amazon ElastiCache ユーザーガイド
API 呼び出しのログ作成
https://forums.aws.amazon.com/ .
AWS CloudTrail を使用した Amazon ElastiCache
API 呼び出しのログ記録
Amazon ElastiCache は AWS CloudTrail と統合されています。AWS CloudTrail は、AWS アカウント
で ElastiCache によって行われたか ElastiCache に代わって行われた API 呼び出しをキャプチャし、指
定した Amazon S3 バケットにログファイルを渡すサービスです。CloudTrail は、ElastiCache コンソー
ル、ElastiCache API、または ElastiCache CLI からの API 呼び出しをキャプチャします。CloudTrail に
よって収集された情報を使用して、ElastiCache に対してどのようなリクエストが行われたか (リクエスト
の実行元 IP アドレス、実行者、実行日時など) を判断できます。
CloudTrail を設定して有効にする方法など、CloudTrail の詳細については、『AWS CloudTrail User
Guide』を参照してください。
CloudTrail 内の ElastiCache 情報
AWS アカウントで CloudTrail のログ記録を有効にすると、ElastiCache アクションに対する API 呼び
出しがログファイルに記録されます。たとえば、CreateCacheCluster、DescribeCacheCluster、および
ModifyCacheCluster API の呼び出しにより、CloudTrail ログファイルにエントリが生成されます。すべて
の ElastiCache アクションがログに記録されます。ElastiCache アクションの詳細なリストについては、
「http://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/」を参照してください。
各ログファイルには、ElastiCache のレコードだけでなく、他の AWS サービスのレコードも含まれま
す。CloudTrail は、期間とファイルサイズに基づいて、新しいログファイルをいつ作成して書き込むかを
決定します。
各ログエントリには、誰がリクエストを生成したかに関する情報が含まれます。ログのユーザー ID 情報
は、リクエストが、ルートまたは IAM ユーザーの認証情報を使用して送信されたか、ロールまたはフェデ
レーションユーザーの一時的なセキュリティ認証情報を使用して送信されたか、あるいは別の AWS サー
ビスによって送信されたかを確認するのに役立ちます。詳細については、『CloudTrail イベントリファレ
ンス』で userIdentity フィールドのドキュメントを参照してください。
ログファイルは任意の期間にわたってバケットに保存できます。ログファイルを自動的にアーカイブま
たは削除するにように Amazon S3 ライフサイクルルールを定義することもできます。デフォルトでは
Amazon S3 のサーバー側の暗号化 (SSE) を使用して、ログファイルが暗号化されます。
ログファイルの配信時にすぐにアクションを実行する必要がある場合、新しいログファイルの配信時に
CloudTrail により Amazon SNS 通知を発行できます。詳細については、「Amazon SNS 通知の構成」を
参照してください。
また、複数の AWS リージョンと複数の AWS アカウントからの ElastiCache ログファイルを 1 つの
Amazon S3 バケットに集約することもできます。詳細については、「CloudTrail ログファイルの単一の
Amazon S3 バケットへの集約」を参照してください。
ElastiCache ログファイルエントリの解読
CloudTrail ログファイルには、複数の JSON 形式イベントで構成される 1 つ以上のログエントリが記録さ
れます。ログエントリは任意の送信元からの単一のリクエストを表し、リクエストされたアクション、パ
ラメータ、アクションの日時などに関する情報が含まれます。ログエントリは、特定の順序になるように
生成されるわけではありません。つまり、パブリック API 呼び出しの順序付けられたスタックトレースで
はありません。
API Version 2015-02-02
415
Amazon ElastiCache ユーザーガイド
ElastiCache ログファイルエントリの解読
CreateCacheCluster アクションを記録する CloudTrail のログエントリの例を以下に示します。
{
"eventVersion":"1.01",
"userIdentity":{
"type":"IAMUser",
"principalId":"EXAMPLEEXAMPLEEXAMPLE",
"arn":"arn:aws:iam::123456789012:user/elasticache-allow",
"accountId":"123456789012",
"accessKeyId":"AKIAIOSFODNN7EXAMPLE",
"userName":"elasticache-allow"
},
"eventTime":"2014-12-01T22:00:35Z",
"eventSource":"elasticache.amazonaws.com",
"eventName":"CreateCacheCluster",
"awsRegion":"us-west-2",
"sourceIPAddress":"192.0.2.01",
"userAgent":"Amazon CLI/ElastiCache 1.10 API 2014-12-01",
"requestParameters":{
"numCacheNodes":2,
"cacheClusterId":"test-memcached",
"engine":"memcached",
"aZMode":"cross-az",
"cacheNodeType":"cache.m1.small"
},
"responseElements":{
"engine":"memcached",
"clientDownloadLandingPage":"&url-console-domain;elasticache/home#clientdownload:",
"cacheParameterGroup":{
"cacheParameterGroupName":"default.memcached1.4",
"cacheNodeIdsToReboot":{
},
"parameterApplyStatus":"in-sync"
},
"preferredAvailabilityZone":"Multiple",
"numCacheNodes":2,
"cacheNodeType":"cache.m1.small",
"cacheClusterStatus":"creating",
"autoMinorVersionUpgrade":true,
"preferredMaintenanceWindow":"thu:05:00-thu:06:00",
"cacheClusterId":"test-memcached",
"engineVersion":"1.4.14",
"cacheSecurityGroups":[
{
"status":"active",
"cacheSecurityGroupName":"default"
}
],
"pendingModifiedValues":{
}
},
"requestID":"104f30b3-3548-11e4-b7b8-6d79ffe84edd",
"eventID":"92762127-7a68-42ce-8787-927d2174cde1"
}
DescribeCacheCluster アクションを記録する CloudTrail のログエントリの例を以下に示しま
す。ElastiCache のすべての Describe 呼び出し (Describe*) について、ResponseElements セクションが
削除され、null と表示されます。
{
"eventVersion":"1.01",
API Version 2015-02-02
416
Amazon ElastiCache ユーザーガイド
ElastiCache ログファイルエントリの解読
"userIdentity":{
"type":"IAMUser",
"principalId":"EXAMPLEEXAMPLEEXAMPLE",
"arn":"arn:aws:iam::123456789012:user/elasticache-allow",
"accountId":"123456789012",
"accessKeyId":"AKIAIOSFODNN7EXAMPLE",
"userName":"elasticache-allow"
},
"eventTime":"2014-12-01T22:01:00Z",
"eventSource":"elasticache.amazonaws.com",
"eventName":"DescribeCacheClusters",
"awsRegion":"us-west-2",
"sourceIPAddress":"192.0.2.01",
"userAgent":"Amazon CLI/ElastiCache 1.10 API 2014-12-01",
"requestParameters":{
"showCacheNodeInfo":false,
"maxRecords":100
},
"responseElements":null,
"requestID":"1f0b5031-3548-11e4-9376-c1d979ba565a",
"eventID":"a58572a8-e81b-4100-8e00-1797ed19d172"
}
ModifyCacheCluster アクションを記録する CloudTrail のログエントリの例を以下に示します。
{
"eventVersion":"1.01",
"userIdentity":{
"type":"IAMUser",
"principalId":"EXAMPLEEXAMPLEEXAMPLE",
"arn":"arn:aws:iam::123456789012:user/elasticache-allow",
"accountId":"123456789012",
"accessKeyId":"AKIAIOSFODNN7EXAMPLE",
"userName":"elasticache-allow"
},
"eventTime":"2014-12-01T22:32:21Z",
"eventSource":"elasticache.amazonaws.com",
"eventName":"ModifyCacheCluster",
"awsRegion":"us-west-2",
"sourceIPAddress":"192.0.2.01",
"userAgent":"Amazon CLI/ElastiCache 1.10 API 2014-12-01",
"requestParameters":{
"applyImmediately":true,
"numCacheNodes":3,
"cacheClusterId":"test-memcached"
},
"responseElements":{
"engine":"memcached",
"clientDownloadLandingPage":"&url-console-domain;elasticache/home#clientdownload:",
"cacheParameterGroup":{
"cacheParameterGroupName":"default.memcached1.4",
"cacheNodeIdsToReboot":{
},
"parameterApplyStatus":"in-sync"
},
"cacheClusterCreateTime":"Dec 1, 2014 10:16:06 PM",
"preferredAvailabilityZone":"Multiple",
"numCacheNodes":2,
"cacheNodeType":"cache.m1.small",
"cacheClusterStatus":"modifying",
"autoMinorVersionUpgrade":true,
"preferredMaintenanceWindow":"thu:05:00-thu:06:00",
API Version 2015-02-02
417
Amazon ElastiCache ユーザーガイド
ElastiCache ログファイルエントリの解読
"cacheClusterId":"test-memcached",
"engineVersion":"1.4.14",
"cacheSecurityGroups":[
{
"status":"active",
"cacheSecurityGroupName":"default"
}
],
"configurationEndpoint":{
"address":"test-memcached.example.cfg.use1prod.cache.amazonaws.com",
"port":11211
},
"pendingModifiedValues":{
"numCacheNodes":3
}
},
"requestID":"807f4bc3-354c-11e4-9376-c1d979ba565a",
"eventID":"e9163565-376f-4223-96e9-9f50528da645"
}
API Version 2015-02-02
418
Amazon ElastiCache ユーザーガイド
ElastiCache のチュートリアル
次のチュートリアルでは、Amazon ElastiCache ユーザーにとって興味深いタスクを紹介します。
• チュートリアル: Amazon VPC の Amazon ElastiCache にアクセスする Lambda 関数の設定
API Version 2015-02-02
419
Amazon ElastiCache ユーザーガイド
ドキュメント履歴
次の表に、『Amazon ElastiCache ユーザーガイド』の前回のリリース以降に行われたドキュメントの重要
な変更を示します。
• API バージョン: 2015-02-02
• ドキュメントの最新更新日: 2016 年 12 月 20 日
変更
説明
変更日
Memcached 1.4.33
のサポート
ElastiCache に Memcached バージョン 1.4.33 のサポート
が追加されました。
2016 年 20 月 12 日
詳細については、「Memcached バージョン
1.4.33 (p. 39)」および「Memcached 1.4.33 で追加された
パラメータ (p. 302)」を参照してください。
欧州西部 (ロンドン)
リージョンのサポー
ト
ElastiCache に EU (ロンドン) リージョンのサポートが追
加されました。現在、T2 および M4 のノードタイプのみ
サポートされています。
2016 年 12 月 13 日
詳細については、「サポートされているリージョンおよび
エンドポイント (p. 49)」および「サポートされているノー
ドの種類 (p. 96)」を参照してください。
カナダ (モントリ
オール) リージョン
のサポート
ElastiCache にカナダ (モントリオール) リージョンのサ
ポートが追加されました。現在、このリージョンでは M4
および T2 のノードタイプのみサポートされています。
2016 年 12 月 8 日
詳細については、「サポートされているリージョンおよび
エンドポイント (p. 49)」および「サポートされているノー
ドの種類 (p. 96)」を参照してください。
M4 および R3 の
ノードタイプのサ
ポート
ElastiCache に、南米 (サンパウロ) リージョン の R3 およ
び M4 のノードタイプと、中国 (北京) リージョン の M4
ノードタイプのサポートが追加されました。
詳細については、「サポートされているリージョンおよび
エンドポイント (p. 49)」および「サポートされているノー
ドの種類 (p. 96)」を参照してください。
API Version 2015-02-02
420
2016 年 11 月 1 日
Amazon ElastiCache ユーザーガイド
変更
説明
変更日
米国東部 2 (オハイ
オ) リージョンのサ
ポート
ElastiCache で、米国東部 (オハイオ) リージョン (useast-2) と M4、T2、R3 ノードタイプのサポートが追加さ
れました。
2016 年 10 月 17 日
詳細については、「サポートされているリージョンおよび
エンドポイント (p. 49)」および「サポートされているノー
ドの種類 (p. 96)」を参照してください。
Redis クラスターの
サポート
ElastiCache で、Redis クラスター (拡張) のサポートが追
加されました。Redis クラスターを使用しているお客様
は、最大 15 のシャード (ノードグループ) 間にデータを分
割できます。シャードごとに最大 5 のリードレプリカによ
るレプリケーションがサポートされています。Redis クラ
スターの自動フェイルオーバー回数は、以前のバージョン
に比べて約 1/4 になっています。
2016 年 10 月 12 日
このリリースでは、マネジメントコンソールが再設計さ
れ、コンソールでは業界の使用状況に合った用語が使用さ
れています。
詳細については、次のトピックを参照してください。
• エンジンとバージョン (p. 34)
• ElastiCache コンポーネントと機能 (p. 12) — ノード、
シャード、クラスター、レプリケーションのセクション
での注意
• ElastiCache の用語 (p. 10)
M4 ノードタイプサ
ポート
ElastiCache では、ElastiCache によってサポートされる
ほとんどのリージョンで、ノードタイプ M4 ファミリーの
サポートが追加されました。オンデマンドまたはリザーブ
ドキャッシュノードとして M4 ノードタイプを購入できま
す。
2016 年 8 月 3 日
詳細については、「サポートされているノードの種
類 (p. 96)」、「Memcached のノードタイプ固有のパラ
メータ (p. 312)」、および「Redis のノードタイプ固有の
パラメータ (p. 328)」を参照してください。
ムンバイリージョン
のサポート
ElastiCache は、アジアパシフィック (ムンバイ) リージョ
ンのサポートを追加しました。
2016 年 6 月 27 日
詳細については、「サポートされているリージョンおよび
エンドポイント (p. 49)」を参照してください。
スナップショットの
エクスポート
ElastiCache では、Redis スナップショットをエクスポー
トする機能が追加されたため、ElastiCache 外部からス
ナップショットにアクセスできます。
詳細については、『Amazon ElastiCache ユーザーガ
イド』の「バックアップのエクスポート (p. 263)」、
および『Amazon ElastiCache API リファレンス』の
「CopySnapshot」を参照してください。
API Version 2015-02-02
421
2016 年 5 月 26 日
Amazon ElastiCache ユーザーガイド
変更
説明
変更日
ノードタイプのス
ケールアップ
ElastiCache で、Redis ノードタイプをスケールアップす
る機能が追加されました。
2016 年 3 月 24 日
詳細については、「スケーリング (p. 175)」を参照してく
ださい。
エンジンの簡単な
アップグレード
ElastiCache で、Redis キャッシュエンジンを簡単にアッ
プグレードする機能が追加されました。
2016 年 3 月 22 日
詳細については、「エンジンバージョンのアップグレー
ド (p. 44)」を参照してください。
R3 ノードタイプの
サポート
ElastiCache で、中国 (北京) および南米 (サンパウロ) リー
ジョンでの R3 ノードタイプのサポートが追加されまし
た。
2016 年 3 月 16 日
詳細については、「サポートされているノードの種
類 (p. 96)」を参照してください。
Lambda 関数を使用
した ElastiCache へ
のアクセス
Amazon VPC の ElastiCache にアクセスする Lambda 関
数の設定についてのチュートリアルを追加しました。
Redis 2.8.24 のサ
ポート
ElastiCache に Redis 2.8.23 以降に実施された改善を含む
Redis 2.8.24 バージョンのサポートが追加されました。改
善には、バグ修正および不正なメモリーアクセスのアドレ
スのログ記録のサポートが含まれます。
2016 年 2 月 12 日
詳細については、「ElastiCache のチュートリア
ル (p. 419)」を参照してください。
2016 年 1 月 20 日
詳細については、Redis バージョン 2.8.24 (拡張) (p. 43)お
よび「Redis 2.8 リリースノート」を参照してください。
アジアパシフィック
(ソウル) リージョン
のサポート
ElastiCache に、t2、m3、r3 ノードタイプの アジアパシ
フィック (ソウル) (ap-northeast-2) リージョンのサポート
が追加されました。
2016 年 1 月 6 日
Amazon ElastiCache 新しいバージョンの Redis ほど、より良く安定したユー
2015 年 12 月 15 日
コンソールを変更し ザーエクスペリエンスを提供しているため、Redis バー
ました。
ジョン 2.6.13、2.8.6、2.8.19 は ElastiCache マネジメント
コンソールに表示されなくなりました。
他のオプションと詳細については、「Redis バージョンの
比較 (p. 41)」を参照してください。
Redis 2.8.23 のサ
ポート。
ElastiCache では、Redis バージョン 2.8.23 がサポートさ
れるようになりました。バージョン 2.8.22 以降に追加さ
れた機能拡張には、バグ修正と新しいパラメータ closeon-slave-write のサポートが含まれます。このパラメー
タを有効にした場合、読み取り専用レプリカに書き込もう
とするクライアントの接続は切断されます。
詳細については、「Redis バージョン 2.8.23 (拡張)
(p. 43)」を参照してください。
API Version 2015-02-02
422
2015 年 13 月 11 日
Amazon ElastiCache ユーザーガイド
変更
説明
変更日
Redis 2.8.22 のサ
ポート。
ElastiCache に Redis バージョン 2.8.21 サポートが追加さ 2015 年 9 月 28 日
れ、バージョン 2.8.22 から以下のような ElastiCache の機
能拡張と改善が行われました:
• 保存プロセスが実装され、利用可能なメモリが少なく分
岐保存が失敗する場合に、保存が正常に行われるように
なりました。
• CloudWatch メトリクス – SaveInProgress と
ReplicationBytes が追加されました。
• 部分同期を有効にするために、Redis パラメータ replbacklog-size がすべてのクラスターに適用されるよう
になりました。
変更および詳細についての詳細なリストについては、
「Redis バージョン 2.8.22 (拡張) (p. 43)」を参照してくだ
さい。
このドキュメントのリリースには、ドキュメントの再構成
と ElastiCache コマンドラインインターフェイス (CLI) ド
キュメントの削除が含まれています。コマンドラインの使
用については、ElastiCache 用の「AWS Command Line」
を参照してください。
Memcached 1.4.28
がサポートされまし
た。
ElastiCache に、Memcached バージョン 1.4.24 のサポー
2015 年 8 月 27 日
トと、バージョン 1.4.14 以降の Memcached の改善が追
加されました。このリリースには、バックグラウンドタ
スクとしての LRU (least recently used) キャッシュ管理、
ハッシュアルゴリズムとしての jenkins または murmur3 の
選択、新しいコマンド、さまざまバクフィックスが追加さ
れています。
詳細については、「Memcached リリースノート」および
「Memcached バージョンの比較 (p. 39)」(『ElastiCache
ユーザーガイド』) を参照してください。
Redis 2.8.21 のサ
ポート。
PHP 5.6 を使用し
た Memcached Auto
Discovery のサポー
ト。
ElastiCache では、Redis バージョン 2.8.21 とバージョン
2.8.19 以降の改善点が追加されました。この Redis リリー
スは複数のバグ修正が行われています。
詳細については、「Redis 2.8 リリースノート」を参照し
てください。
Amazon ElastiCache のこのリリースでは、PHP バージョ
ン 5.6 用の Memcached Auto Discovery クライアントのサ
ポートが追加されました。
詳細については、「PHP 向けの ElastiCache クラスターク
ライアントのソースコードのコンパイル (p. 123)」を参照
してください。
API Version 2015-02-02
423
2015 年 7 月 29 日
Amazon ElastiCache ユーザーガイド
変更
説明
変更日
新しいトピック:
AWS 外部からの
ElastiCache へのア
クセス
AWS 外部から ElastiCache リソースにアクセスする方法
に関する新しいトピックを追加しました。
2015 年 7 月 9 日
ノード置き換えに関
するメッセージが追
加されました
ElastiCache に、置き換え対象のノードに関
2015 年 6 月 11 日
する次の 3 つのメッセージが追加されまし
た。ElastiCache:NodeReplacementScheduled、ElastiCache:NodeReplacementRescheduled、
および ElastiCache:NodeReplacementCanceled。
詳細については、ElastiCache の「AWS 外部からの
ElastiCache リソースへのアクセス (p. 373)」を参照して
ください。
ノードが置き換え対象になった場合の詳細および実行可能
なアクションについては、ElastiCache の「イベント通知
と Amazon SNS (p. 393)」を参照してください。
Redis バージョン
2.8.19 のサポート。
ElastiCache は Redis バージョン 2.8.19 のサポートと、
バージョン 2.8.6 以降の Redis の機能拡張を追加しまし
た。これには、次のサポートが含まれています。
2015 年 3 月 11 日
• HyperLogLog データ構造と Redis コマンド
PFADD、PFCOUNT、および PFMERGE。
• 辞書式範囲のクエリと新しいコマンド
ZRANGEBYLEX、ZLEXCOUNT、および
ZREMRANGEBYLEX。
• 多くのバグ修正を導入しました。バックグラウンド保存
(bgsave) の子プロセスが予期せずに終了したときに、マ
スター SYNC の障害によりプライマリノードがレプリ
カノードに古いデータを送信することを防ぎます。
HyperLogLog の詳細については、「Redis の新し
いデータ構造: HyperLogLog」を参照してくださ
い。PFADD、PFCOUNT、および PFMERGE の詳細につ
いては、Redis のドキュメントに移動し、[HyperLogLog]
をクリックしてください。
コスト配分タグのサ
ポート
ElastiCache にコスト配分タグのサポートが追加されまし
た。
2015 年 2 月 9 日
詳細については、「コスト配分のタグによるコストのモニ
タリング (p. 399)」を参照してください。
AWS GovCloud
(US) リージョンの
サポート
ElastiCache に、AWS GovCloud (US) (us-gov-west-1)
リージョンのサポートが追加されました。
2015 年 1 月 29 日
欧州 (フランクフル
ト) リージョンのサ
ポート
ElastiCache に、欧州 (フランクフルト) (eu-central-1) リー
ジョンのサポートが追加されました。
2015 年 1 月 19 日
API Version 2015-02-02
424
Amazon ElastiCache ユーザーガイド
変更
説明
変更日
Redis レプリケー
ショングループの自
動フェイルオーバー
をサポートするマル
チ AZ
ElastiCache で、プライマリノードから Redis レプリケー
ショングループ内のリードレプリカへの自動フェイル
オーバーを備えたマルチ AZ のサポートが追加されまし
た。ElastiCache はレプリケーショングループの状態を
モニタリングします。プライマリに障害が発生した場
合、ElastiCache は自動的にレプリカをプライマリに昇格
させた後、レプリカを置き換えます。
2014 年 10 月 24 日
詳細については、「レプリケーション: 自動フェイルオー
バーとマルチ AZ (Redis) (p. 205)」を参照してください。
AWS CloudTrail に
よる API 呼び出しの
ログ記録のサポート
ElastiCache で AWS CloudTrail を使用したすべての
ElastiCache API 呼び出しのログ記録のサポートが追加さ
れました。
2014 年 9 月 15 日
詳細については、「AWS CloudTrail を使用した Amazon
ElastiCache API 呼び出しのログ記録 (p. 415)」を参照して
ください。
サポートされる新し
いインスタンスサイ
ズ
ElastiCache で新しい汎用 (T2) インスタンスのサポートが
追加されました。
Memcached 用の柔
軟なノード配置のサ
ポート
ElastiCache で、複数のアベイラビリティーゾーンにまた
がる Memcached ノードの作成のサポートが追加されまし
た。
2014 年 9 月 11 日
詳細については、「パラメータとパラメータグルー
プ (p. 286)」を参照してください。
2014 年 7 月 23 日
詳細については、「ステップ 2: クラスターを起動す
る (p. 23)」を参照してください。
サポートされる新し
いインスタンスサイ
ズ
ElastiCache は、追加の汎用目的 (M3) インスタンスとメモ 2014 年 7 月 1 日
リ最適化 (R3) インスタンスのサポートを追加しました。
PHP 自動検出
PHP バージョン 5.5 の自動検出のサポートを追加しまし
た。
詳細については、「パラメータとパラメータグルー
プ (p. 286)」を参照してください。
2014 年 5 月 13 日
詳細については、「ElastiCache Cluster Client for PHP の
インストール (p. 117)」を参照してください。
Redis クラスターの
バックアップと復元
このリリースでは、ElastiCache によりお客様が Redis ク
ラスターのスナップショットを作成し、それらのスナップ
ショットを使用して新しいクラスターを作成できます。ス
ナップショットは特定の時刻におけるクラスターのバッ
クアップコピーであり、クラスターメタデータと Redis
キャッシュ内のすべてのデータで構成されます。スナップ
ショットは Amazon S3 に格納され、お客様はいつでもス
ナップショットから新しいクラスターにデータを復元でき
ます。
詳細については、「ElastiCache バックアップと復元
(Redis) (p. 246)」を参照してください。
API Version 2015-02-02
425
2014 年 4 月 24 日
Amazon ElastiCache ユーザーガイド
変更
説明
変更日
Redis 2.8.6
ElastiCache では、Redis 2.8.6 に加えて Redis 2.6.13 が
サポートされます。Redis 2.8.6 を使用すると、お客様は
部分再同期のサポートによりリードレプリカの弾力性と耐
障害性を高めることができ、常に使用可能にする必要があ
るリードレプリカのユーザー定義の最小数を増やすことが
できます。Redis 2.8.6 では、サーバーで発生したイベン
トについてクライアントに通知を送信できる publish-andsubscribe が完全にサポートされます。
2014 年 3 月 13 日
Redis キャッシュエ
ンジン
ElastiCache には、Memcached に加えて Redis キャッ
シュエンジンソフトウェアが用意されています。現在
Redis を使用しているお客様は、新しい ElastiCache
キャッシュクラスターに Redis スナップショットファイル
から既存のデータを初期データ値として投入できるため、
管理対象 ElastiCache 環境への移行が容易になります。
2013 年 9 月 3 日
Redis レプリケーション機能をサポートするた
め、ElastiCache API ではレプリケーショングループがサ
ポートされるようになりました。お客様は、プライマリ
Redis キャッシュノードを含むレプリケーショングループ
を作成し、プライマリノードのキャッシュデータと自動的
に同期される 1 つ以上のリードレプリカノードを追加でき
ます。読み込み量が多いアプリケーションは、リードレプ
リカにオフロードしてプライマリノードの負荷を軽減でき
ます。リードレプリカは、プライマリキャッシュノード障
害時のデータ損失から保護することもできます。
デフォルト Amazon
Virtual Private Cloud
(VPC) のサポート
このリリースでは、ElastiCache は Amazon Virtual Private 2013 年 1 月 8 日
Cloud (VPC) と完全に統合されています。初めて使用する
場合、キャッシュクラスターはデフォルトで Amazon VPC
に作成されます。
詳細については、「Amazon Virtual Private Cloud
(Amazon VPC) と ElastiCache (p. 340)」を参照してくださ
い。
キャッシュノード
自動検出の PHP サ
ポート
キャッシュノード自動検出の初期リリースでは、Java プ
2013 年 1 月 2 日
ログラムのサポートが提供されていました。このリリース
では、ElastiCache により PHP にキャッシュノード自動検
出のサポートが提供されます。
Amazon Virtual
Private Cloud (VPC)
のサポート
このリリースでは、Amazon Virtual Private Cloud (VPC)
で ElastiCache クラスターを起動できます。デフォルトで
は、初めて使用する場合のキャッシュクラスターは自動的
Amazon VPC に作成されます。既存のお客様は、自分の
ペースで Amazon VPC に移行できます。
詳細については、「Amazon Virtual Private Cloud
(Amazon VPC) と ElastiCache (p. 340)」を参照してくださ
い。
API Version 2015-02-02
426
2012 年 12 月 20 日
Amazon ElastiCache ユーザーガイド
変更
説明
変更日
キャッシュノード自
動検出および新しい
キャッシュエンジン
バージョン
ElastiCache には、キャッシュノード自動検出が備わって
います。これは、クライアントプログラムがクラスター
内のキャッシュノードをすべて特定し、それらのすべての
ノードへの接続を開始して維持する機能です。
2012 年 11 月 28 日
このリリースには、新しいキャッシュエンジンバージョン
である Memcached バージョン 1.4.14 が用意されていま
す。この新しいキャッシュエンジンでは、スラブ再分散
機能の強化、パフォーマンスと拡張性の大幅な向上、複数
のバグ修正が加えられています。設定できる新しいキャッ
シュパラメータは複数あります。
詳細については、「パラメータとパラメータグルー
プ (p. 286)」を参照してください。
新しいキャッシュ
ノードタイプ
このリリースには、4 個の追加キャッシュノードタイプが
用意されています。
2012 年 11 月 13 日
リザーブドキャッ
シュノード
このリリースは、リザーブドキャッシュノードのサポート
を追加します。
2012 年 4 月 5 日
新規ガイド
これは『Amazon ElastiCache ユーザーガイド』の最初の
リリースです。
2011 年 8 月 22 日
API Version 2015-02-02
427
Amazon ElastiCache ユーザーガイド
AWS の用語集
最新の AWS の用語については、『AWS General Reference』の「AWS の用語集」を参照してください。
API Version 2015-02-02
428
Fly UP