Amazon ElasticsearchがVPCをサポートしました

Elasticsearch Service

まいど、大阪の市田です。
本日のアップデートでAmazon ElasticsearchがVPCをサポートしました。

AWS Developer Forums: Amazon Elasticsearch Service now supports Amazon Virtual Private Cloud (VPC)

試してみた

それでは早速試してみます。マネジメントコンソールから作成してみます。

01-create-es

ドメインの名前を付けます。バージョンはデフォルトの「5.5」のまま「Next」をクリックします。

02-def-domain

インスタンス数は「2」として、複数のサブネットにMulti-AZで構成するため「Enable zone awareness」にチェックを入れておきます。

04-config-zone-asareness

次の画面で「VPC access」を選択して下さい。サブネットが2つ選択出来ます。セキュリティグループは複数選択することが可能です。
VPCがサポートされてますね!

05-es-vpc-setting

アクセスポリシーは「Do not require signing request with IAM credential」を選択します。カッコ書きの説明にあるように、セキュリティグループで許可されたものがアクセス可能となります。

06-select-template

ポリシーの内容は次のようなものになります。

07-template

レビューで問題なければ作成します。

08-confirm

また、セキュリティグループは同じVPCからのアクセスを許可するようにしました。

12-sg

作成完了後、インスタンスのエンドポイントに対して名前解決を行ってみると、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の画面にアクセスしてみます。見れましたね。

09-rdp

VPC外(ローカルのPC)からはアクセスできません。

10-cannot-access

次に、同じ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で確認できました。

11-es-local-data

また、インスタンスのエンドポイントに対して名前解決を行うと、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インスタンスが作成できることで、セキュアに利用できる用途が広がったと思います。
ぜひご活用下さい。

以上です。

AWS Cloud Roadshow 2017 福岡