---
# System prepended metadata

title: AWS Quickstart 開發者工作坊 台北場 – 新手上路 | 12月18日

---

# AWS Quickstart 開發者工作坊 台北場 – 新手上路 | 12月18日

[報名網站](http://1218greenfield.splashthat.com/LINE)

[其他課程網站](https://www.aws.training/Training)

AWS開課表:
![](https://imgur.com/z8OUrmQ.jpg)

AWS證照表:
![](https://imgur.com/z8OUrmQ.jpg)

AWS課程報名窗口:
![](https://imgur.com/RT67tox.jpg)

* AWS recap是AWS重大產品的發表會
* AWS有在發展衛星科技
* AWS，29個AZ，22個region，多個AZ來提供HA的效果
* cloud font為AWS做CDN的服務
* aws不同區域的選擇點為：
    * 功能
    * 花費
    * 延遲
* AWS互動的方法
    * AWS app-功能最少
    * AWS互動網頁-功能少
    * AWS CLI-功能次要豐富
    * AWS SDK-功能最豐富
* IAM用來管理使用人員
    * account ID是邀請使用者進入此IAM群組的方式
    * 可產生Access key ID, Scecret access key來讓使用者使用comand line來操作AWS
    * AdminstratoAccess為跟root差不多的account
* 不應該把Access key ID與Scecret access key放在EC2，而是應該把EC2 instance擔任為IAM角色，才會有安全性，因為用IAM的話是用臨時token，AKASkey是永久token
    ![](https://i.imgur.com/DIRwevQ.jpg)
* iam room也可以配合多個員工的AD
* IAM room放在policy選項裡面
* MFA就是可以透過多個第三方來驗證

## 課程

### 1. 一開始

* 進入[qwilab](https://amazon.qwiklabs.com/)
* 註冊帳號

### 2. AWS Identity and Access Management (IAM) 簡介

* 搜尋`spl66`

#### 問題

* [x]受管政策與內遷政策的差別 - ans: 受管政策為一對多，內遷政策為一對一，[參考連結](https://www.cloudmanagementinsider.com/aws-iam-inline-policy-is-not-recommended/)

### 3. Amazon Simple Storage Service(S3) 簡介

* qwiklab搜尋`spl65`
* 搜尋`AWS S3 price`可以看S3使用價格
* S3檔案損壞率很低，因為單一個檔案會儲存多個副本
    ![](https://imgur.com/dUPptTA.jpg)
* S3不同的版本
    ![](https://imgur.com/u4BKNgQ.jpg)
* S3 lifecycle可以自動管理檔案的狀態，例如：「存活時間」
    ![](https://i.imgur.com/czKlV2t.png)
* S3可以版本控制，需打開version功能，並且可以配合S3 lifecycle來刪除不需要的版本，例如：非常久遠的舊版本
    ![](https://i.imgur.com/OAvjepk.jpg)
* S3的version功能打開後，檔案誤刪還可以靠show、hide的方式救回，因為實際上沒有刪除，只是把此檔案做一個delete標籤
* S3可以設定policy來選擇可存取的IAM，IAM也可以設定針對S3設定policy，兩者的權限是平等的，但如果有一方是使用decline，那就會採用decline
* 如果要把本機檔案定時上傳至S3，可以採用：
    * storage gateway: 定期從本機上傳
    * snowball aws(台灣目前不可用): 會給一個api，讓檔案可以一次上傳非常多的檔案

#### 問題

* [x] getObjectVersion我沒設定就可以讀了 - Ans: 因為沒有複製版本號的query

### Amazon EC2 簡介

* 搜尋**spl200**，這個教程是要錢的
* Instance在stoped的狀態下不用付錢
* 如果要看到更多EC2的spec可以搜尋**EC2 instance type**
* 設置參數介紹:
    * Subnet: Instance放置在哪個AZ
    * Advanced Detaili: 可以設定VM初始啟動的script
    * Delete on Termination: 可以在刪除instance的時候刪除EBS
* 可以加標籤去描述此instance的功能
* Security group: 用來設定port的開啟
* Instance停止時可以不用付錢，但EBS還是要付錢
* Instance image會放在S3

#### 問題

* [x] 我limits選單貌似會跳掉 - ans: 因為太多人同時打Labs的VPC了，所以應該當掉了

### Amazon Virtual Private Cloud (VPC) 簡介

* 搜尋**spl84**，這個課程要錢
* 雲端的安全性
    ![](https://imgur.com/GZWwGtt.jpg)
* AWS共同的責任模型
    ![](https://imgur.com/o2eE2Et.jpg)
* API requests flow
    ![](https://imgur.com/oCUQHf3.jpg)
    * 會透過IAM驗證身份
    * cloudTrail紀錄log，並存在S3
* 可以利用VPC來設定特定網域，來為安全性做把關
    ![](https://imgur.com/DzszRJd.jpg)
    * VPC是region level layer的服務
    * 可以申請EIP來使用固定IP，支援IP4與IP6
* VPC整體架構圖
    ![](https://imgur.com/NEVkcMv.jpg)
    * NACL: AWS防火牆的實作
* AWS config可以配合AWS lambda來做到許多情境，例如：「設定config來讓bucket變成public的時候透過Lambda自動把bucket再變回pravite」
    ![](https://imgur.com/u8zWecB.jpg)

#### 問題

* [ ] pem與ppk憑證的差別
* [ ] 查看IP4與IP6的顯示方法
* [ ] 這題要回家研究研究
    
### AWS 資料庫服務

* NoSQL課程為**SPL71**
* 託管資料庫服務: 解決要自己再VM裡面架資料庫的痛苦，例如單點故障我們需要HA，我們就可以靠RDS幫忙解決
* 支援引擎與功能
    ![](https://imgur.com/8ufQFqb.jpg)
    * 異地同步備份部署是非常麻煩的實作，RDS幫忙抽象是主講人覺得很方便的功能
* RDS是AZ level layer級別
* DMS: 可以透過此工具來做migration，雖然有這個工具但是資料庫遷移不是那麼簡單，所以沒有辦法一鍵完成
* Aurora的特色
    ![](https://imgur.com/R3XNTlg.jpg)
* Aurora支援serverless，意思是當用量變動時，會依照此用量改變資料庫結構
* 備援會放在S3
* DynamoDB是全託管的NoSql服務
* DynamoDB本身有Auto Scaling的功能

#### ELB

課程**spl29**，這個課程是要錢的

怎麼設計更彈性的結構

![](https://imgur.com/k11tFnr.jpg)

答案:

![](https://imgur.com/MnNkRLF.jpg)

* 可以透過ELB來分配requests給不同instance
* ELB級別比AZ更高一層，所以給不同的instance時還能跨AZ
* 透過Cloud watch監控，可以在流量變動的時候來auto scaling

#### Lambda

使用情境：

![](https://imgur.com/9TVxOdU.jpg)

* 偶發性的服務，不需要像EC2一樣24小時一直開著
* S3檔案上傳的後續動作
* Lambda一次執行時間在15分鐘內，如果超過此時間就會強制關閉

#### 問題
* [x] ice level pass level單字怎麼拼? - Ans: 你聽錯了啦，是iaas paas saas
* [x] 理解DynamoDB本身的Auto Scaling是不是水平擴充的特性 - Ans: 沒錯
* [x] target group與auto scaling有什麼差別 - Ans: 如果沒有設定target group的話，但要管理多個instance來做microservice的話，會需要很多的auto scaling，使用target group會讓整體設計更簡潔

## keywords

* arn: aws resource name，AWS任何資源的路徑
* aws policy generator: 可以生成policy的json(https://awspolicygen.s3.amazonaws.com/policygen.html)
* AZ: Abailible zone
* EBS: Elastic block storge，為AWS用來儲存的空間
* DBA: 資料庫管理人員
* TCO: 開發成本與後續維運

## 問題

* [ ] CDN的詳細理解
* [x] eks與ecs要怎麼選擇 - Ans: 如果用過k8s的話就用eks，沒有的話就用ecs
* [x] 使用S3 lifecycle來刪除的話，也可以用show、hide的方法救回來嗎 - ans: lifecycle可以選擇pre version就可以完全刪除