AWS Elasticsearch Serviceを使うのに困ったことを2つ。
*間違いがあったので修正しました(2016/03/23)
前提
- 社内ネットワークから構築していて、社内プロキシを使った環境です
kibanaのURLをクリックしてもいっこうにkibanaが立ち上がらない問題
解決策:
- *1の"Modify access policy"にてアクセスポリシーを変更することができる
- aws:SourceIpにプロキシのIPアドレスを指定する必要がある
◎Elasticsearch
◎アクセスポリシー
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "es:*",
"Resource":"arn:aws:es:****:************:domain/Elasticsearchのドメイン名/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": "プロキシのIPアドレス",
}
}
}
]
}
とにかく繋がらない問題
確認してほしいこと
- NAT
解決策:
- ElasticsearchServiceはVPCの外にいるので、NATで強い制限をかけていると、繋がらない。拒否される
- アクセスポリシーにプロキシのIPアドレスに加えて、NATのIPも指定してあげる
◎アクセスポリシー
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "es:*",
"Resource":"arn:aws:es:****:************:domain/Elasticsearchのドメイン名/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": [
"プロキシのIPアドレス",
"NATのIPアドレス"
]
}
}
}
]
}
kibanaが重い、Elasticsearchのコンソールも重い問題
原因
- インスタンスタイプが小さすぎて、CPUが大忙し
- ElasticsearchのMonitoringタブを開いてCPUUtilizationを見ると↓のように(3/10あたり)100%ではりついてしまうため、ものすごく重くなる
解決策
- 残念ながら、Elasticsearchのドメインを新しく作りなおすしかない
- そのときに大きめのインスタンスタイプを指定することで解決できる
おまけ
-
kibanaのIPアドレスはcliを用いて、↓で調べることができる(*2のsearch~comを指定)
$ nslookup search**********com Server: Address: Non-authoritative answer: Name: Address:ココ!