iT邦幫忙

2021 iThome 鐵人賽

DAY 3
0
DevOps

關於我幫新公司建立整套部屬流程那檔事系列 第 3

EP03 - aws cli configuration 與 terraform 配置

準備工具

  1. Visual Studio Code 或自己習慣的 IDE
  2. 可用的 AWS 帳戶

目標

昨天能夠透過 vagrant 建立並啟動虛擬機械
並且安裝好 aws-cli
接續昨天的進度
預計裝好 terraform 並配置好 aws 的設定

配置環境

新增 IAM

昨天安裝好 aws-cli 後
還需要另外配置使用者資訊
才有辦法對 aws 進行操作

登入 aws 並進入 IAM 頁面

https://ithelp.ithome.com.tw/upload/images/20210915/20141518rnqwz8nNpp.png

新的帳號如果沒有使用 MFA 會跳出警示
建議帳號的使用加上 MFA 會比較保險

進入使用者頁面

https://ithelp.ithome.com.tw/upload/images/20210915/201415187D7IXRG0k8.png

新增使用者

因為是程式使用需要
因此勾選第一項即可
https://ithelp.ithome.com.tw/upload/images/20210915/20141518HiNE9Bclk1.png

設定許可

這裡的操作上會使用 AdministratorAccess
但是僅限於本機使用
如果在 EC2 或是其他部分的操作
建議給予適當的權限即可
https://ithelp.ithome.com.tw/upload/images/20210915/20141518DasurNKzi8.png

設定標籤

此處的標籤無特別用處
方便自己辨識即可
https://ithelp.ithome.com.tw/upload/images/20210915/20141518iAUTv81V2a.png

檢閱

https://ithelp.ithome.com.tw/upload/images/20210915/20141518nRrYEl4wbP.png

建立使用者

建立完後會給予一組金鑰
私密存取金鑰僅會在此頁面顯示
怕忘記的記得下載 CSV 儲存
https://ithelp.ithome.com.tw/upload/images/20210915/20141518kTj7dAZlAh.png

aws configuration

回到昨天建立的虛擬機械
vagrant ssh 進入虛擬機械後
輸入以下指令

aws configure

分別輸入完剛剛拿到 Access Key ID 和 Secret Access Key
以及 Default Region Name 和 Default output format後就完成了
預設區域會 aws 未來預計建立機械的區域
如果沒有特別考量建議可以使用離台灣較近的 ap-northeast-1(東京)或 ap-southeast-1(新加坡)
而 output format 則會影響到下 aws-cli 結果的顯示
https://ithelp.ithome.com.tw/upload/images/20210915/20141518BmZwrSoRPJ.png

如果有需要調整或是修改
檔案位在 ~/.aws 底下
分別是 credentials 和 config

安裝 terraform

在 ubuntu 底下安裝 terraform 需要手動添加 repository

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
sudo apt-add-repository "deb [arch=$(dpkg --print-architecture)] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
sudo apt install terraform

https://ithelp.ithome.com.tw/upload/images/20210915/20141518fOCa7jlzHs.png

第一個 terraform

開啟 visual studio code 並選擇昨天建立的 vagrant/data 資料夾

https://ithelp.ithome.com.tw/upload/images/20210915/201415185BlhB4UM9S.png

新增 project 資料夾,並在其之下新增 terraform 資料夾

https://ithelp.ithome.com.tw/upload/images/20210915/20141518B26B2hCPsQ.png

https://ithelp.ithome.com.tw/upload/images/20210915/20141518mjVhbnrpZT.png

在 visual studio code 上開啟剛剛建立的 terraform 資料夾

https://ithelp.ithome.com.tw/upload/images/20210915/20141518E8CtTWBgMK.png

https://ithelp.ithome.com.tw/upload/images/20210915/20141518oQ71bZp9Eq.png

建立 stage 資料夾,並在資料夾下建立 main.tf、outputs.tf 和 variables.tf

在 terraform 的基礎配置上
官方說明建議的標準配置就是這三個檔案

https://ithelp.ithome.com.tw/upload/images/20210915/20141518LYKk1UJiiO.png

在 terraform 上配置 aws credentials

由於這段程式碼未來會進 git 做版控
因此不建議在此直接填入上方拿到的 Access Key ID 和 Secret Access Key

provider "aws" {
    region                  = "ap-northeast-1"
    shared_credentials_file = "~/.aws/credentials"
    profile                 = "default"
}

terraform {
    required_providers {
        aws = {
            source  = "hashicorp/aws"
            version = "~>3.0" 
        }
    }
}

terraform 官方的教學文件
有說明 credential 的配置
雖然可以直接把 Access Key ID 和 Secret Access Key 放上
但這是不建議的方式
比較推薦的方式還是像上方這樣
透過資料夾的方式去指定 credentials 的位置

工作切回 command line

cd /vagrant_data/project/terraform/stage

初始化 terraform

terraform init

https://ithelp.ithome.com.tw/upload/images/20210915/20141518cJmE8y6iuE.png

到此,其實開發環境配置就完成了
如果需要關閉虛擬機械的指令
記得要先 exit 後再下 vagrant halt


上一篇
EP02 - 配置本機虛擬機械並安裝 AWS-CLI
下一篇
EP04 - 開始使用 Terraform 配置 aws 基礎設施
系列文
關於我幫新公司建立整套部屬流程那檔事30

尚未有邦友留言

立即登入留言