Sean's Note: 11月 2018

2018年11月10日 星期六

AWS 學習筆記 (五) - Monitoring and Security 監控與安全性

Cloudtrail

官方介紹:
---------------------------------------------------------
AWS CloudTrail 是可啟用 AWS 帳戶管控、合規、操作稽核和風險稽核的服務。使用 CloudTrail 可以記錄、持續監控和保留 AWS 基礎設施中所有與動作相關的帳戶活動。CloudTrail 可提供 AWS 帳戶活動的事件歷史記錄,包括透過 AWS 管理主控台、AWS 開發套件、命令列工具及其他 AWS 服務所採取的動作。這個事件歷史記錄簡化了安全分析、資源變更追蹤和故障排除的程序。
---------------------------------------------------------

筆記:
Cloudtrail 可紀錄 CLI, SDK 與 API 被呼叫的情況。譬如說監測帳號是否被盜用來建立莫名的 EC2 Instance 或 S3 buckets,又或者用來查看誰對某個 S3 object 做了操作。Cloudtrail 將會紀錄近 90 天的 Event history。Event 又分為 Management Event 和 Data Event,Data Event 僅提供 S3 和 Lambda。
當 Cloudtrail 的設定套用至所有 Regions 時,只要未來 AWS 新增了 Region,這些設定也會自動被套用。

Network Access Control List (ACL)

官方介紹:
---------------------------------------------------------
「網路存取控制清單 (ACL)」是 VPC 中的選用安全 layer,作用就像防火牆,可控制一或多個子網路的傳入和傳出流量。您可以使用與您的安全群組相似的規則來設定網路 ACL,以為您的 VPC 新增額外的安全 layer。如需安全群組與網路 ACL 間差異的詳細資訊,請參閱安全群組和網路 ACL 的比較。
---------------------------------------------------------

筆記:
ACL 基本事項:
  • VPC 已自動隨附可修改的預設網路 ACL。根據預設,它會允許所有傳入和傳出 IPv4 流量與 IPv6 流量 (如適用)。 
  • 可以建立自訂網路 ACL,並將其與子網路建立關聯。根據預設,在新增規則之前,每個自訂網路 ACL 都會拒絕所有傳入和傳出流量。 
  • VPC 中的每個子網路都必須與一個網路 ACL 建立關聯。如果未明確將子網路與網路 ACL 建立關聯,子網路就會自動與預設網路 ACL 建立關聯。 
  • 您可以將多個子網路與某個網路 ACL 建立關聯,不過一個子網路一次只能與一個網路 ACL 建立關聯。當您為網路 ACL 與子網路建立關聯時,系統就會移除先前的關聯。 
 
・資料來源:AWS 官方網站

2018年11月4日 星期日

AWS 學習筆記 (四) - 常使用的 AWS Services 簡介 - Part 2

VPC Endpoints

官方介紹:
---------------------------------------------------------
VPC 端點可讓您將 VPC 私下連線至支援的 AWS 服務以及具有 PrivateLink 功能的 VPC 端點服務,而不需要網際網路閘道、NAT 裝置、VPN 連接或 AWS Direct Connect 連線。VPC 中的執行個體不需要公有 IP 地址,即可與服務中的資源通訊。VPC 與另一個服務之間的流量都會保持在 Amazon 網路的範圍內。 端點是虛擬裝置。端點為一種可水平擴展、備援且高可用性的 VPC 元件,允許 VPC 中之執行個體與服務之間的通訊,而不會強加網路流量的可用性風險或頻寬限制。 有兩種 VPC 端點類型:「界面端點」和「閘道端點」。請建立支援的服務所需要的 VPC 端點類型。
---------------------------------------------------------


用一些實際的例子來說明:
假設今天想要讓 EC2 存取 public 的服務,像是 S3 或 DynamoDB,此時就得讓該 EC2 位於 pubic subnet,但這當然有安全上的疑慮,所以我們為了保持 EC2 位於 private subnet,就可以透過設定 VPC Endpoints,來連到 S3 或 DynamoDB 等 public 的服務。

CloudFormation

