AWS 系列詞彙備忘錄
0 雲端計算
雲端計算是通過 Internet
按需提供計算能力、資料庫儲存、應用程式和其他 IT 資源,採用按使用量付費的定價模式。
雲端計算讓您可以通過 Internet
訪問伺服器、儲存空間、資料庫和各種應用程式服務。Amazon Web Services
等雲服務提供商擁有和維護此類應用程式服務所需的聯網硬體,而您只需要通過 Web 應用程式就可以預置和使用需要的資源。
雲端計算包含三個主要型別,通常被稱作:基礎設施即服務 (IaaS)
平臺即服務 (PaaS)
軟體即服務 (SaaS)
根據需要選擇合適的雲端計算型別可以幫助您保持適當的控制平衡,同時避免沒有意義的繁重工作。
1 IAC ( Infrastructure as Code 基礎設施即程式碼)
這裡的Code就是對基礎設施資源的程式碼定義和描述,也就是通過程式碼表達我們想要管理的資源。將基礎設施作為程式碼,版本管理起來。
IAC 是基於從軟體開發實踐的基礎設施自動化的方法。它強調配置和改變系統及其配置的一致性,可重複的程式。變更轉化為定義,然後通過包括徹底的驗證的無人值守過程應用到系統中。其原則如下:
容易重現的系統
。能夠毫不費力且可靠地重建基礎設施中的任何元素。可任意處理系統
。可以輕鬆建立、銷燬、替換、更改以及移動資源。一致的系統
。假設兩個基礎設施元素提供相似的服務,比如同一個叢集中有兩個應用程式伺服器。這些伺服器應該幾乎完全相同。它們的系統軟體和配置應該是一樣的,除了一丁點配置(比如IP地址)用於區分彼此。可重複的過程
變化的設計
。確保系統能夠安全地改變,迅速的頻繁做出變化。
常見的基礎設施、配置管理的工具:cloudformation
,chef
,puppet
,ansible
2 Terraform
Terraform 就是執行在客戶端的一個開源的,用於資源編排的自動化運維工具。以程式碼的形式將所要管理的資源定義在模板中,通過解析並執行模板來自動化完成所定義資源的建立,變更和管理,進而達到自動化運維的目標。
Terraform 基於一種特定的配置語言(HCL,Hashicorp Configuration Language)來描述基礎設施資源。
Terraform 幾乎可以支援所有市面上能見到的雲服務。
Terraform 作為 DevOps 的一個利器,大大降低了基礎設施的管理成本。
3 AWS CloudFormation
AWS CloudFormation 雲資源服務可使開發人員和系統管理員輕鬆有序地建立、管理和更新相關 AWS 雲資源模板。使用 AWS 模板或建立您自己的雲資源。
利益相關者:運維或DevOps領域
一種管理雲資源的服務
由AWS提供
通過模板檔案(或者說配置檔案、程式碼)管理雲資源
DevOps
要求能把運維納入軟體開發體系,比如運用敏捷等軟體開發方法、實現自動化持續整合、測試、交付、可被程式碼管理等等;其次,要求開發具備運維意識,將交付基礎設施作為交付軟體的一部分,藉助雲端計算給開發人員賦能從而達到端到端交付的全棧能力,從而極大地提高研發效能。
在這個意義上,Cloudformation就是這樣一個工具,可以將基礎設施作為程式碼納入到軟體開發的一部分,並運用軟體工程方法管理基礎架構。
4 AWS IAM
AWS Identity and Access Management (IAM) 是一種 Web 服務,可以幫助您安全地控制對 AWS 資源的訪問。您可以使用 IAM 控制對哪個使用者進行身份驗證 (登入) 和授權 (具有許可權) 以使用資源。
AWS 管理控制檯提供一個基於 Web 的方法以管理 AWS 服務。您可以登入該控制檯並使用 AWS 服務為您的賬戶建立、列出和執行其他任務。這些任務可能包括啟動和停止 Amazon EC2 例項和 Amazon RDS 資料庫、建立 Amazon DynamoDB 表、建立 IAM 使用者等。
5 AWS Cognito
Amazon Cognito 為您的 Web 和移動應用程式提供身份驗證、授權和使用者管理。您的使用者可使用使用者名稱和密碼直接登入,也可以通過第三方 (如 Facebook、Amazon 或 Google) 登入。
6 Amazon EC2
Amazon Elastic Compute Cloud (Amazon EC2) 在 Amazon Web Services (AWS) 雲中提供可擴充套件的計算容量。使用 Amazon EC2 可避免前期的硬體投入,因此您能夠快速開發和部署應用程式。通過使用 Amazon EC2,您可以根據自身需要啟動任意數量的虛擬伺服器、配置安全和網路以及管理儲存。Amazon EC2 允許您根據需要進行縮放以應對需求變化或流行高峰,降低流量預測需求。
7 ECS
Amazon Elastic Container Service (Amazon ECS) 是一項高度可擴充套件的快速容器管理服務,它可輕鬆執行、停止和管理叢集上的 Docker 容器。
您可以通過使用 Fargate
啟動型別啟動服務或任務,將叢集託管在由 Amazon ECS 管理的無伺服器基礎設施上。若要進行更多控制,您可以在使用 EC2 啟動型別進行管理的 Amazon Elastic Compute Cloud (Amazon EC2) 例項叢集上託管您的任務
8 AWS Lambda
AWS Lambda 是一項計算服務,可使您無需預配置或管理伺服器即可執行程式碼。AWS Lambda 只在需要時執行您的程式碼並自動縮放,從每天幾個請求到每秒數千個請求。您只需按消耗的計算時間付費 – 程式碼未執行時不產生費用。
9 AWS S3 bucket
Amazon Simple Storage Service (Amazon S3) 是一項面向 Internet 的儲存服務。您可以通過 Amazon S3 隨時在 Web 上的任何位置儲存和檢索的任意大小的資料。您可以通過 AWS 管理控制檯這一簡單直觀的 Web 介面來完成這些任務。
10 API Gateway
API Gateway 是一項 AWS 服務,支援以下操作:
建立、部署和管理 REST 應用程式程式設計介面 (API) 以公開後端 HTTP 終端節點、AWS Lambda 函式或其他 AWS 服務。
建立、部署和管理 WebSocket API 以公開 AWS Lambda 函式或其他 AWS 服務。
通過前端 HTTP 和 WebSocket 終端節點呼叫公開的 API 方法。
API Gateway REST API
與後端 HTTP 終端節點、Lambda 函式或其他 AWS 服務整合的 HTTP 資源與方法的集合。這種集合可以在一個或多個階段中部署。通常情況下,根據應用程式邏輯將 API 資源組織成資源樹形式。每個 API 資源均可公開一個或多個 API 方法,這些方法具有受 API Gateway 支援的唯一 HTTP 命令動詞。
API Gateway WebSocket API 與後端 HTTP 終端節點、Lambda 函式或其他 AWS 服務整合的 WebSocket 路由和路由鍵的集合。這種集合可以在一個或多個階段中部署。API 方法通過可以與註冊的自定義域名關聯的前端 WebSocket 連線進行呼叫。
11 AWS RDS
Amazon Relational Database Service (Amazon RDS) 是一項 Web 服務,讓使用者能夠在 AWS 雲中更輕鬆地設定、操作和擴充套件關係資料庫。它可以為行業標準關係資料庫提供經濟高效且可以調節大小的容量,並管理常見資料庫管理任務。
利用 Amazon ECS,您可以通過簡單的 API 呼叫來啟動和停止基於容器的應用程式,可以從集中式服務獲取叢集狀態,並且可以訪問許多熟悉的 Amazon EC2 功能。