Amazon ElasticsearchがVPCをサポートしました
まいど、大阪の市田です。
本日のアップデートでAmazon ElasticsearchがVPCをサポートしました。
AWS Developer Forums: Amazon Elasticsearch Service now supports Amazon Virtual Private Cloud (VPC)
試してみた
それでは早速試してみます。マネジメントコンソールから作成してみます。
ドメインの名前を付けます。バージョンはデフォルトの「5.5」のまま「Next」をクリックします。
インスタンス数は「2」として、複数のサブネットにMulti-AZで構成するため「Enable zone awareness」にチェックを入れておきます。
次の画面で「VPC access」を選択して下さい。サブネットが2つ選択出来ます。セキュリティグループは複数選択することが可能です。
VPCがサポートされてますね!
アクセスポリシーは「Do not require signing request with IAM credential」を選択します。カッコ書きの説明にあるように、セキュリティグループで許可されたものがアクセス可能となります。
ポリシーの内容は次のようなものになります。
レビューで問題なければ作成します。
また、セキュリティグループは同じVPCからのアクセスを許可するようにしました。
作成完了後、インスタンスのエンドポイントに対して名前解決を行ってみると、VPCのプライベートIPが返ってきました。
1 2 3 4 | dig +short vpc-esprivate-xxxxxxxxxxxxxxxxxxxxxxxxxx.ap-northeast-1.es.amazonaws.com 192.168.4.144 192.168.3.156 |
次に、同じVPCにWindows Serverを立ててkibanaの画面にアクセスしてみます。見れましたね。
VPC外(ローカルのPC)からはアクセスできません。
次に、同じVPC上のインスタンスからデータを登録してみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $ curl -XPUT https: //vpc-esprivate-xxxxxxxxxxxxxxxxxxxxxxxxxx .ap-northeast-1.es.amazonaws.com /testidx/test/1 -d ' > { > "title" : "test1" , > "body" : "body1" > } > ' { "_index" : "testidx" , "_type" : "test" , "_id" : "1" , "_version" :1, "result" : "created" , "_shards" :{ "total" :2, "successful" :2, "failed" :0}, "created" : true } $ curl -XPUT https: //vpc-esprivate-xxxxxxxxxxxxxxxxxxxxxxxxxx .ap-northeast-1.es.amazonaws.com /testidx/test/2 -d' { > "title" : "test2" , > "body" : "body2" > }' { "_index" : "testidx" , "_type" : "test" , "_id" : "2" , "_version" :1, "result" : "created" , "_shards" :{ "total" :2, "successful" :2, "failed" :0}, "created" : true } |
投入したデータをkibanaで確認できました。
また、インスタンスのエンドポイントに対して名前解決を行うと、VPCのプライベートIPが返ってきます。
1 2 3 4 | dig +short vpc-esprivate-xxxxxxxxxxxxxxxxxxxxxxxxxx.ap-northeast-1.es.amazonaws.com 192.168.4.144 192.168.3.156 |
最後に
VPC内にElasitcsearchインスタンスが作成できることで、セキュアに利用できる用途が広がったと思います。
ぜひご活用下さい。
以上です。