标签: aws-cli

无法从S3复制到Ec2实例

我试图将文件从S3复制到Ec2实例,这是奇怪的行为以下命令运行完全正常并向我显示s3的内容,我想访问

$aws s3 ls
2016-05-05 07:40:57 folder1
2016-05-07 15:04:42 my-folder
Run Code Online (Sandbox Code Playgroud)

然后我发出以下命令(也成功)

$ aws s3 ls s3://my-folder
2016-05-07 16:44:50       6007 myfile.txt
Run Code Online (Sandbox Code Playgroud)

但是当我尝试复制此文件时,我会发现如下错误

$aws s3 cp s3://my-folder/myfile.txt ./
Run Code Online (Sandbox Code Playgroud)

必须指定区域 - 区域或在配置文件中指定区域或指定环境变量.或者,可以使用--endpoint-url指定端点

我只想将txt文件从s3复制到ec2实例.至少修改上面的命令来复制内容.我不确定区域,如果我从网上访问S3它说

"S3不需要区域选择"

地球上发生了什么?

amazon-s3 amazon-ec2 amazon-web-services aws-cli

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

访问aws s3公共存储桶

我正在尝试从亚马逊的一个公共存储桶中下载数据. 以下是对相关存储桶的描述

桶中有网络访问的文件夹例子.我想下载说该文件夹中列出的所有文件.将识别出一长串合适的瓷砖,目标是一次性获取文件夹中的所有文件,而不是从http网站单独下载每个文件.

从其他StackOverflow问题我发现我需要使用REST端点并使用AWS CLI或Cyber​​duck之类的工具,但我还不能让它们工作.

我认为问题可能是身份验证.我没有AWS账户,我希望坚持访客/匿名访问.有没有人有一个很好的解决方案/工具来遍历公共桶并以访客的身份获取内容?使用curl或wget的不同方法可以用于此类任务吗?

谢谢.

amazon-s3 amazon-web-services aws-cli

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

如何使用AWS CLI设置加密的Lambda环境变量?

我在本地拥有AWS Lambda环境变量,希望使用特定的KMS密钥加密并分配给Lambda函数.

我以为有点像

aws lambda update-function-configuration --function-name functionName --cli-input-json file://config.json
Run Code Online (Sandbox Code Playgroud)

config.jsonas

{
  "Environment": {
    "Variables": {
      "var01": "Variable one",
      "var02": "Variable two"
    }
  },
  "KMSKeyArn": "arn:aws:kms:us-west-1:09238573743:key/...."
}
Run Code Online (Sandbox Code Playgroud)

会做到这一点.但变量最终没有加密."KMSKeyArn"似乎只用于解密(例如在函数的处理程序中boto3.client('kms').decrypt).

