1. 程式人生 > >【總結】學習AWS的VPC並通過快速上手實驗室動手實操

【總結】學習AWS的VPC並通過快速上手實驗室動手實操

講師:黃濤 高階技術講師

1.邱洋的理解

  • AWS的服務型別包括
    • 計算、儲存內容分發、聯網、資料庫等10多大類,幾十項服務
    • 但是跟網路相關只有2個(VPC和資料中心光纖連線)
  • AWS的VPC是雲端計算中網路運維的基石,是SDN能力的體現
  • VPC是一整套模擬傳統網路運維的工具,包括:
    • 子網
    • DHCP
    • 防火牆(安全組)
    • 路由表(NACL)
    • DNS
    • 閘道器
    • VPN等眾多功能
  • AWS的快速上手實驗室,模式值得學習,包括:
    • 實驗概述說明
    • 實驗具體操作步驟文件(如按照服務的生命週期維度進行設計:建立、修改、刪除1.2.3.4)
    • 實驗相關檔案附件(如CFN的json)
    • 自動開通的AWS測試賬號
    • 針對不同級別級別使用者的練習(如基礎、高階、專家等)
    • 針對客戶實際業務場景的練習(如大資料、移動開發)

2.AWS的服務學習方法

2.1.AWS的雲服務列表overview

  • 計算
    • EC2(雲中的虛擬伺服器)
    • EC2 Contrainer Service(執行和管理docker容器)
    • Elastic Beanstalk(執行和管理web應用程式)
    • Lambda(事件驅動的計算服務)
  • 儲存和內容分發
    • S3(可擴充套件的雲端儲存)
    • CloudFront(全球內容分發網路CDN)
    • Elastic File System(針對EC2完全託管的檔案系統)
    • Glacier(雲中的歸檔儲存-虛擬帶庫)
    • Import/Export Snowball(大規模資料傳遞的硬體)
    • Sotrage Gateway(混合儲存整合)
  • 分析
    • Elastic MapReduce(Hadoop託管框架)
    • Kinesis(實時處理流媒體傳輸)
  • 聯網
    • VPC(隔離的雲網絡)
    • Direct Connect(AWS專用網路連線)
  • 資料庫
    • RDS(管理型關係資料庫服務)
    • DynamoDB(可預見,可擴充套件,全託管的NoSQL資料庫)
    • RedShift(託管的資料倉庫)
    • ElasticCache(記憶體快取)
  • 應用程式服務
    • API Gateway(構建、部署和管理API)
    • AppStream(低延遲的應用程式流)
    • CloudSearch(管理型搜尋服務)
    • SQS(訊息佇列服務)
    • SWF(協調應用程式元件的工作流服務)
  • 開發人員工具
    • CodeCommit(在私有Git儲存庫中儲存程式碼)
    • CodeDeploy(自動程式碼部署)
    • CodePipeline(使用持續交付釋出軟體)
  • 管理工具
    • CloudWatch(監控資源和應用程式)
    • CloudFormation(使用模板建立和管理資源)
    • CloudTrail(跟蹤使用者活動和API使用)
    • Config(跟蹤資源庫存和變更)
    • OpsWorks(用Chef自動化操作)
    • Service Catlog(建立和使用標準化的產品)
    • Trusted Advisor(優化效能和安全)
  • 安全&身份
    • IAM(管理使用者訪問和加密金鑰)
  • 物聯網
    • AWS IoT(將裝置連線到雲)
  • 遊戲開發
    • GameLift(部署和擴充套件基於會話的多人遊戲)
  • 移動服務
    • Mobile Hub(構建、測試和監控移動應用)
    • Cognito(使用者身份和應用程式資料庫同步)??
    • Device Farm(在雲中的真實裝置上測試android、ios應用)
    • SNS(推送通知服務)

圖1

2.2.AWS的服務學習路徑

1.自學視訊
2.線上課程 or AWSome Day(線下公開課)
3.快速上手實驗室 china.qwiklab.com
4.服務文件 or FAQ
5.AWS免費套餐(動手操作)
6.原廠培訓(20人以內小課堂培訓)
7.參加AWS的認證(不一定參加過培訓)

2.3.AWS快速上手實驗室

圖2

  • 與應用場景高度相關的動手實驗內容,即學即用
    • 實驗練習針對服務(包括入門級、基礎級、高階級、專家級)
    • 挑戰任務針對場景(主要是按照業務場景需要,重新組合實驗練習的用例)

圖3

圖4

  • 詳盡實驗指導,包括
    • 實驗詳細指導步驟(涵蓋的主題說明、相關的AWS服務進行簡單講解、具體的操作步驟)
    • 命令列參考檔案(如policy配置)
    • 實驗練習的詳細資料

圖5

  • 比閱讀海量文件更快速、精確、有效
  • 無需AWS中國區賬號直接在AWS平臺上動手練習
  • 多樣化的虛席挑戰任務,完成獲得實驗勳章
  • 不會破壞生產環境

圖6

3.VPC的基礎知識

