VPC AWS Cloud9 开发环境的设置 - AWS Cloud9

AWS Cloud9 不再向新客户提供。 AWS Cloud9 的现有客户可以继续正常使用该服务。了解更多

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

VPC AWS Cloud9 开发环境的设置

与 Amazon Virtual Private Cloud (AmazonVPC) 关联的每个 AWS Cloud9 开发环境都必须满足特定VPC要求。这些环境包括EC2SSH环境以及与在中运行的 AWS Cloud 计算实例关联的环境VPC。示例包括亚马逊EC2和亚马逊 Lightsail 实例。

亚马逊对VPC以下内容的要求 AWS Cloud9

AWS Cloud9 使用VPC的 Amazon 需要以下设置。如果您已经熟悉这些要求并且只想创建兼容的VPC,请直接跳到创建VPC更多其他VPC资源

使用以下清单确认VPC满足以下所有要求:

  • VPC可以与开发环境相同 AWS 账户 且与 AWS Cloud9 开发环境 AWS 区域 相同,也VPC可以在与开发环境 AWS 账户 不同的环境VPC中共享。但是,VPC必须与环境 AWS 区域 相同。有关 Amazon VPCs 的更多信息 AWS 区域,请参阅查看 a VPCs 的列表 AWS 区域。有关为创建 Amazon 的更多说明 AWS Cloud9,VPC请参阅创建VPC更多其他VPC资源。有关使用共享亚马逊的信息VPCs,请参阅《亚马逊VPC用户指南》VPCs中的使用共享内容。

  • VPC必须有公有子网。如果子网的流量路由到互联网网关,则该子网是公有子网。有关 Amazon 的子网列表VPC,请参阅查看 a 的子网列表 VPC

  • 但是,如果您的环境直接访问其EC2实例SSH,则只能在公有子网中启动该实例。有关确认子网是否为公有子网的信息,请参阅 确认子网是否是公有子网

  • 如果您使用 Systems Manager 访问无入口的 Amazon EC2 实例,则可以在公有子网或私有子网中启动该实例。

  • 如果您使用的是公有子网,请将互联网网关连接到VPC。就是这样 AWS Systems Manager Agent (SSM Agent),因为该实例可以连接到 Systems Manager。

  • 如果您使用的是私有子网,请通过在公有子网中托管网关来允许子NAT网的实例与 Internet 通信。有关查看或更改互联网网关设置的更多信息,请参阅 查看或更改互联网网关的设置

  • 公有子网必须具有包含一组最少路由的路由表。要了解如何确认子网是否具有路由表,请参阅 确认子网是否具有路由表。有关如何创建路由表的信息,请参阅 创建路由表

  • VPC(或 AWS Cloud 计算实例,取决于您的架构)的关联安全组必须允许最少的入站和出站流量。有关 Amazon 的安全组列表VPC,请参阅查看安全组列表 VPC。有关在 Amazon 中创建安全组的更多信息VPC,请参阅在中创建安全组 VPC

  • 为了增加一层安全性,如果VPC有网络ACL,则该网络ACL必须允许最少的入站和出站流量。要确认 Amazon 是否至少VPC有一个网络ACL,请参阅确认是否至少VPC有一个网络 ACL。有关创建网络的信息ACL,请参阅创建网络 ACL

  • 如果您的开发环境使用SSM访问EC2实例,请确保启动实例的公有子网为该实例分配了公有 IP 地址。为此,您必须为公有子网启用自动分配公有 IP 地址选项,并将其设置为 Yes。您可以在子网设置页面中创建 AWS Cloud9 环境之前,在公有子网上启用此选项。有关修改公有子网中自动分配 IP 设置所涉及的步骤,请参阅 Amazon VPC 用户指南中的修改子网的公有IPv4寻址属性。有关配置公有子网和私有子网的更多信息,请参阅 将子网配置为公有子网或私有子网

注意

