创建 Microsoft SQL Server 数据库实例并连接到该实例
本教程创建一个 EC2 实例和一个 RDS for Microsoft SQL Server 数据库实例。本教程向您展示如何使用 Microsoft SQL Server Management Studio 客户端从 EC2 实例访问数据库实例。作为最佳实践,本教程在虚拟私有云(VPC)中创建了私有数据库实例。在大多数情况下,同一 VPC 中的其他资源(例如 EC2 实例)可以访问数据库实例,但 VPC 之外的资源无法访问该实例。
完成本教程后,VPC 的每个可用区中都有一个公有和私有子网。在一个可用区中,EC2 实例在公有子网中,数据库实例在私有子网中。
重要
创建 Amazon 账户并不会收费;但是,在完成本教程过程中使用 Amazon 资源可能会产生费用。完成本教程后,如果不再需要这些资源,可以将其删除。
下图显示了教程完成时的配置。
本教程可帮助您通过以下方法之一创建资源:
-
使用 Amazon Web Services Management Console ‑ 创建 SQL Server 数据库实例 和 创建 EC2 实例
-
使用 Amazon CloudFormation 创建数据库实例和 EC2 实例 - (可选)使用 Amazon CloudFormation 创建 VPC、EC2 实例和 SQL Server 实例
第一种方法使用轻松创建,通过 Amazon Web Services Management Console 创建私有 SQL Server 数据库实例。您可以仅指定数据库引擎类型、数据库实例大小和数据库实例标识符。轻松创建为其他配置选项使用默认设置。
如果改用标准创建,则在创建数据库实例时可以指定更多配置选项。这些选项包括可用性、安全性、备份和维护设置。要创建公有数据库实例,必须使用标准创建。有关信息,请参阅创建 Amazon RDS 数据库实例。
主题
先决条件
在开始之前,请完成以下各节中的步骤:
创建 EC2 实例
创建将用于连接到数据库的 Amazon EC2 实例。
创建 EC2 实例
登录到 Amazon Web Services Management Console 并打开 Amazon EC2 控制台(https://console.aws.amazon.com/ec2/
)。 -
在 Amazon Web Services Management Console的右上角,选择之前用于数据库的 Amazon Web Services 区域。
-
选择 EC2 控制面板,然后选择启动实例,如下图所示。
启动实例页面打开。
-
在启动实例页面上选择以下设置。
-
在 Name and tags(名称和标签)下,对于 Name(名称),输入
ec2-database-connect
。 -
在应用程序和操作系统映像(亚马逊云机器镜像)下,选择 Windows,然后选择 Microsoft Windows Server 2022 Base。对于其他选项,保留默认选择。
-
在 Instance type(实例类型)下,选择 t2.micro。
-
在 Key pair (login) [密钥对(登录)] 下,选择 Key pair name(密钥对名称)以使用现有密钥对。要为 Amazon EC2 实例创建新的密钥对,请选择 Create new key pair(创建新的密钥对),然后使用 Create key pair(创建密钥对)窗口来创建它。
有关创建新的密钥对的更多信息,请参阅《适用于 Windows 实例的 Amazon EC2 用户指南》中的创建密钥对。
-
对于网络设置中的防火墙(安全组),选择允许 RDP 流量来自以连接到 EC2 实例。
如果显示的 IP 地址对于 RDP 连接是正确的,您可以选择我的 IP。否则,您可以确定要用来通过 RDP 连接到 VPC 中的 EC2 实例的 IP 地址。要确定您的公有 IP 地址,请在新的浏览器窗口或标签页中,使用 https://checkip.amazonaws.com
上的服务。IP 地址的示例为 192.0.2.1/32。 在许多情况下,您可能通过互联网服务提供商(ISP)进行连接,或者在不使用静态 IP 地址的情况下从防火墙之后进行连接。如果是这样,请确保确定客户端计算机使用的 IP 地址范围。
警告
如果您使用
0.0.0.0/0
进行 RDP 访问,则所有 IP 地址可能能够使用 RDP 访问您的公有 EC2 实例。在测试环境下短时间内,此方法尚可接受,但它对于生产环境并不安全。在生产环境中,将仅向特定 IP 地址或地址范围授权使用 RDP 访问您的 EC2 实例。下图显示了网络设置部分的示例。
-
对于其余部分保留原定设置值。
-
查看摘要面板中您的 EC2 实例配置的摘要,当您准备好后,选择启动实例。
-
-
在启动状态页面上,记下新 EC2 实例的标识符,例如:
i-1234567890abcdef0
。 -
选择 EC2 实例标识符以打开 EC2 实例的列表。
-
等待 EC2 实例的实例状态变为正在运行,然后继续。
创建 SQL Server 数据库实例
Amazon RDS 的基本构建基块是数据库实例。这是您将要在其中运行 SQL Server 数据库的环境。
在该示例中,您使用轻松创建来创建一个数据库实例,它运行带有 db.t2.micro 数据库实例类的 SQL Server 数据库引擎。
使用 Easy create (轻松创建) 创建 Microsoft SQL Server 数据库实例
登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在 Amazon RDS 控制台的右上角,选择要在其中创建数据库实例的 Amazon Web Services 区域。
-
在导航窗格中,选择 Databases (数据库)。
-
选择 Create database (创建数据库),并确保已选择 Easy create (轻松创建)。
-
在配置中,选择 Microsoft SQL Server。
-
对于版本,选择 SQL Server Express Edition。
-
对于 数据库实例大小,选择 免费套餐。
-
对于 DB instance identifier(数据库实例标识符),输入
database-test1
。创建数据库页面应类似于以下图像。
-
对于主用户名,输入主用户的名称,或者保留原定设置名称。
-
要设置与您之前创建的 EC2 实例的连接,请打开设置 EC2 连接 - 可选。
选择连接到 EC2 计算资源。选择您之前创建的 EC2 实例。
-
要为数据库实例使用自动生成的主密码,请选择 Auto generate a password (自动生成密码) 框。
要输入主密码,请清除 Auto generate a password (自动生成密码) 框,然后在 Master password (主密码) 和 Confirm password (确认密码) 中输入相同的密码。
-
打开查看轻松创建的默认设置。
您可以检查在启用 Easy create (轻松创建) 时使用的默认设置。可在创建数据库后编辑列显示在创建数据库后可以更改的选项。
-
如果该列中的某个设置为否,而您想要不同的设置,则可以使用标准创建来创建数据库实例。
-
如果某个设置在该列中为是,您可以使用标准创建来创建数据库实例,也可以在创建后修改数据库实例以更改该设置。
-
-
选择创建数据库。
要查看数据库实例的主用户名和密码,请选择查看凭证详细信息。
您可以使用显示的用户名和密码,以主用户身份连接到数据库实例。
重要
您无法再次查看主用户密码。如果您不记录它,您可能需要更改它。
如果需要在数据库实例可用后更改主用户密码,则可以修改数据库实例以执行此操作。有关修改 数据库实例的更多信息,请参阅 修改 Amazon RDS 数据库实例。
-
在数据库列表中,选择新的 SQL Server 数据库实例的名称以显示其详细信息。
数据库实例具有正在创建状态,直到此实例就绪可供使用。
当状态变为 Available(可用)时,您便可以连接到该数据库实例。根据数据库实例类和存储量,新实例可能需要等待 20 分钟时间才可用。
(可选)使用 Amazon CloudFormation 创建 VPC、EC2 实例和 SQL Server 实例
您可以使用 Amazon CloudFormation 通过将基础设施视为代码来配置 Amazon 资源,而无需使用控制台创建 VPC、EC2 实例和 SQL Server 实例。为了帮助您将 Amazon 资源组织成更小、更易于管理的单元,您可以使用 Amazon CloudFormation 嵌套堆栈功能。有关更多信息,请参阅在 Amazon CloudFormation 控制台上创建堆栈和使用嵌套堆栈。
重要
Amazon CloudFormation 是免费的,但 CloudFormation 创建的资源是实时的。您需要为这些资源支付标准使用费,直到您终止使用它们为止。总费用将应该最少的。有关如何最大限度降低费用的信息,请转至 Amazon Free Tier
要使用 Amazon CloudFormation 控制台创建资源,请执行以下步骤:
下载 CloudFormation 模板
使用 CloudFormation 配置资源
下载 CloudFormation 模板
CloudFormation 模板是一个 JSON 或 YAML 文本文件,其中包含有关您希望在堆栈中创建的资源的配置信息。此模板还为您创建 VPC 和堡垒主机以及 RDS 实例。
要下载该模板文件,请打开以下链接 SQL Server CloudFormation 模板
在 Github 页面中,单击下载原始文件按钮以保存模板 YAML 文件。
使用 CloudFormation 配置资源
注意
在开始此过程之前,请确保您的 Amazon Web Services 账户中具有 EC2 实例密钥对。有关更多信息,请参阅 Amazon EC2 密钥对和 Linux 实例。
使用 Amazon CloudFormation 模板时,必须选择正确的参数以确保正确创建资源。按以下步骤操作:
登录到 Amazon Web Services Management Console 并打开 Amazon CloudFormation 控制台 https://console.aws.amazon.com/cloudformation
。 选择创建堆栈。
在“指定模板”部分,选择从您的计算机上传模板文件,然后选择下一步。
在指定堆栈详细信息页面上,设置以下参数:
将堆栈名称设置为 SQLServerTestStack。
在参数下,通过选择三个可用区来设置可用区。
在 Linux 堡垒主机配置下,在密钥名称中,选择用于登录您的 EC2 实例的密钥对。
-
在 Linux 堡垒主机配置设置中,将允许的 IP 范围设置为您的 IP 地址。要使用 Secure Shell(SSH)连接到 VPC 中的 EC2 实例,请通过 https://checkip.amazonaws.com
上的服务确定您的公有 IP 地址。IP 地址的示例为 192.0.2.1/32。 警告
如果您使用
0.0.0.0/0
进行 SSH 访问,则所有 IP 地址可能能够使用 SSH 访问您的公有 EC2 实例。在测试环境下短时间内,此方法尚可接受,但它对于生产环境并不安全。在生产环境中,将仅向特定 IP 地址或地址范围授权使用 SSH 访问您的 EC2 实例。 在数据库常规配置下,将数据库实例类设置为 db.t3.micro。
将数据库名称设置为
database-test1
。在数据库主用户名中,输入主用户的名称。
-
在本教程中,将使用 Secrets Manager 管理数据库主用户密码设置为
false
。 在数据库密码中,设置所选密码。请记住此密码以便在教程中的后续步骤中使用。
在数据库存储配置下,将数据库存储类型设置为 gp2。
在数据库监控配置下,将启用 RDS 性能详情设置为 false。
将所有其他设置保留为默认值。单击下一步继续。
在配置堆栈选项页面中,保留所有默认选项。单击下一步继续。
在查看堆栈页面中,在检查数据库和 Linux 堡垒主机选项后,选择提交。
堆栈创建过程完成后,查看名为 BastionStack 和 RDSNS 的堆栈,记下连接到数据库所需的信息。有关更多信息,请参阅在 Amazon Web Services Management Console 上查看 Amazon CloudFormation 堆栈数据和资源。
连接到 SQL Server 数据库实例
在以下过程中,您将使用 Microsoft SQL Server Management Studio(SSMS)连接数据库实例。
使用 SSMS 连接到 RDS for SQL Server 数据库实例
-
找到您的数据库实例的端点(DNS 名称)和端口号。
-
登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 在 Amazon RDS 控制台的右上角,选择数据库实例的 Amazon Web Services 区域。
-
在导航窗格中,选择 Databases(数据库)。
-
选择 SQL Server 数据库实例名称以显示其详细信息。
-
在 Connectivity (连接) 选项卡上,复制端点。另请注意端口号。您需要端点和端口号才能连接到数据库实例。
-
-
按照《适用于 Windows 实例的 Amazon EC2 用户指南》的连接到您的 Microsoft Windows 实例中的步骤,连接到您之前创建的 EC2 实例。
-
安装 Microsoft 的 SQL Server Management Studio(SSMS)客户端。
要将 SSMS 的独立版本下载到您的 EC2 实例,请参阅 Microsoft 文档中的下载 SQL Server Management Studio(SSMS)
。 -
使用“开始”菜单打开 Internet Explorer。
-
使用 Internet Explorer 下载并安装 SSMS 的独立版本。如果系统提示您该站点不可信,请将该站点添加到可信站点列表中。
-
-
启动 SQL Server Management Studio(SSMS)。
显示连接至服务器对话框。
-
为您的示例数据库实例提供以下信息:
-
对于 Server type,选择 Database Engine。
-
对于 Server name (服务器名称),请输入 DNS 名称,后跟逗号和端口号(默认端口为 1433)。例如,您的服务器名称应如下所示:
database-test1.
0123456789012
.us-west-2
.rds.amazonaws.com,1433 -
对于 Authentication,选择 SQL Server Authentication。
-
对于登录名,输入您选择用于示例数据库实例的用户名。这也称作主用户名。
-
对于 Password (密码),输入您之前为示例数据库实例选择的密码。这也称作主用户密码。
-
-
选择 Connect。
稍等几分钟后,SSMS 将连接到数据库实例。出于安全考虑,最佳做法是使用加密连接。仅当客户端和服务器位于同一 VPC 中,并且网络受信任时,才会使用未加密的 SQL Server 连接。有关使用加密连接的信息,请参阅将 SSL 与 Microsoft SQL Server 数据库实例结合使用
有关连接到 Microsoft SQL Server 数据库实例的更多信息,请参阅连接到运行 Microsoft SQL Server 数据库引擎的数据库实例。
有关连接问题的信息,请参阅无法连接到 Amazon RDS 数据库实例。
探索示例 SQL Server 数据库实例
您可以使用 Microsoft SQL Server Management Studio(SSMS)探索您的示例数据库实例。
使用 SSMS 探索数据库实例
-
您的 SQL Server 数据库实例 附带 SQL Server 的标准内置系统数据库 (master、model、msdb 和 tempdb)。要了解系统数据库,请执行以下操作:
-
在 SSMS 的 View 菜单上,选择 Object Explorer。
-
展开数据库实例,展开 Databases (数据库),然后展开 System Databases (系统数据库),如下所示。
您的 SQL Server 数据库实例还附带一个名为
rdsadmin
的数据库。Amazon RDS 使用此数据库存储它用于管理您的数据库的对象。rdsadmin
数据库还包括存储过程,您可以运行它们来执行高级任务。 -
-
开始创建您自己的数据库并像往常一样对数据库实例和数据库运行查询。要对示例数据库实例运行测试查询,请执行以下操作:
-
在 SSMS 中,在文件菜单上,指向新建,然后选择使用当前连接进行查询。
-
输入以下 SQL 查询:
select @@VERSION
-
运行查询。SSMS 会返回 SQL Server 版的 Amazon RDS 数据库实例。
-
删除 EC2 实例和数据库实例
在连接到并浏览您创建的示例 EC2 实例和数据库实例之后,删除它们,以便不再为其付费。
如果您使用 Amazon CloudFormation 创建了资源,请跳过此步骤,转至下一步。
删除 EC2 实例
登录到 Amazon Web Services Management Console 并打开 Amazon EC2 控制台(https://console.aws.amazon.com/ec2/
)。 -
在导航窗格中,选择实例。
-
选择 EC2 实例,然后依次选择实例状态、终止实例。
-
当系统提示您确认时,选择终止。
有关删除 EC2 实例的更多信息,请参阅《Windows 实例的用户指南》中的终止实例。
删除无最终数据库快照的数据库实例
登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择 Databases (数据库)。
-
选择要删除的数据库实例。
-
对于 Actions,选择 Delete。
-
清除是否创建最终快照?和保留自动备份。
-
完成确认并选择删除。
(可选)删除使用 CloudFormation 创建的 EC2 实例和数据库实例
如果您使用 Amazon CloudFormation 创建了资源,请在连接并浏览 EC2 实例和数据库实例示例之后,删除 CloudFormation 堆栈,以便不再为其付费。
删除 CloudFormation 资源
打开 Amazon CloudFormation 控制台。
-
在 CloudFormationconsole 的堆栈页面上,选择根堆栈(名称不是 VPCStack、BastionStack 或 RDSNS 的堆栈)。
-
选择删除。
-
提示进行确认时,选择删除堆栈。
有关如何删除 CloudFormation 中堆栈的信息,请参阅《Amazon CloudFormation 用户指南》中的在 Amazon CloudFormation 控制台上删除堆栈。
(可选)将您的数据库实例连接到 Lambda 函数
您也可以将您的 RDS for SQL Server 数据库实例连接到 Lambda 无服务器计算资源。Lambda 函数支持在不预调配或管理基础设施的情况下运行代码。Lambda 函数还支持自动响应任何规模的代码执行请求,从每天十几个事件到每秒数百个事件。有关更多信息,请参阅 自动连接 Lambda 函数和数据库实例。