3.1.VPC的概念

  • VPC的定義:Virtual Private Cloud—雲網絡,是一個在AWS方便使用者靈活定義自己網路的工具
  • 傳統資料中心跟網路相關的內容包括:
    • 防火牆(阻擋網際網路威脅,前端和後端服務的保護)
      圖8
    • 公有子網(部署負載均衡器、路由器等)
    • 私有子網(部署網路前端、應用伺服器、資料庫伺服器等)
      圖7
  • 在VPC中定義傳統網路架構
    • 安全組
    • 公有子網
    • 私有子網
    • 多可用區(AZ)部署

圖9

VPC就是網路

  • VPC中的CIDR網路:
    • 10.1.2.0/24 → 10.1.2.0/255.255.255.0 約 250個IP地址
  • VPC中的子網:
    • 配置路由的單位
  • 路由和閘道器
    • 預設配置是VPC內路由直通(無法通過設定阻止同一VPC中的例項路由不可達)
    • 網際網路閘道器(igw)—定義了igw閘道器的子網是公有子網,否則就是私有子網。公有子網內的EC2例項,可以直接訪問網際網路主機,以及被網際網路的其他主機訪問
      圖10
    • NAT伺服器—私有子網的EC2例項無法訪問網際網路以及被訪問。如果要出外網,則需要將公有子網內的EC2設定為NAT伺服器出外網。AWS自己提供了NAT Gateway服務,不用使用者自己設定NAT例項了
      圖11
    • VPN(vgw)—如果AWS需要與客戶本地IDC互通,則需要申請一個vgw閘道器用於VPN連線
      圖12

VPC是安全的基礎

  • VPC相當於一個籬笆,清晰的隔離和內聯

    • VPC隔開不同使用者的資源,同一使用者不同邏輯也可隔開
    • VPC內的資源保證了互聯互通的能力
  • 網路訪問控制NACL(防火牆type1)

    • 保護整個子網的防火牆
    • 進出子網的流量歸他管,但是子網內部的流量不歸他管
  • 安全組(防火牆type2)

    • 精確到每個虛擬網絡卡的防火牆控制
    • 既是安全控制,也是安全身份標識(因為可以在安全組授權的時候,開放另一個安全組到這個安全組的特定埠)

VPC是架構工具

  • EC2、RDS在佈局的時候怎麼選擇AZ?
    • 子網對映隱藏了AZ的選擇
    • VPC可以覆蓋整個區域,但子網必然屬於一個VPC(這就是為什麼經常看到AWS設計的時候一個VPC中對應DB、WEB、APP等應用都規劃2個子網,因為HA架構需要在不同的AZ部署)
    • VPC定義完整後,資源只要“放入”子網即可
  • 安全組是安全架構的重要部分
    • 使用安全組搭建信任鏈
    • 勾畫出模組間的安全關係
    • 發現安全邊界和可能的發生的許可權提升

3.2.在AWS中建立一個VPC

最終希望達到的效果,建立一個VPC並在其中建立一個VM
圖13

1.定義一個VPC(公有子網)
圖14

2.在其中一個AZ中定義一個子網
圖15

圖16

3.設計DNS Server

  • 如果啟用DNS解析,則需要指定一個DNS主機,這樣EC2例項就自動使用這個DNS
  • 否則就使用AWS提供的router53作為DNS

圖17

圖18

4.思考Gateway的設定

  • 因為一開始定義了公有子網,則系統會自動生成igw,並將其繫結給vpc的公有子網使用

圖19

圖20

5.思考路由表Router的設定

  • 之前提到子網是定義路由表的工具,但是1個路由表可以給多個子網使用
  • 一個VPC中有多個路由表,會有1個主路由表和多個非主路由表
  • 主路由表無法被刪除的,AWS預設建立的,如果一個子網沒有設定路由表或路由表被刪除,那麼預設就使用主路由表
  • 預設VPC的路由表的第一條router規則就是指向自身,如10.1.2.0、local,且無法被刪除 )

圖21

圖22

6.安全組的設計考慮

  • 上行(入站)只開放必要埠
  • 下行(出站)亦是
  • 通過安全組標識伺服器組(如DB安全組、WEB安全組等)

圖23

圖24

7.建立EC2例項,在這個VPC中,並使用設計好的安全組

圖25

圖26

8.為EC2例項繫結EIP

  • 雖然EC2的例項跑在公有子網中,但是由於沒有固定的公有IP地址,因此只能通過AWS的域名訪問,而如果想自己解析IP就會有問題(如重啟VM後IP變化等)這是就需要建立一個彈性IP(AWS固定的公有IP)給EC2例項使用

圖27

圖28

9.刪除VPC

  • VPC要刪除必須保證沒有EC2例項在這個VPC下面的子網中

圖29

圖30

4.VPC總結

  1. 構建網路的服務
  2. 安全的基石
  3. 架構的利器

後續問題

  • 整合內部DNS服務
    • 可以自定義DNS記錄嗎?
  • 多樣的網管可能,可配置的路由選項
    • 怎麼連線到企業內部網路?
    • CIDR設定需要考慮什麼?
  • 靈活的安全功能
    • 怎麼設定防火牆?
  • 多網絡卡和多IP
    • 需要給軟體狗繫結MAC,怎麼破?
    • 需要固定IP地址,有解嗎?

以上這些就要參加AWS的講師指導課程了……