构建 VPC 并启动 Web 服务器
- 创建 VPC。
- 创建子网。
- 配置安全组。
- 在 VPC 中启动 EC2 实例
创建VPC
进入AWS管理控制台中,创建VPC,包括单个可用区中的一个 VPC、一个互联网网关、一个公有子网和一个私有子网,以及两个路由表和一个 NAT 网关。
- 选择 VPC and more(VPC 等)。
- 在 Name tag auto-generation(名称标签自动生成)下,将 Auto-generate(自动生成)保持选中状态,但将值从 project 更改为
lab
。 - 将 IPv4 CIDR block(IPv4 CIDR 块)设置保持为 10.0.0.0/16
- 对于 Number of Availability Zones(可用区数量),请选择 1。
- 对于 Number of public subnets(公有子网的数量),请将设置保留为 1。
- 对于 Number of private subnets(私有子网的数量),请将设置保留为 1。
展开 Customize subnets CIDR blocks(自定义子网 CIDR 块)部分
- 将 Public subnet CIDR block in us-east-1a(us-east-1a 中的公有子网 CIDR 块)更改为
10.0.0.0/24
- 将 Private subnet CIDR block in us-east-1a(us-east-1a 中的私有子网 CIDR 块)更改为
10.0.1.0/24
- 将 Public subnet CIDR block in us-east-1a(us-east-1a 中的公有子网 CIDR 块)更改为
- 将 NAT gateways(NAT 网关)设置为 In 1 AZ(在一个可用区中)。
- 将 VPC endpoints(VPC 终端节点)设置为 None(无)。
- 将 DNS hostnames(DNS 主机名)和 DNS resolution(DNS 解析)都保持为 enabled(已启用)状态。
创建成功
创建额外子网
创建第二个公有子网
- VPC ID:lab-vpc(从菜单中选择)。
- Subnet name(子网名称):
lab-subnet-public2
- Availability Zone(可用区):选择第二个可用区(例如 us-east-1b)
- IPv4 CIDR block(IPv4 CIDR 块):
10.0.2.0/24
此子网将包含所有以 10.0.2.x 开头的 IP 地址。
创建第二个私有子网
- VPC ID:
lab-vpc
- Subnet name(子网名称):
lab-subnet-private2
- Availability Zone(可用区):选择第二个可用区(例如 us-east-1b)
- IPv4 CIDR block(IPv4 CIDR 块):
10.0.3.0/24
此子网将包含所有以 10.0.3.x 开头的 IP 地址。
配置路由表
现在,您将配置这个新的私有子网,将流向互联网的流量路由到 NAT 网关,以便第二个私有子网中的资源能够连接到互联网,同时这些资源仍然保持私有。这是通过配置路由表完成的。
路由表包含一组规则(称为路由),用于确定网络流量的流向。VPC 中的每个子网必须与一个路由表相关联;而路由表控制子网的路由。
此路由表用于路由来自私有子网的流量。
此路由表用于公有子网的流量
创建VPC安全组
- Security group name(安全组名称):
Web Security Group
- Description(描述):
Enable HTTP access
- VPC:选择 X 删除当前选择的 VPC,然后从下拉列表中选择 lab-vpc
- Security group name(安全组名称):
- 在 Inbound rules(入站规则)窗格中,选择 Add rule(添加规则)
配置以下设置:
- Type(类型):HTTP
- Source(源):Anywhere-IPv4
- Description(描述):
Permit web requests
启动Web服务器实例
配置网络设置:
在 Network settings(网络设置)旁边,选择 Edit(编辑),然后配置:
- Network(网络):lab-vpc
- Subnet(子网):lab-subnet-public2(非私有!)
- Auto-assign public IP(自动分配公有 IP):Enable(启用)
接下来,您将实例配置为使用之前创建的 Web Security Group。
- 在 Firewall (security groups)(防火墙(安全组))下,选择 Select existing security group(选择现有安全组)。
- 对于 Common security groups(常见安全组),选择 Web Security Group。
此安全组将允许对实例进行 HTTP 访问。
- 在 Configure storage(配置存储)部分中,保留默认设置。
注意:默认设置指定实例的根卷(托管您之前指定的 Amazon Linux 来宾操作系统)在大小为 8 GiB 的通用型 SSD (gp3) 硬盘驱动器上运行。您也可以添加更多存储卷,但在本实验中不需要这样做。 配置一个脚本,在实例启动时在实例上运行此脚本:
- 展开 Advanced details(高级详细信息)面板。
滚动到页面底部,然后复制下面显示的代码并将其粘贴到 User data(用户数据)框中:
#!/bin/bash # Install Apache Web Server and PHP dnf install -y httpd wget php mariadb105-server # Download Lab files wget https://aws-tc-largeobjects.s3.us-west-2.amazonaws.com/CUR-TF-100-ACCLFO-2/2-lab2-vpc/s3/lab-app.zip unzip lab-app.zip -d /var/www/html/ # Turn on web server chkconfig httpd on service httpd start
此脚本将在实例的来宾操作系统上以根用户权限运行,并且会在实例首次启动时自动运行。此脚本将安装一个 Web 服务器、一个数据库和 PHP 库,然后在 Web 服务器上下载并安装 PHP Web 应用程序。