EC2をリバースプロキシサーバ化してElasticSearchServiceのAPIを外部から叩けるようにする
経緯
Amazon Elasticsearch Serviceを使用してELasticSearchの検証環境を用意したが
Globalに公開できず検証しづらかったので、EC2をプロキシサーバにして外部からAPIを叩けるようにした。
セキュリティ的な問題はあるが検証環境であるということと自宅IPに絞ったので今回は甘めに
ざっくり構成
EC2を作成
EC2を作成し、PublicSubnetを紐づけます。
EC2用のセキュリティーグループを作成し、EC2に紐づける
今回EC2はHTTPでAPIを叩くようとSSHでリバースプロキシの設定をするために
インバウンドルールで80ポートと22ポートを解放するようにセキュリティーグループを設定します。
ElasticSearchを作成
ElasticSearchを作成し、PrivateSubnetを紐づけます。
ElasticSearch用のセキュリティーグループを作成し、ElasticSearchに紐づける
ElasticSearchはEC2からのみのアクセスを受け付けたいので、
インバウンドルールにポート443 ソースにEC2のセキュリティーグループを設定します。
EC2をリバースプロキシ化
今回はnginxで設定していきます。
sudo yum update -y
# nginxのインストール
sudo amazon-linux-extras install nginx1.12 -y
sudo vim /etc/nginx/nginx.conf
/etc/nginx/nginx.conf内に
locationの記述があると思うのでそちらにElasticSearchのVPCエンドポイントを記載します
location / {
proxy_pass ElasticSearchのVPCエンドポイントを記載;
}
# nginxの起動
sudo systemctl start nginx
# EC2起動時に動くように
sudo systemctl enable nginx
EC2のpublic IPをブラウザ等で叩く
{
"name" : "hogehoge",
"cluster_name" : "hoge",
"cluster_uuid" : "hogeid",
"version" : {
"number" : "7.4.2",
"build_flavor" : "oss",
"build_type" : "tar",
"build_hash" : "unknown",
"build_date" : "2020-05-05T04:47:06.936807Z",
"build_snapshot" : false,
"lucene_version" : "8.2.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
成功🎉
Author And Source
この問題について(EC2をリバースプロキシサーバ化してElasticSearchServiceのAPIを外部から叩けるようにする), 我々は、より多くの情報をここで見つけました https://qiita.com/lucaspoppy/items/7a5710577037a2b1e514著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .