教程:将 VPC 端点用于 DynamoDB
此部分引导您完成设置和使用 DynamoDB 的 VPC 终端节点的过程。
第 1 步:启动一个 Amazon EC2 实例
在此步骤中,您将在默认 Amazon VPC 中启动 Amazon EC2 实例。然后,您可以为 DynamoDB 创建和使用 VPC 终端节点。
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
选择启动实例,然后执行以下操作:
步骤 1:选择 Amazon 系统映像 (AMI)
-
在 AMI 列表的顶部,转至 Amazon Linux AMI,然后选择 Select (选择)。
步骤 2:选择实例类型
-
在实例类型列表的顶部,选择 t2.micro。
-
选择下一步:配置实例详细信息。
步骤 3:配置实例详细信息
-
转至 Network (网络) 并选择您的默认 VPC。
选择下一步:添加存储。
步骤 4:添加存储
-
通过选择 Next: Tag Instance 来跳过此步骤。
第 5 步:为实例添加标签
-
选择下一步:配置安全组,跳过此步骤。
步骤 6:配置安全组
-
选择选择现有安全组。
-
在安全组列表中,选择默认。这是 VPC 的默认安全组。
-
选择下一步:审核和启动。
步骤 7:查看实例启动
-
选择启动。
-
-
在选择现有密钥对或创建新密钥对窗口中,执行下列操作之一:
-
如果您没有 Amazon EC2 密钥对,请选择创建新的密钥对并遵循说明。系统将要求您下载私有密钥文件 (.pem 文件);您在登录 Amazon EC2 实例时需要此文件。
-
如果您现在已有 Amazon EC2 密钥对,请转至选择密钥对,然后从列表中选择您的密钥对。您必须有可用的私有密钥文件 (.pem 文件) 才能登录 Amazon EC2 实例。
-
-
在配置密钥对后,选择 Launch Instances (启动实例)。
-
返回 Amazon EC2 控制台主页并选择您启动的实例。在下方窗格中的说明选项卡上,找到实例的公共 DNS。例如:
ec2-00-00-00-00.us-east-1.compute.amazonaws.com
。记下此公共 DNS 名称,因为您需要在本教程的下一步中使用该名称 (第 2 步:配置 Amazon EC2 实例)。
您的 Amazon EC2 实例需要几分钟才能变为可用。在继续下一步之前,请确保实例状态为 running
,并且已通过其所有状态检查。
第 2 步:配置 Amazon EC2 实例
当您的 Amazon EC2 实例可用时,您将能够登录该实例并为首次使用做好准备。
以下步骤假设您从运行 Linux 的计算机连接到您的 Amazon EC2 实例。有关连接到 Linux 实例的其他方式,请参阅 Amazon EC2 用户指南(适用于 Linux 实例) 中的连接到您的 Linux 实例。
-
您需要授权您的 Amazon EC2 实例的入站 SSH 流量。为此,您将创建一个新的 EC2 安全组,然后将该安全组分配给您的 EC2 实例。
-
在导航窗格中,选择 Security Groups。
-
选择 Create Security Group。在 Create Security Group (创建安全组) 窗口中,执行以下操作:
-
安全组名称—键入安全组名称。例如:
my-ssh-access
。 -
说明—键入新安全组的描述。
-
VPC—选择您的默认 VPC。
-
在安全组规则部分,选择添加规则并执行以下操作:
-
类型-选择 SSH。
-
来源—选择我的 IP。
-
根据需要进行设置后,选择创建。
-
-
在导航窗格中,选择实例。
-
选择在 第 1 步:启动一个 Amazon EC2 实例 中启动的 Amazon EC2 实例。
-
选择操作 --> 联网 --> 更改安全组。
-
在更改安全组中,选择您在此过程之前创建的安全组(例如:
my-ssh-access
)。还应选择现有default
安全组。根据需要进行设置后,选择分配安全组。
-
-
使用
ssh
命令登录您的 Amazon EC2 实例,如以下示例所示。ssh -i
my-keypair.pem
ec2-user@public-dns-name
您需要指定私有密钥文件(.pem 文件)和实例的公有 DNS 名称。(请参阅 第 1 步:启动一个 Amazon EC2 实例。)
登录 ID 为
ec2-user
。不需要密码。 -
配置Amazon凭据,如下所示。提示后,输入您的Amazon访问密钥 ID、私有密钥和默认区域名称。
aws configure
AWS Access Key ID [None]:AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]:us-east-1
Default output format [None]:
现在,您可以为 DynamoDB 创建 VPC 终端节点。
第 3 步:为 DynamoDB 创建一个 VPC 端点
在此步骤中,您将为 DynamoDB 创建 VPC 终端节点,并对其进行测试以确保其正常工作。
-
在开始之前,请验证您是否可以使用 DynamoDB 的公共终端节点与 DynamoDB 进行通信。
aws dynamodb list-tables
输出将显示您当前拥有的 DynamoDB 表的列表。(如果您没有任何表,该列表将为空。)
-
验证 DynamoDB 是否可用于在当前Amazon区域创建 VPC 端点。(命令以粗体文本显示,后面是示例输出。)
aws ec2 describe-vpc-endpoint-services
{ "ServiceNames": [ "com.amazonaws.us-east-1.s3", "com.amazonaws.us-east-1.dynamodb" ] }在示例输出中,DynamoDB 是可用的服务之一,因此您可以继续为其创建 VPC 终端节点。
-
确定您的 VPC 标识符。
aws ec2 describe-vpcs
{ "Vpcs": [ { "VpcId": "vpc-0bbc736e", "InstanceTenancy": "default", "State": "available", "DhcpOptionsId": "dopt-8454b7e1", "CidrBlock": "172.31.0.0/16", "IsDefault": true } ] }在示例输出中,VPC ID 为
vpc-0bbc736e
。 -
创建 VPC 终端节点。对于
--vpc-id
参数,指定上一步中的 VPC ID。使用--route-table-ids
参数将终端节点与路由表相关联。aws ec2 create-vpc-endpoint --vpc-id vpc-0bbc736e --service-name com.amazonaws.us-east-1.dynamodb --route-table-ids rtb-11aa22bb
{ "VpcEndpoint": { "PolicyDocument": "{\"Version\":\"2008-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"*\",\"Resource\":\"*\"}]}", "VpcId": "vpc-0bbc736e", "State": "available", "ServiceName": "com.amazonaws.us-east-1.dynamodb", "RouteTableIds": [ "rtb-11aa22bb" ], "VpcEndpointId": "vpce-9b15e2f2", "CreationTimestamp": "2017-07-26T22:00:14Z" } } -
验证您是否可以通过 VPC 终端节点访问 DynamoDB。
aws dynamodb list-tables
如果需要,您可以为 DynamoDB 尝试其他 Amazon CLI 命令。有关更多信息,请参阅 Amazon CLI 命令参考。
第 4 步:(可选)清除
如果要删除您在本教程中创建的资源,请按照以下步骤操作:
删除用于 DynamoDB 的 VPC 终端节点
-
登录到您的 Amazon EC2 实例。
-
确定 VPC 终端节点 ID。
aws ec2 describe-vpc-endpoints
{ "VpcEndpoint": { "PolicyDocument": "{\"Version\":\"2008-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"*\",\"Resource\":\"*\"}]}", "VpcId": "vpc-0bbc736e", "State": "available", "ServiceName": "com.amazonaws.us-east-1.dynamodb", "RouteTableIds": [], "VpcEndpointId": "vpce-9b15e2f2", "CreationTimestamp": "2017-07-26T22:00:14Z" } }在示例输出中,VPC 终端节点 ID 为
vpce-9b15e2f2
。 -
删除 VPC 终端节点。
aws ec2 delete-vpc-endpoints --vpc-endpoint-ids vpce-9b15e2f2
{ "Unsuccessful": [] }空数组
[]
表示成功(没有失败请求)。
终止 Amazon EC2 实例
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择实例。
-
选择您的 Amazon EC2 实例。
-
依次选择 Actions(操作)、Instance State(实例状态)和 Terminate(终止)。
-
在确认窗口中,选择是,终止。