标签: aws-cli

启动EC实例::调用RunInstances操作时发生客户端错误(UnauthorizedOperation)

我正在使用AWS CLI,并且在使用以下命令AWS Configure 启动EC2实例时已使用它进行配置:

C:\>aws ec2 run-instances --dry-run --image-id ami-b5a7ea85 --count 1 --instance
-type t2.micro --key-name ec2_key --iam-instance-profile Arn=arn:aws:iam::132895
064974:instance-profile/ec2Admin
Run Code Online (Sandbox Code Playgroud)

它给了我:

A client error (UnauthorizedOperation) occurred when calling the RunInstances op
eration: You are not authorized to perform this operation. Encoded authorization
 failure message: 4doSfAQy0gcqKr1O-raIb0C83C2kLWQY8hjZ4gVtwUz6xSAwOtD2wumVnpgsz5
Run Code Online (Sandbox Code Playgroud)

amazon-ec2 amazon-web-services aws-cli

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

尝试下载文件时从s3获取403禁止

我在s3上有一个存储桶,并且用户可以完全访问该存储桶.

我可以执行ls命令并查看存储桶中的文件,但是下载它们会失败:

A client error (403) occurred when calling the HeadObject operation: Forbidden

我还尝试通过IAM控制台授予用户完全S3权限的用户.同样的问题.

作为参考,这是我的IAM政策:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:ListAllMyBuckets",
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::mybucket",
                "arn:aws:s3:::mybucket/*"
            ]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我也尝试添加一个存储桶策略,甚至将存储桶公开,但仍然没有...也是,从控制台,我试图对存储桶中的文件设置单独的权限,并得到一个错误,说我无法查看存储桶,这很奇怪,因为我在消息出现时从控制台查看它,并且可以ls在桶中进行任何操作.

编辑我的存储桶中的文件是使用我帐户中的凭据从另一个属于不同帐户的存储桶中复制的.可能相关也可能不相关......

第二次编辑只是尝试从其他存储桶上传,下载和复制我自己的文件到这个桶,它工作正常.问题特别在于从另一个帐户的存储区放置的文件.

谢谢!

amazon-s3 amazon-web-services aws-cli

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

如何使用 AWS-CLI 从 S3 中的快照创建 Redis ElastiCache 集群?

我想要做的是使用 aws-cli 根据我在 S3 中的 ElastiCache 快照创建一个 ElastiCache 集群,我的 ElastiCache 是启用集群的模式。

我按照本教程创建了一个启用集群的 Redis 缓存,这是我的命令: aws elasticache create-cache-cluster --cache-cluster-id stevescachecluster1 --cache-node-type cache.m4.large --engine redis --engine-version 3.2.4 --cache-parameter-group default.redis3.2.cluster.on --num-cache-nodes 1 --snapshot-arns arn:aws:s3:::MY_S3_BUCKET-elasticache/stevesun-elasticache-0002.rdb --cache-subnet-group-name my-cache-dev

由于上述命令失败 An error occurred (InvalidParameterCombination) when calling the CreateCacheCluster operation: Cluster mode should be disabled in parameter group, but found it is enabled.

这让我感到困惑,上面链接的教程明确指出,如果您想要启用集群模式的缓存,请在您的参数中使用.cluster.on选项。

然后我更多地研究了这个 aws-cli 命令参考:对于这个参数:--cache-parameter-group-name,它的文档说:You cannot use any parameter group which has cluster-enabled='yes' when creating a …

amazon-s3 amazon-web-services redis amazon-elasticache aws-cli

7
推荐指数
1
解决办法
2508
查看次数

如何使用 aws-cli 将文件从子目录直接复制到文件夹

我有许多文件包含在/myfolder.

我想使用 aws cli 将它们移动到/newfolder.

例如:

/myfolder/2017_01_01/file1.txt
/myfolder/2017_01_02/file2.txt
...
Run Code Online (Sandbox Code Playgroud)

我想将文件复制到一个新文件夹中:

/newfolder/file1.txt
/newfolder/file2.txt
...
Run Code Online (Sandbox Code Playgroud)

当我使用如下cp命令时:

aws s3 cp s3://myfolder/ s3://newfolder/ --recursive --exclude '*' --include '*file*'
Run Code Online (Sandbox Code Playgroud)

正确的文件被复制,但问题是文件保留在新位置的子文件夹中:

/newfolder/2017_01_01/file1.txt
/newfolder/2017_01_02/file2.txt
...
Run Code Online (Sandbox Code Playgroud)

是否可以将文件“从”其子文件夹中复制出来,以便直接放入/newfolder

aws-cli

7
推荐指数
1
解决办法
5439
查看次数

AWS Elastic Beanstalk:命令 eb list 不显示环境

我正在使用 Elastic Beanstalk 并创建了 3 个不同的环境。我使用了awsebcli。突然之间,该命令eb list没有显示我的环境,因此我无法部署环境。我得到的错误是ERROR: This branch does not have a default environment. You must either specify an environment by typing "eb status my-env-name" or set a default environment by typing "eb use my-env-name". 我尝试过eb status 'my-env-name',再次出现错误:ERROR: The environment name 'my-env-name' could not be found.简而言之:我无法使用任何eb命令。

bash amazon-web-services aws-cli amazon-elastic-beanstalk

7
推荐指数
2
解决办法
9257
查看次数

无法通过 CLI 创建 FIFO SQS

