場景描述
很多金融或其他領域的業務場景對網絡安全要求很高,不允許計算資源有出入vpc網絡環境的權限,但是由于目前阿裡雲大量服務元件的openapi都是隻能以公網方式通路,而且ACK(阿裡雲容器服務kubernetes版)因為需要通過對接openapi和其他雲服務及基礎設施打通,是以ACK叢集網絡需要通過SNAT的配置具備出公網的權限(不需要入),如果我們目前的業務需求不允許有出公網的權限,同時我們又希望能很好的使用ACK服務及ACK對接的周邊雲服務,那麼我們可以參考下面的方法來實作。
解決思路
通過雲防火牆規則的配置,放行ACK叢集所關聯的SNAT的eip對阿裡雲openapi的通路,并拒絕非阿裡雲openapi相關的公網通路。
建立ACK叢集
在ACK控制台上,按照正常方法進行ACK叢集的建立,如果叢集網絡中沒有SNAT通路,我們可以自行去NAT網管進行配置,也可以在容器建立叢集的控制台上勾選下面的配置:

打開防火牆開關
當k8s叢集建立成功後,我們可檢查下相關系統元件是否已成功運作,如叢集一切正常,首先,我們在雲監控中找到“防火牆開關”,打開保護對應SNAT相關聯的eip
通路配置
找到通路控制,并新增兩個内對外的政策,通路源為snat eip的ip位址
放行政策如下(放行 *.aliyuncs.com域名):
拒絕政策如下:
注意:配置放行政策優先級高于拒絕政策
結果:
所有ACK叢集系統元件及周邊對接元件均可正常工作,同時關閉了容器中通路公網的權限,另外,通過雲防火牆,ACK叢集可擁有更細粒度的網絡管控能力。