要完成以下过程,请登录 AWS Management Console 并使用管理员凭证打开亚马逊VPC控制台 (https://console.aws.amazon.com/v pc) 或亚马逊EC2控制台 (https://console.aws.amazon.com/ec2)。

如果您使用 AWS CLI 或 AWS CloudShell,我们建议您在中使用管理员凭据配置 AWS CLI 或 AWS 账户。 AWS CloudShell 如果您无法执行此操作,请咨询您的 AWS 账户 管理员。

查看 a VPCs 的列表 AWS 区域

要使用 Amazon VPC 控制台,请在 AWS 导航栏中选择 AWS 区域 AWS Cloud9 用于创建环境的。然后,在导航窗格VPCs中选择 Your。

要使用 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

输出包含的列表VPCIDs。

查看 a 的子网列表 VPC

要使用 Amazon VPC 控制台,请在导航窗格中选择您VPCs的。记下 ID 列VPC中的 VPCID。然后在导航窗格中选择 “子网”,并在列中查找包含该 ID 的VPC子网。

要使用 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网关需要公有子网。)

假设您选择VPC终端节点而不是NAT网关进行访问SSM。如果实例的自动更新和安全补丁依赖于互联网访问,则它们可能无法正常工作。您可以使用其他应用程序(例如 S AWS ystems Manager Patch Manager)来管理您的环境可能需要的任何软件更新。 AWS Cloud9 软件将照常更新。

要使用 Amazon VPC 控制台,请在导航窗格中选择子网。选中要使用的子网旁边的 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 区域 包含子网的,然后subnet-12a3456b替换为子网 ID。要在 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-1234ab56替换为 VPC ID。要在 Windows 中运行上述命令,请将单引号(' ')替换为双引号(" ")。要将上述命令与 aws-shell 一起运行,请忽略 aws

在输出中,如果至少有一个结果以开头igw-,则VPC包含互联网网关。

查看或更改互联网网关的设置

要使用 Amazon VPC 控制台,请在导航窗格中选择互联网网关。选中 Internet 网关旁边的框。要查看这些设置,请查看每个选项卡。要更改某个选项卡上的设置,请选择 Edit (编辑)(如果适用),然后按照屏幕上的说明进行操作。

要使用 AWS CLI 或查看设置,请运行 Amazon EC2 describe-internet-gateways命令。aws-shell

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

在前面的命令中,us-east-2替换为 AWS 区域 包含互联网网关的,并igw-1234ab5c替换为互联网网关 ID。要将上述命令与 aws-shell 一起运行,请忽略 aws

创建 Internet 网关

要使用 Amazon VPC 控制台,请在导航窗格中选择互联网网关。选择 Create internet gateway (创建 Internet 网关),然后按照屏幕上的说明进行操作。

要使用 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 区域 包含新 Internet 网关的。要在 Windows 中运行上述命令,请将单引号(' ')替换为双引号(" ")。要将上述命令与 aws-shell 一起运行,请忽略 aws

输出包含新 Internet 网关的 ID。

将互联网网关连接到 VPC

