

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

# AWS Control Tower通过以下方式与之互动AWS CloudShell
<a name="cshell-examples"></a>

AWS CloudShell从启动后AWS 管理控制台，您可以立即开始AWS Control Tower从命令行界面与之交互。AWS CLI命令在中以标准方式工作 CloudShell。

**注意**  
AWS CLI在中使用时AWS CloudShell，您无需下载或安装任何其他资源。您已经在 Shell 中进行了身份验证，因此在进行调用之前也无需配置凭证。<a name="cloudshell-and-controltower"></a>

# AWS CloudShell用于帮助设置AWS Control Tower
<a name="cloudshell-and-controltower"></a>

在执行这些程序之前，除非另有说明，否则您必须登录到着陆区域的主区域，并且必须以 IAM Identity Center 用户或对包含您的着陆区的管理账户具有管理权限的 IAM 用户身份登录。AWS 管理控制台

1. 在开始配置 landing zone 之前，您可以通过以下方式在中AWS CloudShell使用AWS Config CLI 命令来确定配置记录器和传送渠道AWS Control Tower的状态。

   **示例：查看您的AWS Config状态**

**查看命令：**
   + `aws configservice describe-delivery-channels`
   + `aws configservice describe-delivery-channel-status`
   + `aws configservice describe-configuration-recorders`
   + 正常的响应类似于 `"name": "default"`

1. 如果您有现有的AWS Config录音机或传送渠道，需要在设置 landing z AWS Control Tower one 之前将其删除，则可以输入以下命令：

   **示例：管理您先前存在AWS Config的资源**

**删除命令：**
   + `aws configservice stop-configuration-recorder --configuration-recorder-name NAME-FROM-DESCRIBE-OUTPUT`
   + `aws configservice delete-delivery-channel --delivery-channel-name NAME-FROM-DESCRIBE-OUTPUT`
   + `aws configservice delete-configuration-recorder --configuration-recorder-name NAME-FROM-DESCRIBE-OUTPUT`
**重要**  
请勿删除的AWS Control Tower资源AWS Config。这些资源的丢失可能导致AWS Control Tower进入不一致的状态。

**有关更多信息，请参阅AWS Config文档**
   +  [管理配置记录器 (AWS CLI)](https://docs.aws.amazon.com//config/latest/developerguide/stop-start-recorder.html#managing-recorder_cli)
   +   [管理传输通道](https://docs.aws.amazon.com//config/latest/developerguide/manage-delivery-channel.html)

1. 此示例显示了为启用或禁用可信AWS CloudShell访问而输入的AWS CLI 命令AWS Organizations。因为AWS Control Tower您不需要为启用或禁用可信访问权限AWS Organizations，这只是一个示例。但是，如果您要在中自动执行或自定义操作，则可能需要启用或禁用其他AWS服务的可信访问权限。AWS Control Tower

**示例：启用或禁用可信服务访问**
   + `aws organizations enable-aws-service-access`
   + `aws organizations disable-aws-service-access`<a name="cloudshell-and-s3"></a>

# 示例：使用创建 Amazon S3 存储桶AWS CloudShell
<a name="cloudshell-and-s3"></a>

在以下示例中，您可以使用AWS CloudShell创建 Amazon S3 存储桶，然后使用**PutObject**方法将代码文件作为对象添加到该存储桶中。

1. 要在指定AWS区域创建存储桶，请在命令行中输入以下 CloudShell 命令：

   ```
   aws s3api create-bucket --bucket insert-unique-bucket-name-here --region us-east-1
   ```

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

   ```
   {
       "Location": "/insert-unique-bucket-name-here"
   }
   ```
**注意**  
如果您不遵守[命名存储桶的规则](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html#bucketnamingrules)（例如，仅使用小写字母），则会显示以下错误：调用 CreateBucket 操作时出现错误 (InvalidBucketName)：指定的存储桶无效。

1. 要上传文件并将其作为对象添加到刚创建的存储桶，请调用 **PutObject** 方法：

   ```
   aws s3api put-object --bucket insert-unique-bucket-name-here --key add_prog --body add_prog.py
   ```

   将对象成功上传到 Amazon S3 存储桶后，命令行将显示来自服务的响应，类似于以下输出：

   ```
   {
              "ETag": "\"ab123c1:w:wad4a567d8bfd9a1234ebeea56\""}
   ```

   `ETag` 是已存储对象的哈希值。该值可用于[检查上传到 Amazon S3 的对象的完整性](https://aws.amazon.com/premiumsupport/knowledge-center/data-integrity-s3/)。