iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 7
0

1.Amazon CloudFormation是什麼?

Amazon CloudFormation就像是群組的概念,可利用編程語言或簡單的文字檔把服務統整成一個群組,例如EC2、S3、RDS,正式的名詞稱之為「堆疊」,讓開發者可以不用個別建立及設定 AWS 資源,達到簡化基礎設施管理的作用。

另外前面也有提到,為了增加可用性,開發者往往會在多個可用區域複製同一個應用程式,以便在一個區域無法使用時,讓您的使用者仍然可以在其他區域使用您的應用程式,但有時候同一個應用程式可能關聯個很多不同的服務,例如EC2關聯著資料庫,那此時就會變得很麻煩,但只要使用了Amazon CloudFormation堆疊範本,一切就會變得輕鬆簡單,達到快速複製的效果。

此外,使用AWS CloudFormation 佈建基礎設施時,AWS CloudFormation 範本會明確描述佈建了哪些資源以及設定。因為這些範本都是文字檔案,您只需要追蹤您範本中的差異,便可追蹤您基礎設施的變更,達到輕鬆控制和追蹤的效果。

堆疊是由範本所產生的,而範本的內容就是跟前面所有在主控台設定的資訊是相同的,例如在製作EC2時一開始的機器類型我們選擇的是T2.micro那範本裡就會有一行是“InstanceType”: “T2.micro”。那範本並不是只能用來建立單一環境,只要將不同的參數及條件加入範本中,就可以讓範本更有彈性,也可以用同一個範本建立無數個不同的環境。

下一個小節將實際的為大家做簡單的示範,如何創建一個新的範本,和如何使用這個新的範本去創建一個新的堆疊。

2.實際動手做 - 建立CloudFormation範本及堆疊

Step.1 在主控台中尋找CloudFormation服務並點選
https://ithelp.ithome.com.tw/upload/images/20200912/20127667ddfmmwfOM3.png

Step.2 接下來要建立新的堆疊,所以請點選「Create stack(建立堆疊)」
https://ithelp.ithome.com.tw/upload/images/20200912/20127667b5r0mZzoBx.png

Step.3 接下來有三個選擇1.Template is ready(使用現有範本),2.Use a sample template(使用範例範本) 3.Create template in Designer(建立新範本),在這裡選擇第三個,按下「Create template in designer」
https://ithelp.ithome.com.tw/upload/images/20200912/20127667KTFTmMypPi.png

Step.4 接下來就會進入此設計畫面,左上方為資源清單,右上方則是範本區域,而下方就是範本。首先把EC2內的VPC拖入右上方的範本區域
https://ithelp.ithome.com.tw/upload/images/20200912/20127667FtQKIvCwiM.png

Step.5 這時可以注意到下方的範本自動產生變化,但此時還要手動一些屬性,在此範例要輸入網路地址,在第五行的大括號內按下Control+Shift,就會出現屬性清單,選擇「Cidr block」,或者直接輸入,並加上「:“10.0.0.0/16”」,如下圖
https://ithelp.ithome.com.tw/upload/images/20200912/20127667p3EsoAJYQM.png

Step.6 輸入完後就要建立堆疊了,選取左上方有一個雲且有向上箭頭的符號,接下來就會回到下面這個畫面,看似但這個已經跟一開始不一樣了,因為剛剛那個範本已經自動存在S3桶子裡了,S3的URL也自動幫我們輸入好了,所以此畫面可以直接按下「Next」
https://ithelp.ithome.com.tw/upload/images/20200912/20127667YbVpC4x2GI.png

Step.7 下一步即是要幫此堆疊輸入一個名字
https://ithelp.ithome.com.tw/upload/images/20200912/201276677NqIFX4sa3.png

Step.8 接下來可以設定標籤或加上其他角色,不過這都不是必要了,直接按下「Next」。下一步的Review(檢查)也可以跳過,直接按下「Create」
https://ithelp.ithome.com.tw/upload/images/20200912/20127667wvkphKVj05.png

Step.9 接下可以在Resources看到這個堆疊裡確實新增了一個VPC。最後一步要來驗證是不是真的有創建一個新的VPC,回到主控台後輸入VPC,按下「VPCs」就可以看到所有的VPC,從下圖中可得知確實有新增一個網路地址為10.0.0.0/16的VPC。
https://ithelp.ithome.com.tw/upload/images/20200912/20127667dsRgggahae.png

3.考前重點大補帖

⦁ CloudFormation 可簡化以重複且可預測的方式建立相關資源群組的服務,以支援您的應用程式。

⦁ CloudFormation是一個全受管服務。

⦁ 範本可建立單一資源堆疊,或由數百個資源組成的堆疊。

⦁ 堆疊是範本產生的資源,也是部署單位

⦁ 通常只要按下刪除堆疊,堆疊內的所有資源都會被刪除。

⦁ 範本檔是用 JSON 或 YAML 所編寫的文字檔案

⦁ 可以使用** DependsOn 屬性**控制 CloudFormation 建立資源的順序。

⦁ 當在範本裡填入參數後,可以讓範本變得更有彈性、功能更強

⦁ 執行 CloudFormation 時有兩個關鍵要求,第一個是範本,第二則是呼叫範本的人員必須要擁有範本中所有服務的
操作許可。

⦁ 對著範本區域按下Control+Shift會產生屬性清單。

⦁ 有三種方法可操作CloudFormation ,AWS主控台、AWS CLI、SDK。

⦁ CloudFormation 會讀取範本檔案。

4.經典歷屆試題

單選題

  1. 下列何種服務可用指令管理AWS基礎架構?
    A. AWS CodePipeline
    B. AWS CodeDeploy
    C. AWS Direct Connect
    D. AWS CloudFormation
    正解:D

多選題

  1. 下列何種服務可讓AWS客戶創建一個新的Amazon RDS群組?
    A. AWS Concierge
    B. AWS CloudFormation
    C. Amazon Simple Storage Service (Amazon S3)
    D. Amazon EC2 Auto Scaling
    E. AWS Management Console
    正解:B、E

上一篇
Day16:Amazon CloudFront
下一篇
Day18:AWS Well-Architected架構
系列文
三十天考過AWS CCP證照,真awsome(重新報名版)30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言