AWS CloudShell 用于访问 Amazon Keyspaces - Amazon Keyspaces(Apache Cassandra 兼容)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWS CloudShell 用于访问 Amazon Keyspaces

AWS CloudShell 是一个基于浏览器、经过预先验证的 shell,您可以直接从启动。 AWS Management Console您可以使用首选外壳(Bash PowerShell 或 Z shell)对 AWS 服务运行 AWS CLI 命令。要使用 Amazon Keyspaces 使用cqlsh,您必须安装。cqlsh-expansion有关cqlsh-expansion安装说明,请参阅使用 cqlsh-expansion 连接 Amazon Keyspaces

您可以AWS CloudShell 从启动 AWS Management Console,用于登录控制台的 AWS 凭据将在新的 shell 会话中自动可用。这种对 AWS CloudShell 用户的预身份验证允许您在cqlsh使用 AWS CLI 或版本 2(预安装在外壳的计算环境中)与 Amazon Keyspaces 等 AWS 服务进行交互时跳过配置凭证。

获取 IAM 权限 AWS CloudShell

使用提供的访问管理资源 AWS Identity and Access Management,管理员可以向 IAM 用户授予权限,使他们能够访问 AWS CloudShell 和使用环境的功能。

管理员向用户授予访问权限的最快方法是通过 AWS 托管策略。AWS 托管式策略 是由 AWS创建和管理的独立策略。以下的 AWS 托管策略 CloudShell 可以附加到 IAM 身份:

  • AWSCloudShellFullAccess:授予使用权限,并 AWS CloudShell 具有对所有功能的完全访问权限。

如果您想限制 IAM 用户可以执行的操作范围 AWS CloudShell,则可以创建使用AWSCloudShellFullAccess托管策略作为模板的自定义策略。有关限制中可供用户执行的操作的更多信息 CloudShell,请参阅AWS CloudShell 用户指南中的使用 IAM 策略管理 AWS CloudShell 访问和使用情况

注意

您的 IAM 身份还需要一项策略,该策略允许您调用 Amazon Keyspaces。

您可以使用 AWS 托管策略向您的 Amazon Keyspaces 授予您的 IAM 身份访问权限,也可以从托管策略作为模板开始删除不需要的权限。您还可以限制对特定密钥空间和表的访问权限以创建自定义策略。以下适用于 Amazon Keyspaces 的托管策略可以附加到 IAM 身份:

有关托管策略中定义的操作的详细说明,请参阅适用于 Amazon Keyspaces 的 AWS 托管式策略

有关如何限制操作或限制对 Amazon Keyspaces 中特定资源的访问的更多信息,请参阅。Amazon Keyspaces 是如何使用的 IAM

使用与 Amazon Keyspaces 互动 AWS CloudShell

AWS CloudShell 从启动后 AWS Management Console,您可以使用cqlsh或命令行界面立即开始与 Amazon Keyspaces 进行交互。如果您尚未安装cqlsh-expansion,请参阅,了解使用 cqlsh-expansion 连接 Amazon Keyspaces详细步骤。

注意

使用 in 时 AWS CloudShell,您无需cqlsh-expansion在调用之前配置凭据,因为您已经在 shell 中进行了身份验证。

连接到 Amazon Keyspaces 并创建新的密钥空间。然后从系统表中读取以确认密钥空间是使用创建的 AWS CloudShell
  1. 从中 AWS Management Console,您可以 CloudShell 通过选择导航栏上的以下可用选项来启动:

    • 选择图 CloudShell 标。

    • 开始在搜索框中输入 “cloudshell”,然后选择相应 CloudShell选项。

  2. 您可以使用以下命令建立与 Amazon Keyspaces 的连接。请务必将 cassandra.us-east-1.amazonaws.com 替换为您所在地区的正确终端节点。

    cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl

    如果连接成功,您应该会看到类似于以下内容的输出:

    Connected to Amazon Keyspaces at cassandra.us-east-1.amazonaws.com:9142 [cqlsh 6.1.0 | Cassandra 3.11.2 | CQL spec 3.4.4 | Native protocol v4] Use HELP for help. cqlsh current consistency level is ONE. cqlsh>
  3. 使用名称mykeyspace创建新的密钥空间。你可以使用以下命令来做到这一点。

    CREATE KEYSPACE mykeyspace WITH REPLICATION = {'class': 'SingleRegionStrategy'};
  4. 要确认密钥空间已创建,您可以使用以下命令从系统表中读取。

    SELECT * FROM system_schema_mcs.keyspaces WHERE keyspace_name = 'mykeyspace';

    如果调用成功,命令行将显示来自服务的响应,输出与以下类似:

    keyspace_name | durable_writes | replication ----------------+----------------+------------------------------------------------------------------------------------- mykeyspace | True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '3'} (1 rows)