VPC Support for Amazon Elasticsearch Service Domains - Amazon Elasticsearch Service http://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/developerguide/es-vpc.html
やること
- VPCの設定をする
- Elasticsearch Serviceを新規作成してVPC設定する
(既存のドメインをVPC対応にする・VPCを切り替える方法はまだわからない) - lambdaにVPCを設定する
- テスト
VPC設定
- プライペートとパブリックの2パターンサブネットを作成する
- パブリックサブネット内でNATゲートウェイを作成する
- NAT,インターネットゲートウェイをルートテーブルに割り当てる
- ESに設定するセキュリティグループを設定する
ES設定
lambda設定
- ロールにVPCアクセス権限をアタッチする
- lambdaをプライペートサブネットに配置する
API Gateway設定
(疎通確認だけなら、lambda関数に繋がればよいかと)
疎通確認
ESはVPC内なので、外のネットワークからはアクセスできない
そのため、Kibana見れない状態…
VPC内にWindows立ち上げるとかEC2入れてcurlで叩いてみるとか
lambda内のログに出力するなりで確認
はまりどころ
lambdaにパプリックネットワークのサブネットを付けてしまっていた為、外に接続できなかった
原因をAPI Gatewayかと思い、メソッドを設定したものの解決せず時間がかかってしまった
もしかして
ESへのアクセスを制限したいだけであれば、lambdaをVPC内に設置してNAT Gateway経由でESにアクセスすればIP許可だけで十分だったのでは…?