Amazon Lightsail インスタンスから Amazon ElastiCache for Redis エンドポイントに接続したいと考えています。これを実行するにはどうすればよいですか?
解決方法
Lightsail インスタンスから Redis 用 ElastiCache クラスターに接続するには、以下の手順を実行します。
- (オプション) Lightsail インスタンスと Redis 用 ElastiCache リソースを作成します (まだ作成していない場合)。
- クラスターのセキュリティグループを設定して、接続を許可します。
- Lightsail インスタンスで VPC ピアリングをオンにします。
- Lightsail インスタンスから Redis クラスターエンドポイントに接続します。
(オプション) Lightsail インスタンスと ElastiCache Redis リソースを作成する
Lightsail インスタンスの作成とインスタンスへの接続の詳細については、「Amazon Lightsail インスタンスを作成する」を参照してください。
Redis 用 ElastiCache クラスターの作成については、「クラスターの作成」を参照してください。
**注:**Lightsail リソースと ElastiCache リソースを同じリージョンに作成します。デフォルトの VPC に ElastiCache リソースを作成する必要があります。
クラスターのセキュリティグループを設定して接続を許可します。
Redis 用 ElastiCache クラスターのセキュリティグループが、Lightsail インスタンスのプライベート IP アドレスからのポート 6379 での着信 TCP 接続を許可していることを確認します。
インバウンドポート 6379 を Redis 用 ElastiCache クラスターに追加するには、以下の手順を実行します。
1. Amazon ElastiCache コンソールを開き、クラスターが配置されている AWS リージョンを選択します。
2. ElastiCache コンソールのダッシュボードで、[Redis] を選択します。
3. クラスターを選択し、クラスターに関連付けられているセキュリティグループをメモします。
4. Amazon VPC コンソールを開き、ステップ 3 でメモしたセキュリティグループを選択します。
5. ソース IP からポート 6379 の新しいカスタム TCP ルールを追加します。この場合、ソース IP は Lightsail インスタンスのプライベート IP です。
Lightsail インスタンスで VPC ピアリングをオンにする
Lightsail インスタンスで VPC ピアリング接続をオンにする方法については、「Amazon Lightsail の外部の AWS リソースを操作するように Amazon VPC ピアリングをセットアップする」を参照してください。
**注:**リソースを作成したリージョンの VPC ピアリングをオンにします。
Lightsail インスタンスから Redis クラスターエンドポイントに接続する
1. redis-cli を Lightsail インスタンスにダウンロードしてインストールします。Redis-cli は、インスタンス内からクラスターまたはレプリケーショングループに接続するために使用できるユーティリティです。
Amazon Linux 2 インスタンスに redis-cli をインストールするには
$ sudo yum install gcc
$ sudo wget http://download.redis.io/redis-stable.tar.gz
$ sudo tar xvzf redis-stable.tar.gz
$ cd redis-stable
$ sudo make
他の Linux ディストリビューションに redis-cli をインストールする手順については、「 redis-cli のダウンロードとインストール」を参照してください。
2. クラスターに接続するには、次のコマンドを実行します。cluster-endpoint とポート番号は、クラスターのエンドポイントとポート番号に置き換えます。(Redis のデフォルトポートは 6379 です。)
$ src/redis-cli -h cluster-endpoint -c -p port number
このコマンドは、次のような Redis コマンドプロンプトを返します。
cluster-endpoint: port number
**注:**telnet コマンドを実行して、Lightsail インスタンスから Redis クラスターエンドポイントへの接続をテストできます。
$ telnet <redis_endpoint> 6379