Amazon Redshift
群集管理指南 (API 版本 2012-12-01)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

AWS 命令行界面入门

为帮助您开始使用命令行界面,本部分介绍了如何为 Amazon Redshift 群集执行基本管理任务。这些任务与 Amazon Redshift 入门 中的任务非常相似,不过前者专注于命令行界面,而后者专注于 Amazon Redshift 控制台。

本部分将引导您完成创建群集、创建数据库表、上传数据和测试查询的过程。您将使用 Amazon Redshift CLI 配置群集并授予必要的访问权限。然后,您将使用 SQL Workbench 客户端连接到群集、创建示例表、上传示例数据并执行测试查询。

第 1 步:准备工作

如果您还没有 AWS 账户,则必须先注册一个。然后,您需要设置 Amazon Redshift 命令行工具。最后,您需要下载客户端工具和驱动程序才能连接到您的群集。

步骤 1.1:注册 AWS 账户

有关注册 AWS 用户账户的信息,请转到 Amazon Redshift 入门

步骤 1.2:下载并安装 AWS 命令行界面 (CLI)

如果您未安装 AWS 命令行界面,请参阅设置 Amazon Redshift CLI

步骤 1.3:下载客户端工具和驱动程序

您可以使用任何 SQL 客户端工具并利用 PostgreSQL JDBC 或 ODBC 驱动程序连接到 Amazon Redshift 群集。如果您当前未安装此类软件,则可以使用 SQL Workbench,这是一款免费的跨平台工具,可用来查询 Amazon Redshift 群集中的表。本部分的示例将使用 SQL Workbench 客户端。

要下载 SQL Workbench 和 PostgreSQL 驱动程序,请转到 Amazon Redshift Getting Started Guide

步骤 2:启动群集

现在,您可以使用 AWS 命令行界面 (CLI) 启动群集了。

重要

您即将启动的群集将是活跃的(且不在沙盒中运行)。您需要为该群集支付标准的使用费,直到您终止该群集。有关定价信息,请转到 Amazon Redshift 定价页面

如果您一鼓作气完成此处说明的练习并在使用完毕后终止群集,则产生的全部费用将非常少。

create-cluster 命令有大量参数。在本练习中,您将使用下表中所述的参数值。在生产环境中创建群集之前,我们建议您查看所有的必需参数和可选参数,确保群集配置符合您的要求。有关更多信息,请参阅 create-cluster

参数名称 本练习的参数值
Cluster Identifier

examplecluster

Master Username

masteruser

Master Password

TopSecret1

节点类型 ds1.xlarge 或您想要使用的节点大小。有关更多信息,请参阅 Amazon Redshift 中的群集和节点
群集类型 single-node

要创建群集,请键入以下命令:

aws redshift create-cluster --cluster-identifier examplecluster --master-username masteruser --master-user-password TopSecret1 --node-type ds1.xlarge --cluster-type single-node

完成群集创建过程需要几分钟的时间。要查看状态,请键入以下命令:

aws redshift describe-clusters --cluster-identifier examplecluster

结果与如下显示类似:

{ "Clusters": [ { ...output omitted... "ClusterStatus": "creating", "ClusterIdentifier": "examplecluster", ...output omitted... }

ClusterStatus 字段从 creating 变为 available 时,您的群集就可供使用了。

在下一个步骤中,您将授予访问权限,以便连接到群集。

步骤 3:为群集访问授权入站流量

您必须明确授予对客户端的入站访问权限才能连接到群集。您的客户端可以是 Amazon EC2 实例或外部计算机。

在上一个步骤中创建了群集后,由于您未指定安全组,因此您将默认群集安全组与该群集相关联。默认群集安全组不包含对群集授权任何入站流量的规则。要访问新群集,您必须针对流向群集安全组的入站流量添加相关规则(称为传入规则)。

Internet 上运行的应用程序的传入规则

如果您要通过 Internet 访问群集,则需要授予一个无类别域间路由 IP (CIDR/IP) 地址范围。在本示例中,我们将使用 192.0.2.0/24 的 CIDR/IP 规则;您需要修改此范围以反映您的实际 IP 地址和网络掩码。

要允许网络进入群集,请键入以下命令:

aws redshift authorize-cluster-security-group-ingress --cluster-security-group-name default --cidrip 192.0.2.0/24

EC2 实例的传入规则

如果要通过 Amazon EC2 实例访问群集,您将需要授权 Amazon EC2 安全组。为此,您需要指定安全组名称,以及 EC2 安全组所有者的 12 位账号。

您可以使用 Amazon EC2 控制台来确定与您的实例关联的 EC2 安全组:

要查找您的 AWS 账号,请转到 http://amazonaws.cn/,并登录“My Account”页面。您的 AWS 账号显示在该页面的右上角。

在本示例中,我们将使用 myec2securitygroup 作为 Amazon EC2 安全组名称,并使用 123456789012 作为账号。您可以根据自己的需要修改这些内容。

要允许网络进入群集,请键入以下命令:

aws redshift authorize-cluster-security-group-ingress --cluster-security-group-name default --ec2-security-group-name myec2securitygroup --ec2-security-group-owner 123456789012

步骤 4:连接到群集

现在您已经为默认群集安全组添加了传入规则,从特定 CIDR/IP 或 EC2 安全组到 examplecluster 的传入连接已经获得授权。

现在,您可以连接到群集了。

有关连接到群集的信息,请转到 Amazon Redshift Getting Started Guide

步骤 5:创建表、上传数据和尝试示例查询

有关创建表、上传数据和发布查询的信息,请转到 Amazon Redshift 入门

步骤 6:删除示例群集

在群集启动并可供使用之后,即使没有实际使用,您也需要根据群集的运行时间支付相应费用。当您不再需要群集时,可将其删除。

在删除群集时,您必须决定是否创建最终快照。由于这是一次练习,测试群集中不会有任何重要的数据,因此您无需创建最终快照。

要删除群集,请键入以下命令:

aws redshift delete-cluster --cluster-identifier examplecluster --skip-final-cluster-snapshot

恭喜您!您已成功启动、授权访问、连接到并终止了群集。