标签: aws-cli

查找在多个 aws ec2 实例上运行的服务

AWS cli 中是否有命令可以获取在我的 ec2 实例上运行的服务列表?

通常我会单独登录每个 ec2 实例,并使用 Linux 命令(例如“netstat”或“ps -eaf”)进行检查。

大约有 400 个实例,因此如果我手动执行此操作,则会花费相当多的时间。如果有任何 AWS 命令​​可以在不实际登录实例的情况下查找正在运行的服务,那就太好了。

提前致谢。

amazon-ec2 amazon-web-services aws-cli

0
推荐指数
1
解决办法
2918
查看次数

AWS CLI 创建 ec2 实例 UnicodeEncodeError

我正在尝试使用以下命令通过 AWS 控制台工具创建一个新的 EC2 实例:

aws ec2 run-instances --image-id ami-9abea4fb --count 1 –-instance-type t2.micro --key-name my_key_name --security-group-ids my_rule --region us-west-2
Run Code Online (Sandbox Code Playgroud)

但我不断收到此错误。

Traceback (most recent call last):
  File "/usr/local/bin/aws", line 27, in <module>
    sys.exit(main())
  File "/usr/local/bin/aws", line 23, in main
    return awscli.clidriver.main()
  File "/Users/davesmith/Library/Python/2.7/lib/python/site-packages/awscli/clidriver.py", line 56, in main
    return driver.main()
  File "/Users/davesmith/Library/Python/2.7/lib/python/site-packages/awscli/clidriver.py", line 203, in main
    sys.stderr.write(str(e))
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in position 27: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-cli

0
推荐指数
1
解决办法
497
查看次数

aws-cli:导出区域环境变量不起作用?

我正在旋转一个debian:jessie容器。

执行后:

pip install awscli
Run Code Online (Sandbox Code Playgroud)

我导出我的凭据:

export AWS_ACCESS_KEY_ID=<myaccesskeyid>
export AWS_SECRET_ACCESS_KEY=<mysecretkey>
Run Code Online (Sandbox Code Playgroud)

但导出该区域似乎不起作用

root@cae75eebe847:/# export AWS_REGION=eu-west-1
root@cae75eebe847:/# $(aws ecr get-login --no-include-email)
You must specify a region. You can also configure your region by running "aws configure".
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

交互式运行aws configure完成了这项工作,但我正在尝试编写脚本。

以上发生在debian:jessie容器内,我正在使用:

$ docker info | grep -i version
WARNING: No swap limit support
Server Version: 17.12.0-ce
containerd version: 89623f28b87a6004d4b785663257362d1658a729
runc version: b2567b37d7b75eb4cf325b77297b140ea686ce8f
init version: 949e6fa
Kernel Version: 4.13.0-32-generic
Run Code Online (Sandbox Code Playgroud)

environment-variables amazon-web-services aws-cli

0
推荐指数
1
解决办法
3368
查看次数

在 Jenkins 中使用 AWS 命令​​获取 EC2 实例的 CPU 利用率的最佳方法是什么

我正在编写一个 Jenkins 作业来显示特定时间的 CPU 利用率,并且我的 Jenkins 作业能够使用 AWS cli 处理 AWS 命令​​。

有没有简单的方法可以获取 CPU 利用率?

amazon-ec2 aws-cli

0
推荐指数
1
解决办法
3561
查看次数

AWS Glue API 无法识别带有连字符的分区

我在 S3 中有按类别和日期分区的数据,如下所示:

s3://mybucket/category=1/date=2018-08-30/data1.json
s3://mybucket/category=1/date=2018-08-31/data2.json
s3://mybucket/category=2/date=2018-08-30/data3.json
s3://mybucket/category=2/date=2018-08-31/data4.json
Run Code Online (Sandbox Code Playgroud)

运行爬网程序后,我的元数据表中有两个分区键:一个用于category,另一个用于date。我想使用GetPartitions API检索与某些键匹配的分区,因此我开始尝试使用 AWS CLI。如果我运行这个命令:

aws glue get-partitions --database-name mydb --table-name mytable --expression "category=1" --region us-west-2

我按预期成功检索了分区。但是,我尝试了以下命令:

aws glue get-partitions --database-name mydb --table-name mytable --expression "category=1 AND date=2018-08-30" --region us-west-2

得到的回应是

