Amazon Web Services ブログ

新機能 – Redis 6 互換の Amazon ElastiCache

最新の Redis 5.0 互換Amazon ElastiCache 以降、 5.0.6 でのアップストリームサポートを含め、Amazon ElastiCache for Redis では多くの改善が行われました。

今年の初め、1 つのリージョンのクラスターを最大 2 つの他のリージョンのクラスターにレプリケートできる Global Datastore for Redis 機能を発表しました。最近では、18 個のエンジンおよびノードレベルの CloudWatch メトリクスを追加することで、Redis フリートをモニタリングする機能が向上しました。リソースレベルのアクセス許可ポリシーのためのサポートも追加され、特定の ElastiCache リソースに AWS Identity and Access Management (IAM) プリンシパルアクセス許可を割り当てることができるようになりました。

そして本日、Redis 6 互換の Amazon ElastiCache for Redis を発表することになりました。今回のリリースでは、Amazon ElastiCache for Redis にいくつかの新機能や重要な機能が追加されています。

  • マネージドロールベースのアクセス制御 – Amazon ElastiCache for Redis 6 では、Redis コマンド用のロールベースのアクセス制御 (RBAC) の設定に使用できるユーザーとユーザーグループを作成および管理できるようになりました。複数のアプリケーションで、互いのデータにアクセスすることなく、同じ Redis クラスターを使用することにより、セキュリティの境界を維持しながらアーキテクチャを簡素化できるようになりました。また、詳細なアクセス制御と認証を活用し、管理や読み取り専用のユーザーグループを作成することもできます。Amazon ElastiCache ではオープンソースの Redis 6 で導入された新しいアクセスコントロールリスト (ACL) を強化して、マネージド RBAC が体験でき、複数の Amazon ElastiCache for Redis クラスターでアクセスコントロールを簡単に設定できるようになりました。
  • クライアント側のキャッシング – Amazon ElastiCache for Redis 6 はサーバー側の機能が強化され、効率的なクライアント側のキャッシングが実現し、アプリケーションのパフォーマンスをさらに向上することができます。Redis クラスターはクライアント要求を追跡し、クライアントに格納されているデータの無効化メッセージを送信することで、クライアント側のキャッシュをサポートするようになりました。加えて、クライアントが Redis クラスターからの通知をサブスクライブできるブロードキャストモードもご利用いただけます。
  • 運用上の大幅な改善 – 今回のリリースでは、アプリケーションの可用性と信頼性を向上する機能もいくつか強化しました。Amazon ElastiCache では、特に中~大規模のキーを使用するワークロードの場合に、レイテンシーとスナップショットの実行にかかる時間を短縮することで、メモリが少ない状態でのレプリケーションが改善されました。オープンソースの Redis の機能強化には、有効期限が切れたキーの迅速な削除やさまざまなバグ修正のための、有効期限アルゴリズムの改善が含まれます。

オープンソースの Redis 6 では、転送中の暗号化のサポートも開始しました。これは、Amazon ElastiCache for Redis 4.0.10 以降から既にご利用いただいている機能です。今回の Amazon ElastiCache for Redis 6 のリリースは、転送中の暗号化に関する Amazon ElastiCache for Redis の現行のサポートに影響はありません。

新規または現行の Redis 6 クラスターに RBAC を適用するには、まずユーザーとユーザーグループが作成されていることを確認する必要があります。これを行うためのプロセスを、次で確認しましょう。

ロールベースのアクセス制御の使用 — そのしくみ
Amazon ElastiCache for Redis 6 では、Redis AUTH コマンドを使用してユーザーを認証する代わりに、ロールベースのアクセスコントロール (RBAC) を使用します。RBAC を使用すると、ユーザーを作成し、アクセス文字列を介して特定のアクセス権限をそのユーザーに割り当てることができます。

ユーザーとユーザーグループを作成、変更、削除する場合は、ElastiCache コンソールの [ユーザー管理] セクションと [ユーザーグループ管理] セクションをクリックします。

ElastiCache では、ユーザー ID とユーザー名「default」を使ってデフォルトユーザーを自動的に設定した後、[ユーザーグループ管理] でデフォルトユーザーまたは新しく作成したユーザーを新しいグループに追加できます。

独自のパスワードとアクセス設定でデフォルトユーザーを変更する場合は、ユーザー名を「default」に設定して新しいユーザーを作成し、元のデフォルトユーザーに置き換える必要があります。デフォルトユーザーには、独自の強力なパスワードを使用することをお勧めします。

次の例は、元のデフォルトユーザーを、AWS CLI 経由でアクセス文字列を変更した別のデフォルトユーザーで置き換える方法を示しています。

$ aws elasticache create-user \
 --user-id "new-default-user" \
 --user-name "default" \
 --engine "REDIS" \
 --passwords "a-str0ng-pa))word" \ 
 --access-string "off +get ~keys*"

ユーザーグループを作成し、以前に作成したユーザーを追加します。

$ aws elasticache create-user-group \
  --user-group-id "new-default-group" \
  --engine "REDIS" \
  --user-ids "default"

元のデフォルトユーザーを新しいデフォルトユーザーに置き換えます。

$ aws elasticache modify-user-group \
    --user-group-id "new-default-group" \
    --user-ids-to-add "new-default-user" \
    --user-ids-to-remove "default"

さらに、ユーザーのパスワードを変更したり、modify-user コマンドでそのアクセス許可を変更したり、または delete-user コマンドで特定のユーザーを削除したりすることができます。元のデフォルトユーザーは、それが属する任意のユーザーグループから削除されます。

同様に、新しいユーザーを追加したり、modify-user-group コマンドで現在のユーザーを削除したり、または delete-user-group コマンドでユーザーグループを削除したりすることで、 ユーザーグループを変更できます。グループに属するユーザーではなく、ユーザーグループ自体が削除されることに注意してください。

ユーザーグループを作成してユーザーを追加したら、そのユーザーグループをレプリケーショングループに割り当てたり、Redis AUTH と RBAC の間で移行したりできます。 詳細は、ドキュメントをご覧ください。

ElastiCache 用 Redis 6 クラスター – 開始方法
通常は、ElastiCache コンソールCLIAPI、または CloudFormation テンプレートを使用して、新しい Redis 6 クラスターを作成できます。コンソールを使って、ナビゲーションペインから [Redis] を選択し、次の設定で [作成] をクリックします。

「転送中の暗号化」チェックボックスをオンにして、「アクセス制御」オプションが表示されることを確認します。アクセス制御のオプションは、RBAC 機能によるユーザーグループアクセス制御リストか、または Redis AUTH デフォルトユーザーのいずれかを選択できます。RBAC を選択した場合、使用可能なユーザーグループの 1 つを選択できます。

クラスターが数分以内に立ち上がります。既存のクラスターでインプレースアップグレード機能を使用することもできます。クラスターを選択して、[アクション]、[変更] の順にクリックします。エンジンバージョンを 5.0.6 互換エンジンから 6.x 互換エンジンに変更できます。

今すぐご利用いただけます
Amazon ElastiCache for Redis 6 がすべての AWS リージョンでご利用いただけるようになりました。ElastiCache for Redis でサポートされているバージョンのリストについては、ドキュメントをご参照ください。ご意見、ご感想があれば、Amazon ElastiCache の AWS フォーラム、AWS サポート、またはアカウントチームにお送りください。

Channy