

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

# 在 CLI 中管理 AWS 服务 CloudShell
<a name="working-with-aws-cli"></a>

的一个主要好处 AWS CloudShell 是，您可以使用它从命令行界面管理您的 AWS 服务。这意味着您不需要事先下载和安装工具或在本地配置您的凭证。启动时 AWS CloudShell，将创建一个已安装以下 AWS 命令行工具的计算环境：
+ [AWS CLI](#aws-cli-section)
+ [AWS Elastic Beanstalk CLI](#eb-command-line)
+ [Amazon ECS CLI](#ecs-command-line)
+ [AWS SAM](#sam-cli-command-line)

而且，由于您已经登录 AWS，因此无需在使用服务之前在本地配置证书。您用于登录 AWS 管理控制台 的凭证会被转发到 AWS CloudShell。

如果要更改使用的默认 AWS 区域 AWS CLI，则可以更改分配给`AWS_REGION`环境变量的值。（有关更多信息，请参阅 [指定您的默认 AWS 区域 值 AWS CLI](working-with-aws-cloudshell.md#environment-variaiables-regions)。）

本主题的其余部分演示如何开始使用 AWS CloudShell 命令行与所选 AWS 服务进行交互。

## AWS CLI 所选 AWS 服务的命令行示例
<a name="aws-cli-section"></a>

以下示例仅代表您可以使用 AWS CLI 版本 2 中提供的命令使用的众多 AWS 服务中的一部分。有关完整列表，请参阅 [AWS CLI 命令参考](https://awscli.amazonaws.com/v2/documentation/api/latest/index.html)。
+ [DynamoDB](#dynamo-example)
+ [Amazon EC2](#ec2-example)
+ [Amazon Glacier](#s3-glacier-example)

### DynamoDB
<a name="dynamo-example"></a>

DynamoDB 是一项完全托管式 NoSQL 数据库服务，提供快速且可预测的性能，能够实现无缝扩展。该服务的 NoSQL 模式实现支持键值和文档数据结构。

以下`create-table`命令创建在您的账户中命名的 NoSQL 样式表`MusicCollection`。 AWS 

```
aws dynamodb create-table \
    --table-name MusicCollection \
    --attribute-definitions AttributeName=Artist,AttributeType=S AttributeName=SongTitle,AttributeType=S \
    --key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE \
    --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 \
    --tags Key=Owner,Value=blueTeam
```

有关更多信息，请参阅 *AWS Command Line Interface 用户指南*中的[通过 AWS CLI使用 DynamoDB](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-dynamodb.html)。

### Amazon EC2
<a name="ec2-example"></a>

Amazon Elastic Compute Cloud（Amazon EC2）是一项 Web 服务，可在云中提供安全且可调整大小的计算容量。该服务旨在降低网络规模级云计算的难度，并且更易访问。

以下 `run-instances` 命令在指定 VPC 子网中启动了一个 t2.micro 实例：

```
aws ec2 run-instances --image-id ami-xxxxxxxx --count 1 --instance-type t2.micro --key-name MyKeyPair --security-group-ids sg-903004f8 --subnet-id subnet-6e7f829e
```

更多信息，请参阅 *AWS Command Line Interface 用户指南*中的[通过 AWS CLI使用 Amazon EC2](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-ec2.html)。

### Amazon Glacier
<a name="s3-glacier-example"></a>

Amazon Glacier 和 Amazon Glacier Deep Archive 是一种安全、持久且成本极低的 Amazon S3 云存储类别，用于数据存档和长期备份。

以下 `create-vault` 命令创建一个文件库，即用于存储档案的容器：

```
aws glacier create-vault --vault-name my-vault --account-id -
```

有关更多信息，请参阅《AWS Command Line Interface 用户指南》**中的[通过 AWS CLI使用 Amazon Glacier](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-glacier.html)。

## AWS Elastic Beanstalk CLI
<a name="eb-command-line"></a>

 AWS Elastic Beanstalk CLI 提供了一个命令行界面，用于简化从本地存储库创建、更新和监控环境的过程。在这种情况下，*环境*是指运行应用程序版本的 AWS 资源集合。

以下 `create` 命令在自定义 Amazon Virtual Private Cloud (VPC) 中创建新环境。

```
$ eb create dev-vpc --vpc.id vpc-0ce8dd99 --vpc.elbsubnets subnet-b356d7c6,subnet-02f74b0c --vpc.ec2subnets subnet-0bb7f0cd,subnet-3b6697c1 --vpc.securitygroup sg-70cff265
```

有关更多信息，请参阅*AWS Elastic Beanstalk 开发人员指南*中的[EB CLI 指令参考](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-cmd-commands.html)。

## Amazon ECS CLI
<a name="ecs-command-line"></a>

Amazon Elastic Container Service (Amazon ECS) 命令行界面 (CLI) 提供多个高级命令。这些命令旨在简化从本地开发环境创建、更新和监视集群和任务的过程。（Amazon ECS 集群是任务或服务的逻辑分组。） 

以下 `configure` 命令将 Amazon ECS CLI 配置为创建名为 `ecs-cli-demo` 的集群配置。此集群配置使用 `FARGATE` 作为 `us-east-1 region` 中 `ecs-cli-demo` 集群的默认启动类型。

```
ecs-cli configure --region us-east-1 --cluster ecs-cli-demo --default-launch-type FARGATE --config-name ecs-cli-demo
```

有关更多信息，请参阅《Amazon Elastic Container Service 开发人员指南》**中的[ Amazon ECS 命令行参考](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_AWSCLI_Fargate.html)。

## AWS SAM CLI
<a name="sam-cli-command-line"></a>

AWS SAM CLI 是一种在 AWS Serverless Application Model 模板和应用程序代码上运行的命令行工具。您可以使用它执行多项任务。其中包括在本地调用 Lambda 函数、为无服务器应用程序创建部署包以及将无服务器应用程序部署到云端。 AWS 

以下 `init` 命令初始化一个新的 SAM 项目，并将所需参数作为参数传递：

```
sam init --runtime python3.9 --dependency-manager pip --app-template hello-world --name sam-app
```

有关更多信息，请参阅《AWS Serverless Application Model 开发人员指南》**中的[AWS SAM CLI 命令参考](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-command-reference.html)。