Amazon Redshift
集群管理指南 (API Version 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

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