我正在尝试使用 EC2 实例上预装的 Amazon 官方工具将我的 EC2 实例备份到 S3。我很难获得同步命令以从同步中排除目录。该文档使使用“--exclude”选项听起来很容易。但是,我一直无法让它工作。
我正在运行 yum 提供的最新版本:
[root@HOSTNAME ~]# aws --version
aws-cli/1.1.1 Python/2.6.8 Linux/3.4.57-48.42.amzn1.x86_64
Run Code Online (Sandbox Code Playgroud)
这是我遇到问题的命令:
aws s3 sync /var/www s3://backup-bucket/var/www/ --exclude '*.git/*'
Run Code Online (Sandbox Code Playgroud)
我想从同步中排除所有名为“.git”的文件夹以及这些文件夹中的所有文件。
从文档来看,我给 '--exclude' 的模式应该有效。但是,整个 .git 目录及其所有文件仍会同步。这是输出的示例行:
upload: ../var/www/site/.git/objects/7b/e3cdf203d34a0d7eff30a96a78d20eacee8d77 to s3://backup-bucket/var/www/site/.git/objects/7b/e3cdf203d34a0d7eff30a96a78d20eacee8d77
Run Code Online (Sandbox Code Playgroud)
我尝试了以下命令,但都未能排除名为“.git”的文件夹:
aws s3 sync /var/www s3://backup-bucket/var/www/ --exclude *.git/*
aws s3 sync /var/www s3://backup-bucket/var/www/ --exclude */.git/*
aws s3 sync /var/www s3://backup-bucket/var/www/ --exclude '.git'
aws s3 sync /var/www s3://backup-bucket/var/www/ --exclude '*\.git/*'
aws s3 sync /var/www s3://backup-bucket/var/www/ --exclude '.*\.git/.*'
Run Code Online (Sandbox Code Playgroud)
而且,也许最令人不安的是,此命令不排除任何同步:
aws s3 sync …Run Code Online (Sandbox Code Playgroud) 伙计们,我正在编写一个脚本,它将运行实例的标签导出为环境变量。自动缩放组的问题是这些标签对实例不可用。
如何通过 api/aws cli 命令知道实例属于哪个自动缩放组?我需要在脚本中使用实例标签,但是,它们不可用。建议?
谢谢!
我查看了官方文档,似乎找不到任何关于 IAM 用户需要哪些权限才能使用此命令的参考。
我希望 IAM 用户只能为这个特定实例创建图像,所以我的策略设置如下:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt999",
"Effect": "Allow",
"Action": [
"ec2:CreateImage"
],
"Effect": "Allow",
"Resource": [
"arn:aws:ec2:us-east-1:<my account id>:instance/<my instance id>"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
但是我在使用 EC2 CLI 时不断收到拒绝访问错误。我将Resource部分更改为 just"*"现在它可以工作了,但是现在我的 IAM 用户可以为我账户中的任何 EC2 实例创建 AMI(因此导致重新启动)。
我怎样才能锁定它?
到目前为止我找到的答案(例如找出 EC2 服务器的公共 ip 地址)建议使用wget或curl访问服务器。
它们对我没有用,因为我的 ec2 实例无法直接从 Internet 访问。
我试过了
aws ec2 --profile prod describe-instances --filters Name=instance-id,Values=i-00914683ababcba7eb1
Run Code Online (Sandbox Code Playgroud)
但是返回的 JSON 结果中没有 IP 信息。
我可以使用什么 aws cli 命令来检索此信息?
我正在尝试aws ec2 delete-snapshot在 Bash 脚本命令中捕获 a 的输出,但我无法获得任何东西来捕获输出。我已经尝试过result=$(command),result=`command`等等,但是当我尝试 echo 时,$result那里什么也没有。
这是一些示例输出。
root@host:~# aws ec2 delete-snapshot --snapshot-id vid --output json>test
A client error (InvalidParameterValue) occurred when calling the DeleteSnapshot operation: Value (vid) for parameter snapshotId is invalid. Expected: 'snap-...'.
root@host:~# aws ec2 delete-snapshot --snapshot-id vid>test
A client error (InvalidParameterValue) occurred when calling the DeleteSnapshot operation: Value (vid) for parameter snapshotId is invalid. Expected: 'snap-...'.
root@host:~# cat test
root@host:~# testing=$(aws ec2 delete-snapshot --snapshot-id vid)
A …Run Code Online (Sandbox Code Playgroud) 我正在尝试允许 aws 启动我的日志服务,并且我已经添加了日志流和日志组。
当我到达我的 VPC 仪表板时,status我感兴趣的 Flow Log 说:
Access Error. The IAM role for your flow logs does not have sufficient permissions to send logs to the CloudWatch log group.
Run Code Online (Sandbox Code Playgroud)
但是,当我查看与此流日志关联的 IAM 角色时,我发现我的权限与此处指示的自定义策略完全相同 (在该链接中,搜索“在策略文档字段中”以查找我的策略)我在说)。
什么可能阻止我的 IAM 角色现在访问日志?日志流完全空白。谢谢你。
logging network-traffic amazon-web-services amazon-vpc aws-cli
我看到在创建我的 AWS 实例时,我只选择了我的 IP 地址能够访问我的服务器。还有一个为您配置的 RSA 密钥。在这种情况下,我真的需要在服务器上安装 fail2ban 吗?
我正在尝试在不同 AWS 账户上的两个存储桶之间设置同步。
我开始cp工作:
@ubuntu:~$ s3cmd cp -v s3://src/dir/ s3://dest/folder --recursive
Run Code Online (Sandbox Code Playgroud)
我是拥有的用户,/src/dir我添加了:
{
"Version": "2012-10-17",
"Id": "Policy1477299702471",
"Statement": [
{
"Sid": "Stmt1477299696163",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::awsid:user/name"
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::bucket/*"
}
]}
Run Code Online (Sandbox Code Playgroud)
测试存储桶上的存储桶权限策略。
现在我要aws sync下班了,因为s3 cp不建议与 cron 一起使用。
我试过
user@ubuntu:~$ aws s3 sync --dryrun s3://src/ s3://dest/ --region eu-central-1
Run Code Online (Sandbox Code Playgroud)
但我访问被拒绝:
致命错误:调用 ListObjects 操作时发生错误 (AccessDenied):拒绝访问
如果这是拥有存储桶的用户,我如何拒绝访问并运行同步?
有没有办法将 EBS 卷/快照转储/保存到文件或将其挂载到本地Linux 文件系统?
我只找到了这个旧线程和这个打算通过 S3 保存它的脚本,而且似乎不太可靠。我也找到了这个 online-tool,但它对我不起作用。它甚至不包含所有可用区域。
我不寻求基于 rsync 的解决方案。
我们可以通过某种方式将EBS直接下载为.img或.iso文件dd吗?
您能否告诉我如何检查 VPC 何时创建?或者如何通过cli查看创建vpc的cloudtrail?
我尝试使用 cloudtrail 并在事件名称中搜索 CreateVpc,但找不到任何内容。
aws-cli ×10
amazon-ec2 ×2
amazon-s3 ×2
amazon-vpc ×2
amazon-ebs ×1
bash ×1
disk-volume ×1
fail2ban ×1
linux ×1
logging ×1
permissions ×1
security ×1
shell ×1