本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
開發環境的 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
如果您使用 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 |
|
作用中 |
否 |
上述設定中,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 資源
前往 https://console.aws.amazon.com/vpc/
開啟 Amazon VPC 主控台。 -
在 VPC 儀表板上,選擇 Create VPC (建立 VPC)。
-
針對 Resources to create (建立資源),選擇 VPC and more (VPC 等)。
-
若要為 VPC 資源建立名稱標籤,請保持選取 [自動產生名稱] 標籤。若要為 VPC 資源提供您自己的名稱標籤,請將其清除。
-
對於 IPv4 CIDR 區塊,您必須輸入虛擬私人 VPC 的 IPv4 位址範圍。建議使用的 IPv4 範圍 AWS Cloud9 為
10.0.0.0/16
。 -
(選用) 若要支援 IPv6 流量,請選擇 IPv6 CIDR 區塊 > Amazon 提供的 IPv6 CIDR 區塊。
-
選擇租用選項。此選項會定義啟動至 VPC 的 EC2 執行個體,是否會在與其他 AWS 帳戶 共用的硬體上執行,或是在僅供您使用的硬體上執行。如果您選擇要使用 VPC 的租用
Default
,則在此 VPC 中啟動的 EC2 執行個體將使用啟動執行個體時指定的租用屬性。如需詳細資訊,請參閱 Amazon EC2 使用者指南中的使用已定義參數啟動執行個體。如果您選擇 VPC 的租用為
Dedicated
,則執行個體將會一律以硬體上之專用預留執行個體 (專供您使用) 的形式執行。如果您正在使用 AWS Outposts,則Outpost需要私人連接,並且必須使用Default
租用。 -
對於可用區域 (AZ) 的數目,我們建議您至少在兩個Availability Zones生產環境中佈建子網路。若要選擇子網路的 AZ,請展開自訂 AZ。否則,您可以讓您 AWS 選擇 AZ。
-
若要設定您的子網路,請選擇公有子網路數目和私有子網路數目的值。若要選擇子網路的 IP 地址範圍,請展開自訂子網路 CIDR 區塊。否則,讓我們為您 AWS 選擇它們。
-
(選擇性) 如果私有子網路中的資源需要透過 IPv4 存取公用網際網路:對於 NAT 閘道,請選擇要在其中建立 NAT 閘道的 AZ 數目。在生產環境中,建議您在每個 AZ 中部署一個 NAT 閘道,並包含需要存取公有網際網路的資源。
-
(選擇性) 如果私有子網路中的資源需要透過 IPv6 存取公用網際網路:對於僅輸出網際網路閘道,請選擇是。
-
(選擇性) 若要直接從您的 VPC 存取 Amazon S3,請選擇 VPC 人雲端端點 S3 閘道。這會為 Amazon S3 建立閘道 VPC 端點。如需詳細資訊,請參閱《AWS PrivateLink 指南》中的閘道 VPC 端點。
-
(選用) 在 DNS 選項,網域名稱解析的兩個選項都會依預設啟用。如果預設值不符合您的需求,您可以停用這些選項。
-
(選用) 若要將標籤新增至 VPC,請展開其他標籤,選擇新增標籤,然後輸入標籤金鑰和標籤值。
-
在「預覽」窗格中,您可以視覺化設定的 VPC 資源之間的關係。實線代表資源之間的關係。虛線代表 NAT 閘道、網際網路閘道和閘道端點的網路流量。建立 VPC 後,可以隨時使用資源映射索引標籤以此格式將 VPC 中的資源視覺化。
-
完成 VPC 的設定後,請選擇 [建立 V PC]。
僅建立 VPC
使用 Amazon VPC 主控台,使用下列程序建立不含額外 VPC 資源的 VPC。
如何使用主控台建立不含任何其他 VPC 資源的 VPC
前往 https://console.aws.amazon.com/vpc/
開啟 Amazon VPC 主控台。 -
在 VPC 儀表板上,選擇 Create VPC (建立 VPC)。
-
在建立資源,選擇僅 VPC。
-
(選用) 在名稱標籤中,輸入您 VPC 的名稱。執行此作業會使用
Name
做為索引鍵,以及您指定的值來建立標籤。 -
對於 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 配置重疊。
-
-
(選用) 若要建立雙堆疊 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 地址集區。
-
-
(選用) 選擇租用選項。此選項定義您啟動至 VPC 的 EC2 執行個體是否會在與其他共用的硬體上執行, AWS 帳戶 還是僅在專供您使用的硬體上執行。如果您選擇要使用 VPC 的租用
Default
,則在此 VPC 中啟動的 EC2 執行個體將使用啟動執行個體時指定的租用屬性。如需詳細資訊,請參閱 Amazon EC2 使用者指南中的使用已定義參數啟動執行個體。如果您選擇 VPC 的租用為
Dedicated
,則執行個體將會一律以硬體上之專用預留執行個體 (專供您使用) 的形式執行。如果您正在使用 AWS Outposts,則Outpost需要私人連接,並且必須使用Default
租用。 -
(選用) 若要將標籤新增至 VPC,請選擇新增標籤,然後輸入標籤金鑰和標籤值。
-
選擇建立 VPC。
-
建立 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 帳戶 系統管理員或網路管理員。
建立子網路
-
在導覽列中,如果與環境的「區域」 AWS 區域 不同,請選擇正確的「區域」。
-
如果尚未顯示 Subnets (子網路) 頁面,從導覽窗格中選擇 Subnets (子網路)。
-
選擇 Create Subnet (建立子網路)。
-
在 Create Subnet (建立子網路) 對話方塊中,為 Name tag (名稱標籤) 輸入子網路的名稱。
-
對於 VPC,選擇要與此子網路關聯的 VPC。
-
對於可用區域,請選擇子網路中 AWS 區域 的可用區域,或選擇「無偏好設定」 讓您 AWS 選擇可用區域。
-
在 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 閘道必須託管在公有子網路中。