标签: aws-cli

列出EC2实例的公共IP地址

我想使用Bash列出我的EC2实例的公共IP地址,用分隔符(空格或换行符)分隔.

我试图管道输出到JQaws ec2 describe-instances | jq,但似乎不能只是孤立的IP地址.

这可以aws单独完成,指定参数jq或完全不同的东西吗?

bash amazon-ec2 amazon-web-services aws-cli jq

39
推荐指数
5
解决办法
3万
查看次数

从aws cloudformation describe-stack获取输出

我使用以下内容通过AWS Cli 获取我想要的堆栈信息:

aws cloudformation --region ap-southeast-2 describe-stacks --stack-name mystack
Run Code Online (Sandbox Code Playgroud)

它返回结果OK:

{
    "Stacks": [
        {
            "StackId": "arn:aws:mystackid", 
            "LastUpdatedTime": "2017-01-13T04:59:17.472Z", 
            "Tags": [], 
            "Outputs": [
                {
                    "OutputKey": "Ec2Sg", 
                    "OutputValue": "sg-97e13dff"
                }, 
                {
                    "OutputKey": "DbUrl", 
                    "OutputValue": "myUrl"
                }
            ], 
            "CreationTime": "2017-01-13T03:27:18.893Z", 
            "StackName": "mystack", 
            "NotificationARNs": [], 
            "StackStatus": "UPDATE_ROLLBACK_COMPLETE", 
            "DisableRollback": false
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

但我不知道如何只返回OutputUall的值,即myUrl

因为我不需要休息,只需我的.

这可能通过aws cloudformation describe-stacks吗?

编辑

我才意识到我可以使用 - 查询:

--query "Stacks[0].Outputs[1].OutputValue"
Run Code Online (Sandbox Code Playgroud)

将得到我想要的,但我想使用DbUrl else如果输出的数量改变,我的结果将是意外的.

aws-cloudformation aws-cli

39
推荐指数
3
解决办法
2万
查看次数

如何在 alpine 上安装 aws-cli?

我正在运行 alpine 的 docker swarm 管理器节点上安装 aws-cli(Linux 0317632a4ad9 4.9.59-moby #1 SMP Thu Mar 1 20:54:00 UTC 2018 x86_64 Linux)。Alpine 的 aws-cli 包目前列在边缘分支 (1.18.55.r0) 的社区存储库中。我修改了/etc/apk/repositories为针对此 repo。

安装过程中寻找 py3-urllib3,但我解决了这个问题,最后得到了一个没有错误的全新安装,如下所示:

  ~ $ sudo apk add aws-cli@edge-comm
    fetch http://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
    ERROR: unsatisfiable constraints:
      py3-urllib3-1.25.9-r0:
        masked in: @edge
        satisfies: py3-botocore-1.16.12-r0[py3-urllib3<1.26]

    ~ $ sudo apk add py3-urllib3@edge aws-cli@edge-comm
    (1/23) Installing groff (1.22.3-r1)
    (2/23) Installing py3-six (1.10.0-r6)
    (3/23) Installing py3-dateutil (2.6.0-r1)
    (4/23) Installing libpng (1.6.37-r0)
    (5/23) Installing freetype (2.7.1-r2)
    (6/23) Installing libjpeg-turbo (1.5.3-r2)
    (7/23) Installing lcms2 …
Run Code Online (Sandbox Code Playgroud)

aws-cli alpine-linux

39
推荐指数
3
解决办法
4万
查看次数

s3cmd,boto和AWS CLI之间的区别

我正在考虑将我的静态网站重新部署到Amazon S3.我需要自动部署,所以我一直在为这些任务寻找API.我对不同的选择感到有点困惑.

问题:s3cmd,Python库boto和AWS CLI有什么区别?

amazon-s3 boto s3cmd aws-cli

38
推荐指数
1
解决办法
2万
查看次数

运行aws iam upload-server-certificate时,如何解决错误"请求中包含的安全令牌无效"?

cd进入所有pem/key文件所在的目录并运行以下命令:

aws iam upload-server-certificate 
    --server-certificate-name certificate_name 
    --certificate-body file://webservercertificate.pem  
    --private-key file://server.key   
    --certificate-chain file://certificate_chain_file.pem 
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

调用UploadServerCertificate操作时发生客户端错误(InvalidClientTokenId):请求中包含的安全令牌无效.

我在"用户"中有1个"用户".该用户已被分配以下权限:

IAMFullAccess IAMReadOnlyAccess IAMUserSSHKeys
Run Code Online (Sandbox Code Playgroud)

我已下载此用户的凭据并将其放入我的用户变量中

AWS_ACCESS_KEY ****
AWS_SECRET_KEY ****
Run Code Online (Sandbox Code Playgroud)

我在弹性豆茎上有1个角色 aws-elasticbeanstalk-ec2-role

amazon-web-services amazon-iam aws-cli

38
推荐指数
12
解决办法
9万
查看次数

如何关闭 AWS CLI 返回值的寻呼机?

我正在尝试利用 AWS CLI 和forbash 中的循环来迭代清除多个 SQS 消息队列。bash 脚本几乎按预期工作,我遇到的问题是每次 AWS CLI 发送请求时的返回值。当请求成功时,它返回一个空值并在命令行中打开一个交互式寻呼机。然后我必须手动输入q以退出交互式屏幕并允许for循环继续下一次迭代。当尝试清除大量队列时,这变得非常乏味和耗时。

有没有办法配置 AWS CLI 以禁用此交互式寻呼机为每个返回值弹出?或者将返回值通过管道传输到单独的文件而不是显示的方法?

我玩过配置不同的返回值类型(文本、yaml、JSON)但没有任何运气。此外,该--no-pagination参数不会改变行为。

这是我尝试运行的 bash 脚本示例:

for x in 1 2 3; do 
  aws sqs purge-queue --queue-url https://sqs.<aws-region>.amazonaws.com/<id>/<env>-$x-<queueName>.fifo; 
done
Run Code Online (Sandbox Code Playgroud)

bash amazon-sqs amazon-web-services aws-cli

37
推荐指数
5
解决办法
7517
查看次数

awscli无法工作:没有名为'awscli'的模块

我试图在Linux Mint 17.2 Rafaela上使用pip3安装awscli.

我收到错误:

Traceback (most recent call last):
  File "/home/jonathan/.local/bin/aws", line 19, in <module>
    import awscli.clidriver
ImportError: No module named 'awscli'
Run Code Online (Sandbox Code Playgroud)

这些是我正在采取的步骤,遵循aws安装指南:

sudo pip install awscli --upgrade --user
Run Code Online (Sandbox Code Playgroud)

一切似乎安装得很好.

添加到我的.bashrc

export PATH=~/.local/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

然后

source ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

然后我尝试命令

aws --version
Run Code Online (Sandbox Code Playgroud)

我明白了

Traceback (most recent call last):
  File "/home/jonathan/.local/bin/aws", line 19, in <module>
    import awscli.clidriver
ImportError: No module named 'awscli'
Run Code Online (Sandbox Code Playgroud)

有人能帮忙吗?

编辑:对于访问此问题的任何人.我无法测试任何这些答案,因为我已经删除了这个操作系统并安装了Ubuntu.此外,我不再需要awscli了.

pip python-3.x aws-cli

36
推荐指数
8
解决办法
3万
查看次数

alpine linux 上的 awscli 版本 2

我试图将awscli_v2放入一个基于 alpine 的docker容器中,发现它失败并显示以下错误消息:

/aws/install: line 78: /aws/dist/aws: not found

考虑到文件本身就在那里并且可以用 ls 列出,我猜想可执行文件所./aws/dist/aws依赖的某些库在 alpine 上不存在。有人知道可能是哪些图书馆吗?

amazon-web-services aws-cli

36
推荐指数
3
解决办法
1万
查看次数

从AWS Lambda调用aws-cli

有没有办法在AWS Lambda中执行aws-cli?它似乎没有预先安装.(我通过Node.js子进程检查了"which aws",但它不存在.)

amazon-web-services aws-cli aws-lambda aws-sdk-nodejs

35
推荐指数
5
解决办法
1万
查看次数

有没有办法从aws web控制台获得s3 uri?

我想从我的s3 下载一个目录.
当我需要一个文件时,s3管理控制台(aws web控制台)允许我下载它,但是当一个目录时,我必须使用aws-cli,如:

$ aws s3 cp s3://mybucket/mydirectory/ . --recursive
Run Code Online (Sandbox Code Playgroud)

我的问题是:有没有办法s3://mybucket/mydirectory/从s3管理控制台获取s3 uri()?
它的URL可用,但它与aws-cli所需的s3 URI略有不同.我找不到任何菜单来获取uri.

先感谢您!

amazon-s3 amazon-web-services aws-cli

33
推荐指数
2
解决办法
3万
查看次数