Kanji
・雲端架構工程師 / 自由職業 ・1993年出生 ・愛媛縣出身 / 現居東京都澀谷區 ・5年 AWS 實戰經驗 個人檔案詳情
目錄
Amazon VPC(虛擬私有云)是一項服務,可讓您在 AWS 內建立私有、隔離的網路。藉助 VPC,您可以在您定義的虛擬網路中安全地執行 AWS 資源。VPC 的關鍵元件包括子網、路由表、Internet 閘道器和 NAT 閘道器。
根據 AWS 的說法,必須在 VPC 內啟動(具有私有 IP 地址)的資源包括 EC2 例項、RDS 例項和彈性負載均衡器 (ELB)。 某些無伺服器資源(例如 S3 儲存桶和 DynamoDB 表)無法在 VPC 內啟動。但是,您仍然可以使用網際網路閘道器或 VPC 終端節點從 VPC 內訪問這些資源。 某些資源(例如 Lambda 函式和 Glue 作業)可以在 VPC 內部或外部啟動。應根據您的安全和應用程式需求來決定在何處啟動這些資源。 下表列出了 AWS 服務、其資源型別以及是否支援 VPC 部署。
<表注>
為了安全起見,AWS Security Hub 建議在 VPC 內執行 Lambda 函式([Lambda.3] 控制元件)。在 VPC 中執行 Lambda 函式可以提高安全性和網路控制,如下所述:
在 VPC 中部署資源可以提高安全性和網路控制。 它還提供跨多個可用區的可擴充套件性和高可用性。 您可以自定義 VPC 部署以滿足您的應用程式需求。 來源: Lambda Security Hub 控制元件 - AWS Security Hub
在 VPC 中部署資源可以提高安全性和網路控制。 它還提供跨多個可用區的可擴充套件性和高可用性。 您可以自定義 VPC 部署以滿足您的應用程式需求。
來源: Lambda Security Hub 控制元件 - AWS Security Hub
在 VPC 內執行 Lambda 函式等無伺服器資源的好處包括:
如果 Lambda 函式遭到破壞,這些措施有助於降低風險。然而,無伺服器資源通常比 EC2 例項的風險更低,因為它們不允許直接檔案上傳或登入。
以下流程圖可幫助您決定是否在 VPC 內啟動無伺服器資源。
VPC子網的結構應基於路由和安全要求。常見的子網型別包括:
根據您組織的策略和系統要求選擇子網型別。
VPC 的 CIDR 塊定義了其 IP 地址範圍。連線到本地或外部系統時,請仔細選擇 CIDR 塊以避免衝突。如果您之前在電子表格中管理 IP 範圍,請考慮使用 AWS IPAM(IP 地址管理器)進行更好的管理。 如果您計劃將來新增或擴充套件 VPC,請提前預留更大的 CIDR 塊。如果您超出了 IP 範圍,您可能需要設計系統,使網路保持隔離(例如,VPC 到 VPC 或 VPC 到本地不連線)。
VPC 中 AWS 資源的名稱解析取決於源和目標。考慮以下場景:
兩個關鍵點:
VPC 中的資源可以具有公共 DNS 名稱。只要他們能夠訪問網際網路,名稱解析就可以在本地或網際網路上進行。如果您使用 Route 53 私有託管區域進行自定義 DNS,則無法從 Internet 解析這些名稱。要啟用公共 DNS,請在 VPC 設定中設定“啟用 DNS 主機名”和“啟用 DNS 支援”。
要連線 VPC 外部的 DNS 伺服器,請使用 Route 53 解析器終端節點。這些允許 VPC 資源向外部伺服器傳送 DNS 查詢。有兩種型別:
入站終端節點:接受來自本地 DNS 伺服器的 DNS 查詢(用於從本地解析 VPC 資源名稱)
出站終端節點:將 DNS 查詢從 VPC 資源傳送到本地 DNS 伺服器(用於從 VPC 解析本地資源名稱)
相關資源
將入站 DNS 查詢轉發到 VPC - Amazon Route 53
將出站 DNS 查詢轉發到您的網路 - Amazon Route 53
如果您使用 Active Directory,您還可以使用出站端點將 DNS 查詢傳送到 AD DNS 伺服器。
解析器端點按端點計費:
每個 ENI 0.125 美元/小時 來源: 定價 - Amazon Route 53 |AWS
每個 ENI 0.125 美元/小時
來源: 定價 - Amazon Route 53 |AWS
雖然並不昂貴,但隨著 VPC 數量的增加,成本也會增加。使用多個帳戶時請考慮合併解析器端點。
下表按源和目標總結了名稱解析選項:
1:使用出站端點 2:使用入站端點
有很多選項,但為了獲得高可用性,請使用專用於每個環境的 DNS 伺服器。對於 VPC 資源,請使用 Amazon Route 53 Resolver;對於本地資源,請使用本地 DNS 伺服器。如果您的整合程度最低或想要節省成本,請考慮其他選擇。
VPC流日誌記錄VPC內的網路流量資訊。您可以將 VPC 流日誌傳送至:
根據您的日誌分析和監控需求選擇目的地。由於VPC流日誌通常用於長期審計,因此S3是常見的選擇。如果您有外部日誌平臺,請使用 Kinesis Data Firehose 傳輸日誌。如需實時監控或分析,建議使用CloudWatch Logs。
日誌可以儲存在擁有VPC的賬戶中,也可以儲存在中央日誌聚合賬戶(日誌歸檔賬戶)中。如果您的組織有專用日誌帳戶,請將日誌傳送到那裡。
VPC 終端節點允許 VPC 中的資源直接連線到 AWS 服務,而無需使用公共 Internet。透過 VPC 終端節點策略,您可以控制可訪問哪些 AWS 服務和資源,從而提高安全性並降低資料洩露的風險。
有時,使用 VPC 終端節點只是為了避開公共網際網路,但這並不總是必要的。透過網際網路閘道器的流量實際上保留在 AWS 的專用網路上,不會遍歷公共網際網路,因此安全性並不總是需要 VPC 終端節點。
如果兩個例項使用公共 IP 地址進行通訊,或者如果一個例項與公共 AWS 服務終端節點進行通訊,則流量是否透過 Internet 傳輸? 否。使用公共 IP 地址時,AWS 託管的例項和服務之間的所有通訊都使用 AWS 專用網路。 源自 AWS 網路併發往 AWS 網路的資料包保留在 AWS 全球網路上,進出 AWS 中國區域的流量除外。 所有流經 AWS 全球網路的資料在離開安全設施之前都會在物理層自動加密。還有額外的加密層,例如 VPC 跨區域對等和 TLS 連線。 來源: 常見問題解答 - Amazon VPC |AWS
如果兩個例項使用公共 IP 地址進行通訊,或者如果一個例項與公共 AWS 服務終端節點進行通訊,則流量是否透過 Internet 傳輸? 否。使用公共 IP 地址時,AWS 託管的例項和服務之間的所有通訊都使用 AWS 專用網路。 源自 AWS 網路併發往 AWS 網路的資料包保留在 AWS 全球網路上,進出 AWS 中國區域的流量除外。
所有流經 AWS 全球網路的資料在離開安全設施之前都會在物理層自動加密。還有額外的加密層,例如 VPC 跨區域對等和 TLS 連線。
來源: 常見問題解答 - Amazon VPC |AWS
使用 VPC 終端節點有兩個主要原因:
例如,如果您透過 Site-to-Site VPN 從本地訪問 AWS 服務,則 VPC 終端節點可讓您直接連線,而無需使用公共網際網路。對於訪問 AWS 管理控制檯或 S3 等操作需求,VPC 終端節點可以提高安全性。然而,在開發過程中使用許多端點可能會增加成本。
透過 VPC 終端節點策略,您可以限制對特定 AWS 服務或資源的訪問。例如,以下策略僅允許訪問組織內的資源,從而防止資料傳送到外部帳戶。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRequestsByOrgsIdentitiesToOrgsResources", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "*", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "my-org-id", "aws:ResourceOrgID": "my-org-id" } } }, { "Sid": "AllowRequestsByAWSServicePrincipals", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "*", "Resource": "*", "Condition": { "Bool": { "aws:PrincipalIsAWSService": "true" } } } ] }
為所有 AWS 服務設定 VPC 終端節點可能會增加成本和運營開銷。至少,為具有較高資料洩漏風險的資料庫和儲存服務配置 VPC 終端節點,如下所示。
VPC 資源的責任應由組織的操作規則和安全策略來定義。典型角色包括:
這些角色可能會根據組織的規模和結構而有所不同。有時,開發人員會處理所有事情;有時,開發人員會處理所有事情。在其他情況下,網路管理員設計和構建 VPC,而開發人員則專注於應用程式。以下是網路管理員設計和構建 VPC 時角色分配的示例:
安全組通常由開發人員設計和構建,以滿足系統特定的需求。在某些組織中,網路管理員負責處理安全組,但這可能會減慢開發速度。為了保持開發快速進行,開發人員通常最好自己設計和構建安全組。