Endpoint-为EC2和S3之间搭建爱的桥梁
S3能为我们提供安全、耐用且具备高度可扩展能力的对象存储服务。Virtual Private Cloud则给我们在云端创建出一套AWS Cloud逻辑隔离区,并通过自己定义的虚拟网络对其进行全面控制。EC2服务器就是在VPC这个网络环境内进行工作和受管理的。
当我们创建VPC时,需要利用安全组与访问控制列表(简称ACL)对输入及输出流量进行控制。在终端节点(endpoint)服务出现之前,如果大家希望让自己的EC2实例有能力访问公有资源,则必须使用Internet Gateway,且可能需要对部分NAT实例进行管理。而现在,更易于配置、具备高度可靠性的Endpoints能够为我们提供指向S3的安全私有连接,而且整个流程不需要任何网关或者NAT实例的介入。注意,这是私网。
-- D.C
Update: endpoint 针对不出网的私有子网内的实例访问S3或者其他支持的AWS服务,而无需internet网关、NAT网关、VPN等,属于内部的连接,不具备提升访问速度的功能。
什么是VPC?
Amazon Virtual Private Cloud (Amazon VPC),简单理解,就是在云上建个大楼,大楼里面的网络、门禁,安检等都一应俱全,我们根据需要在大楼里选择房间(创建ec2)办公,这个房间自己也有相应的门禁系统。
VPC一个重要的功能是为其中的组件提供了统一的管理功能,比如可以方便我们对成百上千的EC2进行统一的网络管理。
创建 VPC endpoint
因为我们要连接的EC2都是在VPC的环境中,如果给EC2和s3之间建专属公路,那么只需要在VPC和s3之间创建一个endpoint就可以了。
- 登录aws管理控制台,搜索VPC,点击进入。简单看下dashboard,然后点击左侧的Endpoints。
- 点击界面上方的Create Endpoint,进入选择界面。我们可以看到,Service category 这里,系统自动帮我们选择了 AWS service,而 Service Name 这儿需要我们具体选择一项aws的服务,简单来说就是,你要给vpc建一条专属公路通到那里去呢?你得告诉我啊,没错,我们这里选择s3服务
com.amazonaws.cn-northwest-1.s3
。
- 接着选择VPC,很简单,我要连的ec2在哪个vpc里,就选那个VPC。之后选中路由表,这样endpoint就会在我选中的这个vpc的路由表里写入一条规则:Destination 是s3, Target 是endpoint。
- Policy 设置为 Full Access,可以看到对应的json格式如下,意思是Allow所有的action,针对所有resource,适用于所有角色。当然,如果我们自定义策略也是可以的,如果创建好endpoint以后我们再去修改策略,那么所做的更改可能需要几分钟才能生效哦。
{
"Statement": [
{
"Action": "*",
"Effect": "Allow",
"Resource": "*",
"Principal": "*"
}
]
}
- 点击Create endpoint,我们就可以看到Endpoint ID为vpce-0c9f13443d1f8c0d0的终端节点就创建好了。这也意味着,在
vpc-37a41d5e
这个VPC里的EC2们就可以畅快地和住在s3里的公主谈场恋爱了~
- 登录ec2,感受Endpoint带来的甜蜜吧!
懒无止境