閱讀777 返回首頁    go 技術社區[雲棲]


搭建有出入網能力的VPC網絡方案及模板實現

VPC是網絡隔離的專有網絡,優勢是與其他租戶的網絡完全隔離,可自定義網段,也是混合雲網絡互通的必選方案。對於專有網絡出入網是最重要的,出網是指VPC內訪問外網(SNAT),多用於抓取類業務;入網是指VPC內的應用對外提供服務(DNAT)。本文將詳細講解典型搭建一個有出入網能力的VPC網絡的兩種方案以及優劣勢,並且提供利用Terraform編寫模板實現自動化搭建的方法。

一、簡單的EIP:這是非常簡單也很容易理解的方法,為VPC內的ECS綁定EIP(彈性IP),此時ECS就具備了出入網的能力,限製是一個EIP隻能綁定到一台ECS上。一般用於係統簡單、ECS數量較少的場景。架構圖及資源定義如下:
eip

二、NAT網關:這種方案比較複雜,也有多個實現途徑,比如出網可以使用自定義路由自建SNAT網關,也可以使用NAT網關服務自帶的SNAT功能。對於入網可以使用SLB提供訪問VPC內應用服務的能力,也可以使用NAT網關服務自帶的端口轉發的能力。NAT網關服務提供了共享帶寬包的功能,多個IP可共享同一個帶寬,當不同業務間帶寬錯峰效應明顯時,使用NAT網關共享帶寬包節省帶寬成本,使得資源最大化利用。幾種NAT網關的架構圖及資源定義如下:

2.1 使用NAT網關及自帶的SNAT和DNAT,適用於中小型應用,有外網訪問需求,需要使用多個公網IP對外提供服務。
2

2.2 使用NAT網關自帶的SNAT提供出網,使用SLB提供入網能力,適用於中大型應用,公網訪問流量較大的場景。
3

2.3 使用自建的NAT網關提供出網,使用SLB提供入網能力,適用於希望自建NAT網關的場景。
4

下麵將以 2.1 NAT網關自帶的SNAT和DNAT功能詳細介紹利用Terraform實現搭建VPC網絡的模板編寫。其他資源的詳細參數及模板編寫可參見官方的examples,這裏包含了大量的模板。

  1. Terraform的資源定義格式為:resource "資源名" "別名",其中資源名是固定的,別名可以自定義。如
    resource "alicloud_vpc" "default" {
        name = "tf_test_foo"
        cidr_block = "10.1.0.0/21"
    }
  1. 下圖可以看到各個資源及關鍵解釋,模板參見這裏1

也歡迎各位大咖貢獻example示例到官方倉庫中

最後更新:2017-04-16 16:02:49

  上一篇:go 教你如何在機器學習競賽中更勝一籌(上)
  下一篇:go 備案合並後;有毛用?