调用 GetPartitions 操作时发生错误 (InvalidInputException):不支持的表达式 '2018 - 08 - 30'

产生此错误的另一个命令是

aws glue get-partitions --database-name mydb --table-name mytable --expression category=1\ AND\ date=2018-08-30 --region us-west-2

我还尝试使用以下命令修改调用:

aws glue get-partitions --database-name mydb --table-name mytable --expression "category=1 AND date=2018\-08\-30" --region us-west-2 …

amazon-web-services aws-cli aws-glue

0
推荐指数
1
解决办法
2825
查看次数

S3对象:“到期”和“到期日期”之间的差异

我正在尝试遵循有关的AWS文档aws s3 cp,该文档将--expires标志记录为:

--expires(字符串)对象不再可缓存的日期和时间。

...

将具有到期日期的本地文件复制到S3

以下cp命令将单个文件复制到指定的存储桶和密钥,该文件在指定的ISO 8601时间戳记到期:

aws s3 cp test.txt s3://mybucket/test2.txt --expires 2014-10-01T20:30:00Z

因此,当我像上面的示例一样运行命令时,我在S3中得到一个文件,该文件的右侧具有“概述”窗格,如下所示:

概述窗格

概述窗格声称没有“到期日期”。好。但是,如果我单击该文件,然后单击“属性”->“元数据”,则会看到以下内容:

S3对象元数据

那么哪一个是对的?“到期”和“到期日期”时间戳在某种程度上表示不同的含义吗?还是它们是同一回事,而显示的只是越野车?

我已经在StackOverflow上搜索了几个类似的问题(hereherehere),但没有找到这个问题的答案。

amazon-s3 aws-cli

0
推荐指数
1
解决办法
755
查看次数

AWS CLI - 从配置文件名称获取帐户名称?

我正在尝试为我的 aws 事物创建部署脚本。

我们为生产和开发创建了单独的帐户,我想传递一个参数,用户可以在其中指定要部署到的环境。由于配置文件将他们与他们正在使用的帐户联系起来,因此有没有办法在命令行上根据配置文件名称获取帐户名称?

amazon-web-services aws-cli

0
推荐指数
1
解决办法
7779
查看次数

如何解决“-bash: aws: 未找到命令”awscli 错误?

我已按照使用 pip 在 macOS 上安装 AWS CLI 版本 1安装了 AWS CLI 。

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

但是,当我尝试运行 AWS CLI 命令时,出现以下错误。

$ aws --version
-bash: aws: command not found
Run Code Online (Sandbox Code Playgroud)

我已确认已安装 AWS CLI。

$ pip list
Package              Version  
-------------------- ---------
awscli               1.16.279 
Run Code Online (Sandbox Code Playgroud)

为什么aws我已经成功安装了却找不到该命令?

python aws-cli

0
推荐指数
1
解决办法
8758
查看次数

无需使用 kubernetes 运行 aws configure 即可访问 S3 存储桶

我有一个 S3 存储桶,其中包含一些 sql 脚本和一些使用 mysqldump 的备份文件。

我还有一个 .yaml 文件,用于部署新的 mariadb 映像。

由于我对 kubernetes 还不是很有经验,如果我想将这些备份文件之一恢复到 pod 中,我需要重击它,运行 aws cli,插入我的凭据,然后在本地同步存储桶并运行 mysql < backup .sql

显然,这破坏了全自动部署的概念。

所以,问题是……我怎样才能安全地使这个 pod 立即配置为访问 S3?

amazon-s3 aws-cli kubernetes

0
推荐指数
1
解决办法
2641
查看次数

根据文件名模式将 S3 存储桶中的文件移动到文件夹

我有一个包含几千个文件的 S3 存储桶,其中文件名始终与模式 {hostname}.{contenttype}.{yyyyMMddHH}.zip 匹配。我想创建一个每天运行一次的脚本,根据文件名中的年份和月份将这些文件移动到文件夹中。

如果我尝试以下 aws-cli 命令

aws s3 mv s3://mybucket/*.202001* s3://mybucket/202001/
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

fatal error: An error occurred (404) when calling the HeadObject operation: Key "*.202001*" does not exist
Run Code Online (Sandbox Code Playgroud)

是否有 aws-cli 命令可以按计划运行以实现此目的?

amazon-s3 aws-cli

0
推荐指数
1
解决办法
764
查看次数