我正在尝试使用 CLI 创建 FIFO,但出现错误

aws sqs create-queue --queue-name my-queue.fifo --attributes FifoQueue=true --region us-east-1

An error occurred (InvalidAttributeName) when calling the CreateQueue operation: Unknown Attribute FifoQueue.
Run Code Online (Sandbox Code Playgroud)

文档页面说这是一个有效的属性。我错过了什么?

message-queue amazon-sqs amazon-web-services aws-cli

7
推荐指数
1
解决办法
2351
查看次数

aws-cli 可移植到 Windows?

对于大多数人来说,这可能不是什么大问题,但是您知道是否有适用于 aws-cli 的 Windows 的便携式版本。

这是因为有些人可能想将它安装在例如公司笔记本电脑中,但没有管理员权限,所以我想知道是否可以在某处找到便携式版本。


编辑

找不到合适的便携式软件版本,但如果您设法安装 python 并使用 pip,那么按照github中的说明进行安装非常容易。

最后更新

我很幸运,因为我的公司刚刚推出了 python 作为他们允许我们安装的工具,所以我设法使用了 pip。我唯一需要考虑的是用户标志,所以它安装在我有权限的地方:

pip install --user awscli
pip install --target=YOUR_PATH awscli
Run Code Online (Sandbox Code Playgroud)

portable-applications aws-cli

7
推荐指数
2
解决办法
7901
查看次数

S3 分段上传 --expected-size

我目前正在通过直接从另一个程序流式传输到 AWS CLI 来将大小大于 5GB 的文件上传到 S3。

这意味着我必须传递--expected-size参数但我事先不知道文件的大小,并且它比机器上的磁盘大所以我无法检查它。

我目前传递了一个更大的数字“只是为了安全”,但随着时间的推移,这个文件可能会超出这个范围,我不想一直更新我的脚本。

为文件 (4TB) 指定当前最大值的“预期大小”或比我当前的大小大很多倍的其他大小是否有任何不利后果,即使我认为我不会接近该限制?

amazon-s3 amazon-web-services aws-cli

7
推荐指数
0
解决办法
846
查看次数

无法卸载 AWS CLI:无法卸载要求 awscli,未安装

我试图在 mac上安装AWS CLI,但由于 aws 命令无法解析凭证文件而面临一些挑战。所以我决定重新安装整个东西,但在这里再次面临一些问题。

我正在尝试pip uninstall awscli其中说

Cannot uninstall requirement awscli, not installed
Run Code Online (Sandbox Code Playgroud)

所以,我尝试pip3 install awscli --upgrade --user这给了我这个:

    You are using pip version 6.0.8, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Requirement already up-to-date: awscli in ./Library/Python/3.5/lib/python/site-packages
Requirement already up-to-date: rsa<=3.5.0,>=3.1.2 in ./Library/Python/3.5/lib/python/site-packages (from awscli)
Requirement already up-to-date: docutils>=0.10 in ./Library/Python/3.5/lib/python/site-packages (from awscli)
Requirement already up-to-date: PyYAML<=3.12,>=3.10 in ./Library/Python/3.5/lib/python/site-packages (from awscli)
Requirement already up-to-date: …
Run Code Online (Sandbox Code Playgroud)

pip amazon-web-services python-3.x aws-cli

7
推荐指数
1
解决办法
7951
查看次数

通过Shell脚本创建Route53记录集

作为我的shell脚本的一部分,我正在尝试在AWS Route53中创建记录集.但是,使用我的shell脚本中的aws cli中的变量来创建这些记录集,我在Shell脚本中导出的变量不会传递给aws cli命令.

AWS提供的AWS CLI命令:

$ aws route53 change-resource-record-sets --hosted-zone-id 1234567890ABC \
  --change-batch file:///path/to/record.json
Run Code Online (Sandbox Code Playgroud)

为简单起见,我不想在我的计算机上创建单独的json文件,我想在shell脚本中包含所有命令和变量.

#!/bin/bash

export TARGET_ENVIRONMENT=uat 
export BASE_ENVIRONMENT_DNS=abcd-External-9982627718-1916763929.us-west-1.elb.amazonaws.com

# Creates route 53 records based on env name

aws route53 change-resource-record-sets --hosted-zone-id 1234567890ABC  
--change-batch '{ "Comment": "Testing creating a record set", 
"Changes": [ { "Action": "CREATE", "ResourceRecordSet": { "Name": 
"$(TARGET_ENVIRONMENT).company.com", "Type": "CNAME", "TTL": 
120, "ResourceRecords": [ { "Value": "$(BASE_ENVIRONMENT_DNS)" } ] } } ] }'
Run Code Online (Sandbox Code Playgroud)

最后一个命令是在AWS Route53上创建一个记录集,如下所示:

$(TARGET_ENVIRONMENT).company.com
Run Code Online (Sandbox Code Playgroud)

与CNAME一样

$(BASE_ENVIRONMENT_DNS)
Run Code Online (Sandbox Code Playgroud)

不是我想要的那样,这是:

uat.company.com
Run Code Online (Sandbox Code Playgroud)

使用CNAME:

abcd-External-9982627718-1916763929.us-west-1.elb.amazonaws.com …
Run Code Online (Sandbox Code Playgroud)

shell recordset amazon-web-services amazon-route53 aws-cli

7
推荐指数
1
解决办法
3998
查看次数