将EC2反向代理服务器化,并使其能够从外部访问ElasticSearchService的API

经过

使用Amazon Elasticsearch Service建立ElasticSearch的验证环境,但由于无法全球公开,验证变得困难,因此将EC2作为代理服务器,以便可以从外部访问API。
虽然存在安全问题,但考虑到这是验证环境,并且仅限于我的家庭IP,所以这次我稍微忽略了一些。

大致概述

構成図.png

创建EC2实例

创建EC2实例并绑定PublicSubnet。

创建适用于EC2的安全组,并将其绑定到EC2上。

为了通过HTTP调用API并通过SSH设置反向代理,本次将在入站规则中配置安全组以打开80端口和22端口。

スクリーンショット 2020-07-10 19.06.01.png

我要构建ElasticSearch。

创建ElasticSearch并与PrivateSubnet关联。

创建与ElasticSearch关联的安全组。

スクリーンショット 2020-07-10 19.16.55.png

将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 ElasticSearchVPCエンドポイントを記載;
}
# nginxの起動
sudo systemctl start nginx
# EC2起動時に動くように
sudo systemctl enable nginx

通过浏览器等访问EC2的公共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"
}

圆满达成?

广告
将在 10 秒后关闭
bannerAds