Day 6 网路宝石:AWS VPC 架构 Routes & Security (下)

https://ithelp.ithome.com.tw/upload/images/20210909/20100951hAu1MvloHI.jpg

NACL vs SG 的安全设定介绍

当请求想进出在 Private Subnet 内的 EC2 时,会遇到 Subnet 阶层的保护工具 NACL(Network Access Control List),它用於规范何种请求可以进出此Subnet,如下图。

https://ithelp.ithome.com.tw/upload/images/20210905/20100951BdLQ8TyhpN.png

当成功通过 NACL 的规范之後,请求可以继续往里面走,但在碰到EC2前,还会遇到 EC2 Instance 阶层的保护 SG(Security Group),是一类似防火墙规范的工具,请求必须通过此规范,才能进到EC2。而当请求要离开 EC2 时,会再次受到 SG 的验证,再原路返回送出此请求的来源。

https://ithelp.ithome.com.tw/upload/images/20210905/20100951YuA3ojcKFU.png

然而实际上,请求离开 SG 时不需再验证一次。因为 SG 是一个 stateful 的工具,所以它记得该请求从哪来且自己允许过该请求进来,离开时便不会再验证一次,是一个重要的特性,须谨记。

https://ithelp.ithome.com.tw/upload/images/20210905/20100951BaYSV022gl.png

相反地,若从「EC2 发出请求」的角度来看,当网路请求要从EC2出去时,第一层会遇到 SG,只有获得 SG 允许,请求才能顺利通过,再来第二层会遇到 NACL,一样必须获得 NACL 允许,才能真的出去,最後到达目的地 IP(如下图橘色实线所示)。

https://ithelp.ithome.com.tw/upload/images/20210905/20100951STPgUt3Paf.png

之後原路返回时, 先遇到 NACL,还是需要通过验证才能进入,但当再碰到 SG,就不必再进行验证(如下图橘色虚线所示)。因为 SG 为 stateful,记得此请求曾经在自己允许下出去过,回来时就可以直接进到 EC2。

https://ithelp.ithome.com.tw/upload/images/20210905/20100951NeDufr5Ypy.png

小结

那这次,我们了解了 AWS VPC 的网路流通方式,透过 Route Table 的设定并搭配 NAT 与 IGW 来连通内外网。此外,我们也学会了其安全设定的各种阶层,含有 NACL 以及 Security Group,让我们能有效的管理网路安全。

https://ithelp.ithome.com.tw/upload/images/20210905/201009513uqsD9EwWC.png

What's Next?

明天,我们将接着介绍「【Lab】VPC外网 Public Subnet to the Internet (IGW)」!


<<:  Day 9 : Docker 基本操作 Container 篇

>>:  Day 11:批次修改!!

.NET Core第8天_路由端点的切换_注入MVC服务_利用middleware来启用静态资源设置预设网址路由

当新增好一个.net5的 web空专案後 预设进入点位於Program.cs当中的Main() me...

Kotlin Android 第4天,从 0 到 ML - 条件判断

前言: 有了变数,就要知道如何用变数来判断下一步要作什麽事呀。来看看kotlin 条件判断 有什麽不...

Chat Bot 及语音交谈应用相关

Chat Bot 及语音交谈应用相关 https://wolkesau.medium.com/13b...

[Day03] JavaScript - 变数宣告 var / let / const

此篇再延续上篇,详细纪录一下三种宣告方式的不同。 在ES6之前只有var的宣告方式;在ES6之後,即...

[Java Day17] 4.5. 多载

教材网址 https://coding104.blogspot.com/2021/06/java-o...