[[AWSメモ]] >
* AWS EC2から別VPCのElastiCacheに接続する [#v45c729f]
#setlinebreak(on)

#contents

** 概要 [#qde89dfd]
#html(<div style="padding-left:10px;">)
EC2インスタンスから、別VPCのElasticacheインスタンスに接続する手順を記載する。
※ECSインスタンス等からの接続も基本的には同じ。

#html(</div>)


** 準備 [#u906ab49]
#html(<div style="padding-left:10px;">)

接続元(EC2)、接続先(ElastiCache)の以下の情報を用意する。

- インスタンスが所属するVPC ID
- インスタンスが所属するVPCのIPv4 CIDR
- インスタンスのセキュリティグループID

#html(</div>)

** 設定 [#y35ed5c4]
#html(<div style="padding-left:10px;">)

あとはドキュメントの手順に沿って設定していくだけ。
https://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/red-ug/elasticache-vpc-accessing.html#elasticache-vpc-accessing-different-vpc

*** VPCピア接続の作成 [#a93d8cee]
#html(<div style="padding-left:10px;">)

https://console.aws.amazon.com/vpc/ からピアリング接続を作成する。

|VPC (リクエスタ)|VPC (アクセプタ)|h
|接続元(EC2)のVPC ID|接続先(ElastiCache)のVPC ID|
※作成したVPCピアリング接続のIDは、ルートテーブルの更新時に必要なのでメモしておく。(pcx-で始まるID)

#html(</div>)

*** VPC ピア接続のルートテーブルの更新 [#ze206ce0]
#html(<div style="padding-left:10px;">)

https://console.aws.amazon.com/vpc/ の [ルートテーブル]から、接続元 及び 接続先VPCの ルートテーブルを更新(追加)する

接続元(EC2側)VPCのルートテーブル
|送信先|ターゲット|h
|接続先VPCのIPv4 CIDR|VPCピアリング接続のID|

接続先(ElastiCache側)VPCのルートテーブル
|送信先|ターゲット|h
|接続元VPCのIPv4 CIDR|VPCピアリング接続のID|

#html(</div>)

*** ピア接続VPC のアプリケーションセキュリティグループからのインバウンド接続を許可 [#w2670554]
#html(<div style="padding-left:10px;">)

https://console.aws.amazon.com/vpc/ の [セキュリティグループ] から、
接続先(ElastiCache側)のセキュリティグループのインバウンドのルールに ElastiCache(Redis等) への接続に使用するポートを追加する。

Redisの場合の例)
|タイプ|プロトコル|ポート範囲|ソース|説明|h
|カスタム TCP ルール|TCP (6)|6379|接続元のセキュリティグループID||

#html(</div>)

#html(</div>)


** 接続確認 [#jdde800c]
#html(<div style="padding-left:10px;">)

*** redisクライアントのインストール [#o7cdae6f]
#html(<div style="padding-left:10px;">)

テスト時はローカルでRedisを動作させたい事もあるので、ここでは Redis自体をインストールするが、
特に必要なければ、他のRedisクライアントを単体でインストールしてもOK。
※ https://redis.io/clients

#myterm2(){{

# インストールに必要なものを予めインストール
sudo yum install gcc
sudo yum install tcl

# redisインストール
wget http://download.redis.io/releases/redis-4.0.11.tar.gz
tar xzf redis-4.0.11.tar.gz
cd redis-4.0.11
make test
make
}}
※ https://redis.io/download

#html(</div>)

*** 接続 [#sc189864]
#myterm2(){{
src/redis-cli -h 対象のElasticache(Redis)ノードのエンドポイント -p 6379
}}

#html(</div>)

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS