我们有一些安全组,其中有很多规则。与其为了适应细微差别而不必为多个安全组重新创建相同的规则,是否可以复制一个安全组以用作起点,或使用继承等?
总的来说,我对整个 Netflix OSS 堆栈和部署还很陌生。作为我目前的运维知识水平的背景,我的主要角色是前端应用工程师。但是,我喜欢事物的运营方面,因此我正在尝试为新项目设置新的部署策略和工具。
我们的目标
我们可以多花一点初始设置时间,如果这样做会在将来为我们省去一些麻烦。
因此,沿着这些思路,我一直在听播客、观看 Ops 演讲并阅读大量博客文章,并根据我们的目标以及我所采取的一些最佳实践,我们已经开始制定计划,使用Asgard,将我们的包滚动到 jar 中,然后将其滚动到 AMI 中。
我们已经计划好了这一切,并且喜欢该流程与使用 Chef 服务器和动态融合实例相比的优势(鉴于我们有限的时间线和对 Chef 服务器工作流程的缺乏了解,我们认为这很容易出错)。然而,一位同事自己环顾四周,觉得 Elastic Beanstalk 满足了我们的需求。
我已经研究过它并使用 WAR 文件和附加的 RDS 数据库启动了一个测试环境。事情似乎奏效了,我相信我们可以通过 AWS API 使用 Jenkins 自动部署到测试环境。看起来很简单……也许太简单了。
我想知道的是,有什么收获?如果 Elastic Beanstalk 如此简单有效,为什么没有更多地谈论它?我很难找到关于两种不同部署策略的足够客观的意见和事实,所以我想我会四处打听。
您使用 Elastic Beanstalk 吗?如果是这样,为什么以及哪些因素会导致该决定?你喜欢和不喜欢什么?
如果您不使用 Elastic Beanstalk 但考虑过它,您使用什么,为什么不使用 Elastic Beanstalk?
基于 Elastic Beanstalk 的 SOA 部署策略的优缺点是什么?也就是说,Elastic Beanstalk 是否可以与许多相互依赖才能工作的小型应用程序一起工作?
我看不到导出域设置备份的选项。
也许我应该用dig保存公共DNS的结果,但我会问朋友是否知道更好的方法。
我有一个 cfn 堆栈(除其他外),它创建了一个 VPC、几个安全组和一些 EC2 实例。将在堆栈中创建的安全组分配给同样由堆栈创建的实例是很简单的。但是,我对默认的 VPC SG 感兴趣。
创建 VPC 后(无论是通过 GUI 手动、通过 cloudformation 还是任何其他方式),AWS 都会为该组中的任何实例创建一个带有“全部允许”规则的默认安全组。
我想要做的是将这个默认安全组和其他几个 SG 分配给堆栈创建的实例。事实证明,这比我预期的要困难得多。以下是一些片段,显示了我正在发生的事情:
"AllowSSHSecGroup":{
"Type":"AWS::EC2::SecurityGroup",
"Properties":{
"GroupDescription":"Allow SSH from anywhere",
"VpcId":{
"Ref":"DevVPC"
},
"SecurityGroupIngress":[
{
"IpProtocol":"tcp",
"FromPort":"22",
"ToPort":"22",
"CidrIp":"0.0.0.0/0"
}
]
}
},
"Instance001" : {
"Type" : "AWS::EC2::Instance",
"Properties" : {
"ImageId" : "ami-7eab224e",
"InstanceType" : "m1.large",
"AvailabilityZone" : "us-west-2a",
"PrivateIpAddress" : "10.22.0.110",
"SecurityGroupIds" : [ {"Ref" : "AllowSSHSecGroup"} ],
"SubnetId" : { "Ref" : "PublicSubnet" },
"KeyName" : "erik-key",
"DisableApiTermination" : …Run Code Online (Sandbox Code Playgroud) 当 AWS 文档和定价提到“使用”时,这是否仅意味着“如果实例打开”而不是“如果实例打开并且正在工作”。
例如,如果我有一个 EC2 实例正在运行但它处于空闲状态 (CPU=0%),我认为我仍然需要为那一小时的使用量付费。
在这种情况下,如果我有一个托管网站的 EC2 实例(应该可以 24/7 全天候访问),那么购买预留实例是有意义的。然后,如果我必须将其他实例联机以共享负载,那么这些实例(可能)最好作为按需实例使用。
我的理解正确吗?
amazon-ec2 amazon-web-services amazon-rds reserved-instances
目前,max_connectionsMySQL RDS t1.micro 服务器模型中该参数的值为{DBInstanceClassMemory/12582880}32。
由于我的服务器在 32 之后不允许更多连接,那么max_connections我可以用于微型实例的最大安全值是多少?
根据 Amazon 和我的测试,/24 VPC 子网允许 251 个可用 IP 地址。我在该 VPC 中有 2 个其他子网,它们似乎没有被 EC2 使用的 IP,并且可用 IP 字段表明只有 250 个可用。我检查过
我试图找出哪些资源正在使用这些 IP,但似乎 AWS 不允许这种查询。
我想看到的是将 IP 用于特定 VPC 子网的资源列表。
如果有人可以阐明除 EC2 之外哪些 AWS 服务可以使用子网 IP,那也会有所帮助。
谢谢。
我多年来一直在使用 AWS,但在启动 EC2 实例时从未涉足过Quick Start和AWS Marketplace部分。
AMIAWS Marketplace看起来值得信赖,它们有指向卖家资料的链接,等等:
将此与社区 AMI 进行比较,这些 AMI 似乎是凭空出现的,没有任何关于谁创建和上传它的信息:
如何知道社区 AMI 来自哪里?这些可以信任吗?
例如,在 AWS 中,当我启动一个新的 EC2 实例时,它会加载一个新的 VM,然后使用容器映像填充 VM。这就是启动新 EC2 实例需要 60-90 秒才能启动的原因。
出于好奇,让 AWS 按原样运行主机有什么缺点,当用户想要“启动 EC2 实例”时,AWS 只会启动一个具有受限权限的容器,并且只允许用户访问那个容器?
好处是计算实例会很快启动。我仍在学习云技术,所以我只是想知道缺点是什么。
也许在不使用 VM 的情况下分配 CPU 资源会更困难?结果,用户会互相争夺可用的CPU吗?或者也许有一些安全问题?很想了解这个。
我想暂时阻止外部世界的端口 80,但希望负载均衡器通过防火墙(通过安全组),这样它就不会将实例视为不健康。我怎样才能做到这一点?
更新: 我还想知道如何只允许自己通过端口 80 访问弹性负载均衡器(但阻止其他人访问)。我知道负载均衡器没有我可以设置的特定安全组并告诉它只接受我的 IP 地址,但是还有其他方法可以做到吗?
amazon-ec2 ×5
amazon-rds ×2
amazon-ami ×1
amazon-vpc ×1
chef ×1
cloud ×1
containers ×1
mysql ×1
scaling ×1
security ×1