[アップデート] Amazon ElastiCache と EC2 間で 1 クリック接続セットアップをサポートしました

[アップデート] Amazon ElastiCache と EC2 間で 1 クリック接続セットアップをサポートしました

Clock Icon2025.01.26

こんにちは!クラウド事業本部コンサルティング部のたかくに(@takakuni_)です。

Amazon ElastiCache と EC2 間で 1 クリック接続セットアップをサポートしました。

https://aws.amazon.com/jp/about-aws/whats-new/2025/01/amazon-elasticache-1-click-connectivity-setup-ec2-cache/

1 クリック接続セットアップ

1 クリック接続セットアップは対象の EC2 インスタンスを GUI で選択することで、インスタンスと ElastiCache 間の接続に必要なセキュリティグループを自動でセットアップしてくれる機能です。Aurora/RDS や DocumentDB ではすでにサポートされていましたが、今回 ElastiCache 版が登場しました。

ささっと検証したい時にはピッタリな機能ですね。早速試してみましょう。

https://dev.classmethod.jp/articles/ec2-rds-1click/

https://dev.classmethod.jp/articles/amazon-documentdb-ec2/

今回のアップデートでは EC2 に加え、CloudShell についても記載がありました。とても気になりますね。

You can also choose to connect to your cache from the Console using AWS CloudShell. Just click the “Connect to cache” button in the new “Connectivity and Security” tab. This will open a new AWS CloudShell session and connect to your cache using the valkey-cli tool. Once connected, you can execute common Valkey commands, including reading data (e.g. GET <key>) and writing data (e.g. SET <key> <value>).

やってみる

今回は Valkey OSS を利用した ElastiCache Serverless クラスターへ、同一サブネットに所属する EC2, CloudShell から接続を試みます。

セキュリティグループ

事前に以下の EC2, CloudShell, ElastiCache には Security Group を用意/アタッチしています。

EC2

インバウンドルール

なし

アウトバウンドルール

ポート 送信先 備考
すべて 0.0.0.0/0

CloudShell

インバウンドルール

なし

アウトバウンドルール

ポート 送信先 備考
すべて 0.0.0.0/0

ElastiCache

インバウンドルール

なし

アウトバウンドルール

ポート 送信先 備考
すべて 0.0.0.0/0

1 クリック接続セットアップ (EC2)

それでは 1 クリック接続セットアップを試してみます。ElastiCache のコンソールに行くと コンピューティング接続をセットアップ が増えていますね。クリックしてみます。

2025-01-26 at 17.22.11-ElastiCache Management Console - redis serverless details

コンピュート接続をセットアップする画面に遷移しました。対象のインスタンスを選んで自動でセキュリティグループをセットアップするようです。

2025-01-26 at 17.22.19-ElastiCache Management Console - setup ec2 connection cluster

接続の概要をクリックすると、対象インスタンスと ElastiCache クラスターの構成図が出てきました。

現在の値新しい値を見るに、すでに指定しているセキュリティグループとは別のセキュリティグループを各リソースにアタッチするようです。

2025-01-26 at 17.22.27-ElastiCache Management Console - setup ec2 connection cluster

セキュリティグループの作成パターンは、ざっくり解説すると以下のルールに従います。

  1. elasticache-ec2-${cacheId}:${ec2InstanceId}, ec2-elasticache-${ec2InstanceId}:${cacheId} に該当しないセキュリティグループは変更しない
  2. elasticache-ec2-${cacheId}:${ec2InstanceId} があり(ない場合は自動で作成)、セキュリティグループ内にルールがない場合はルールを追加する
  3. ec2-elasticache-${ec2InstanceId}:${cacheId} があり(ない場合は自動で作成)、セキュリティグループ内にルールがない場合はルールを追加する

より細かい仕様を確認したい場合は、以下にまとめられておりますので、合わせてご覧ください。

https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/compute-connection.html

自動セットアップが完了すると、コンピューティングリソースに対象のインスタンスが登録されます。

2025-01-26 at 17.22.19-ElastiCache Management Console - setup ec2 connection cluster

セキュリティグループも、新しくアウトバウンドを ElastiCache クラスターのセキュリティグループに向けるルールが追加されています。

2025-01-26 at 18.22.46-インスタンスの詳細  EC2  ap-northeast-1

ElastiCache 側も ec2-elasticache から始まるルールが追加されています。

2025-01-26 at 18.24.03-EC2  ap-northeast-1

EC2 に Valkey CLI をインストールして接続してみます。

sudo su -
yum -y install openssl-devel gcc
wget https://github.com/valkey-io/valkey/archive/refs/tags/7.2.6.tar.gz
tar xvzf valkey-7.2.6.tar.gz
cd valkey-7.2.6
make distclean
make valkey-cli BUILD_TLS=yes
sudo install -m 755 src/valkey-cli /usr/local/bin/
valkey-cli --tls -h valkey-cluster-hogehoge.serverless.apne1.cache.amazonaws.com -p 6379

https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/connect-tls.html

うまくつながり、コマンドも叩けていますね。

[root@ip-10-0-146-65 valkey-8.0.0]# valkey-cli --tls -h valkey-cluster-hogehoeg.serverless.apne1.cache.amazonaws.com -p 6379
valkey-cluster-hogehoeg.serverless.apne1.cache.amazonaws.com:6379> SET mykey "Hello, ElastiCache!"OK
valkey-cluster-hogehoeg.serverless.apne1.cache.amazonaws.com:6379> GET mykey"Hello, ElastiCache!"
valkey-cluster-hogehoeg.serverless.apne1.cache.amazonaws.com:6379>

1 クリック接続セットアップ (CloudShell)

続いて CloudShell です。同じく ElastiCache コンソールに行くと新しく、キャッシュに接続 が生えていますね。クリックしてみましょう。

2025-01-26 at 18.32.40-ElastiCache Management Console - redis serverless details

すると CloudShell の環境を作成画面に移動しました。「セットアップができたらコマンドを実行するよ」とお知らせされていますね。作成と実行 をクリックしてみます。

2025-01-26 at 18.36.00-ElastiCache Management Console - redis serverless details

ただ残念ながら、CloudShell から ElastiCache への接続は試行されたまま、タイムアウトしてしまいました。

2025-01-26 at 18.39.02-ElastiCache Management Console - redis serverless details

CloudShell に払い出された ENI のセキュリティグループを見ると ElastiCache と同じセキュリティグループがアタッチされていました。

2025-01-26 at 18.40.41-ネットワークインターフェイス  EC2  ap-northeast-1

この状況ですと、自身を許可するルールがないため、接続できませんね。ルールを追加しておきます。

2025-01-26 at 19.01.25-ModifyInboundSecurityGroupRules  EC2  ap-northeast-1

セットアップが完了したら接続できました。

2025-01-26 at 19.02.30-ElastiCache Management Console - redis serverless details

CloudShell の方は 事前認証済み と記載されていることから、もしかしたら「セキュリティグループのルールが設定済みだとワンクリックですぐに接続できるよ」なのかもしれません。

2025-01-26 at 19.03.06-ElastiCache Management Console - redis serverless details

まとめ

以上、「Amazon ElastiCache と EC2 間で 1 クリック接続セットアップをサポートしました。」でした。

検証用途の場合は EC2, 運用時にササっと接続したい場合は CloudShell の接続オプションを利用してみても良いかもしれません。

このブログがどなたかの参考になれば幸いです。クラウド事業本部コンサルティング部のたかくに(@takakuni_)でした!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.