我正在运行一个生产级 Amazon ec2 实例,我想关闭所有用户的 root 权限。通常,当以 ec2-user 身份登录实例时,ec2-user 会立即获得 sudo 权限,我试图取消该权限以确保安全。
我能够为 root 用户设置一个新密码,我进入 /etc/sudoers 尝试从 sudo 权限中删除 ec2-user,但该用户甚至没有列在文件中。有人知道如何从运行默认 linux 安装的 Amazon ec2 实例上的 sudo 权限中删除 ec2-user 吗?
我有一个运行 Web 服务器的 EC2 实例,该服务器将用户上传的文件存储到 S3。这些文件被写入一次并且永远不会改变,但偶尔会被用户检索。我们每年可能会积累大约 200-500GB 的数据。我们希望确保这些数据是安全的,尤其是不会被意外删除,并且希望能够恢复被删除的文件,无论出于何种原因。
我已经阅读了 S3 存储桶的版本控制功能,但我似乎无法找到是否可以恢复没有修改历史记录的文件。有关版本控制,请参阅此处的 AWS 文档:
http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectVersioning.html
在这些示例中,它们没有显示上传数据但从未修改然后删除的场景。在这种情况下删除的文件是否可以恢复?
然后,我们认为我们可以使用对象生命周期管理将 S3 文件备份到 Glacier:
http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
但是,这似乎对我们不起作用,因为文件对象没有复制到 Glacier 而是移动到 Glacier(更准确地说,它似乎是一个对象属性已更改,但无论如何......)。
因此,似乎没有直接的方法来备份 S3 数据,并且将数据从 S3 传输到本地服务器可能非常耗时,并且随着时间的推移可能会产生大量的传输成本。
最后,我们想我们会每个月创建一个新的bucket作为每月的完整备份,并在第1天将原始bucket的数据复制到新的bucket中。然后使用类似duplicity的东西(http://duplicity.nongnu.org/ ) 我们每晚都会同步备份桶。在月底,我们会将备份存储桶的内容放入 Glacier 存储中,并使用原始存储桶的新的当前副本创建一个新的备份存储桶……并重复此过程。这似乎可以工作并最大限度地降低存储/传输成本,但我不确定双重性是否允许直接进行存储桶到存储桶的传输,而无需先将数据传输到控制客户端。
所以,我想这里有几个问题。首先,S3 版本控制是否允许恢复从未修改过的文件?有什么方法可以将文件从 S3“复制”到我错过的 Glacier?duplicity 或任何其他工具可以直接在 S3 存储桶之间传输文件以避免传输成本吗?最后,我在备份 S3 数据的方法上是否离谱?
提前感谢您提供的任何见解!
我正在尝试授予 IAM 组编辑我们的 EC2 安全组的能力,但如果不授予对 EC2 中所有内容的访问权限,我就无法使其正常工作。
我已经尝试了几个版本:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1392336685000",
"Effect": "Allow",
"Action": [
"ec2:*"
],
"Resource": [
"arn:aws:ec2:us-east-1:<MYACCOUNTHERE>:security-group/*"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
但是当我使用 IAM 用户登录时,我在安全组页面中收到一条消息,提示“您无权执行此操作”。
我确实知道用户/组正在工作,因为如果我为“Amazon EC2 Full Access”选择 IAM 策略模板,则用户可以访问 EC2 中的所有内容。
我显然对 IAM 没有很多经验,任何帮助将不胜感激。
我制作了一个脚本来创建我们的 EC2 卷的快照。该脚本查看哪些实例正在运行,哪些卷连接到这些实例,然后为这些卷创建快照,忽略其余的。
使用describe-instances,我获得了预订 ID,而不是实例 ID。这令人困惑,但事实就是如此。当一个实例启动时,会为该实例创建一个预留。
我仍然对预订概念感到困惑。
旁注:我知道什么是保留实例,这与我在这里描述的不同。“预留实例”意味着您将实例租用一年或两年或三年,并因此获得降价。所以你预留了一年的t2.medium,如果你不使用它,你仍然需要付费,但如果你使用它,它比正常的便宜。
现在回到“预订 ID”。AWS 常见问题解答说:
EC2 启动的每个实例都有一个预留 ID。预留 ID 与实例启动请求是一对一的关系,但如果您使用同一个启动请求启动多个实例,则可以与多个实例相关联。
然后是这个 SE 问题:Amazon EC2 中“预订”的目的是什么
目前尚不清楚预订 ID 究竟代表什么
如果您一次启动一个实例,每个实例都有自己唯一的预留 ID。
在我们的情况下,所有实例都有一个唯一的预留 ID,但我想知道在什么情况下这可以改变,对于我使用describe-instances.
我正在尝试使用以下方法在 Ubuntu 16.04 上安装 MySQL 服务器:
sudo apt-get install mysql-server
Run Code Online (Sandbox Code Playgroud)
我被要求设置并确认 root 密码,然后安装挂起:
Renaming removed key_buffer and myisam-recover options (if present)
Run Code Online (Sandbox Code Playgroud)
我已经退出安装并清除 MySQL 并再次尝试,但问题仍然存在。
我一直在阅读有关 amazon ec2 的临时存储的信息,并试图找出使用他们为您提供的 100 多 GB 的最佳方式。如果它不持久,它有什么好处?
我在官方 ELB 文档中找到了这个
默认情况下,负载均衡器将每个请求独立地路由到负载最小的应用程序实例。
但是Newvem上的一篇文章说ELB只支持Round Robin算法
Amazon ELB 支持的算法- 目前 Amazon ELB 仅支持 Round Robin (RR) 和 Session Sticky Algorithms。
那么是哪一个呢?
[1] http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_StickySessions.html
我有一个字符串,它由许多变量组成,我将这些变量用于许多不同的事物,例如标签和主机名。
有没有办法创建一个可重用的字符串,我可以通过模板引用它?
对此的任何想法将不胜感激。编辑:一个例子是传入 2 个参数,例如 ProjectName 和 Environment 加入它们
"Fn::Join" : [ "-", [ {"Ref":"ProjectName"}, {"Ref":"Environment"} ] ]
Run Code Online (Sandbox Code Playgroud)
并在许多地方使用结果
将一些新贵工作从 Ubuntu 迁移到 EC2 Linux (ElasticBeanstalk) 是一场噩梦
我什至无法完成最基本的任务。我正在使用下面的脚本,它在 Ubuntu 上运行良好,但是当我尝试在 EC2 Linux 中启动它时返回非常无用的“无法识别的服务”。我读过这通常是一个语法错误,但如果这对于 Ubuntu 来说在语法上是正确的,则不会出现这种错误。非常感谢任何帮助,我只需要任何工作示例。
这是在以 root 用户身份创建的 /etc/init/test.conf 中。
安慰:
# sudo service test start
# test: unrecognized service
Run Code Online (Sandbox Code Playgroud)
/etc/init/test.conf:
description "test"
start on startup
script
echo $(ping -c 1 serverfault.com) > /var/log/testjob.log
end script
Run Code Online (Sandbox Code Playgroud) 我在 EC2 上运行 ubuntu 14.04。
运行后 apt-get upgrade,系统会提示我重新安装 GRUB 引导加载程序的屏幕
GRUB 引导加载程序以前安装到不再存在的磁盘上,或者由于某种原因其唯一标识符已更改。确保安装的 GRUB 核心映像与 GRUB 模块和 grub.cfg 保持同步很重要。请再次检查以确保 GRUB 已写入适当的引导设备。
我怎么知道我应该选择哪个设备?
如果我在我的机器上安装了一些额外的 EBS,我是否也应该选择它们?
我可以在升级过程中避免此提示或为命令提供一些默认值吗?
下面的提示是
新版本的/boot/grub/menu.lst 可用,但当前安装的版本已在本地修改。
- 安装包维护者的版本
- 保持当前安装的本地版本
- 显示版本之间的差异
- 显示版本之间的并排差异
- 显示可用版本之间的三向差异
- 在可用版本之间进行 3 向合并(实验性)
- 启动一个新的shell来检查情况
同样的问题在这里:
我怎么知道我应该选择哪一个?
我可以在升级过程中避免此提示或为命令提供一些默认值吗?
amazon-ec2 ×6
amazon-elb ×1
amazon-iam ×1
amazon-s3 ×1
backup ×1
linux ×1
mysql ×1
root ×1
snapshot ×1
storage ×1
sudo ×1
ubuntu ×1
ubuntu-14.04 ×1
ubuntu-16.04 ×1
upstart ×1