如何使用AWS CLI获取理想情况下在JSON上指定的本地(未加密)值,并使用特定的KMS密钥将它们指定为Lambda函数环境变量的加密值(并确保将相同的密钥分配给函数以供boto3.client('kms').decrypt

我还想确保我的变量永远不会以纯文本形式传输(即加密发生在本地),如果可能的话.

encryption amazon-web-services aws-cli aws-lambda

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

如何删除aws cli中的aws s3存储桶

我有ff s3桶,见下图: 在此输入图像描述

我知道如何在页面上删除它们,但我如何使用aws cli删除它们?

我试过用

aws s3api delete-objects --bucket elasticbeanstalk-ap-southeast-1-613285248276

但它不会工作.

amazon-s3 amazon-web-services aws-cli

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

如何从AWS CLI命令过滤结果

如何过滤以下内容,只返回以10开头的IP结果?*?

aws ec2 describe-instances --filters "Name=tag-value,Values=mytagavalue" --query 'Reservations[*].Instances[*].{InstanceId:InstanceId,PrivateDnsName:PrivateDnsName,State:State.Name, IP:NetworkInterfaces[0].PrivateIpAddress}'
[
    [
        {
            "InstanceId": "i-12345bnmsdfod",
            "PrivateDnsName": "ip-10-34-24-4.my.there.com",
            "State": "running",
            "IP": "10.10.10.4"
        }
    ],
    [
        {
            "InstanceId": "i-12345bnmsdfop",
            "PrivateDnsName": "",
            "State": "terminated",
            "IP": null
        }
    ],
Run Code Online (Sandbox Code Playgroud)

amazon-ec2 amazon-web-services aws-cli

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

通过CLI停止RDS实例

我正在尝试使用AWS的最新功能之一,它允许您停止RDS实例.

我按照这个文档说明了我需要运行命令: aws rds stop-db-instance --db-instance-identifier mydbinstance但是,当我这样做时,我得到了这个:

usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:

  aws help
  aws <command> help
  aws <command> <subcommand> help
aws: error: argument operation: Invalid choice, valid choices are:

add-role-to-db-cluster                   | add-source-identifier-to-subscription
add-tags-to-resource                     | apply-pending-maintenance-action
Run Code Online (Sandbox Code Playgroud)

它继续列出其他RDS命令,但不包括stop-db-instance.我更新了我的CLI和我当前的版本:aws-cli/1.11.11 Python/2.7.9 Windows/8 botocore/1.4.68

我错过了什么?

UPDATE

我试图再次升级aws cli,但我得到的回报是一切都是最新的:

C:\Users\n.ihab>aws --version
aws-cli/1.11.11 Python/2.7.9 Windows/8 botocore/1.4.68

C:\Users\n.ihab>pip install awscli --upgrade
Requirement already up-to-date: awscli in c:\python34\lib\site-packages
Requirement already up-to-date: rsa<=3.5.0,>=3.1.2 …
Run Code Online (Sandbox Code Playgroud)

rds amazon-web-services aws-cli

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

AWS堆栈使用最终快照删除RDS

前段时间,在删除堆栈时,RDS也被删除而没有留下最终快照,现在当删除RDS并创建一个未删除的手动快照时.可能是什么原因?

我以这种方式删除堆栈:aws cloudformation delete-stack --stack-name name-of-the stack

我没有发现任何类似的问题.

amazon-web-services amazon-rds aws-cloudformation aws-cli

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

AWS EC2:如果我的实例已经具有IAM角色,是否需要运行"aws configure"来分配访问密钥?

我是AWS的新手.我正在建立一个EC2实例(一个Ubuntu 18.04 LAMP服务器).

我在实例上安装了aws CLI,因此我可以自动执行EBS快照备份.

我还创建了一个具有运行所需权限的IAM角色aws ec2 create-snapshot,并且已将此角色分配给我的EC2实例.

我的问题:是否需要aws configure在EC2实例上运行才能设置AWS Access Key ID和AWS Secret Access Key?我仍然围绕AWS IAM角色 - 但是(因为EC2实例有角色),听起来实例将自动从IAM获取所需的密钥.因此,我认为永远不需要运行aws configure.(事实上​​,这似乎会适得其反,因为设置的密钥aws configure 会覆盖通过角色自动获取的密钥.)

这些都准确吗?

amazon-ec2 amazon-web-services amazon-iam aws-cli

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

用jq连接json数组对象

我在json文件下面:

{
"EventId": "60a0490c",
"Resources": [
    {
        "ResourceType": "AWS::STS::AssumedRole", 
        "ResourceName": "AutoScaling"
    }, 
    {
        "ResourceType": "AWS::IAM::Role", 
        "ResourceName": "arn:aws:iam:autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling"
    }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我想连接Resources元素中的键值对,并在单行输出:

60a0490c,AutoScaling=AWS::STS::AssumedRole#AWS::IAM::Role=arn:aws:iam:autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling
Run Code Online (Sandbox Code Playgroud)

我试过它:

cat file.json | jq '.EventId + "," + (.Resources[] | join("="))' -r
Run Code Online (Sandbox Code Playgroud)

它给我的输出为:

60a0490c,AutoScaling=AWS::STS::AssumedRole
60a0490c,AutoScaling=AWS::IAM::Role=arn:aws:iam:autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling
Run Code Online (Sandbox Code Playgroud)

它为每个键值对创建新条目,我希望它与不同的分隔符(#)在单行上

提前致谢.

bash json aws-cli jq

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

KMS加密后无法从S3下载文件

使用terraform,我能够创建启用KMS加密的S3存储桶。但是,当我尝试从启用了S3 KMS的存储桶中下载任何文件时,它无法下载Access Denied

错误日志:

download failed: s3://services-1234567890-cicd-storage/jars/jdbc-0.211.jar to utilities/jdbc-0.211.jar An error occurred (AccessDenied) when calling the GetObject operation: Access Denied
Run Code Online (Sandbox Code Playgroud)

主文件

resource "aws_s3_bucket" "s3_bucket_two" {
  bucket = "dev-analytics-data"
#  bucket = "services-${lookup(var.aws_account_id, terraform.workspace)}-cicd-storage"
  acl    = "${var.acl}"
  versioning {
    enabled = "${var.enable_versioning}"
  }
  server_side_encryption_configuration {
    rule {
      apply_server_side_encryption_by_default {
        kms_master_key_id = "${data.terraform_remote_state.kms_s3.key_arn}"
        sse_algorithm     = "aws:kms"
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

使用的IAM政策:-

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::12345678910:role/iam_role_devops_engineer",
                    "arn:aws:iam:: 12345678910:role/EMR_AutoScaling_DefaultRole",
                    "arn:aws:iam:: 12345678910:role/EMR_DefaultRole",
                    "arn:aws:iam:: 12345678910:user/iam_user_cng_jenkins",
                    "arn:aws:iam:: …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services aws-cli terraform aws-kms

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