将EC2反向代理服务器化,并使其能够从外部访问ElasticSearchService的API
经过
使用Amazon Elasticsearch Service建立ElasticSearch的验证环境,但由于无法全球公开,验证变得困难,因此将EC2作为代理服务器,以便可以从外部访问API。
虽然存在安全问题,但考虑到这是验证环境,并且仅限于我的家庭IP,所以这次我稍微忽略了一些。
大致概述
创建EC2实例
创建EC2实例并绑定PublicSubnet。
创建适用于EC2的安全组,并将其绑定到EC2上。
为了通过HTTP调用API并通过SSH设置反向代理,本次将在入站规则中配置安全组以打开80端口和22端口。
我要构建ElasticSearch。
创建ElasticSearch并与PrivateSubnet关联。
创建与ElasticSearch关联的安全组。
将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的公共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"
}
圆满达成?