

# 创建 S3 on Outposts 存储桶
<a name="S3OutpostsCreateBucket"></a>

通过使用 Amazon S3 on Outposts，您可以在 Amazon Outposts 上创建 S3 桶，并在本地为需要本地数据访问、本地数据处理和数据驻留的应用程序轻松存储和检索对象。S3 on Outposts 提供了一个新的存储类 S3 Outposts (`OUTPOSTS`)；该存储类使用 Amazon S3 API，并且用于在 Amazon Outposts 上的多个设备和服务器之间持久冗余地存储数据。您通过 Virtual Private Cloud（VPC）使用接入点和端点连接与 Outposts 桶进行通信。您可以像在 Amazon S3 桶中一样在 Outpost 桶上使用相同的 API 和功能，包括访问策略、加密和标记。您可以通过 Amazon Web Services 管理控制台、Amazon Command Line Interface (Amazon CLI)、Amazon SDK 或 REST API 使用 S3 on Outposts。有关更多信息，请参阅 [什么是 Amazon S3 on Outposts？](S3onOutposts.md)

**注意**  
创建存储桶的 Amazon Web Services 账户 拥有该存储桶，也是唯一可以向其提交操作的账户。存储桶具有配置属性，如 Outpost、标签、默认加密和访问点设置。访问点设置包括用于访问存储桶中对象的 Virtual Private Cloud (VPC) 和访问点策略以及其他元数据。有关更多信息，请参阅 [S3 on Outposts 规范](S3OnOutpostsRestrictionsLimitations.md#S3OnOutpostsSpecifications)。  
如果您想创建一个桶，该桶使用 Amazon PrivateLink 通过虚拟私有云（VPC）中的*接口 VPC 端点*提供桶和端点管理访问，请参阅[适用于 S3 on Outposts 的 Amazon PrivateLink](https://docs.amazonaws.cn/AmazonS3/latest/userguide/s3-outposts-privatelink-interface-endpoints.html)。

以下示例显示如何使用 Amazon Web Services 管理控制台、Amazon Command Line Interface (Amazon CLI) 和 适用于 Java 的 Amazon SDK 创建 S3 on Outposts 存储桶。

## 使用 S3 控制台
<a name="S3OutpostsCreateBucketConsole"></a>

1. 登录到 Amazon Web Services 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.amazonaws.cn/s3/)。

1. 在左侧导航窗格中，选择 **Outposts buckets**（Outposts 存储桶）。

1. 选择**创建 Outposts 存储桶**。

1. 对于 **Bucket name**（存储桶名称）中，输入符合域名系统 (DNS) 标准的存储桶名称。

   存储桶名称必须满足以下要求：
   + 在 Amazon Web Services 账户、Outpost 以及 Outpost 所属的 Amazon Web Services 区域内保持唯一性。
   + 长度为 3-63 个字符。
   + 不包含大写字符。
   + 以小写字母或数字开头。

     创建存储桶后，便无法再更改其名称。有关命名存储桶的信息，请参阅《Amazon S3 用户指南》**中的[通用存储桶命名规则](https://docs.amazonaws.cn/AmazonS3/latest/userguide/bucketnamingrules.html)。
**重要**  
避免在存储桶名称中包含敏感信息，如账号。存储桶名称会显示在指向存储桶中的对象的 URL 中。

1. 对于 **Outpost**，选择要放置存储桶的 Outpost。

1. 在 **Bucket Versioning**（桶版本控制）下，将 S3 on Outposts 桶的 S3 版本控制状态设置为以下选项之一：
   + **Disable**（禁用）（原定设置）- 桶保持未版本控制状态。
   + **Enable**（启用）- 为桶中的对象启用 S3 版本控制。添加到桶的所有对象都将收到唯一的版本 ID。

   有关 S3 版本控制的更多信息，请参阅[为 S3 on Outposts 桶管理 S3 版本控制](S3OutpostsManagingVersioning.md)。

1. （可选）添加要与 Outposts 存储桶关联的任何 **optional tags**（可选标签）。您可以使用标签来跟踪单个项目或项目组的标准，或使用成本分配标签标注您的存储桶。

   原定设置情况下，存储在 Outposts 存储桶中的所有对象都使用具有 Amazon S3 托管式加密密钥 (SSE-S3) 的服务器端加密进行存储。您也可以明确选择使用具有客户提供的加密密钥 (SSE-C) 的服务器端加密来存储对象。要更改加密类型，您必须使用 REST API、Amazon Command Line Interface (Amazon CLI) 或 Amazon 软件开发工具包。

1. 在 **Outposts access point settings**（Outposts 访问点设置）部分，输入访问点名称。

   S3 on Outposts 访问点可简化对 S3 on Outposts 中的共享数据集的大规模数据访问管理。访问点是附加到 Outposts 存储桶的已命名网络端点，您可以使用这些存储桶执行 S3 对象操作。有关更多信息，请参阅 [接入点](S3OutpostsWorkingBuckets.md#S3OutpostsAP)。

   在此区域和 Outpost 的账户中，接入点名称必须唯一，并符合[接入点限制和局限性](https://docs.amazonaws.cn/AmazonS3/latest/userguide/access-points-restrictions-limitations.html)。

1. 为此 Amazon S3 on Outposts 访问点选择 **VPC**。

   如果您没有 VPC，请选择 **Create VPC**（创建 VPC）。有关更多信息，请参阅《Amazon S3 用户指南》**中的[创建限制到虚拟私有云（VPC）的接入点](https://docs.amazonaws.cn/AmazonS3/latest/userguide/access-points-vpc.html)。

   通过 Virtual Private Cloud (VPC)，您可以将 Amazon 资源启动到您定义的虚拟网络中。这个虚拟网络与您在自己的数据中心中运行的传统网络极其相似，并会为您提供使用的可扩展基础设施的优势Amazon 

1. （对于现有 VPC 为可选）为端点选择 **Endpoint subnet**（端点子网）。

   子网是您的 VPC 内的 IP 地址范围。如果您没有所需的子网，请选择 **Create subnet**（创建子网）。有关更多信息，请参阅 [S3 on Outposts 的网络](S3OutpostsNetworking.md)。

1. （对于现有 VPC 为可选）为端点选择 **Endpoint security group**（端点安全组）。

   [安全组](https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/ec2-security-groups.html)充当 VPC 的虚拟防火墙，以控制入站和出站流量。

1. （对于现有 VPC 为可选）选择 **Endpoint access type**（端点访问类型）：
   + **Private**（私密） – 要与 VPC 一起使用。
   + **Customer owned IP**（客户拥有的 IP）– 要与本地部署网络中的客户拥有的 IP 池一起使用。

1. （可选）指定 **Outpost access point policy**（Outpost 访问点策略）。控制台会自动显示访问点的 **Amazon Resource Name (ARN)**，您可以在策略中使用该名称。

1. 选择**创建 Outposts 存储桶**。
**注意**  
创建 Outpost 端点并准备好桶以供使用，最多可能需要 5 分钟的时间。要配置其他存储桶设置，请选择 **View details**（查看详细信息）。

## 使用 Amazon CLI
<a name="S3OutpostsCreateBucketCLI"></a>

**Example**  
以下示例使用 Amazon CLI 创建 S3 on Outposts 存储桶 (`s3-outposts:CreateBucket`)。要运行此命令，请将 `user input placeholders` 替换为您自己的信息。  

```
aws s3control create-bucket --bucket example-outposts-bucket --outpost-id op-01ac5d28a6a232904
```

## 使用适用于 Java 的 Amazon 软件开发工具包
<a name="S3OutpostsCreateBucketJava"></a>

**Example**  
有关如何使用适用于 Java 的 Amazon SDK 创建 S3 Outposts 存储桶的示例，请参阅《Amazon SDK for Java 2.x Code Examples》**中的 [CreateOutpostsBucket.java](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javav2/example_code/s3/src/main/java/com/example/s3/outposts/CreateOutpostsBucket.java)。