開發環境的 VPC AWS Cloud9 設定 - AWS Cloud9

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

開發環境的 VPC AWS Cloud9 設定

與 Amazon 虛擬私有雲 (Amazon VPC) 相關聯的每個 AWS Cloud9 開發環境都必須符合特定的 VPC 需求。這些環境包括 EC2 環境以及與在 VPC 內執行的運 AWS 雲端 算執行個體相關聯的 SSH 環境。範例包括 Amazon EC2 和 Amazon Lightsail 執行個體。

Amazon VPC 要求 AWS Cloud9

AWS Cloud9 使用的 Amazon VPC 需要以下設定。如果您已熟知這些需求,並且只想建立相容的 VPC,請跳至 建立 VPC 以及其他 VPC 資源

使用以下檢查清單來確認 VPC 符合以下所有要求:

  • VPC 可以 AWS 帳戶 與 AWS 區域 AWS Cloud9 開發環境相同,也可以是 VPC 可以是與環境不 AWS 帳戶 同的共用 VPC。但是,VPC 必須與環境位於相 AWS 區域 同的環境中。如需有關 Amazon VPC 的詳細資訊 AWS 區域,請參閱檢視 AWS 區域的 VPC 清單。如需為其建立 Amazon VPC 的詳細指示 AWS Cloud9,請參閱建立 VPC 以及其他 VPC 資源。如需使用共用 Amazon VPC 的相關資訊,請參閱 Amazon VPC 使用者指南中的使用共用 VPC

  • VPC 必須具有公用子網路。如果子網路的流量路由到網際網路閘道,則子網路是公用的。如需 Amazon VPC 的子網路清單,請參閱。檢視 VPC 的子網路清單

  • 如果您的環境透過 SSH 直接存取其 EC2 執行個體,則您只能在公有子網路中啟動執行個體。如需確認子網路是否為公用的資訊,請參閱確認子網路是否為公有子網路

  • 如果使用 Systems Manager 存取無輸入的 Amazon EC2 執行個體,則可在公有或私有子網路中啟動執行個體。

  • 如果您使用公有子網路,請將網際網路閘道連接至 VPC。這樣實例的 AWS Systems Manager Agent(SSM Agent)可以連接到 Systems Manager。

  • 如果您使用的是私有子網路,請允許子網路執行個體在公有子網路中代管 NAT 閘道,藉此與網際網路通訊。如需檢視或變更網際網路閘道設定的詳細資訊,請參閱 檢視或變更網際網路閘道的設定

  • 公有子網路的路由表必須具備一組採用最基本設定的路由。若要瞭解如何確認子網路是否具有路由表,請參閱確認子網路是否擁有路由表。如需有關如何建立路由表格的資訊,請參閱建立路由表

  • VPC (或 AWS 雲端 運算執行個體,視您的架構而定) 的關聯安全群組必須允許最少一組入站和輸出流量。如需 Amazon VPC 的安全群組清單,請參閱檢視 VPC 的安全群組清單。如需在 Amazon VPC 中建立安全群組的詳細資訊,請參閱在 VPC 中建立安全群組

  • 如要獲得多一層的安全保障,VPC 所具備的網路 ACL 必須允許一組最基本的傳入與傳出流量。若要確認 Amazon VPC 是否具有至少一個網路 ACL,請參閱確認 VPC 是否至少有一個網路 ACL。若要取得有關建立網路 ACL 的資訊,請參閱〈〉建立網路 ACL

  • 如果您的開發環境使用 SSM 存取 EC2 執行個體,請確保該執行個體已由公有子網路指派了可在子網路中啟動的公有 IP 地址。若要這麼做,您必須為公用子網路啟用自動指派公用 IP 位址選項,並將其設定為Yes。您可以在子網路設定頁面中建立 AWS Cloud9 環境之前,先在公用子網路上啟用此功能。如需在公有子網路中修改自動指派 IP 設定的相關步驟,請參閱 Amazon VPC 使用者指南中修改子網路的公用 IPv4 定址屬性。如需設定公用和私有子網路的詳細資訊,請參閱。 將子網路設定為公有或私有

注意

