iT邦幫忙

2021 iThome 鐵人賽

DAY 9
0
DevOps

從煉獄走到天堂的AWS DevOps 工具及應用開發大進擊系列 第 9

IDE是魔法書,而Code則是魔法,詠唱出屬於自己的AWS

雲端魔法

今天會使用vscode,來建立AWS上的環境,以下架構圖為主:
https://ithelp.ithome.com.tw/upload/images/20210923/20140172irebR8ZBSw.png
首先,開啟VScode然後建立資料夾,方便做檔案的管理以及區分,建立一個YAML檔案(xxx.yaml)。

建立AWS Resource,可以依照上述架構圖來建立,有完整的觀念可以在編寫上有所幫助

首先,建立EC2,在編輯區,打ec2的關鍵字就可以看到相關提示
https://ithelp.ithome.com.tw/upload/images/20210923/20140172iukfTytR7N.png
YAML檔需要有Resources的關鍵字,在使用CloudFormation的時候會根據Resources底下的撰寫,去建立你需要的服務。YAML檔類似於python會需要tab去判斷你的程式規則

myEC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      BlockDeviceMappings:
        - DeviceName: "/dev/xvda"
          Ebs:
            VolumeSize: 10
            VolumeType: gp3
      KeyName: "itdemo"
      SubnetId: !Ref subnetName
      DisableApiTermination: false
      ImageId: ami-0443305dabd4be2bc
      InstanceType: "t3.micro"
      SecurityGroupIds:
        - !Ref secGroupName
      UserData: !Base64 |
        #!/bin/bash -ex
        # put your script here
      Tags:
        - Key: itdemo-ec2-cf
          Value: v1

程式說明:

myEC2Instance:屬於名字的識別,可以自由定義
Type:根據不同的Type會辨識出不同的AWS上的服務
BlockDeviceMappings: 配置硬碟的記憶體空間
DeviceName: "/dev/xvda"掛載的硬碟位置
Ebs: EC2的Volume名字
VolumeSize: 10,單位是GB,機器一開始會安裝一些套件,所以要預留一些空間給系統使用
VolumeType: gp3,不同的類型,會有不同的IOPS,以及其他的用途。其他類型:gp2, gp3, io1, io2, sc1, st1, standard
KeyName:根據你的SSH key去定義
DisableApiTermination:一開始建立如果會需要刪掉整個CloudFormation的話,建議採用false,若是到正式環境則採用true,可以防止誤動作刪掉機器,本次演練,之後會刪掉,所以使用false可以在刪掉CloudFormation的stack時,刪掉template所有的服務
ImageId: OS id,上述ID是Amazon linux 2
SecurityGroupIds: !Ref會去參考secGroupName建立的這個Id值
SubnetId: 如上建立的方式
UserData:在機器建立時,可以自動執行指令
Tags:方便做管理,Key-Value可以自行定義

明日會繼續介紹架構圖上的其他服務


上一篇
工欲善其事,必先利其器
下一篇
詠唱防禦魔法,抵禦外敵攻擊AWS上的服務
系列文
從煉獄走到天堂的AWS DevOps 工具及應用開發大進擊30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言