官方介紹:
---------------------------------------------------------
AWS CloudFormation 提供一種通用語言,可用來描述和佈建雲端環境中的所有基礎設施資源。CloudFormation 可讓您使用簡單的文字檔以自動且安全的方式,在所有區域和帳戶為應用程式所需的資源建立模型並進行佈建。這個檔案是雲端環境唯一的真實資料來源。 使用 AWS CloudFormation 無須支付額外費用,只需支付應用程式執行所需的 AWS 資源費用。More...
---------------------------------------------------------

Elastic Beanstalk

官方介紹:
---------------------------------------------------------
AWS Elastic Beanstalk 是一項易用的服務,用於在熟悉的伺服器 (例如 Apache、Nginx、Passenger 和 IIS) 上部署和擴展以 Java、.NET、PHP、Node.js、Python、Ruby、Go 和 Docker 開發的 Web 應用程式和服務。 您只需上傳程式碼,從容量佈建、負載平衡、自動調整規模到應用程式運作狀態監控的部署,Elastic Beanstalk 都可為您自動處理。同時,您能夠完全控制為應用程式提供支援的 AWS 資源,並可隨時存取基礎資源。 Elastic Beanstalk 不收取其他費用 – 您只需支付使用 AWS 資源存放和執行應用程式的費用。
---------------------------------------------------------

Lambda

官方介紹:
---------------------------------------------------------
使用 AWS Lambda 執行程式碼,不必佈建或管理伺服器。只需為使用的運算時間支付費用,一旦未執行程式碼,就會停止計費。 有了 Lambda,您可以透過虛擬方式執行任何類型的應用程式或後端服務,全部免管理。只需上傳程式碼,Lambda 就會運用其高可用性來處理執行程式碼及擴展規模所需的各項工作。您可以將自己的程式碼設成可以從其他 AWS 服務自動觸發,或從任何 Web 或行動應用程式直接呼叫。
---------------------------------------------------------


Elastic Container Service (ECS)

官方介紹:
---------------------------------------------------------
Amazon Elastic Container Service (Amazon ECS) 是可高度擴展的高效能容器協調服務,支援 Docker 容器,可讓您在 AWS 上輕鬆執行及擴展容器化應用程式。使用 Amazon ECS 無須安裝和操作自己的容器協調軟體、管理和擴展虛擬機器叢集,也不用排程這些虛擬機器上的容器。 您可以呼叫簡單的 API,借此來啟動和停止支援 Docker 的應用程式、查詢應用程式的完整狀態以及操作許多熟悉的功能,例如 IAM 角色、安全群組、負載平衡器,Amazon CloudWatch Events、AWS CloudFormation 範本和 AWS CloudTrail 日誌。
---------------------------------------------------------

Kinesis

官方介紹:
---------------------------------------------------------
Amazon Kinesis 可輕鬆地收集、處理和分析即時串流資料,讓您及時取得深入的見解並快速地對新資訊做出反應。Amazon Kinesis 提供的重要功能透過經濟實惠的方式處理任何規模的串流資料,還可讓您彈性選擇最符合應用程式需求的工具。使用 Amazon Kinesis,您可以導入即時資料,例如影片、音訊、應用程式日誌、網站點擊流和 IoT 遙測資料,用於機器學習、分析和其他用途。Amazon Kinesis 可讓您在資料到達時就進行處理和分析,並立即回應,無須等待收集所有資料之後再開始處理。
---------------------------------------------------------

Redshift

官方介紹:
---------------------------------------------------------
Amazon Redshift 是快速可擴展的資料倉儲,在分析資料倉儲和資料湖中的所有資料時不僅簡單易用且經濟實惠。Redshift 使用了機器學習、大量並行查詢執行及高效能磁碟上的單欄式儲存,因此它的效能比其他資料倉儲快十倍。您在幾分鐘內即可設定和部署新的資料倉儲,然後在 Redshift 資料倉儲中查詢數 PB 的資料,以及查詢 Amazon S3 上所建置之資料湖中數 EB 的資料。您可以從每小時 0.25 USD 的小規模開始,然後擴展到每年每 TB 250 USD 的規模,成本僅為其他解決方案的十分之一。 若要建立您的第一個 Amazon Redshift 資料倉儲,請依照我們的入門指南並充分利用您的經驗。聯絡我們以請求概念驗證或評估的支援。為了加速移轉到 Amazon Redshift,您可以免費使用 AWS Database Migration Service (DMS) 六個月。
---------------------------------------------------------