對於下列程序,請登入 AWS Management Console 並使用管理員登入資料開啟 Amazon VPC 主控台 (https://console.aws.amazon.com/vpc) 或 Amazon EC2 主控台 (https://console.aws.amazon.com/ec2)。

如果您使用 AWS CLI 或 AWS CloudShell,我們建議您使用 AWS CloudShell 管理員的認證設定 AWS CLI 或 AWS 帳戶。如果您無法這麼做,請洽詢您的 AWS 帳戶 系統管理員。

檢視 AWS 區域的 VPC 清單

若要使用 Amazon VPC 主控台,請在 AWS 導覽列中選擇在中 AWS 區域 AWS Cloud9 建立環境的主控台。接著由導覽窗格中選擇 Your VPCs (您的 VPC)。

若要使用 AWS CLI 或 AWS CloudShell,請執行 Amazon EC2 describe-vpcs命令,例如,如下所示。

aws ec2 describe-vpcs --output table --query 'Vpcs[*].VpcId' --region us-east-2

在上述指令中,取代us-east-2為在 AWS 區域 中 AWS Cloud9 建立環境的。若要在 Windows 中執行上述命令,請將單引號 (' ') 取代為雙引號 (" ")。若要使用 aws-shell 執行上述命令,請省略 aws

輸出包含 VPC ID 的清單。

檢視 VPC 的子網路清單

若要使用 Amazon VPC 主控台,請從導覽窗格中選擇 Your VPCs (您的 VPC)。記下 VPC ID 欄內的 VPC ID。接著,從導覽窗格中選擇 Subnets (子網路),並在 VPC 欄內尋找包含該 ID 的子網路。

若要使用 AWS CLI 或aws-shell,請執行 Amazon EC2 describe-subnets命令,例如,如下所示。

aws ec2 describe-subnets --output table --query 'Subnets[*].[SubnetId,VpcId]' --region us-east-2

在上述命令中,取代us-east-2為包 AWS 區域 含子網路的。若要在 Windows 中執行上述命令,請將單引號 (' ') 取代為雙引號 (" ")。若要使用 aws-shell 執行上述命令,請省略 aws

在輸出中,查看符合 VPC ID 的子網路。

確認子網路是否為公有子網路

重要

假設您要將環境的 EC2 執行個體啟動至私有子網路。確定允許該執行個體的輸出流量,以便其可以連線到 SSM 服務。若為私有子網路,傳出流量通常是透過網路位址轉譯 (NAT) 閘道或 VPC 端點所設定。(NAT 閘道需要公有子網路。)

假設您存取 SSM 時選擇 VPC 端點,而非 NAT 閘道。如果執行個體的自動更新和安全性修補程式依賴網際網路存取,則其可能無法運作。您可以使用其他應用程式 (例如 AWS Systems Manager 修補程式管理員) 來管理您的環境可能需要的任何軟體更新。 AWS Cloud9 軟件將如常更新。

若要使用 Amazon VPC 主控台,請在導覽窗格中,選擇 Subnets (子網路)。選取您要使用的子網路旁邊的 AWS Cloud9 方塊。在 Route Table (路由表) 索引標籤上,若 Target (目標) 欄內具有以 igw- 開頭的項目,即表示該子網路為公有子網路。

若要使用 AWS CLI 或aws-shell,請執行 Amazon EC2 describe-route-tables命令。

aws ec2 describe-route-tables --output table --query 'RouteTables[*].Routes[*].{GatewayIds:GatewayId}' --region us-east-2 --filters Name=association.subnet-id,Values=subnet-12a3456b

在上述命令中,取代us-east-2為包 AWS 區域 含子網路的,並以子網路 ID 取代subnet-12a3456b。若要在 Windows 中執行上述命令,請將單引號 (' ') 取代為雙引號 (" ")。若要使用 aws-shell 執行上述命令,請省略 aws

在輸出中,如果至少有一個開頭為 igw- 的結果,代表子網路為公有。

在輸出中,如果沒有結果,路由表可能與 VPC (而不是子網路) 相關聯。若要確認此情況,請針對子網路相關的 VPC (而不是子網路本身) 執行 Amazon EC2 describe-route-tables 命令,如下所示。

aws ec2 describe-route-tables --output table --query 'RouteTables[*].Routes[*].{GatewayIds:GatewayId}' --region us-east-1 --filters Name=vpc-id,Values=vpc-1234ab56

在上述命令中,取代us-east-2為包 AWS 區域 含 VPC 的,並以 VPC ID 取代vpc-1234ab56。若要在 Windows 中執行上述命令,請將單引號 (' ') 取代為雙引號 (" ")。若要使用 aws-shell 執行上述命令,請省略 aws

在輸出中,如果至少有一個開頭為 igw- 的結果,則 VPC 包含網際網路閘道。

檢視或變更網際網路閘道的設定

若要使用 Amazon VPC 主控台,請在導覽窗格中,選擇 Internet Gateways (網際網路閘道)。選取網際網路閘道旁的方塊。查看每個標籤以檢視各項設定。若要變更任一標籤上的設定,請在適用的情況下選擇 Edit (編輯),然後遵循螢幕上的指示進行。

若要使用 AWS CLI 或aws-shell查看設定,請執行 Amazon EC2 describe-internet-gateways命令。

aws ec2 describe-internet-gateways --output table --region us-east-2 --internet-gateway-id igw-1234ab5c

在上述指令中,取代us-east-2為包 AWS 區域 含網際網路閘道的,並以網際網路閘道 ID 取代igw-1234ab5c。若要使用 aws-shell 執行上述命令,請省略 aws

建立網際網路閘道

若要使用 Amazon VPC 主控台,請在導覽窗格中,選擇 Internet Gateways (網際網路閘道)。接著,選擇 Create internet gateway (建立網際網路閘道),然後遵循螢幕上的指示進行。

若要使用 AWS CLI 或aws-shell,請執行 Amazon EC2 create-internet-gateway命令。

aws ec2 create-internet-gateway --output text --query 'InternetGateway.InternetGatewayId' --region us-east-2

在上述指令中,取代us-east-2為包 AWS 區域 含新網際網路閘道的。若要在 Windows 中執行上述命令,請將單引號 (' ') 取代為雙引號 (" ")。若要使用 aws-shell 執行上述命令,請省略 aws

輸出包含新網際網路閘道的 ID。

將網際網路閘道連接至 VPC

若要使用 Amazon VPC 主控台,請在導覽窗格中,選擇 Internet Gateways (網際網路閘道)。選取網際網路閘道旁的方塊。在適用的情況下,選擇 Actions, Attach to VPC (動作:連接至 VPC),然後遵循螢幕上的指示進行。

若要使用 AWS CLI 或aws-shell,請執行 Amazon EC2 attach-internet-gateway命令,例如,如下所示。

aws ec2 attach-internet-gateway --region us-east-2 --internet-gateway-id igw-a1b2cdef --vpc-id vpc-1234ab56

在上述指令中,取代us-east-2為包 AWS 區域 含網際網路閘道的。將 igw-a1b2cdef 取代為網際網路閘道 ID。然後將 vpc-1234ab56 取代為 VPC ID。若要使用 aws-shell 執行上述命令,請省略 aws

確認子網路是否擁有路由表

若要使用 Amazon VPC 主控台,請在導覽窗格中,選擇 Subnets (子網路)。選取您要使用的 VPC 公用子網路旁邊的 AWS Cloud9 方塊。在 Route table (路由表) 標籤上,若 Route Table (路由表) 內出現數值,即表示該公有子網路有路由表。

若要使用 AWS CLI 或aws-shell,請執行 Amazon EC2 describe-route-tables命令。

aws ec2 describe-route-tables --output table --query 'RouteTables[*].Associations[*].{RouteTableIds:RouteTableId}' --region us-east-2 --filters Name=association.subnet-id,Values=subnet-12a3456b

在上述命令中,取代為包 AWS 區域 含公us-east-2用子網路的,並以公subnet-12a3456b用子網路 ID 取代。若要在 Windows 中執行上述命令,請將單引號 (' ') 取代為雙引號 (" ")。若要使用 aws-shell 執行上述命令,請省略 aws

如果輸出中有值,則公有子網路擁有至少有一個路由表。

在輸出中,如果沒有結果,路由表可能與 VPC (而不是子網路) 相關聯。若要確認此情況,請針對子網路相關的 VPC (而不是子網路本身) 執行 Amazon EC2 describe-route-tables 命令,如下所示。

aws ec2 describe-route-tables --output table --query 'RouteTables[*].Associations[*].{RouteTableIds:RouteTableId}' --region us-east-2 --filters Name=vpc-id,Values=vpc-1234ab56

在上述命令中,取代us-east-2為包 AWS 區域 含 VPC 的,並以 VPC ID 取代vpc-1234ab56。若要在 Windows 中執行上述命令,請將單引號 (' ') 取代為雙引號 (" ")。若要使用 aws-shell 執行上述命令,請省略 aws

如果在輸出中至少有一個結果,則 VPC 至少有一個路由表。

將路由表連接至子網路

若要使用 Amazon VPC 主控台,請在導覽窗格中選擇 Route Tables (路由表)。選取在您要連接之路由表旁邊的方塊。在 Subnet Associations (子網路關聯) 索引標籤中,選擇 Edit (編輯),選擇您要將連接到其中之子網路旁的方塊,然後選擇 Save (儲存)

若要使用 AWS CLI 或aws-shell,請執行 Amazon EC2 associate-route-table命令,例如,如下所示。

aws ec2 associate-route-table --region us-east-2 --subnet-id subnet-12a3456b --route-table-id rtb-ab12cde3

在前面的命令中,取代us-east-2 AWS 區域 為包含路由表的。將 subnet-12a3456b 取代為子網路 ID。然後將 rtb-ab12cde3 取代為路由表 ID。若要使用 aws-shell 執行上述命令,請省略 aws

建立路由表

若要使用 Amazon VPC 主控台,請在導覽窗格中選擇 Route Tables (路由表)。選擇 Create Route Table (建立路由表),然後依照螢幕上的指示進行。

若要使用 AWS CLI 或aws-shell,請執行 Amazon EC2 create-route-table命令,例如,如下所示。

aws ec2 create-route-table --output text --query 'RouteTable.RouteTableId' --region us-east-2 --vpc-id vpc-1234ab56

在上述命令中,取代us-east-2為包 AWS 區域 含新路由表的,並取代vpc-1234ab56為 VPC ID。若要在 Windows 中執行上述命令,請將單引號 (' ') 取代為雙引號 (" ")。若要使用 aws-shell 執行上述命令,請省略 aws

輸出包含新路由表的 ID。

檢視或變更路由表的設定

若要使用 Amazon VPC 主控台,請在導覽窗格中選擇 Route Tables (路由表)。選取路由表旁的方塊。查看每個標籤以檢視各項設定。若要變更任一標籤上的設定,請選擇 Edit (編輯),然後依照螢幕上的指示進行。

若要使用 AWS CLI 或aws-shell查看設定,請執行 Amazon EC2 describe-route-tables命令,例如,如下所示。

aws ec2 describe-route-tables --output table --region us-east-2 --route-table-ids rtb-ab12cde3

在前面的命令中,取代us-east-2 AWS 區域 為包含路由表的,並取代rtb-ab12cde3為路由表 ID。若要使用 aws-shell 執行上述命令,請省略 aws

最小建議路由表設定 AWS Cloud9

目的地 目標 狀態 傳播

CIDR-BLOCK

本機

作用中

0.0.0.0/0

igw-INTERNET-GATEWAY-ID

作用中

上述設定中,CIDR-BLOCK 是子網路的 CIDR 區塊,而 igw-INTERNET-GATEWAY-ID 是相容的網際網路閘道的 ID。

檢視 VPC 的安全群組清單

若要使用 Amazon VPC 主控台,請在導覽窗格中選擇 Security Groups (安全群組)。接著,在 Search Security Groups (搜尋安全群組) 方塊中輸入 VPC 的 ID 或名稱,並按下 Enter。搜尋結果清單將顯示該 VPC 的安全群組。

若要使用 AWS CLI 或aws-shell,請執行 Amazon EC2 describe-security-groups命令。

aws ec2 describe-security-groups --output table --query 'SecurityGroups[*].GroupId' --region us-east-2 --filters Name=vpc-id,Values=vpc-1234ab56

在上述命令中,取代us-east-2為包 AWS 區域 含 VPC 的,並以 VPC ID 取代vpc-1234ab56。若要在 Windows 中執行上述命令,請將單引號 (' ') 取代為雙引號 (" ")。若要使用 aws-shell 執行上述命令,請省略 aws

輸出包含該 VPC 安全群組 ID 的清單。

檢視 AWS 雲端 計算執行個體的安全群組清單

若要使用 Amazon EC2 主控台,請在導覽窗格中展開 Instances (執行個體),接著選擇 Instances (執行個體)。在執行個體清單中,選擇執行個體旁的方塊。該執行個體的安全群組會隨即顯示於 Security groups (安全群組) 旁的 Description (說明) 標籤。

若要使用 AWS CLI 或aws-shell,請執行 Amazon EC2 describe-security-groups命令,例如,如下所示。

aws ec2 describe-instances --output table --query 'Reservations[*].Instances[*].NetworkInterfaces[*].Groups[*].GroupId' --region us-east-2 --instance-ids i-12a3c456d789e0123

在上述指令中,以包含執行 AWS 區域 個體的取代,並以執行i-12a3c456d789e0123個體 ID 取代。us-east-2若要在 Windows 中執行上述命令,請將單引號 (' ') 取代為雙引號 (" ")。若要使用 aws-shell 執行上述命令,請省略 aws

輸出包含該執行個體安全群組 ID 的清單。

在 VPC 中檢視或變更安全群組的設定

若要使用 Amazon VPC 主控台,請在導覽窗格中選擇 Security Groups (安全群組)。選取安全群組旁的方塊。查看每個標籤以檢視各項設定。若要變更任一標籤上的設定,請在適用的情況下選擇 Edit (編輯),然後遵循螢幕上的指示進行。

若要使用 AWS CLI 或aws-shell查看設定,請執行 Amazon EC2 describe-security-groups命令,例如,如下所示。

aws ec2 describe-security-groups --output table --region us-east-2 --group-ids sg-12a3b456

在上述命令中,取代us-east-2為包 AWS 區域 含執行個體的,並以安全性群組 ID 取代sg-12a3b456。若要使用 aws-shell 執行上述命令,請省略 aws

檢視或變更 AWS 雲端 運算執行個體安全性群組的設定

若要使用 Amazon EC2 主控台,請在導覽窗格中展開 Instances (執行個體),接著選擇 Instances (執行個體)。在執行個體清單中,勾選執行個體旁的方塊;在 Description (說明) 標籤的 Security groups (安全群組) 中,選擇安全群組。請查看每個標籤;若要變更任一標籤上的設定,請在適用的情況下選擇 Edit (編輯),然後遵循螢幕上的指示進行。

若要使用 AWS CLI 或aws-shell查看設定,請執行 Amazon EC2 describe-security-groups命令,例如,如下所示。

aws ec2 describe-security-groups --output table --region us-east-2 --group-ids sg-12a3b456

在上述命令中,取代us-east-2為包 AWS 區域 含執行個體的,並以安全性群組 ID 取代sg-12a3b456。若要使用 aws-shell 執行上述命令,請省略 aws

的最小入站和出站流量設定 AWS Cloud9

重要

執行個體的 IA 安全群組可能沒有傳入規則。如果發生此情況,這表示源自其他主機的傳入流量不允許送至執行個體。如需使用無輸入 EC2 執行個體的相關資訊,請參閱使用 AWS Systems Manager 存取無輸入的 EC2 執行個體

  • 傳入:透過連接埠 22 使用 SSH 的所有 IP 地址。但是,您可以將這些 IP 位址限制為僅 AWS Cloud9 使用的 IP 位址。如需詳細資訊,請參閱 AWS Cloud9 的傳入 SSH IP 地址範圍

    注意

    對於 2018 年 7 月 31 日或之後建立的 EC2 環境, AWS Cloud9 使用安全群組透過連接埠 22 使用 SSH 來限制輸入 IP 位址。這些輸入 IP 位址特別是 AWS Cloud9 使用的位址。如需詳細資訊,請參閱 AWS Cloud9 的傳入 SSH IP 地址範圍

  • 傳入 (僅限網路 ACL):對於 EC2 環境和與執行 Amazon Linux 或 Ubuntu Server 的 Amazon EC2 執行個體相關聯的 SSH 環境,所有 IP 地址都會透過連接埠 32768-61000 使用 TCP。如需詳細資訊及其他 Amazon EC2 執行個體類型的連接埠範圍,請參閱 Amazon VPC 使用者指南中的暫時性連接埠

  • 傳出:使用任何通訊協定與連接埠的所有流量來源。

您可以在安全群組層級設定相應的行為。如要獲得多一層的安全保障,您也可以使用網路 ACL。如需詳細資訊,請參閱 Amazon VPC 使用者指南中的比較安全群組和網路 ACL

例如,若要為安全群組新增傳入及傳出規則,您可以按照下述方式設定相應的規則。

傳入規則
類型 通訊協定 連接埠範圍 來源

SSH (22)

TCP (6)

22

0.0.0.0 (但請參閱以下注意事項和 AWS Cloud9 的傳入 SSH IP 地址範圍。)

注意

對於 2018 年 7 月 31 日或之後建立的 EC2 環境, AWS Cloud9 新增輸入規則,以透過連接埠 22 使用 SSH 限制輸入 IP 位址。這僅限於僅使 AWS Cloud9 用的位址。如需詳細資訊,請參閱 AWS Cloud9 的傳入 SSH IP 地址範圍

傳出規則
類型 通訊協定 連接埠範圍 來源

所有流量

ALL

ALL

0.0.0.0/0

如果您也選擇將傳入及傳出規則新增至網路 ACL,則可以設定如下的規則。

傳入規則
規則 # 類型 通訊協定 連接埠範圍 來源 允許/拒絕

100

SSH (22)

TCP (6)

22

0.0.0.0 (但請參閱 AWS Cloud9 的傳入 SSH IP 地址範圍。)

允許

200

自訂 TCP 規則

TCP (6)

32768-61000 (適用於 Amazon Linux 和 Ubuntu Server 執行個體。其他執行個體類型請參閱暫時性連接埠。)

0.0.0.0/0

允許

*

所有流量

ALL

ALL

0.0.0.0/0

拒絕

傳出規則
規則 # 類型 通訊協定 連接埠範圍 來源 允許/拒絕

100

所有流量

ALL

ALL

0.0.0.0/0

允許

*

所有流量

ALL

ALL

0.0.0.0/0

拒絕

如需安全群組與網路 ACL 的詳細資訊,請參閱 Amazon VPC 使用者指南中的下列內容。

在 VPC 中建立安全群組

若要使用 Amazon VPC 或 Amazon EC2 主控台,請執行以下其中一項動作:

  • 在 Amazon VPC 主控台的導覽窗格中,選擇 Security Groups (安全群組)。選擇 Create Security Group (建立安全群組),然後依照螢幕上的指示進行。

  • 在 Amazon EC2 主控台的導覽窗格中,展開 Network & Security (網路與安全),接著選擇 Security Groups (安全群組)。選擇 Create Security Group (建立安全群組),然後依照螢幕上的指示進行。

若要使用 AWS CLI 或aws-shell,請執行 Amazon EC2 create-security-group命令,例如,如下所示。

aws ec2 create-security-group --region us-east-2 --vpc-id vpc-1234ab56

在上述命令中,取代us-east-2為包 AWS 區域 含 VPC 的,並以 VPC ID 取代vpc-1234ab56。若要使用 aws-shell 執行上述命令,請省略 aws

確認 VPC 是否至少有一個網路 ACL

若要使用 Amazon VPC 主控台,請從導覽窗格中選擇 Your VPCs (您的 VPC)。選擇您要使用的 VPC 旁邊的核取 AWS Cloud9 方塊。在 Summary (摘要) 索引標籤上,若 Network ACL (網路 ACL) 內出現數值,即表示該 VPC 至少有一份網路 ACL。

若要使用 AWS CLI 或aws-shell,請執行 Amazon EC2 describe-network-acls命令。

aws ec2 describe-network-acls --output table --query 'NetworkAcls[*].Associations[*].NetworkAclId' --region us-east-2 --filters Name=vpc-id,Values=vpc-1234ab56

在上述命令中,取代us-east-2為包 AWS 區域 含 VPC 的,並以 VPC ID 取代vpc-1234ab56。若要在 Windows 中執行上述命令,請將單引號 (' ') 取代為雙引號 (" ")。若要使用 aws-shell 執行上述命令,請省略 aws

如果輸出至少包含清單中一個項目,VPC 至少有一個網路 ACL。

檢視 VPC 的網路 ACL 清單

若要使用 Amazon VPC 主控台,請在導覽窗格中選擇 Network ACLs (網路 ACL)。在 Search Network ACLs (搜尋網路 ACL) 方塊中輸入 VPC 的 ID 或名稱,並按下 Enter。搜尋結果清單將顯示該 VPC 的網路 ACL。

若要使用 AWS CLI 或aws-shell,請執行 Amazon EC2 describe-network-acls命令。

aws ec2 describe-network-acls --output table --query 'NetworkAcls[*].Associations[*].NetworkAclId' --region us-east-2 --filters Name=vpc-id,Values=vpc-1234ab56

在上述命令中,取代us-east-2為包 AWS 區域 含 VPC 的,並以 VPC ID 取代vpc-1234ab56。若要在 Windows 中執行上述命令,請將單引號 (' ') 取代為雙引號 (" ")。若要使用 aws-shell 執行上述命令,請省略 aws

輸出包含該 VPC 網路 ACL 的清單。

檢視或變更網路 ACL 的設定

若要使用 Amazon VPC 主控台,請在導覽窗格中選擇 Network ACLs (網路 ACL)。選擇網路 ACL 旁的方塊。查看每個標籤以檢視各項設定。若要變更任一標籤上的設定,請在適用的情況下選擇 Edit (編輯),然後遵循螢幕上的指示進行。

若要使用 AWS CLI 或aws-shell查看設定,請執行 Amazon EC2 describe-network-acls命令。

aws ec2 describe-network-acls --output table --region us-east-2 --network-acl-ids acl-1234ab56

在上述指令中,us-east-2用包 AWS 區域 含網路 ACL 的取代,並acl-1234ab56以網路 ACL ID 取代。若要使用 aws-shell 執行上述命令,請省略 aws

建立網路 ACL

若要使用 Amazon VPC 主控台,請在導覽窗格中選擇 Network ACLs (網路 ACL)。選擇 Create Network ACL (建立網路 ACL),然後依照螢幕上的指示進行。

若要使用 AWS CLI 或aws-shell,請執行 Amazon EC2 create-network-acl命令。

aws ec2 create-network-acl --region us-east-2 --vpc-id vpc-1234ab56

在上述指令中us-east-2,取代 AWS 區域 為包含您要附加新網路 ACL 的 VPC。亦將 vpc-1234ab56 取代為 VPC ID。若要使用 aws-shell 執行上述命令,請省略 aws

建立 VPC 以及其他 VPC 資源

使用下列程序來建立 VPC 以及執行應用程式所需的其他 VPC 資源。VPC 資源包括子網路、路由表、網際網路閘道和 NAT 閘道。

如何使用主控台建立 VPC、子網路和其他 VPC 資源
  1. 前往 https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 在 VPC 儀表板上,選擇 Create VPC (建立 VPC)

  3. 針對 Resources to create (建立資源),選擇 VPC and more (VPC 等)。

  4. 若要為 VPC 資源建立名稱標籤,請保持選取 [自動產生名稱] 標籤。若要為 VPC 資源提供您自己的名稱標籤,請將其清除。

  5. 對於 IPv4 CIDR 區塊,您必須輸入虛擬私人 VPC 的 IPv4 位址範圍。建議使用的 IPv4 範圍 AWS Cloud9 為10.0.0.0/16

  6. (選用) 若要支援 IPv6 流量,請選擇 IPv6 CIDR 區塊 > Amazon 提供的 IPv6 CIDR 區塊

  7. 選擇租用選項。此選項會定義啟動至 VPC 的 EC2 執行個體,是否會在與其他 AWS 帳戶 共用的硬體上執行,或是在僅供您使用的硬體上執行。如果您選擇要使用 VPC 的租用Default,則在此 VPC 中啟動的 EC2 執行個體將使用啟動執行個體時指定的租用屬性。如需詳細資訊,請參閱 Amazon EC2 使用者指南中的使用已定義參數啟動執行個體。

    如果您選擇 VPC 的租用為 Dedicated,則執行個體將會一律以硬體上之專用預留執行個體 (專供您使用) 的形式執行。如果您正在使用 AWS Outposts,則Outpost需要私人連接,並且必須使用Default租用。

  8. 對於可用區域 (AZ) 的數目,我們建議您至少在兩個Availability Zones生產環境中佈建子網路。若要選擇子網路的 AZ,請展開自訂 AZ。否則,您可以讓您 AWS 選擇 AZ。

  9. 若要設定您的子網路,請選擇公有子網路數目私有子網路數目的值。若要選擇子網路的 IP 地址範圍,請展開自訂子網路 CIDR 區塊。否則,讓我們為您 AWS 選擇它們。

  10. (選擇性) 如果私有子網路中的資源需要透過 IPv4 存取公用網際網路:對於 NAT 閘道,請選擇要在其中建立 NAT 閘道的 AZ 數目。在生產環境中,建議您在每個 AZ 中部署一個 NAT 閘道,並包含需要存取公有網際網路的資源。

  11. (選擇性) 如果私有子網路中的資源需要透過 IPv6 存取公用網際網路:對於僅輸出網際網路閘道,請選擇

  12. (選擇性) 若要直接從您的 VPC 存取 Amazon S3,請選擇 VPC 人雲端端點 S3 閘道。這會為 Amazon S3 建立閘道 VPC 端點。如需詳細資訊,請參閱《AWS PrivateLink 指南》中的閘道 VPC 端點

  13. (選用) 在 DNS 選項,網域名稱解析的兩個選項都會依預設啟用。如果預設值不符合您的需求,您可以停用這些選項。

  14. (選用) 若要將標籤新增至 VPC,請展開其他標籤,選擇新增標籤,然後輸入標籤金鑰和標籤值。

  15. 在「預覽」窗格中,您可以視覺化設定的 VPC 資源之間的關係。實線代表資源之間的關係。虛線代表 NAT 閘道、網際網路閘道和閘道端點的網路流量。建立 VPC 後,可以隨時使用資源映射索引標籤以此格式將 VPC 中的資源視覺化。

  16. 完成 VPC 的設定後,請選擇 [建立 V PC]。

僅建立 VPC

使用 Amazon VPC 主控台,使用下列程序建立不含額外 VPC 資源的 VPC。

如何使用主控台建立不含任何其他 VPC 資源的 VPC
  1. 前往 https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 在 VPC 儀表板上,選擇 Create VPC (建立 VPC)

  3. 建立資源,選擇僅 VPC

  4. (選用) 在名稱標籤中,輸入您 VPC 的名稱。執行此作業會使用 Name 做為索引鍵,以及您指定的值來建立標籤。

  5. 對於 IPv4 CIDR 區塊,執行下列其中一個動作:

    • 選擇 IPv4 CIDR 手動輸入,然後輸入 VPC 的 IPv4 地址範圍。建議使用的 IPv4 範圍 AWS Cloud9 為10.0.0.0/16

    • 選擇 IPAM 分配的 IPv4 CIDR 區塊,選取一個 Amazon VPC IP 位址管理員 (IPAM) IPv4 位址集區和一個網路遮罩。CIDR 區塊的大小會受 IPAM 集區上的分配規則所限制。IPAM 是一項 VPC 功能,可協助您規劃、追蹤和監控工作負載的 IP 位址。 AWS 如需詳細資訊,請參閱什麼是 IPAM? 在《Amazon Virtual Private Cloud 管理員指南》中。

      如果您使用 IPAM 來管理 IP 位址,建議您選擇此選項。否則,您為 VPC 指定的 CIDR 區塊可能會與 IPAM CIDR 配置重疊。

  6. (選用) 若要建立雙堆疊 VPC,請為您的 VPC 指定 IPv6 地址範圍。對於 IPv6 CIDR 區塊,執行下列其中一個動作:

    • 選擇 IPAM 配置的 IPv6 CIDR 區塊,然後選取您的 IPAM IPv6 地址集區和網路遮罩。CIDR 區塊的大小會受 IPAM 集區上的分配規則所限制。

    • 若要從 IPv6 位址的 Amazon 集區要求 IPv6 CIDR 區塊,請選擇 Amazon 提供的 IPv6 CIDR 區塊。對於網路邊界群組,選取通 AWS 告 IP 位址的群組。Amazon 所提供 IPv6 CIDR 區塊的固定大小為 /56。

    • 選擇我擁有的 IPv6 CIDR,即可使用您 AWS 使用自攜 IP 位址 (BYOIP) 所帶來的 IPv6 CIDR 區塊。在 Pool (集區) 欄位中,選擇要從中配置 IPv6 CIDR 區塊的 IPv6 地址集區。

  7. (選用) 選擇租用選項。此選項定義您啟動至 VPC 的 EC2 執行個體是否會在與其他共用的硬體上執行, AWS 帳戶 還是僅在專供您使用的硬體上執行。如果您選擇要使用 VPC 的租用Default,則在此 VPC 中啟動的 EC2 執行個體將使用啟動執行個體時指定的租用屬性。如需詳細資訊,請參閱 Amazon EC2 使用者指南中的使用已定義參數啟動執行個體。

    如果您選擇 VPC 的租用為 Dedicated,則執行個體將會一律以硬體上之專用預留執行個體 (專供您使用) 的形式執行。如果您正在使用 AWS Outposts,則Outpost需要私人連接,並且必須使用Default租用。

  8. (選用) 若要將標籤新增至 VPC,請選擇新增標籤,然後輸入標籤金鑰和標籤值。

  9. 選擇建立 VPC

  10. 建立 VPC 後,您可以新增子網。

建立子網路 AWS Cloud9

您可以使用 Amazon VPC 主控台為相容的 VPC 建立子網路。 AWS Cloud9您是否可以為 EC2 執行個體建立私有子網路或公有子網路,取決於您的環境連線到執行個體的方式:

  • 透過 SSH 直接存取:僅限公有子網路

  • 透過 Systems Manager 存取權:公有或私有子網路皆可

在私有子網路中啟動環境的 EC2 的選項僅適用於您使用主控台、命令列或 AWS CloudFormation 建立「無輸入」EC2 環境的情況。

您必須按照可將子網路設為公有或私有的相同子網路建立步驟操作。如果子網路與路由至網際網路閘道的路由表建立關聯,就會成為公有子網路。但如果子網路與未路由至網際網路閘道的路由表建立關聯,則成為私有子網路。如需詳細資訊,請參閱 將子網路設定為公有或私有

如果您遵循上述程序為其建立 VPC AWS Cloud9,則不需要依照此程序執行。因為建立新的 VPC 精靈會自動為您建立子網路。

重要
  • AWS 帳戶 必須已經在相同的環境中具有相容 AWS 區域 的 VPC。如需詳細資訊,請參閱 Amazon VPC 要求 AWS Cloud9 所述的 VPC 需求。

  • 對於此程序,建議您使用中 IAM 管理員的登入資料登入 AWS Management Console 並開啟 Amazon VPC 主控台。 AWS 帳戶如果您無法這麼做,請洽詢您的 AWS 帳戶 系統管理員。

  • 某些組織可能不允許您自行建立子網路。如果您無法建立子網路,請洽詢您的 AWS 帳戶 系統管理員或網路管理員。

建立子網路
  1. 如果 Amazon VPC 主控台尚未開啟,請登入 AWS Management Console 並開啟 Amazon VPC 主控台,網址為 https://console.aws.amazon.com/vpc。

  2. 在導覽列中,如果與環境的「區域」 AWS 區域 不同,請選擇正確的「區域」。

  3. 如果尚未顯示 Subnets (子網路) 頁面,從導覽窗格中選擇 Subnets (子網路)。

  4. 選擇 Create Subnet (建立子網路)

  5. Create Subnet (建立子網路) 對話方塊中,為 Name tag (名稱標籤) 輸入子網路的名稱。

  6. 對於 VPC,選擇要與此子網路關聯的 VPC。

  7. 對於可用區域,請選擇子網路中 AWS 區域 的可用區域,或選擇「無偏好設定」 讓您 AWS 選擇可用區域。

  8. IPv4 CIDR block (IPv4 CIDR 區塊) 中,以 CIDR 格式輸入要供此子網路使用的 IP 地址範圍。該 IP 地址範圍必須是 VPC 中的 IP 地址之子集。

    如需 CIDR 區塊的相關資訊,請參閱 Amazon VPC 使用者指南中的 VPC 和子網路規模調整。另請參閱 3.1。RFC 4632 的基本概念與字首標記法,或 Wikipedia 中的 IPv4 CIDR 區塊

建立子網路後,設定為公有或私有子網路

將子網路設定為公有或私有

建立子網路之後,您可以指定子網路與網際網路通訊的方式,藉此設為公有或私有。

公有子網路具有公有 IP 地址,且與網際網路閘道 (IGW) 連接,以便允許子網路執行個體與網際網路及其他 AWS 服務之間的通訊。

私有子網路中的執行個體具有私有 IP 地址,且會使用網路位址轉譯 (NAT) 閘道來傳送子網路執行個體與網際網路及其他 AWS 服務之間的往來流量。NAT 閘道必須託管在公有子網路中。

Public subnets
注意

即使您環境的執行個體是在私有子網路中啟動,VPC 也必須具備至少一個公有子網路。這是因為轉送執行個體往來流量的 NAT 閘道必須託管在公有子網路中。

將子網路設定為公有時,必須將網際網路閘道 (IGW) 連接到子網路,設定路由表以指定該 IGW 的路由,並且定義安全群組中的設定以便控制傳入和傳出流量。

如需瞭解如何執行這些任務,請參閱建立 VPC 以及其他 VPC 資源

重要

如果您的開發環境使用 SSM 存取 EC2 執行個體,請確保該執行個體已由公有子網路指派了可在子網路中啟動的公有 IP 地址。若要這麼做,您必須為公用子網路啟用自動指派公用 IP 位址選項,並將其設定為Yes。您可以在子網路設定頁面中建立 AWS Cloud9 環境之前,先在公用子網路上啟用此功能。如需在公有子網路中修改自動指派 IP 設定的相關步驟,請參閱 Amazon VPC 使用者指南中修改子網路的公用 IPv4 定址屬性。如需設定公用和私有子網路的詳細資訊,請參閱將子網路設定為公有或私有。

Private subnets

如果您建立透過 Systems Manager 存取的無輸入執行個體,您可以在私有子網路中啟動該執行個體。私有子網路沒有公有 IP 地址。因此,您需要 NAT 閘道將私有 IP 地址對應至請求的公有地址,並且還需要將公有 IP 地址對應回至回應的私有地址。

警告

您將需要為您帳戶中建立及使用的 NAT 閘道支付費用。適用的費率為 NAT 閘道的每小時用量率及資料處理率。同時也適用 Amazon EC2 資料傳輸費。如需詳細資訊,請參閱 Amazon VPC 定價

建立和設定 NAT 閘道前,您必須先執行以下作業:

  • 建立公有 VPC 子網路來代管 NAT 閘道。

  • 佈建可指派至 NAT 閘道的彈性 IP 地址

  • 如為私有子網路,請清除 Enable auto-assign public IPv4 address (啟用自動指派公有 IPv4 地址)核取方塊,以便為要在其中啟動的執行個體指派私有 IP 地址。如需詳細資訊,請參閱 Amazon VPC 使用者指南中的在 VPC 設定 IP 地址

如需瞭解任務步驟,請參閱 Amazon VPC 使用者指南中的使用 NAT 閘道

重要

目前,如果您環境的 EC2 執行個體啟動到私有子網路,則無法使用AWS 受管暫時登入資料來允許 EC2 環境代表 AWS 實體 (例如 IAM 使用者) 存取。 AWS 服務