Amazon Lightsail インスタンスから Amazon ElastiCache for Redis エンドポイントに接続したいと考えています。
解決策
Lightsail インスタンスから ElastiCache for Redis クラスターに接続するには、以下の手順を実行します。
- (オプション) Lightsail インスタンスと ElastiCache for Redis リソースを作成します。
- 接続を許可するようにクラスターのセキュリティグループを設定します。
- Lightsail インスタンスで VPC ピアリングを有効にします。
- Lightsail インスタンスから Redis クラスターエンドポイントに接続します。
(オプション) Lightsail インスタンスと ElastiCache Redis リソースを作成する
Lightsail インスタンスを作成してインスタンスに接続する方法については、「Create an Amazon Lightsail instance」を参照してください。ElastiCache for Redis クラスターを作成する方法については、「Create a cluster」を参照してください。
注: 同じリージョンに Lightsail リソースと ElastiCache リソースを作成します。ElastiCache リソースはデフォルトの VPC に作成する必要があります。
接続を許可するようにクラスターのセキュリティグループを設定する
ElastiCache for Redis クラスターのセキュリティグループは、Lightsail インスタンスのプライベート IP アドレスからのポート 6379 での受信 TCP 接続を許可する必要があります。
インバウンドポート 6379 を ElastiCache for Redis クラスターに追加するには、以下の手順を実行します。
- Amazon ElastiCache コンソールを開き、クラスターが配置されている AWS リージョンを選択します。
- ElastiCache コンソールのダッシュボードで、Redis を選択します。
- クラスターを選択し、クラスターに関連付けられているセキュリティグループを書き留めます。
- Amazon VPC コンソールを開き、メモしたセキュリティグループを選択します。
- ソース IP からポート 6379 の新しいカスタム TCP ルールを追加します。この例では、ソース IP は Lightsail インスタンスのプライベート IP です。
Lightsail インスタンスで VPC ピアリングを有効にする
Lightsail インスタンスでの VPC ピアリングの詳細については、「Set up Amazon VPC peering to work with AWS resources outside of Amazon Lightsail」を参照してください。
注: リソースを作成したリージョンの VPC ピアリングを有効にします。
VPC ピアリング接続用の ElastiCache ルートテーブルを設定する
VPC ピアリング接続の ElastiCache ルートテーブルを設定するには、次の手順を実行します。
-
Amazon ElastiCache コンソールを開き、クラスターが配置されている AWS リージョンを選択します。
-
ElastiCache コンソールのダッシュボードで、Redis を選択します。
-
クラスターを選択し、[ネットワークとセキュリティ] セクションに移動します。
-
[ネットワークとセキュリティ] セクションで、サブネットグループを選択します。各サブネットを個別に設定します。サブネットをクリックして Amazon VPC コンソールを開きます。
-
サブネットのルートテーブルを更新します。サブネットのルートテーブルには、以下の設定が必要です。
送信先から Lightsail インスタンスのプライベート IP アドレスへ
ターゲットからピアリング接続へ (「pcx-xxxxx」)
詳細については、「VPC ピアリング接続のルートテーブルを更新する」を参照してください。
Lightsail インスタンスから Redis クラスターエンドポイントに接続する
Lightsail インスタンスから Redis クラスターエンドポイントに接続するには、次の手順を実行します。
- お使いの 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 をインストールする手順については、「Download and install redis-cli」を参照してください。
- クラスターに接続するには、次のコマンドを実行します。
$ src/redis-cli -h cluster-endpoint -c -p port number
注: cluster-endpoint と port number を、クラスターのエンドポイントとポート番号に置き換えます。Redis のデフォルトポートは 6379 です。
このコマンドは、次のような Redis コマンドプロンプトを返します。
cluster-endpoint: port number
**注:**telnet コマンドを実行すると、Lightsail インスタンスから Redis クラスターエンドポイントへの接続をテストできます。
$ telnet <redis_endpoint> 6379