我试图将文件从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不需要区域选择"
地球上发生了什么?
我正在尝试从亚马逊的一个公共存储桶中下载数据. 以下是对相关存储桶的描述
桶中有网络访问的文件夹例子.我想下载说该文件夹中列出的所有文件.将识别出一长串合适的瓷砖,目标是一次性获取文件夹中的所有文件,而不是从http网站单独下载每个文件.
从其他StackOverflow问题我发现我需要使用REST端点并使用AWS CLI或Cyberduck之类的工具,但我还不能让它们工作.
我认为问题可能是身份验证.我没有AWS账户,我希望坚持访客/匿名访问.有没有人有一个很好的解决方案/工具来遍历公共桶并以访客的身份获取内容?使用curl或wget的不同方法可以用于此类任务吗?
谢谢.
我在本地拥有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?
我还想确保我的变量永远不会以纯文本形式传输(即加密发生在本地),如果可能的话.
我知道如何在页面上删除它们,但我如何使用aws cli删除它们?
我试过用
aws s3api delete-objects --bucket elasticbeanstalk-ap-southeast-1-613285248276
但它不会工作.
如何过滤以下内容,只返回以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) 我正在尝试使用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也被删除而没有留下最终快照,现在当删除RDS并创建一个未删除的手动快照时.可能是什么原因?
我以这种方式删除堆栈:aws cloudformation delete-stack --stack-name name-of-the stack
我没有发现任何类似的问题.
我是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 会覆盖通过角色自动获取的密钥.)
这些都准确吗?
我在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)
它为每个键值对创建新条目,我希望它与不同的分隔符(#)在单行上
提前致谢.
使用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) aws-cli ×10
amazon-s3 ×4
amazon-ec2 ×3
amazon-iam ×1
amazon-rds ×1
aws-kms ×1
aws-lambda ×1
bash ×1
encryption ×1
jq ×1
json ×1
rds ×1
terraform ×1