ElasticCache

官方介紹:
---------------------------------------------------------
Amazon ElastiCache 提供全受管的 Redis 和 Memcached。無縫地部署、執行和擴展常見的開放原始碼相容記憶體內資料存放區。從高輸送量和低延遲記憶體內資料存放區擷取資料,可建立資料密集型應用程式或提高現有應用程式的效能。Amazon ElastiCache 是遊戲、廣告技術、金融服務、醫療保健和 IoT 應用程式的熱門選擇。
---------------------------------------------------------

Storage Gateway

官方介紹:
---------------------------------------------------------
AWS Storage Gateway 是混合式儲存服務,可讓現場部署應用程式順暢無縫地使用 AWS 雲端儲存。您可以使用此服務進行備份和存檔、災難復原、雲端資料處理、儲存分層和遷移。您的應用程式透過使用 NFS、SMB 和 iSCSI 等標準儲存協定的虛擬機器或硬體閘道設備連接服務。此閘道連接 Amazon S3、Amazon Glacier 和 Amazon EBS 等 AWS 儲存服務,可在 AWS 為檔案、磁碟區和虛擬磁帶提供儲存。此服務包含高度優化的資料傳輸機制,以及頻寬管理、自動網路恢復和有效的資料傳輸,還搭配本機快取,讓您以低延遲的方式在現場部署存取最常用的資料。
---------------------------------------------------------

Elastic Map Reduce (EMR)

官方介紹:
---------------------------------------------------------
Amazon EMR 提供受管的 Hadoop 框架,讓您以輕鬆、快速且經濟實惠的方式,在動態可擴展的 Amazon EC2 執行個體之間處理大量資料。您也可以執行其他常用的分散式架構 (例如 Amazon EMR 中的 Apache Spark、HBase、Presto, 和 Flink),並與其他 AWS 資料存放區 (例如 Amazon S3 和 Amazon DynamoDB) 中的資料進行互動。 Amazon EMR 能夠安全可靠地處理各式各樣的大數據使用案例,包括日誌分析、Web 索引、資料轉換 (ETL)、機器學習、財務分析、科學模擬和生物資訊學。
---------------------------------------------------------

OpsWorks

官方介紹:
---------------------------------------------------------
AWS OpsWorks 是可提供受管 Chef 和 Puppet 執行個體的組態管理服務。Chef 和 Puppet 是可讓您使用程式碼自動設定伺服器組態的自動化平台。OpsWorks 可讓您使用 Chef 和 Puppet 自動化伺服器的設定和部署方式,以及如何在 Amazon EC2 執行個體之間和現場部署運算環境中進行管理。我們提供三種 OpsWorks 產品:AWS Opsworks for Chef Automate、AWS OpsWorks for Puppet Enterprise 和 AWS OpsWorks Stacks​。
---------------------------------------------------------

API Gateway

官方介紹:
---------------------------------------------------------
Amazon API Gateway 是一種全受管的服務,可讓開發人員輕鬆地建立、發佈、維護、監控和保護任何規模的 API。只要按幾下 AWS 管理主控台,您就能建立 API 作為應用程式從後端服務 (例如,在 Amazon Elastic Compute Cloud (Amazon EC2) 上執行的工作負載、在 AWS Lambda 上執行的程式碼,或任何 Web 應用程式) 存取資料、商業邏輯或功能的「門戶」。 Amazon API Gateway 負責處理有關接受和處理多達數十萬個並行 API 呼叫的所有工作,包括流量管理、授權和存取控制、監控和 API 版本管理。Amazon API Gateway 沒有最低費用或啟動成本。您只需為收到的 API 呼叫以及傳出的資料量付費。
---------------------------------------------------------