要使用 Amazon VPC 控制台,请在导航窗格中选择互联网网关。选中 Internet 网关旁边的框。选择 “操作”,“附加到”(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身份证替换。要将上述命令与 aws-shell 一起运行,请忽略 aws

确认子网是否具有路由表

要使用 Amazon VPC 控制台,请在导航窗格中选择子网。选中要使用的公有子网旁边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

在前面的命令中,us-east-2替换为 AWS 区域 包含公有子网的,并subnet-12a3456b替换为公有子网 ID。要在 Windows 中运行上述命令,请将单引号(' ')替换为双引号(" ")。要将上述命令与 aws-shell 一起运行,请忽略 aws

如果输出中存在值,则公有子网具有至少一个路由表。

在输出中,如果没有结果,则路由表可能与子网相关联,VPC而不是子网。要确认这一点,请针对子网的相关内容运行 Amazon EC2 describe-route-tables命令,VPC而不是子网本身,例如,如下所示。

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-1234ab56替换为 VPC ID。要在 Windows 中运行上述命令,请将单引号(' ')替换为双引号(" ")。要将上述命令与 aws-shell 一起运行,请忽略 aws

在输出中,如果至少有一个结果,则至少VPC有一个路由表。

将路由表附加到子网

要使用 Amazon VPC 控制台,请在导航窗格中选择路由表。选中要附加的路由表旁边的框。在 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 控制台,请在导航窗格中选择路由表。选择 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 控制台,请在导航窗格中选择路由表。选中路由表旁边的框。要查看这些设置,请查看每个选项卡。要更改某个选项卡中的设置,请选择 Edit (编辑),然后按照屏幕上的说明进行操作。

要使用 AWS CLI 或查看设置,请运行 Amazon EC2 describe-route-tables命令,例如,如下所示。aws-shell

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 控制台,请在导航窗格中选择安全组。在 “搜索安全组” 框中,输入 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-1234ab56替换为 VPC ID。要在 Windows 中运行上述命令,请将单引号(' ')替换为双引号(" ")。要将上述命令与 aws-shell 一起运行,请忽略 aws

输出包含相应的安全组IDs列表VPC。

查看 AWS Cloud 计算实例的安全组列表

要使用 Amazon EC2 控制台,请在导航窗格中展开实,然后选择实例。在实例列表中,选择实例旁边的框。该实例的安全组将出现在 Description (描述) 选项卡中的 Security groups (安全组) 旁边。

要使用 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

在前面的命令中,us-east-2替换为 AWS 区域 包含实例的,然后i-12a3c456d789e0123替换为实例 ID。要在 Windows 中运行上述命令,请将单引号(' ')替换为双引号(" ")。要将上述命令与 aws-shell 一起运行,请忽略 aws

输出包含该实例的安全IDs组列表。

在中查看或更改安全组的设置 VPC

要使用 Amazon VPC 控制台,请在导航窗格中选择安全组。选中安全组旁边的框。要查看这些设置,请查看每个选项卡。要更改某个选项卡上的设置,请选择 Edit (编辑)(如果适用),然后按照屏幕上的说明进行操作。

要使用 AWS CLI 或查看设置,请运行 Amazon EC2 describe-security-groups命令,例如,如下所示。aws-shell

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

在前面的命令中,us-east-2替换为 AWS 区域 包含实例的,然后sg-12a3b456替换为安全组 ID。要将上述命令与 aws-shell 一起运行,请忽略 aws

查看或更改 AWS Cloud 计算实例安全组的设置

要使用 Amazon EC2 控制台,请在导航窗格中展开实,然后选择实例。在实例列表中,选中实例旁边的框。在 Description (描述) 选项卡中,对于 Security groups (安全组)。查看每个选项卡。要更改某个选项卡上的设置,请选择 Edit (编辑)(如果适用),然后按照屏幕上的说明进行操作。

要使用 AWS CLI 或查看设置,请运行 Amazon EC2 describe-security-groups命令,例如,如下所示。aws-shell

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

在前面的命令中,us-east-2替换为 AWS 区域 包含实例的,然后sg-12a3b456替换为安全组 ID。要将上述命令与 aws-shell 一起运行,请忽略 aws

的最低入站和出站流量设置 AWS Cloud9

重要

实例的 IA 安全组可能没有入站规则。如果发生这种情况,这意味着不允许从另一台主机发送到实例的传入流量。有关使用无入口EC2实例的信息,请参阅。使用访问无入口实例 EC2 AWS Systems Manager

  • 入站:使用SSH端口 22 的所有 IP 地址。但是,您可以将这些 IP 地址限制为仅限 AWS Cloud9 使用的 IP 地址。有关更多信息,请参阅 的入站 SSH IP 地址范围 AWS Cloud9

    注意

    对于 2018 年 7 月 31 日当天或之后创建的EC2环境, AWS Cloud9 使用安全组通过SSH端口 22 限制入站 IP 地址。具体而言,这些入站 IP 地址只是 AWS Cloud9 使用的地址。有关更多信息,请参阅 的入站 SSH IP 地址范围 AWS Cloud9

  • 入站(ACLs仅限网络):对于与运行 Amazon Linux 或 Ubuntu 服务器的亚马逊EC2实例关联的环境和SSH环境,所有 IP 地址都使用端口 32768-6 TCP 1000。EC2有关更多信息以及其他 Amazon EC2 实例类型的端口范围,请参阅 A ma VPC zon 用户指南中的临时端口

  • 出站:使用任何协议和端口的所有流量源。

您可以在安全组级别设置该行为。为了获得更高的安全级别,您也可以使用网络ACL。有关更多信息,请参阅 Amazon VPC 用户指南ACLs中的安全组和网络对比

例如,要将入站和出站规则添加到安全组中,您可以按如下方式设置这些规则。

入站规则
类型 协议 端口范围

SSH(22)

TCP(6)

22

0.0.0.0(但请参阅以下注释以及的入站 SSH IP 地址范围 AWS Cloud9。)

注意

对于 2018 年 7 月 31 日当天或之后创建的EC2环境, AWS Cloud9 添加入站规则,以限制使用SSH端口 22 的入站 IP 地址。这仅限于 AWS Cloud9 使用的地址。有关更多信息,请参阅 的入站 SSH IP 地址范围 AWS Cloud9

出站规则
类型 协议 端口范围

所有流量

ALL

ALL

0.0.0.0/0

如果您还选择向网络添加入站和出站规则ACL,则可以按如下方式设置这些规则。

入站规则
规则 # 类型 协议 端口范围 允许/拒绝

100

SSH(22)

TCP(6)

22

0.0.0.0(但请参阅的入站 SSH IP 地址范围 AWS Cloud9。)

ALLOW

200

自定义TCP规则

TCP(6)

32768-61000(适用于 Amazon Linux 和 Ubuntu Server 实例。有关其他实例类型,请参阅临时端口。)

0.0.0.0/0

ALLOW

*

所有流量

ALL

ALL

0.0.0.0/0

DENY

出站规则
规则 # 类型 协议 端口范围 允许/拒绝

100

所有流量

ALL

ALL

0.0.0.0/0

ALLOW

*

所有流量

ALL

ALL

0.0.0.0/0

DENY

有关安全组和网络的更多信息ACLs,请参阅 Amazon VPC 用户指南中的以下内容。

在中创建安全组 VPC

要使用亚马逊VPC或亚马逊EC2控制台,请执行以下操作之一:

  • 在 Amazon VPC 控制台中,选择导航窗格中的安全组。选择 Create Security Group (创建安全组),然后按照屏幕上的说明进行操作。

  • 在 Amazon EC2 控制台中,展开导航窗格中的 “网络和安全”,然后选择 “安全组”。选择 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-1234ab56替换为 VPC ID。要将上述命令与 aws-shell 一起运行,请忽略 aws

确认是否至少VPC有一个网络 ACL

要使用 Amazon VPC 控制台,请在导航窗格中选择您VPCs的。选择要使用的旁边的VPC AWS Cloud9 复选框。在 “摘要” 选项卡上,如果有 “网络” 的值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-1234ab56替换为 VPC ID。要在 Windows 中运行上述命令,请将单引号(' ')替换为双引号(" ")。要将上述命令与 aws-shell 一起运行,请忽略 aws

如果输出至少包含列表中的一个条目,则至少VPC有一个网络ACL。

查看 a ACLs 的网络列表 VPC

要使用 Amazon VPC 控制台,请在导航窗格中选择网络ACLs。在 “搜索网络 ACLs” 框中,输入 VPC ID 或名称,然后按Enter。该网络ACLsVPC出现在搜索结果列表中。

要使用 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-1234ab56替换为 VPC ID。要在 Windows 中运行上述命令,请将单引号(' ')替换为双引号(" ")。要将上述命令与 aws-shell 一起运行,请忽略 aws

输出包含该网络ACLs的列表VPC。

查看或更改网络设置 ACL

要使用 Amazon VPC 控制台,请在导航窗格中选择网络ACLs。选择网络旁边的复选框ACL。要查看这些设置,请查看每个选项卡。要更改某个选项卡上的设置,请选择 Edit(编辑)(如果适用),然后按照屏幕上的说明进行操作。

要使用 AWS CLI 或查看设置,请运行 Amazon EC2 describe-network-acls命令。aws-shell

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 控制台,请在导航窗格中选择网络ACLs。选择 “创建网络”ACL,然后按照屏幕上的说明进行操作。

要使用 AWS CLI 或aws-shell,请运行 Amazon EC2 create-network-acl命令。

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

在前面的命令中 AWS 区域 ,us-east-2替换为VPC包含要连接新网络ACL的。另外,请vpc-1234ab56替换为 VPC ID。要将上述命令与 aws-shell 一起运行,请忽略 aws

创建VPC更多其他VPC资源

使用以下过程创建VPC和运行应用程序所需的其他VPC资源。VPC资源包括子网、路由表、互联网网关和网NAT关。

使用控制台创建VPC、子网和其他VPC资源
  1. 打开 Amazon VPC 控制台,网址为https://console.aws.amazon.com/vpc/

  2. 在VPC仪表板上,选择创建VPC

  3. 要创建资源 VPC,请选择更多

  4. 要为VPC资源创建名称标签,请选中自动生成名称标签。要为VPC资源提供自己的名称标签,请将其清除。

  5. 对于IPv4CIDR区块,您必须输入IPv4地址范围VPC。的推荐IPv4范围 AWS Cloud9 是10.0.0.0/16

  6. (可选)要支持IPv6流量,请选择IPv6CIDR屏蔽亚马逊提供的IPv6CIDR屏蔽。

  7. 选择租赁选项。此选项定义了您启动的EC2VPC实例是在与其他人共享的硬件上运行 AWS 账户 还是仅供您使用的硬件上运行。如果您选择待租期Default,则在此处VPC启动的EC2实例VPC将使用您在启动实例时指定的租期属性。有关更多信息,请参阅 Amazon EC2 用户指南中的使用定义的参数启动实例

    如果您选择租期Dedicated,则VPC这些实例将始终作为专用实例在专供您使用的硬件上运行。如果你使用的是 AWS Outposts,你的 Outpost 需要私有连接,并且必须使用Default租赁。

  8. 对于可用区数量 (AZs),我们建议您在至少两个中配置子网 Availability Zones 用于生产环境。要AZs为您的子网选择,请展开自定义AZs。否则,你可以让自己 AWS 选择。AZs

  9. 要配置子网,请选择公有子网的数量私有子网的数量的值。要为您的子网选择 IP 地址范围,请展开自定义子网块CIDR。否则,让我们为你 AWS 选择它们。

  10. (可选)如果私有子网中的资源需要通过以下方式访问公有 InternetIPv4:对于NAT网关,请选择要AZs在其中创建NAT网关的数量。在生产环境中,我们建议您在每个可用区部署NAT网关,其中的资源需要访问公共 Internet。

  11. (可选)如果私有子网中的资源需要通过以下方式访问公共互联网IPv6:对于仅限出口 Internet 网关,请选择 “”。

  12. (可选)要直接从您的访问Amazon S3VPC,请选择VPC终端节点,即 S3 网关。这将为 Amazon S3 创建网关VPC终端节点。有关更多信息,请参阅AWS PrivateLink 指南中的网关VPC终端节点

  13. (可选)对于DNS选项,默认情况下,两个域名解析选项均处于启用状态。如果默认设置无法满足您的需求,您可以停用这些选项。

  14. (可选)要向您的添加标签VPC,请展开其他标签,选择添加新标签,然后输入标签密钥和标签值。

  15. 预览窗格中,您可以直观地显示您配置的VPC资源之间的关系。实线表示资源之间的关系。虚线表示流向网NAT关、互联网网关和网关端点的网络流量。创建完成后VPC,您可以随时使用资源映射选项卡VPC以这种格式显示您的资源

  16. 完成配置后VPC,选择 “创建” VPC。

VPC只创建

使用以下步骤使用 Amazon VPC 控制台创建不VPC带额外VPC资源的。

使用控制台创建不VPC带额外VPC资源的
  1. 打开 Amazon VPC 控制台,网址为https://console.aws.amazon.com/vpc/

  2. 在VPC仪表板上,选择创建VPC

  3. 对于要创建的资源,请VPC仅选择。

  4. (可选)在 “名称标签” 中,输入您的名称VPC。这样做可创建具有 Name 键以及您指定的值的标签。

  5. 对于 IPv4CIDRblock,请执行以下任一操作:

    • 选择IPv4CIDR手动输入并输入您的IPv4地址范围VPC。的推荐IPv4范围 AWS Cloud9 是10.0.0.0/16

    • 选择IPAM已分配的IPv4CIDR区块,选择 Amazon VPC IP 地址管理器 (IPAM) IPv4 地址池和网络掩码。CIDR区块的大小受IPAM池中分配规则的限制。IPAM是一项可帮助您规划、跟踪和监控 AWS 工作负载的 IP 地址的VPC功能。有关更多信息,请参阅什么是IPAM? 在《亚马逊虚拟私有云 Virtual Private Cloud 管理员指南》中

      如果您使用管理IPAM自己的 IP 地址,我们建议您选择此选项。否则,您为自己指定的CIDR区块VPC可能会与IPAMCIDR分配重叠。

  6. (可选)要创建双堆栈VPC,请为您的指定IPv6地址范围VPC。对于 IPv6CIDRblock,请执行以下任一操作:

    • 选择IPAM已分配的IPv6CIDR区块并选择您的IPAMIPv6地址池。CIDR区块的大小受IPAM池中分配规则的限制。

    • 要从亚马逊IPv6地址池中请求IPv6CIDR封锁,请选择亚马逊提供的IPv6CIDR封锁。对于网络边界组,选择从中 AWS 通告 IP 地址的组。亚马逊提供的固定IPv6CIDR区块大小为 /56。

    • 选择 IPv6CIDRowned by me AWS 使用你自带的 IP 地址的IPv6CIDR封锁(BYOIP)。对于,选择要从中分配IPv6CIDR区块IPv6的地址池。

  7. (可选)选择租赁选项。此选项定义了您启动的EC2VPC实例是在与其他人共享的硬件上运行 AWS 账户 还是仅供您使用的硬件上运行。如果您选择待租期Default,则在此处启动的EC2实例VPC将使用您在启动实例时指定的租期属性。VPC有关更多信息,请参阅 Amazon EC2 用户指南中的使用定义的参数启动实例

    如果您选择租期Dedicated,则VPC这些实例将始终作为专用实例在专供您使用的硬件上运行。如果你使用的是 AWS Outposts,你的 Outpost 需要私有连接,并且必须使用Default租赁。

  8. (可选)要向您的添加标签VPC,请选择添加新标签并输入标签密钥和标签值。

  9. 选择 “创建” VPC。

  10. 创建之后VPC,您可以添加子网。

为创建子网 AWS Cloud9

您可以使用 Amazon VPC 控制台为与兼容VPC的创建子网 AWS Cloud9。您可以为EC2实例创建私有子网还是公有子网取决于您的环境如何连接到该实例:

  • 通过SSH以下方式直接访问:仅限公有子网

  • 通过 Systems Manager 访问:公有子网或私有子网

只有当您使用控制台、命令行或创建 “无入口” EC2 环境时,才能选择将您的环境启动EC2到私有子网。 AWS CloudFormation

您可以按照相同的步骤创建子网,该子网可设为公有或私有。如果子网的关联路由表包含指向互联网网关的路由,则该子网是公有子网。但是如果子网的关联路由表没有指向互联网网关的路由,则该子网是私有子网。有关更多信息,请参阅 将子网配置为公有子网或私有子网

如果您按照前面的步骤创建VPC了表单 AWS Cloud9,则无需执行此过程。这是因为 “新建 VPC” 向导会自动为您创建子网。

重要
  • AWS 账户 必须已经具有与VPC环境相同的 AWS 区域 兼容性。有关更多信息,请参阅中的VPC要求亚马逊对VPC以下内容的要求 AWS Cloud9

  • 对于此过程,我们建议您使用您的IAM管理员凭证登录 AWS Management Console 并打开 Amazon VPC 控制台 AWS 账户。如果您无法执行此操作,请咨询您的 AWS 账户 管理员。

  • 某些企业可能不允许您自行创建子网。如果您无法创建子网,请咨询您的 AWS 账户 管理员或网络管理员。

创建子网
  1. 如果亚马逊VPC控制台尚未打开,请登录 AWS Management Console 并通过 https://console.aws.amazon.com/v pc 打开亚马逊VPC控制台。

  2. 在导航栏中 AWS 区域 ,如果与环境的区域不同,请选择正确的区域。

  3. 如果尚未显示子网页,请在导航窗格中选择子网

  4. 选择创建子网

  5. Create Subnet(创建子网)对话框中,在 Name tag(名称标签)中输入子网的名称。

  6. 对于 VPC,选择VPC要与子网关联的。

  7. 对于可用区,选择子网要使用的可用区,或者选择无首选项让您 AWS 选择可用区。 AWS 区域

  8. 对于IPv4CIDR区块,以CIDR格式输入子网要使用的 IP 地址范围。此 IP 地址范围必须是中 IP 地址的子集VPC。

    有关CIDR区块的信息,请参阅 Amazon VPC 用户指南中的VPC和子网大小。另请参阅 3.1。RFC4632 中的@@ 基本概念和前缀表示法或维基百科中的IPv4CIDR方块

创建子网后,将其配置为公有子网或私有子网

将子网配置为公有子网或私有子网

创建子网后,您可以通过指定子网与互联网通信的方式将其设为公有子网或私有子网。

公有子网具有公有 IP 地址,并附有互联网网关 (IGW),允许该子网的实例与 Internet 和其他实例进行通信 AWS 服务。

私有子网中的实例具有私有 IP 地址,网络地址转换 (NAT) 网关用于在子网实例和 Internet 及其他实例之间来回发送流量 AWS 服务。NAT网关必须托管在公有子网中。

Public subnets
注意

即使您的环境实例是在私有子网中启动的,也VPC必须至少有一个公有子网。这是因为转发进出实例的流量的NAT网关必须托管在公有子网中。

将子网配置为公有子网包括为其连接 Internet 网关 (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网关每小时使用量和数据处理费率均适用。亚马逊还会收取数据传输EC2费用。有关更多信息,请参阅 Amazon VPC 定价

在创建和配置NAT网关之前,必须执行以下操作:

  • 创建用于托管VPC网NAT关的公有子网。

  • 配置可分配给NAT网关的弹性 IP 地址

  • 对于私有子网,清除 “启用自动分配公有IPv4地址” 复选框,以便为在其中启动的实例分配私有 IP 地址。有关更多信息,请参阅《Amazon VPC 用户指南VPC中的 IP 地址

有关此任务的步骤,请参阅 Amazon VPC 用户指南中的使用NAT网关

重要

目前,如果您的环境EC2实例启动到私有子网中,则无法使用AWS 托管临时证书来允许EC2环境 AWS 服务 代表 AWS 实体(例如IAM用户)进行访问。