AWS 入门托管Web 应用程序

AWS 入门托管Web 应用程序
AWS 入门
托管 Web 应用程序
AWS 入门 托管 Web 应用程序
AWS 入门: 托管 Web 应用程序
Copyright © 2015 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.
Abstract
开始在 Linux 环境中的 Amazon Web Services 上托管 Web 应用程序。
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner
that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not
owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by
Amazon.
AWS 入门 托管 Web 应用程序
Table of Contents
托管 Web 应用程序 ........................................................................................................................ 1
Web 应用程序托管架构 .......................................................................................................... 1
教程 .................................................................................................................................... 2
定价 .................................................................................................................................... 3
设置 ............................................................................................................................................ 4
Sign Up for AWS ................................................................................................................... 4
Create an IAM User ............................................................................................................... 5
Create a Key Pair .................................................................................................................. 6
配置 Virtual Private Cloud (VPC) .............................................................................................. 7
步骤 1:创建应用程序服务器 ........................................................................................................... 9
为 Amazon EC2 实例创建安全组 .............................................................................................. 9
创建 IAM 角色 ..................................................................................................................... 10
启动 EC2 实例 .................................................................................................................... 10
步骤 2:创建数据库服务器 ............................................................................................................ 12
为数据库实例创建安全组 ....................................................................................................... 12
启动数据库实例 ................................................................................................................... 12
步骤 3:部署应用程序 .................................................................................................................. 16
连接到您的 Linux 实例 .......................................................................................................... 16
配置 EC2 实例 .................................................................................................................... 18
启动 Web 服务器 ......................................................................................................... 18
安装应用程序 .............................................................................................................. 19
测试网站 .................................................................................................................... 22
更新权限 .................................................................................................................... 24
创建自定义 AMI ................................................................................................................... 24
步骤 4:对您的 Web 应用程序进行扩展和负载均衡 ............................................................................ 25
配置 Auto Scaling 和 Load Balancing ...................................................................................... 25
测试负载均衡器 ................................................................................................................... 27
步骤 5:将域名与您的网站关联 ...................................................................................................... 29
注册域名 ............................................................................................................................ 29
分配名称服务器以便为您的域路由流量 .................................................................................... 30
为您的域和子域创建记录集 .................................................................................................... 30
设置 DNS 提供程序 .............................................................................................................. 31
步骤 6:清除 ............................................................................................................................... 32
删除 Amazon Route 53 托管区域 ............................................................................................ 32
删除 Auto Scaling 组 ............................................................................................................ 33
删除负载均衡器 ................................................................................................................... 33
删除自定义 AMI ................................................................................................................... 33
终止数据库实例 ................................................................................................................... 34
相关资源 .................................................................................................................................... 35
iii
AWS 入门 托管 Web 应用程序
Web 应用程序托管架构
在 Amazon Web Services 上托管 Web
应用程序
Web 应用程序 是指用户通过 Web 浏览器或专门的 Web 客户端访问的任何软件。Web 应用程序通常具
有逻辑层级结构。例如,常用结构使用三个层级。第一层是 Web 浏览器,它负责显示用户界面。中间层
是应用程序服务器,它负责提供应用程序功能。第三层是数据库服务器或文件系统,它负责存储数据。
此教程指导您逐步完成在 AWS 基础设施上托管可扩展且可靠的 Web 应用程序的过程。我们将通过部署
一个 .NET 示例应用程序演示最佳实践。完成此教程后,您应该能够执行以下操作:
•
•
•
•
•
创建称为 EC2 实例 的虚拟服务器,并使用它作为云中的应用程序服务器。
创建称为数据库实例 的数据库服务器。
将示例 Web 应用程序部署到应用程序服务器。
设置扩展和负载均衡,在最小数量的应用程序服务器上分配流量。
将域名与您的 Web 应用程序关联。
Web 应用程序托管架构
在创建和部署 Web 应用程序前,您必须对架构进行设计以确保其满足您的要求。下表显示了 Amazon
EC2、Amazon EBS、Amazon S3、Auto Scaling、Elastic Load Balancing、Amazon CloudWatch、
Amazon Route 53 和 Amazon CloudFront 如何协同工作,以提供经济实用的无缝架构。
要求
解决方案
可靠的低成本应用程序和数据库
服务器
• Amazon EC2 在云中提供虚拟服务器。您可以控制可访问您的虚拟
服务器的协议、端口和源 IP 地址范围。
• Amazon EBS 为 Amazon EC2 虚拟服务器提供持久性文件系统。
• Amazon RDS 提供易于管理、经济高效且大小可调的数据库服务
器。
1
AWS 入门 托管 Web 应用程序
教程
要求
解决方案
可轻松配置服务器来处理高峰容
量,不需要额外容量时不会产生
费用
• Elastic Load Balancing 支持主机的运行状况检查,跨多个隔离位
置(称为可用区)向虚拟服务器分配流量,并动态添加或删除负载
均衡循环中的虚拟服务器。
• Auto Scaling 支持可按需扩展或收缩的服务器组。
• CloudWatch 收集您的虚拟服务器的指标数据,Auto Scaling 可以
使用这些数据。
将用户路由到您的 Web 应用程序 • Amazon Route 53 将人类可读的名称映射到 IP 地址。
的可靠且经济实用的方法
下图为使用上表所述服务的示例 Web 应用程序架构。Web 和应用程序层在公有子网中的 EC2 实例上运
行。通过 SSH 对 EC2 实例的访问由安全组控制,安全组起到防火墙的作用。Auto Scaling 组维护着一个
EC2 实例队列,该队列可以进行扩展以处理当前负载。此 Auto Scaling 组跨越多个可用区,以针对单个
可用区的可能故障提供保护。负载均衡器在 EC2 实例之间均匀分配流量。当 Auto Scaling 组基于负载启
动或终止实例时,负载均衡器会自动做出相应调整。数据库层由私有子网中的数据库实例组成,包括位于
多个可用区中用于故障转移保护的主节点和本地从属节点。从 EC2 实例对数据库实例的访问由安全组控
制。Amazon Route 53 向您在 AWS 上托管的基础设施提供安全可靠的域名路由。
教程
此教程将指导您逐步完成在 AWS 上托管 Web 应用程序的过程。 我们将使用 AWS 管理控制台访问 AWS。
1.
2.
创建应用程序服务器 (p. 9)
创建数据库服务器 (p. 12)
3.
4.
将应用程序部署到应用程序服务器 (p. 16)
对 Web 应用程序进行扩展和负载均衡 (p. 25)
5.
将域名与网站关联 (p. 29)
2
AWS 入门 托管 Web 应用程序
定价
6.
清除 (p. 32)
或者,您也可以使用 Elastic Beanstalk 来创建、扩展和监控您的服务器并实现其负载均衡。有关更多信
息,请参阅 Getting Started with AWS: Deploying a Web App或 AWS Elastic Beanstalk 开发人员指南。
定价
您可以使用 AWS 简单月度成本结算器估算在 AWS 上托管 Web 应用程序可能需要的成本。
请注意,如果您是在过去 12 个月内创建的 AWS 账户,您将有资格享用 AWS 免费套餐。
有关 AWS 定价的更多信息,请参阅定价。
3
AWS 入门 托管 Web 应用程序
Sign Up for AWS
进行设置以在 AWS 上托管 Web 应用
程序
Abstract
完成以下任务以便为首次使用 AWS 做好准备。
在开始此教程之前,请完成以下任务(如果尚未完成)。
任务
• Sign Up for AWS (p. 4)
• Create an IAM User (p. 5)
• Create a Key Pair (p. 6)
• 配置 Virtual Private Cloud (VPC) (p. 7)
Sign Up for AWS
When you sign up for Amazon Web Services (AWS), your AWS account is automatically signed up for
all services in AWS and you can start using them immediately. You are charged only for the services that
you use.
If you created your AWS account less than 12 months ago, you can get started with AWS for free. For
more information, see AWS Free Tier.
If you have an AWS account already, skip to the next step. If you don't have an AWS account, use the
following procedure to create one.
To create an AWS account
1.
2.
打开 http://aws.amazon.com/,然后单击 Sign Up (注册)。
按照屏幕上的说明进行操作。
作为注册流程的一部分,您会收到一个电话,需要您使用电话键盘输入一个 PIN 码。
4
AWS 入门 托管 Web 应用程序
Create an IAM User
Create an IAM User
Services in AWS require that you provide credentials when you access them, so that the service can
determine whether you have permission to access its resources. The console requires your password.
You can create access keys for your AWS account to access the command line interface or API. However,
we don't recommend that you access AWS using the credentials for your AWS account; we recommend
that you use AWS Identity and Access Management (IAM) instead in order to better protect your AWS
resources from unauthorized access.
Create an IAM user, and then add the user to an IAM group with administrative permissions or and grant
this user administrative permissions. You can then access AWS using a special URL and the credentials
for the IAM user.
If you signed up for AWS but have not created an IAM user for yourself, you can create one using the
IAM console.
为管理员创建组
1.
2.
3.
登录 AWS 管理控制台 并通过以下网址打开 IAM 控制台 https://console.aws.amazon.com/iam/。
在导航窗格中,选择 Groups,然后选择 Create New Group。
对于 Group Name,请为您的组键入一个名称(如 Administrators),然后选择 Next Step。
4.
在策略列表中,选中 AdministratorAccess 策略旁边的复选框。您可以使用 Filter (筛选) 菜单和 Search
(搜索) 框来筛选策略列表。
选择 Next Step,然后选择 Create Group。
5.
您的新组列在 Group Name (组名) 下方。
要为您自己创建 IAM 用户,请将用户添加到 Administrators 组中,并为该用户创建密码
1.
2.
3.
4.
5.
6.
7.
在导航窗格中选择 Users,然后选择 Create New Users。
在框 1 中,键入用户名。清除 Generate an access key for each user 旁的复选框。然后选择 Create。
在用户列表中,选择您刚创建的用户的名称(而不是复选框)。可以使用 Search 框搜索该用户名。
选择 Groups 选项卡,然后选择 Add User to Groups。
选中 Administrators 组旁的复选框。然后选择 Add to Groups。
选择 Security Credentials 选项卡。在 Sign-In Credentials 下,选择 Manage Password。
选择 Assign a custom password。然后在 Password 和 Confirm Password 框中键入密码。完成后,
请选择 Apply。
To sign in as this new IAM user, sign out of the AWS console, then use the following URL, where
your_aws_account_id is your AWS account number without the hyphens (for example, if your AWS account
number is 1234-5678-9012, your AWS account ID is 123456789012):
https://your_aws_account_id.signin.aws.amazon.com/console/
Enter the IAM user name and password that you just created. When you're signed in, the navigation bar
displays "your_user_name @ your_aws_account_id".
If you don't want the URL for your sign-in page to contain your AWS account ID, you can create an account
alias. From the IAM dashboard, click Customize and enter an alias, such as your company name. To sign
in after you create an account alias, use the following URL:
https://your_account_alias.signin.aws.amazon.com/console/
5
AWS 入门 托管 Web 应用程序
Create a Key Pair
To verify the sign-in link for IAM users for your account, open the IAM console and check under IAM users
sign-in link on the dashboard.
Create a Key Pair
AWS uses public-key cryptography to secure the login information for your instance. A Linux instance
has no password; you use a key pair to log in to your instance securely. You specify the name of the key
pair when you launch your instance, then provide the private key when you log in using SSH.
If you haven't created a key pair already, you can create one using the Amazon EC2 console.
To create a key pair
1.
2.
3.
4.
5.
6.
Open the Amazon EC2 console.
From the navigation bar, in the region selector, click 美国西部(俄勒冈).
In the navigation pane, click Key Pairs.
Click Create Key Pair.
Enter a name for the new key pair in the Key pair name field of the Create Key Pair dialog box, and
then click Create. Choose a name that is easy for you to remember.
The private key file is automatically downloaded by your browser. The base file name is the name
you specified as the name of your key pair, and the file name extension is .pem. Save the private
key file in a safe place.
Important
This is the only chance for you to save the private key file. You'll need to provide the name
of your key pair when you launch an instance and the corresponding private key each time
you connect to the instance.
7.
Prepare the private key file. This process depends on the operating system of the computer that
you're using.
•
If your computer runs Mac OS X or Linux, use the following command to set the permissions of
your private key file so that only you can read it.
$ chmod 400 my-key-pair.pem
•
If your computer runs Windows, use the following steps to convert your .pem file to a .ppk file
for use with PuTTY.
a.
Download and install PuTTY from http://www.chiark.greenend.org.uk/~sgtatham/putty/. Be
sure to install the entire suite.
b.
Start PuTTYgen (for example, from the Start menu, click All Programs > PuTTY >
PuTTYgen).
c.
d.
Under Type of key to generate, select SSH-2 RSA.
Click Load. By default, PuTTYgen displays only files with the extension .ppk. To locate
your .pem file, select the option to display files of all types.
e.
Select your private key file and then click Open. Click OK to dismiss the confirmation dialog
box.
Click Save private key. PuTTYgen displays a warning about saving the key without a
passphrase. Click Yes.
f.
6
AWS 入门 托管 Web 应用程序
配置 Virtual Private Cloud (VPC)
g.
Specify the same name that you used for the key pair (for example, my-key-pair) and
then click Save. PuTTY automatically adds the .ppk file extension.
配置 Virtual Private Cloud (VPC)
通过 Amazon VPC,您可以将 AWS 资源启动到您定义的称为 Virtual Private Cloud (VPC) 的虚拟网络
中。本教程要求使用 VPC。因此,我们将检查您是否已有默认 VPC,如果没有,则创建一个 VPC。
测试您是否有默认 VPC
1.
2.
打开 Amazon VPC 控制台。
在导航栏中,确认选定区域为 美国西部(俄勒冈)。
3.
4.
在导航窗格中,单击 Your VPCs (您的 VPC)。
结果为以下三种情况之一:
• 列表是空的,表示您没有默认 VPC。
• 列表中有一个默认 VPC(带有 CIDR 块 172.31.0.0/16 的 VPC)。
• 列表中有一个或多个非默认 VPC(CIDR 块不是 172.31.0.0/16 的 VPC)。
如果您有默认 VPC,则可将其用于本教程,并可跳过下面的步骤。否则,请通过以下步骤创建含有两个
公有子网的 VPC 以用于本教程。
创建 VPC
1.
2.
3.
在 VPC 控制面板上,单击 Start VPC Wizard (启动 VPC 向导)。
在 Step 1: Select a VPC Configuration (步骤 1: 选择 VPC 配置) 页面上,确保选择 VPC with a Single
Public Subnet (带有单个公有子网的 VPC),然后单击 Select (选择)。
在 Step 2: VPC with a Single Public Subnet (步骤 2: 带有单个公有子网的 VPC) 页面上,执行以下步
骤:
a.
b.
在 VPC name (VPC 名称) 中,输入您的 VPC 的友好名称。
在 Availability Zone (可用区) 中,从列表中选择第一个可用区。
c.
在 Subnet name (子网名称) 中,将 ( ) 的名称更新为 Public subnet 1Public subnet
。
d.
e.
保留其他默认配置设置,然后单击 Create VPC (创建 VPC)。
在确认页面上,单击 OK (确定)。
4.
在导航窗格中,单击 Route Tables (路由表)。查找 Main (主) 列为 Yes (是) 的路由表。这是主路由
表。单击主路由表的 Name (名称) 列,输入 Main,然后按 Enter。单击另一个路由表的 Name (名
称) 列,输入 Custom,然后按 Enter。
5.
执行以下操作添加第二个公有子网,这样,您将有两个子网用于您的应用程序服务器。(请注意,默
认 VPC 已为每个可用区包含一个公有子网。)
a.
b.
在导航窗格中,单击 Subnets (子网)。
单击 Create Subnet (创建子网)。
c.
在 Name tag (名称标签) 中,输入名称 Public subnet 2。
d.
在 VPC 中,选择您的 VPC。
7
AWS 入门 托管 Web 应用程序
配置 Virtual Private Cloud (VPC)
e.
f.
在 Availability Zone (可用区) 中,从列表中选择第二个可用区。
在 CIDR block (CIDR 块) 中,输入 10.0.1.0/24。
g.
单击 Yes, Create (是,创建)。
h.
选择名为 Public subnet 2 的子网,然后选择 Route Table (路由表) 选项卡。单击 Edit (编
辑),从 CustomChange to (更改为) 中选择名为 的路由表,然后单击 Save (保存)。请注意,需
要执行此步骤才能将该子网设置为具有 Internet 路由的公有子网。
接下来,我们需要将您的数据库服务器的私有子网添加到您的默认 VPC 或刚创建的 VPC。
将两个私有子网添加到 VPC
1.
2.
在导航窗格中,单击 Subnets (子网)。
单击 Create Subnet (创建子网)。
3.
在 Name tag (名称标签) 中,输入名称 Private subnet 1。
4.
5.
6.
在 VPC 中,选择您的 VPC。
在 Availability Zone (可用区) 中,从列表中选择第一个可用区。
在 CIDR block (CIDR 块) 中,输入 10.0.2.0/24。
7.
8.
9.
单击 Yes, Create (是,创建)。
单击 Create Subnet (创建子网)。
在 Name tag (名称标签) 中,输入名称 Private subnet 2。
10. 在 VPC 中,选择您的 VPC。
11. 在 Availability Zone (可用区) 中,从列表中选择第二个可用区。
12. 在 CIDR block (CIDR 块) 中,输入 10.0.3.0/24。
13. 单击 Yes, Create (是,创建)。
有关 Amazon VPC 的详细信息,请参阅 Amazon VPC 用户指南。
8
AWS 入门 托管 Web 应用程序
为 Amazon EC2 实例创建安全组
步骤 1:创建应用程序服务器
您可以使用 Amazon EC2 创建用于运行您的 Web 应用程序的虚拟服务器。这些虚拟服务器称为 EC2 实
例。通常,您应从称为亚马逊系统映像 (AMI) 的基本映像开始。
要使用 Amazon EC2 创建虚拟服务器,请完成以下任务。
任务
• 为 Amazon EC2 实例创建安全组 (p. 9)
• 创建 IAM 角色 (p. 10)
• 启动 EC2 实例 (p. 10)
为 Amazon EC2 实例创建安全组
安全组起到防火墙的作用,可控制允许到达一个或多个 EC2 实例的流量。启动实例时,您可以为其指定
一个或多个安全组。您可以向每个安全组添加规则,以控制允许到达分配有该安全组的实例的流量。请注
意,您随时可以修改安全组的规则;新规则会立即生效。
在本教程中,我们将创建一个安全组并添加以下规则:
• 允许来自任何地方的入站 HTTP 访问
• 允许来自您的计算机的公有 IP 地址的入站 SSH 流量,以便您能够连接到您的实例
创建和配置您的安全组
1.
决定谁需要访问您的实例;例如,单个计算机或您信任的网络上的所有计算机。在本教程中,您可以
使用您的计算机的公有 IP 地址,您可以使用一个服务获取该地址。例如,AWS 提供以下服务:http://
checkip.amazonaws.com。要查找另一项可提供您的 IP 地址的服务,请使用搜索短语“what is my IP
address”。
2.
如果您正通过 ISP 或从防火墙后面连接,没有静态 IP 地址,您需要找出客户端计算机使用的 IP 地
址范围。如果您不知道此地址范围,则可以使用 0.0.0.0/0 完成本教程。但是,这样做对于生产环
境是不安全的,因为每个人都可以使用 SSH 访问您的实例。
打开 Amazon EC2 控制台。
3.
4.
在导航栏中,确认选定区域为 美国西部(俄勒冈)。
在导航窗格中,单击 Security Groups (安全组),然后单击 Create Security Group (创建安全组)。
5.
输入 WebServerSG 作为安全组的名称并提供描述。
9
AWS 入门 托管 Web 应用程序
创建 IAM 角色
6.
7.
从 列表中选择您的 VPC。
在 Inbound (入站) 选项卡上,执行以下操作以添加规则:
a.
b.
8.
单击 Add Rule (添加规则),然后从 Type (类型) 列表中选择 SSH。在 Source (源) 下面,选择
Custom IP (自定义 IP),然后在文本框中输入您在步骤 1 中决定的公有 IP 地址范围。
单击 Add Rule (添加规则),然后从 Type (类型) 列表中选择 HTTP。
单击 Create (创建)。
有关更多信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例) 中的安全组。
创建 IAM 角色
必须使用由 AWS 颁发的证书对发送到 AWS 的所有请求进行加密签名。因此,您需要通过某种策略为
EC2 实例上运行的软件管理证书。您必须以安全的方式分发、存储和轮换这些证书,并且能让软件访问
这些证书。
我们设计了 IAM 角色,以便您可以为实例上运行的软件有效地管理 AWS 证书。您需要创建一个 IAM 角
色并为其配置该软件所需的权限。有关此方法的优点的更多信息,请参阅 Amazon EC2 用户指南(适用
于 Linux 实例) 中的适用于 Amazon EC2 的 IAM 角色和IAM 用户指南 中的角色(委托和联合)。
下面的过程创建一个 IAM 角色,用来授予 Web 应用程序对 AWS 的完全访问权限。在生产中,您可以对
Web 应用程序可以访问的服务和资源进行限制。
创建对 AWS 具有完全访问权限的 IAM 角色
1.
2.
3.
4.
5.
打开 IAM 控制台。
在导航窗格中单击 Roles (角色),然后单击 Create New Role (创建新角色)。
输入角色名称,然后单击 Next Step (下一步)。请记住此名称,因为在启动实例时会用到它。
在 AWS Service Roles (AWS 服务角色) 下,选择 Amazon EC2。在 Select Policy Template (选择策
略模板) 下,选择 Power User Access (高级用户访问)。检查策略,然后单击 Next Step (下一步)。
检查角色信息,然后单击 Create Role (创建角色)。
启动 EC2 实例
现在,您已创建密钥对、安全组和 IAM 角色,为启动实例做好了准备。
Important
如果您是在过去 12 个月内创建的 AWS 账户,并且还没有超出 Amazon EC2 和 Amazon EBS 的
免费套餐权益范围,则此实例将不产生任何费用,因为我们会帮助您选择免费套餐权益范围内的
选项。否则,从您启动实例起到将其终止,即使实例处于闲置状态,您也需要支付这段时间内该
实例的标准 Amazon EC2 使用费。如果您不中断地完成此教程并在完成后终止实例,则总费用非
常低。有关更多信息,请参阅 Amazon EC2 定价。
启动 EC2 实例
1.
2.
打开 Amazon EC2 控制台。
在导航栏中,确认选定区域为 美国西部(俄勒冈)。
3.
在导航窗格中,单击 Instances (实例),然后单击 Launch Instance (启动实例)。
10
AWS 入门 托管 Web 应用程序
启动 EC2 实例
4.
5.
6.
在 Choose an Amazon Machine Image (选择亚马逊系统映像) 页面上,单击 Free tier only (仅免费套
餐),然后选择具有 HVM 虚拟化类型的 Amazon Linux AMI。
在 Choose an Instance Type (选择实例类型) 页面上,默认情况下已选择 t2.micro 实例。要一直享
受免费套餐,请保留此实例类型。单击 Next: Configure Instance Details (下一步: 配置实例详细信
息)。
在 Configure Instance Details (配置实例详细信息) 页面中,执行以下操作:
a.
必须在子网中启动 T2 实例。从 Network (网络) 中选择您的 VPC,然后从 Subnet (子网) 中选择
您的一个公有子网。
b.
确保在列表中为 Auto-assign Public IP (自动分配公有 IP) 选择了 Enable (启用)。否则,您的实
例将不会得到公有 IP 地址或公有 DNS 名称。
从 IAM role (IAM 角色) 中选择您的 IAM 角色。请注意,您在启动实例时必须选择 IAM 角色;不
能为运行的实例添加角色。
单击 Review and Launch (审核和启动)。如果系统提示您指定根卷类型,请进行选择,然后单击
Next (下一步)。
c.
d.
7.
在 Review Instance Launch (查看实例启动) 页面上,单击 Edit security groups (编辑安全组)。在
Configure Security Group (配置安全组) 页面上,单击 Select an existing security group (选择现有安
全组),选择您创建的 WebServerSG 安全组,然后单击 Review and Launch (查看并启动)。
8.
9.
在 Review Instance Launch (查看实例启动) 页面上,单击 Launch (启动)。
在 Select an existing key pair or create a new key pair (选择现有密钥对或创建新密钥对) 对话框中,
选择 Choose an existing key pair (选择现有密钥对),然后选择您在进行设置以在 AWS 上托管 Web
应用程序 (p. 4)中创建的密钥对。单击确认复选框,然后单击 Launch Instances (启动实例)。
10. 在导航窗格中,单击 Instances (实例) 以查看您的实例的状态。最初,您的实例的状态是 pending。
在状态变为 running 后,您的实例即准备就绪,可以使用。
11
AWS 入门 托管 Web 应用程序
为数据库实例创建安全组
步骤 2:创建数据库服务器
您可以使用 Amazon Relational Database Service (Amazon RDS) 运行数据库服务器。在此步骤中,您将
启动一个多可用区数据库实例。这意味着 Amazon RDS 会自动在不同可用区中预配置和维护同步备用副
本。对数据库实例的更新将同步复制到可用区的备用副本中,以保持同步并保护最新的数据库更新,以防
数据库实例出现故障。在某些类型的计划维护中,或在数据库实例或可用区发生故障的情况下,Amazon
RDS 将自动故障转移到备用副本。由于数据库实例的名称记录相同,您的应用程序无需手动管理干预就
可恢复数据库操作。
任务
• 为数据库实例创建安全组 (p. 12)
• 启动数据库实例 (p. 12)
为数据库实例创建安全组
创建允许您的应用程序服务器访问您的数据库服务器的安全组。
为您的数据库实例创建安全组
1.
2.
3.
打开 Amazon EC2 控制台。
在导航栏中,确认选定区域为 美国西部(俄勒冈)。
在导航窗格中,单击 Security Groups (安全组),然后单击 Create Security Group (创建安全组)。
4.
输入 DBServerSG 作为安全组的名称并提供描述。
5.
6.
从 列表中选择您的 VPC。
在 Inbound (入站) 选项卡上,单击 Add Rule (添加规则)。从 Type (类型) 列表中选择 MYSQL。在
Source (源) 下,选择 Custom IP (自定义 IP),开始在文本框中键入 WebServerSG,然后选择
WebServerSG 安全组。
单击 Create (创建)。
7.
启动数据库实例
现在您已创建安全组,已准备就绪,可以启动您的实例
12
AWS 入门 托管 Web 应用程序
启动数据库实例
Important
从您启动实例起到将其终止,即使实例处于闲置状态,您也需要支付这段时间内该实例的标准
Amazon RDS 使用费。如果您不中断地完成此教程并在完成后终止您的数据库实例,则总费用非
常低。有关更多信息,请参阅 Amazon RDS 定价。
启动实例
1.
打开 Amazon RDS 控制台。
2.
3.
在导航栏中,确认选定区域为 美国西部(俄勒冈)。
在导航窗格中,单击 Subnet Groups (子网组),然后单击 Create DB Subnet Group (创建数据库子网
组)。
如下完成 Create DB Subnet Group (创建数据库子网组) 页面:
4.
a.
在 Name (名称) 中输入名称。例如 my-db-subnet-group。
b.
c.
d.
在 Description (描述) 中输入描述。
从 VPC ID 中选择您的 VPC。
在 Availability Zone (可用区) 中,从列表中选择第一个可用区。从 Subnet ID (子网 ID) 中选择私
有子网,然后单击 Add (添加)。
在 Availability Zone (可用区) 中,从列表中选择第二个可用区。从 Subnet ID (子网 ID) 中选择私
有子网,然后单击 Add (添加)。
单击 Yes, Create (是,创建)。
e.
f.
5.
6.
在导航窗格中,单击 Instances (实例),然后单击 Launch DB Instance (启动数据库实例)。
在 Select Engine (选择引擎) 页面中,选择 MySQL 选项卡,然后单击 Select (选择)。
7.
在 Do you plan to use this database for production purposes (您是否计划为生产目的使用此数据库)
页面上,选择 Yes, use Multi-AZ Deployment and Provisioned IOPS Storage as defaults while creating
this instance (是,创建此实例时默认使用多可用区部署和预配置 IOPS 存储),然后单击 Next (下一
步)。
在 Specify DB Details (指定数据库详细信息) 页面中,执行以下操作:
8.
13
AWS 入门 托管 Web 应用程序
启动数据库实例
a.
b.
保留默认许可模式和默认数据库引擎版本。
从 DB Instance Class (数据库实例类) 列表中选择 db.t2.micro。
c.
在 Multi-AZ Deployment (多可用区部署) 中,选择 Yes (是)。虽然多可用区部署花费较多,但它
是最佳实践。
d.
从 Storage Type (存储类型) 中选择 General Purpose (SSD)(通用型(SSD)) 并保留 Allocated
Storage (分配的存储空间) 的默认值。
e.
在 DB Instance Identifier (数据库实例标识符) 中,输入 my-db-instance。
f.
在 Master Username (主用户名) 中,输入 db_user。
g.
在 Master Password (主密码) 和 Confirm Password (确认密码) 中输入密码。在安全的地方记录
您的密码。
单击 Next (下一步)。
h.
9.
在 Configure Advanced Settings (配置高级设置) 页面上,执行以下操作:
a.
b.
在 Network & Security (网络与安全) 下,从 VPC 中选择您的 VPC,然后从 VPC Security Groups
(VPC 安全组) 中选择 DBServerSG。
在 Database Options (数据库选项) 下的 Database Name (数据库名称) 中,输入 my_database。
c.
单击 Launch DB Instance (启动数据库实例)。
14
AWS 入门 托管 Web 应用程序
启动数据库实例
10. 启动可能需要几分钟才能完成。当您看到正在创建实例的通知时,单击 Close (关闭)。
在导航窗格中单击 Instances (实例) 以查看您的数据库实例的状态。最初,您的数据库实例的状态是
creating。在状态变为 available 后,您的数据库实例即准备就绪,可以使用。
15
AWS 入门 托管 Web 应用程序
连接到您的 Linux 实例
步骤 3:部署应用程序
通过完成以下任务向您的 EC2 实例部署应用程序。在本教程中,您将安装 Drupal 并创建测试页面。
任务
• 连接到您的 Linux 实例 (p. 16)
• 配置 EC2 实例 (p. 18)
• 创建自定义 AMI (p. 24)
连接到您的 Linux 实例
启动您的实例之后,您可以连接到该实例,然后像使用您面前的计算机一样来使用它。
在您连接到实例前,请使用 Amazon EC2 控制台获取实例的公有 DNS 名称。在 Description (描述) 选项
卡上选择实例并找到 Public DNS (公有 DNS)。
Tip
如果您的实例没有公有 DNS 名称,请打开 VPC 控制台,选择 VPC,然后检查 Summary (摘要)
选项卡。如果 DNS resolution (DNS 解析) 或 DNS hostnames (DNS 主机名) 是 no,请单击 Edit
(编辑) 并将值更改为 yes。
用于连接到 Linux 实例的工具取决于计算机上运行的操作系统。如果计算机运行 Windows,您将使用
PuTTY 进行连接。如果计算机运行 Linux 或 Mac OS X,则将使用 SSH 客户端连接。
使用 PuTTY 从 Windows 连接到 Linux 实例
1.
2.
启动 PuTTY(在Start (开始) 菜单中,单击 All Programs > PuTTY > PuTTY (所有程序 > PuTTY >
PuTTY)。
在“Category (类别)”窗格中,选择 Session (会话) 并填写以下字段:
a.
b.
在 Host Name (主机名) 框中,输入 [email protected]_dns_name。
确保 Port (端口) 为 22。
16
AWS 入门 托管 Web 应用程序
连接到您的 Linux 实例
3.
4.
在 Category (类别) 窗格中的 Connection type (连接类型) 下,展开 SSH,然后选择 Auth (身份验
证)。完成以下操作:
a.
b.
单击 Browse (浏览)。
选择您为密钥对生成的 .ppk 文件,然后单击 Open (打开)。
c.
单击 Open (打开) 以开始 PuTTY 会话。
如果这是您第一次连接到此实例,PuTTY 会显示安全警告对话框,询问您是否信任您要连接到的主
机。单击 Yes (是)。此时会打开一个窗口并且您连接到了您的实例。
使用 SSH 从 Linux 或 Mac OS X 连接到您的实例
1.
使用 ssh 命令连接到实例。您需要指定私有密钥 (.pem) 文件和 [email protected]_dns_name。
ssh -i my-key-pair.pem [email protected]
17
AWS 入门 托管 Web 应用程序
配置 EC2 实例
您将看到如下响应。
The authenticity of host 'ec2-198-51-100-1.compute-1.amazonaws.com
(10.254.142.33)'
can't be established.
RSA key fingerprint is
1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f.
Are you sure you want to continue connecting (yes/no)?
2.
Enter yes.
您将看到如下响应。
Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (RSA)
to the list of known hosts.
配置 EC2 实例
为了配置实例,我们将启动 Web 服务器,安装应用程序,然后配置该应用程序以使用数据库服务器。如
果您没有 Web 应用程序的文件,则可以使用 Drupal 应用程序,就像本教程中这样。
任务
• 启动 Web 服务器 (p. 18)
• 安装应用程序 (p. 19)
• 测试网站 (p. 22)
• 更新权限 (p. 24)
启动 Web 服务器
通过以下步骤启动 Web 服务器。
启动 Web 服务器
1.
为确保您的软件包处于最新状态,请对您的实例运行以下命令以执行快速软件更新。
[ec2-user ~]$ sudo yum update -y
2.
执行以下步骤以安装 Apache Web 服务器和 PHP 软件包。
[ec2-user ~]$ sudo yum groupinstall -y "Web Server" "PHP Support"
3.
(可选)如果您需要 MySQL 的 PHP 支持(就像 Drupal 那样),请运行以下命令。
[ec2-user ~]$ sudo yum install php-mysql php-xml php-mbstring php-gd
4.
使用以下命令启动 Apache Web 服务器。
18
AWS 入门 托管 Web 应用程序
安装应用程序
[ec2-user ~]$ sudo service httpd start
5.
使用以下命令配置 Apache Web 服务器以使其在每次系统启动时启动。
[ec2-user ~]$ sudo chkconfig httpd on
6.
在继续执行下一步之前,请确认 Web 服务器正在运行。在计算机上的 Web 浏览器中,将您的实例
的公有 DNS 名称粘贴到地址栏中并按 Enter。随即会显示 Apache 测试页面。如果您未看到 Apache
测试页面,请验证安全组是否允许 HTTP 流量。
安装应用程序
现在您可以安装和配置 Web 应用程序。具体过程取决于您所运行的应用程序。本教程安装 Drupal 以演示
如何将文件下载到实例,以及如何配置应用程序以使用数据库服务器。
安装 Drupal
1.
转到 https://www.drupal.org/project/drupal,然后记下要使用的 Drupal 版本。
2.
在您的实例上,运行以下命令以下载 Drupal,其中,x.y 是 Drupal 版本。
[ec2-user ~]$ wget http://ftp.drupal.org/files/projects/drupal-x.y.tar.gz
3.
使用以下命令提取 Drupal,其中,x.y 是 Drupal 版本。
[ec2-user ~]$ tar -xzvf drupal-x.y.tar.gz
您可以验证当前目录是否包含已压缩和未压缩的版本。
19
AWS 入门 托管 Web 应用程序
安装应用程序
[ec2-user ~]$ ls
drupal-x.y drupal-x.y.tar.gz
(可选)要删除 Drupal 压缩版本,请运行以下命令,其中,x.y 是 Drupal 版本。
[ec2-user ~]$ rm drupal-x.y.tar.gz
4.
授予 ec2-user 向 Apache 文档根目录 /var/www/html 写入文件的权限,如下所示。
a.
创建组并向该组添加 ec2-user。
[ec2-user ~]$ sudo groupadd www
[ec2-user ~]$ sudo usermod -a -G www ec2-user
b.
关闭终端窗口,然后再次连接到您的实例。
c.
授予 /var/www 及其内容的 www 组所有权,并更改该目录及其子目录的权限。
[ec2-user
[ec2-user
[ec2-user
[ec2-user
d.
~]$
~]$
~]$
~]$
sudo
sudo
find
find
chown -R root:www /var/www
chmod 2775 /var/www
/var/www -type d -exec sudo chmod 2775 {} +
/var/www -type f -exec sudo chmod 0664 {} +
重新启动 Apache Web 服务器,如下所示。
[ec2-user ~]$ sudo service httpd restart
5.
使用以下命令将 Drupal 移到 /var/www/html/。
mv drupal-x.y/* /var/www/html/
6.
创建 files 目录和 settings.php 文件。
[ec2-user
[ec2-user
[ec2-user
[ec2-user
tings.php
[ec2-user
~]$ cd /var/www/html/
html]$ sudo mkdir sites/default/files
html]$ sudo chmod 777 sites/default/files/
html]$ sudo cp sites/default/default.settings.php sites/default/set
html]$ sudo chmod 666 sites/default/settings.php
Drupal 包含一个安装向导,您可运行该向导以配置您的网站。在上一个步骤中,您将 Drupal 安装到
Apache 文档根目录,这样您就可通过打开网站来运行安装向导。
配置 Drupal
1.
2.
在您的计算机上打开 Web 浏览器,然后在地址栏中输入您的实例的公有 DNS 地址。
在 Choose profile (选择配置文件) 页面上,单击 Standard (标准),然后单击 Save and continue (保
存并继续)。
20
AWS 入门 托管 Web 应用程序
安装应用程序
3.
4.
5.
在 Choose language (选择语言) 页面上,单击 English (built-in) (英语(内置)),然后单击 Save and
continue (保存并继续)。
如果您看到 Verify requirements (确认要求) 页面,请解决任何错误,然后继续。
在 Set up database (设置数据库) 页面上,执行以下操作:
a.
b.
选择 MySQL, MariaDB, or equivalent (MySQL、MariaDB 或等效类型) 作为数据库类型。
在 Database name (数据库名称) 框中,键入您的数据库实例上的数据库的名称。在本教程中,
我们使用名称 my_database。
c.
在 Database username (数据库用户名) 框中,键入您的数据库的用户名。在本教程中,我们使
用了 db_user。
d.
e.
f.
在 Database password (数据库密码) 框中,键入您创建数据库实例时使用的密码。
单击 ADVANCED OPTIONS (高级选项)。
在 Database host (数据库主机) 框中,输入您的数据库实例的终端节点。(要查找此终端节点,
请在 Amazon RDS 控制台中选择该数据库实例。不包括 :3306。)
g.
单击 Save and continue (保存并继续)。
21
AWS 入门 托管 Web 应用程序
测试网站
6.
在 Configure site (配置站点) 页面上,执行以下操作:
a.
在 Site name (站点名称) 框中输入名称,如 My Site。
b.
c.
d.
e.
f.
在 Site e-mail address (站点电子邮件地址) 框中,键入电子邮件地址。
在 Username (用户名) 框中,键入用户名。
在 Password (密码) 框中,键入密码。
在 Confirm password (确认密码) 框中,重新键入密码。
单击 Save and continue (保存并继续)。
测试网站
成功后,将显示以下页面。单击 Visit your new site (访问您的新站点) 以查看您的网站。
22
AWS 入门 托管 Web 应用程序
测试网站
您的新网站与下面类似。
如果您愿意,可以创建首页。
添加页面
1.
2.
从您的 Drupal 网站,单击 Add new content (添加新内容),然后单击 Basic page (基本页面)。
在 Title (标题) 框中,输入 Hello World!。
3.
4.
在按钮窗格中,选择 Publishing options (发布选项) 选项卡,然后选择 Promoted to front page (提升
到首页)。
单击保存。
5.
刷新网站以查看您的新标题和首页。
23
AWS 入门 托管 Web 应用程序
更新权限
更新权限
创建新站点后,您应删除对 default 目录和 settings.php 文件的写入权限,如下所示。否则,您的
站点的 Drupal 状态报告会向您发出警告,提示 settings.php 文件未受修改保护且存在安全风险。
[ec2-user html]$ sudo chmod 644 sites/default/settings.php
[ec2-user html]$ sudo chmod 755 sites/default
创建自定义 AMI
自定义您的 EC2 实例后,您可以创建自己的 AMI。使用自己的 AMI,您可以快速启动配置与此相同的新
EC2 实例。
从一个正在运行的由 Amazon EBS 提供支持的实例创建 AMI
1.
打开 Amazon EC2 控制台。
2.
3.
4.
在导航栏中,确认选定区域为 美国西部(俄勒冈)。
在导航窗格中,单击 Instances (实例)。
在 Instances (实例) 页面上,选择您的实例,单击 Actions (操作),选择 Image (映像),然后单击
Create Image (创建映像)。
在 Create Image (创建映像) 对话框中,指定唯一映像名称以及可选的映像描述(最多 255 个字符),
然后单击 Create Image (创建映像)。单击 Close (关闭)。
5.
要查看 AMI 的状态,请转到 AMI 页面。创建 AMI 时,其状态显示为 pending。如果您访问 Snapshots
(快照) 页面,将会看到我们创建的快照,该快照用于创建使用新的自定义 AMI 启动的任何实例的根设备
卷。
您现在已经拥有自定义 AMI,就不再需要创建了该 AMI 的实例,因为我们在下一步中将使用 Auto Scaling
启动新实例。要终止实例,请转到 Instances (实例) 页面,选择该实例,单击 Actions (操作),选择 Instance
State (实例状态),然后依次单击 Terminate (终止)、Yes, Terminate (是,终止)。
24
AWS 入门 托管 Web 应用程序
配置 Auto Scaling 和 Load Balancing
步骤 4:对您的 Web 应用程序进行扩
展和负载均衡
在此步骤中,您将为 EC2 实例配置 Auto Scaling 和 Elastic Load Balancing。Auto Scaling 可根据应用程
序的需要自动启动或终止 EC2 实例。Auto Scaling 根据您创建的扩展策略来启动或终止实例。例如,您
可将 Auto Scaling 设置为每当 CPU 使用率超过 60% 并保持十分钟时另外启动一个实例,或者指示 Auto
Scaling 在预计流量较低的周末终止您的一半实例。您还可以对实例进行监控以保证实例的最佳执行效果,
并确保始终拥有至少一个运行正常的实例。有关更多信息,请参阅 Auto Scaling。
Elastic Load Balancing 可帮助您提高应用程序的可用性和可扩展性。它可让您方便地在两个或更多 EC2
实例之间分配和平衡传入的应用程序流量。随着应用程序容量需求的变化,您可以向负载均衡器动态添加
或从其删除实例。
在您的负载均衡器可用之后,您需要为保持负载均衡器运行的每小时或部分小时支付费用。请注意,与实
例小时数相比,负载均衡的成本较低。
有关更多信息,请参阅 Elastic Load Balancing 定价。有关负载均衡器的更多信息,请参阅 Elastic Load
Balancing 开发人员指南。
任务
• 配置 Auto Scaling 和 Load Balancing (p. 25)
• 测试负载均衡器 (p. 27)
配置 Auto Scaling 和 Load Balancing
现在,您将为一个负载均衡并自动扩展的 Web 应用程序设置基本基础设施,将其最小实例数和最大实例
数均配置为一个,从而仅对一个实例付费。我们将 Auto Scaling 配置为每当容量发生变化时扩展一个实
例。我们创建一个 CloudWatch 警报,以便在 CPU 使用率变高时自动添加实例。当您部署自己的 Web
应用程序时,应遵循最佳做法以确保应用程序在失去一个可用区时也能运行。您还可以创建其他策略,例
如,减少实例的策略。
对应用程序进行扩展和负载均衡
1.
2.
打开 Amazon EC2 控制台。
在导航栏中,确认选定区域为 美国西部(俄勒冈)。
25
AWS 入门 托管 Web 应用程序
配置 Auto Scaling 和 Load Balancing
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
在导航窗格中,单击 Load Balancers (负载均衡器),然后单击 Create Load Balancer (创建负载均衡
器)。
在 Define Load Balancer (定义负载均衡器) 页面上,执行以下操作:
a.
输入负载均衡器的名称。例如,my-lb。
b.
c.
d.
从 Create LB Inside (创建内部 LB) 列表选择您的 VPC。
将其他设置保留为默认值。
单击继续。
在 Configure Health Check (配置运行状况检查) 页面上,执行以下操作:
a.
b.
将 Ping Protocol (Ping 协议) 和 Ping Port (Ping 端口) 保留为默认值。
将 Ping Path (Ping 路径) 设置为 /。这会向默认页面发送查询,而不管该页面的名称是
index.html 还是其他名称。
c.
将 Healthy Threshold (正常阈值) 设置为 2。
d.
单击继续。
如果您选择了非默认 VPC,则系统会提示您在 Select Subnets (选择子网) 页面上选择子网。选择您
的两个公有子网,然后单击 Continue (继续)。
在 Assign Security Groups (分配安全组) 页面上,单击 Select an existing security group (选择现有
安全组),然后选择 WebServerSG 安全组。单击继续。
单击 Continue (继续) 以跳过 Add Instances to Load Balancer (向负载均衡器添加实例) 页面。我们
将使用 Auto Scaling 将 EC2 实例添加到负载均衡器。
单击 Continue (继续) 跳过添加标签的步骤。
检查设置,然后单击 Create (创建)。创建负载均衡器后,单击 Close (关闭)。
在导航窗格中,单击 Launch Configurations (启动配置)。如果您是初次使用 Auto Scaling,则会看到
一个欢迎页面;单击 Create Auto Scaling group (创建 Auto Scaling 组)。
单击 Create launch configuration (创建启动配置)。
在 Choose AMI (选择 AMI) 页面上,选择 My AMIs (我的 AMI) 选项卡,然后选择在创建自定义
AMI (p. 24)中创建的 AMI。
在 Choose Instance Type (选择实例类型) 页面上,选择 General purpose (通用) 选项卡,选择
t2.micro 实例类型,然后单击 Next: Configure details (下一步: 配置详细信息)。
15. 在 Configure details (配置详细信息) 页面上,执行以下操作:
a.
b.
在 Create Launch Configuration (创建启动配置) 下,输入启动配置的名称(例如,my-lc),
然后从 IAM role (IAM 角色) 列表选择您的 IAM 角色。
展开 Advanced Details (高级详细信息)。
c.
在 User data (用户数据) 中,选择 As text (以文本形式),然后输入以下脚本。
#!/bin/bash
yum update -y
service httpd start
chkconfig httpd on
d.
选择 Assign a public IP address to every instance (向每个实例分配公有 IP 地址)。
e.
单击 Skip to review (跳到审核)。
16. 在 Review (审核) 页面上,单击 Edit security groups (编辑安全组)。单击 Select an existing security
group (选择现有安全组),选择已创建的 WebServerSG 安全组,然后单击 Review (审核)。
26
AWS 入门 托管 Web 应用程序
测试负载均衡器
17. 在 Review (审核) 页面上,单击 Create launch configuration (创建启动配置)。
18. 在 Select an existing key pair or create a new key pair (选择现有密钥对或创建新密钥对) 对话框中,
选择 Choose an existing key pair (选择现有密钥对),然后选择您在进行设置以在 AWS 上托管 Web
应用程序 (p. 4)中创建的密钥对。单击确认复选框,然后单击 Create launch configuration (创建启
动配置)。
19. 在 Configure Auto Scaling group details (配置 Auto Scaling 组详细信息) 页面上,执行以下操作:
a.
输入 Auto Scaling 组的名称。例如,my-asg。
b.
在 Group size (组大小) 中的文本框中,键入 2。
c.
从 Network (网络) 列表选择 VPC,并从 Subnet (子网) 列表选择您的两个公有子网。这是构建
容错应用程序的最佳做法。如果一个可用区发生中断,流量将路由到另一个可用区。
展开 Advanced Details (高级详细信息)。选择 Receive traffic from Elastic Load Balancer(s) (从
Elastic 负载均衡器接收流量)。从文本字段选择负载均衡器。
d.
e.
单击 Next: Configure scaling policies (下一步: 配置扩展策略)。
20. 在 Configure scaling policies (配置扩展策略) 页面上,执行以下操作:
a.
b.
c.
选择 Use scaling policies to adjust the capacity of this group (使用扩展策略调整此组的容量)。
在 Increase Group Size (增加组大小) 下,单击 Add new alarm (添加新警报)。
在 Create Alarm (创建警报) 对话框中,单击 create topic (创建主题)。输入 SNS 主题的名称以
及收件人的电子邮件地址。保留 Whenever (每当) 的默认设置(CPU 使用率平均值)。对于 Is
(是),请选择 > 并指定 60 百分比。对于 For at least (在至少),请指定 2 个 5 Minutes (5 ) 连续时间段。单击 Create Alarm (创建警报)。
d.
在 Take the action (请执行以下操作) 中的 Increase Group Size (增加组大小) 下面,在中间的框
中键入 1。这意味着每当达到您设置的 CPU 使用率阈值时,该警报会向 Auto Scaling 组添加 1
个实例。
(可选)在 Decrease Group Size (减小组大小) 下面,您可以使用类似步骤来创建收缩策略。
单击 Review (审核)。
e.
f.
21. 在 Review (审核) 页面上,单击 Create Auto Scaling group (创建 Auto Scaling 组)。
22. 单击 Close (关闭)。
测试负载均衡器
首先,请验证您的实例已就绪。从 Auto Scaling Groups (Auto Scaling 组) 页面选择 Auto Scaling 组,然
后选择 Instances (实例) 选项卡。
最初,您的实例处于 Pending 状态。如果状态为 InService,则表示相应实例已就绪。
27
AWS 入门 托管 Web 应用程序
测试负载均衡器
接下来,验证您已向负载均衡器注册您的实例。从 Load Balancers (负载均衡器) 页面选择您的负载均衡
器,然后选择 Instances (实例) 选项卡。
如果实例的状态是 OutOfService,可能表示它们仍在注册过程中。如果状态为 InService,则表示相
应实例已就绪。实例就绪后,您可通过以下步骤测试负载均衡器。
测试负载均衡器
1.
2.
从 Load Balancers (负载均衡器) 页面选择您的负载均衡器。
在 Description (描述) 选项卡上,找到 DNS 名称。此名称具有以下形式:
my-lb-xxxxxxxxxx.us-east-1.elb.amazonaws.com
3.
在 Web 浏览器中,将负载均衡器的 DNS 名称粘贴到地址栏并按 Enter。您将看到您的网站。
28
AWS 入门 托管 Web 应用程序
注册域名
步骤 5:使用 Amazon Route 53 将域
名与您的网站关联
Abstract
了解如何使用 Amazon Route 53 将您的域名与 AWS 上托管的网站关联。
客户访问您的网站的最简单的方法是通过容易记住的域名进行访问。在本页的步骤中,请使用您自己的域
名替换“example.com”。
Amazon Route 53 是一种具有很高可用性和可扩展性的域名系统 (DNS) Web 服务。该服务将域名(例如
www.example.com)转换为计算机相互连接所用的数字 IP 地址(例如 192.0.2.1),以一种极为可靠
且经济的方式将访问者路由至网站。使用 Amazon Route 53,您只需为您配置的域以及该服务回答的查
询数付款。有关更多信息,请参阅 Amazon Route 53。
要将域名与您的网站关联,请使用 Amazon Route 53 完成以下任务。
任务
• 注册域名 (p. 29)
• 分配名称服务器以便为您的域路由流量 (p. 30)
• 为您的域和子域创建记录集 (p. 30)
• 设置 DNS 提供程序 (p. 31)
注册域名
如果您尚未注册域名,请注册您的域名。Internet 上的域名由 Internet 名称和数字地址分配机构 (ICANN)
管理。您需要通过域名注册商(ICANN 认可的管理域名注册的组织)注册域名。您的注册商的网站上会
提供关于注册域名的详细说明和定价信息。有关详细信息,请参阅以下资源:
• 要使用 Amazon Route 53 注册域名,请参阅 Amazon Route 53 开发人员指南 中的使用 Amazon Route 53
注册域名。
• 有关获得认可的注册商的列表,请参阅获得认可的注册商目录。
29
AWS 入门 托管 Web 应用程序
分配名称服务器以便为您的域路由流量
分配名称服务器以便为您的域路由流量
DNS 服务器最重要的功能是将容易记忆的域名和主机名转换为相应的数字 IP 地址。当您创建托管区域
时,Amazon Route 53 将为托管区域分配四个名称服务器。这些名称服务器称为委托集。
分配名称服务器
1.
打开 Amazon Route 53 控制台。如果您初次使用 Amazon Route 53,会看到一个欢迎页面;单击
DNS Management (DNS 管理) 下的 Get Started Now (立即开始使用) 按钮,然后单击 Create Hosted
Zone (创建托管区域)。
2.
3.
4.
在 Hosted Zones (托管区域) 页面中,单击 Create Hosted Zone (创建托管区域)。
在 Domain Name (域名) 框中,输入您的域名,然后单击 Create (创建)。
选择您刚创建的托管区域。在详细信息窗格中,Delegation Set (委托集) 列出了为您的域分配的名称
服务器。
为您的域和子域创建记录集
创建一个别名资源记录集,该记录集将对您的域名的查询路由到您的负载均衡器的 DNS 名称。
为根域配置别名记录集
1.
在 Hosted Zones (托管区域) 页面上,选择为您的域创建的托管区域。
2.
3.
单击 Go to Record Sets (转到记录集)。
单击 Create Record Set (创建记录集)。
4.
在 Create Record Set (创建记录集) 下,执行以下操作:
a.
b.
c.
e.
f.
保留默认名称,该域为根域。
从 Type (类型) 列表选择 A — IPv4 address (A — IPv4 地址)。
在 Alias (别名) 中,单击 Yes (是)。使用别名,Amazon Route 53 可将您的域名与您的网站关
联。否则,别名记录必须与 IP 地址关联。
单击 Alias Target (别名目标)。从列表中为负载均衡器选择终端节点。在终端节点之前添加前缀
“dualstack”。
在 Routing Policy (路由策略) 列表中,选择 Simple (简单)。
将 Evaluate Target Health (评估目标运行状况) 设置为 No (否)。
g.
单击 Create (创建)。
d.
30
AWS 入门 托管 Web 应用程序
设置 DNS 提供程序
设置 DNS 提供程序
如果您注册了新域名并已在本教程中使用该名称,则可将 Amazon Route 53 设置为 DNS 提供程序。
或者,如果您要重新使用之前与其他网站关联的域名,那么您可能需要从当前 DNS 提供程序向 Amazon
Route 53 传输其他 DNS 记录,以确保该域名下托管的服务继续可用。要确定您必须在 Amazon Route 53
中复制的 DNS 记录,请检查当前 DNS 提供程序中为该域配置的 DNS 记录设置。不应传输到 Amazon
Route 53 的两条记录是起始授权 (SOA) 记录和名称服务器 (NS) 记录。这两条记录是分配名称服务器时
由 Amazon Route 53 设置的,不能更改。
首先登录您用于注册域名的域名注册商。使用注册商提供的 Web 界面将您的域的名称服务器设置为您在
Delegation Sets (委托集) 中记下的名称服务器值。如何执行这一步取决于您使用的注册商。
等待 2 到 48 小时,让 Internet DNS 解析程序网络传播名称服务器更改。要查看名称服务器更改是否已完
成,请使用 dig(适用于 Mac OS X、Unix 或 Linux)或 nslookup(适用于 Windows)等命令行实用工
具。以下示例展示了如何使用 dig 查看与您的域相关联的名称服务器。
dig example.com
当输出的 AUTHORITY SECTION 显示您使用 Amazon Route 53 分配的 AWS 名称服务器时,表示 DNS
更改已通过 DNS 解析程序网络传播。
;; AUTHORITY
example.com.
example.com.
example.com.
example.com.
SECTION:
118928 IN
118928 IN
118928 IN
118928 IN
NS
NS
NS
NS
ns-806.awsdns-36.net.
ns-1456.awsdns-54.org.
ns-1713.awsdns-22.co.uk.
ns-105.awsdns-13.com.
DNS 更改传播后,您将能够使用自定义域名查看您的网站。
如果您在 Web 浏览器中打开您的 www 子域 (www.example.com),它将重定向到您的域 (example.com)。
31
AWS 入门 托管 Web 应用程序
删除 Amazon Route 53 托管区域
步骤 6:清除
完成本教程后,请务必删除您创建的 AWS 资源,使其不再产生费用。
任务
• 删除 Amazon Route 53 托管区域 (p. 32)
• 删除 Auto Scaling 组 (p. 33)
• 删除负载均衡器 (p. 33)
• 删除自定义 AMI (p. 33)
• 终止数据库实例 (p. 34)
删除 Amazon Route 53 托管区域
在删除托管区域之前,您必须先删除已创建的记录集。您不需要删除 NS 和 SOA 记录;删除托管区域时,
会自动删除这些记录。
删除记录集
1.
2.
打开 Amazon Route 53 控制台。
在导航栏中,确认选定区域为 美国西部(俄勒冈)。
3.
在域名列表中,选择您的域名对应的复选框,然后单击 Go to Record Sets (转到记录集)。
4.
5.
6.
在记录集列表中,选择您创建的 A 记录对应的复选框。每个记录集的类型均列在 Type (类型) 列中。
单击 Delete Record Set (删除记录集)。
当系统提示进行确认时,单击 Confirm (确认)。
删除 Amazon Route 53 托管区域
1.
2.
3.
紧接上一个步骤,单击 Back to Hosted Zones (返回托管区域)。
选择您的域名对应的复选框,然后单击 Delete Hosted Zone (删除托管区域)。
当系统提示进行确认时,单击 Confirm (确认)。
32
AWS 入门 托管 Web 应用程序
删除 Auto Scaling 组
删除 Auto Scaling 组
如果您不再需要某个 Auto Scaling 组,则可以将其删除。使用控制台删除 Auto Scaling 组会终止该 Auto
Scaling 组中的所有 EC2 实例以及您的扩展策略的任何 CloudWatch 警报。删除 Auto Scaling 组后,可
以删除启动配置。
删除 Auto Scaling 组
1.
打开 Amazon EC2 控制台。
2.
3.
4.
在导航栏中,确认选定区域为 美国西部(俄勒冈)。
在导航窗格中,单击 Auto Scaling Groups (Auto Scaling 组)。
选择您的 Auto Scaling 组,单击 Actions (操作),然后单击 Delete (删除)。
5.
当系统提示进行确认时,单击 Yes, Delete (是,删除)。Desired (所需)、Min (最小) 和 Max (最大) 列
的值变为 0,EC2 实例进入 terminating 状态。
删除启动配置
1.
2.
3.
在导航窗格中,单击 Launch Configurations (启动配置)。
选择启动配置,单击 Actions (操作),然后单击 Delete launch configuration (删除启动配置)。
当系统提示进行确认时,单击 Yes, Delete (是,删除)。
删除负载均衡器
如果您不再需要某个负载均衡器,可以将其删除。
Important
在删除负载均衡器后,与该负载均衡器关联的 EC2 实例继续运行。您仍需要在这些实例运行期
间承担相关费用。
删除您的负载均衡器
1.
打开 Amazon EC2 控制台。
2.
3.
4.
5.
在导航栏中,确认选定区域为 美国西部(俄勒冈)。
在导航窗格中,单击 Load Balancers (负载均衡器)。
选择负载均衡器,单击 Actions (操作),然后单击 Delete (删除)。
当系统提示进行确认时,单击 Yes, Delete (是,删除)。
删除自定义 AMI
如果您不再需要某个 AMI,可以将其取消注册。取消注册 AMI 之后,便无法将其用于启动新实例。不过,
这不会影响已从 AMI 启动的任何实例,也不会影响创建该 AMI 时创建的快照。该快照将继续产生费用,
直至您将其删除。
取消注册 AMI 并删除关联的快照
1.
打开 Amazon EC2 控制台。
2.
3.
在导航栏中,确认选定区域为 美国西部(俄勒冈)。
在导航窗格中,单击 AMIs。
33
AWS 入门 托管 Web 应用程序
终止数据库实例
4.
5.
6.
选择 AMI,单击 Actions (操作),然后单击 Deregister (取消注册)。当系统提示进行确认时,请单击
Continue (继续)。
在导航窗格中,单击 Snapshots (快照)。
选择快照,单击 Actions (操作),然后单击 Delete (删除)。当系统提示进行确认时,单击 Yes, Delete
(是,删除)。
终止数据库实例
如果您不再需要某个数据库实例,可以将其终止。数据库实例的状态变为 deleted 后,该数据库实例即
停止产生费用。
终止数据库实例
1.
2.
3.
4.
5.
打开 Amazon RDS 控制台。
在导航栏中,确认选定区域为 美国西部(俄勒冈)。
在导航窗格中,单击 Instances (实例)。
选择数据库实例,单击 Instance Actions (实例操作),然后单击 Delete (删除)。
在 Delete DB Instance (删除数据库实例) 对话框中,选择 No (否)(从 Create final snapshot?(是否
创建最终快照?) 列表),然后单击 Yes, Delete (是,删除)。
如果数据库为生产数据库,我们建议您创建最终快照,以便您能够根据需要还原该数据库实例。
34
AWS 入门 托管 Web 应用程序
相关资源
Abstract
了解一些有用的 AWS 资源。
下表列出了在您使用 AWS 时可为您提供帮助的一些 AWS 资源。
资源
描述
AWS 产品与服务
有关 AWS 提供的产品与服务的信息。
AWS 文档
每种 AWS 产品的官方文档,其中包括服务简介、服务功能和
API 参考。
AWS 开发论坛
社区形式的论坛,用于讨论与 Amazon Web Services 有关的
技术问题。
联系我们
账单、事件和滥用等账户问题的一个中心联络点。关于技术问
题,请使用论坛。
AWS 支持中心
用于创建和管理 AWS Support 案例的中心。还提供指向其他
有用资源的链接,如论坛、技术常见问题、服务运行状况以及
AWS Trusted Advisor。
AWS Support
AWS Support 主页,是一对一的快速响应支持通道,可帮助
您在云中构建和运行应用程序。
AWS 架构中心
提供必要的指导和最佳实践,用于在 AWS 云中构建高度可扩
展且高度可靠的应用程序。这些资源有助于您了解 AWS 平台
及其服务和功能。它们还提供架构指南,用于设计和实施在
AWS 基础设施中运行的系统。
AWS 安全中心
提供有关安全功能和资源的信息。
AWS 成本中心
用于访问各种信息、工具和资源,以便比较 Amazon Web
Services 和其他备选 IT 基础设施产品的成本。
AWS 技术白皮书
提供技术白皮书,涵盖架构、安全性和经济性等主题。这些白
皮书由 Amazon 团队、客户和解决方案提供商编写。
AWS 博客
提供涵盖新服务以及现有服务更新的博客文章。
35
AWS 入门 托管 Web 应用程序
资源
描述
AWS 播客
提供涵盖新服务、现有服务和提示的播客。
36
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement