我可以触摸文件/.autorelabel并重新启动,在初始化回来时,它会为我做SELINUX relabel。 但是我想在系统刚刚复制到硬盘镜像的情况下执行此操作。 我可以chroot到原始文件树,或者chroot到刚刚填充的设备映像并运行它。 我只是找不到要运行的东西。 此图像正在AWS EC2上制作成AMI,并包含CentOS 6.3。 但是重新贴上标签的时间太长(6分钟或更长)。 我想将重新标签移动到图像构build,其中额外的时间不是一个问题(因为它发生一次,而不是每次AMI启动)。 我可以使这个relabel成为文件系统最后一次卸载之前的最后一件事,直到它成为AMI并将启动。 我只需要知道该怎么做就可以了。 我已经search了手册页,没有运气。 我已经search了系统init脚本,但是在/.autorelabel被检测到的地方,目前还不清楚发生了什么。 诸如http://www.centos.org/docs/5/html/5.2/Deployment_Guide/sec-sel-fsrelabel.html这样的文档只能说明在重新启动之后如何做这些工作。 我需要在“重新启动”之前完成这项工作(卸载,构buildAMI,然后开始准备)。 最重要的是…是的,这将会重新启动…但是我希望在之前完成重新标记工作,所以每次AMI启动时都不会这样做(因为它需要很长时间)。
我有两个VPC设置,一个在悉尼和另一个俄勒冈州。 从我的数据中心,我有一个VPN连接到悉尼VPC。 我的悉尼VPC中存在路由规则,通过VPN实例将所有stream量路由到俄勒冈子网。 在悉尼和俄勒冈州的VPC之间,我有一个正确工作的IPSEC连接。 ( http://aws.amazon.com/articles/5472675506466066 )。 我现在正尝试通过数据中心的悉尼VPC将stream量路由到俄勒冈州的子网。 虚拟专用网关无法将stream量从VPN连接路由到俄勒冈州的子网。 有没有办法让虚拟专用网关将stream量路由到不属于目标VPC CIDR的子网?
我正在为“Elastic Beanstalk”上的应用程序获取git安装程序。 我一直在遵循亚马逊提供的说明。 推送更改后,我得到这个错误: git aws.push error: The requested URL returned error: 403 while accessing https://<Access Key Removed>:20130117T213945Z538f1c7baf8c89b4b547cb6717aabbaa7dfab3c52e0911d71e17b06765b922b2@git.elasticbeanstalk.us-east-1.amazonaws.com/v1/repos/54696d73546573744170706c69636174696f6e/commitid/62323130316462646264373436303536343265633861333035633133633265666466393633303133/environment/54696d7374657374656e7669726f6e6d656e74/info/refs?service=git-receive-pack fatal: HTTP request failed 这是我的.config文件: git config -l credential.helper=osxkeychain user.name=Tim xxxxxxxxxx [email protected] core.bare=false core.repositoryformatversion=0 core.filemode=true core.logallrefupdates=true core.ignorecase=true aws.endpoint.us-east-1=git.elasticbeanstalk.us-east-1.amazonaws.com aws.endpoint.ap-northeast-1=git.elasticbeanstalk.ap-northeast-1.amazonaws.com aws.endpoint.eu-west-1=git.elasticbeanstalk.eu-west-1.amazonaws.com aws.endpoint.us-west-1=git.elasticbeanstalk.us-west-1.amazonaws.com aws.endpoint.us-west-2=git.elasticbeanstalk.us-west-2.amazonaws.com aws.endpoint.ap-southeast-1=git.elasticbeanstalk.ap-southeast-1.amazonaws.com aws.endpoint.ap-southeast-2=git.elasticbeanstalk.ap-southeast-2.amazonaws.com aws.endpoint.sa-east-1=git.elasticbeanstalk.sa-east-1.amazonaws.com alias.aws.elasticbeanstalk.remote=!.git/AWSDevTools/aws.elasticbeanstalk.push –remote-url alias.aws.elasticbeanstalk.push=!.git/AWSDevTools/aws.elasticbeanstalk.push alias.aws.elasticbeanstalk.config=!.git/AWSDevTools/aws.elasticbeanstalk.config alias.aws.push=!git aws.elasticbeanstalk.push alias.aws.config=!git aws.elasticbeanstalk.config 我真的不知道还有什么要检查或做什么,让我知道如果我可以提供更多的信息。
显然,Amazon EC2服务器仍在物理硬件上运行,因此可能会发生灾难性故障。 而在架构上,我应该build立一个横向扩展的应用程序,并围绕这些失败而努力。 我怎样才能模拟一个突然崩溃的EC2实例? 这应该有一个真正的设备故障的特点: 进程不会干净地终止。 内存中的数据没有机会写入磁盘。 文件(例如,在EBS卷上)并没有完全closures。 打开套接字不FIN,他们只是挂起。
前一段时间,我做了一些研究,并从亚马逊市场推出了Centos 6.4镜像。 它没有任何费用(使用费除外)。 这工作正常,直到我搞砸了一个configuration文件,实例将不再启动。 那么事实certificate有一个问题 ,阻止你从市场上创build的亚马逊卷,并将其重新附加为其他实例的辅助卷。 错误消息说: Client.OperationNotPermitted:具有Marketplace代码的“vol-xxxxxxxx”可能不作为辅助设备连接。 那么Quora的答案就是这样说的: 我叫Julien Ellie,是亚马逊AWS Marketplace团队的工程师之一。 我们知道这个问题,我们正在研究可以做些什么来解决这个问题。 与此同时,如果你联系客户支持,他们可以帮助你通过这个,希望你能畅通无阻。 您可以通过1-800-407-2983与他们联系,或者您可以在页面底部的市场网站上find联系我们的表单。 所以我把这个号码叫做亚马逊,他们实际上是帮助我 – 去除代码并将数据拯救到另一个卷。 唯一的问题是这需要几个小时。 那么我还想运行Centos 6.4,但是如果我再次遇到问题,我不希望卷上有市场代码 – 那么我怎么能启动一个Centos 6.4的“开放式”AMI呢? CentOS页面说: 目前不推荐使用AMI。 我们正在努力解决问题,build立自动化以及围绕资源和stream程进行监控,这将使我们能够重新启用直接的AMI实例化。 与此同时,AMI被列在本文档的底部,用于传统/参考目的。 这很好,但有另一种解决scheme来获得一个香草版本的CentOS 6.4以外 “使用Bubba制作并放在他的博客上的AMI” 从零开始构build你自己的CentOS AMI(并不是完全反对这个,听起来很复杂) 这里有什么select?
我正在Amazon Web Services上运行Grid Scheduler(fka Sun Grid Engine)。 主节点一直在运行,但我想以编程方式向集群添加节点(也删除 – 但删除不是问题)。 我从现有的AMI启动实例; 在启动过程中,它将主机名(比如ip-10-11-12-13)POST到主节点。 所以,如果我手动执行,我会运行qconf -ae并使用主机名填充模板。 我也将运行qconf -mconf all.q并将新主机及其核心数添加到SLOTS语句中。 我想我可以build立一个文件,并使用qconf -Mconf file_list qconf -Ae fname和qconf -Mconf file_list 。 有没有办法做这样的更新没有awk / sed文件修补? 编辑:我熟悉MIT StarCluster; 但由于各种原因,我们没有使用它。
我已经使用AWS Opsworks来创build一些服务器。 我有Sidekiq作为我的Rails应用程序的一部分运行。 当我部署Sidekiq很好地重新启动。 我正在configurationMonit来观看pid,如果有任何问题,请启动并停止Sidekiq。 但是,当Monit试图启动Sidekiq时,我发现错误的Ruby看起来被使用了。 Oct 17 13:52:43 daitengu sidekiq: /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.3.4/lib/bundler/definition.rb:361:in `validate_ruby!': Your Ruby version is 1.8.7, but your Gemfile specified 1.9.3 (Bundler::RubyVersionMismatch) Oct 17 13:52:43 daitengu sidekiq: from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.3.4/lib/bundler.rb:116:in `setup' Oct 17 13:52:43 daitengu sidekiq: from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.3.4/lib/bundler/setup.rb:17 当我从cli运行命令Sidekiq正确启动。 $> cd /srv/www/myapp/current && RAILS_ENV=production nohup /usr/local/bin/bundle exec sidekiq -C config/sidekiq.yml >> /srv/www/myapp/shared/log/sidekiq.log 2>&1 & […]
我正在研究适用于AWS VPC的隐私兼容的高安全部署选项。 我正在寻找在NAT实例中从私有子网收紧出站stream量的方法。 例如,如何限制NAT后面的出站stream量,只允许调用AWS S3? 我正在计划使用由Ansible和Packer驱动的Shorewall创build自定义NAT AMI。 看来没有一个固定的S3 IP地址列表,所以按IP列出白名单。 根据协议白名单是不够的, 至less应将端点限制在AWS的API空间中。 主机名白名单肯定不会超出第一个DNS查询的第一个IP。 选项似乎是: 尝试拼凑一个IP列表。 向AWS请求一个列表。 也许我可以使用HAProxy或类似的做一个反向代理到S3,完全跳过传统的NAT。 假设私有子网内唯一需要的出站stream量是基于HTTP(S)的,那么这可能会起作用,并且可以限制S3主机名称? 比如软件包更新和NTP,可以使用位于公有子网中的临时点(实例)完成。 请让我知道如果你想进一步澄清我的需求。 你知道如何只允许来自EC2 VPC私有子网内部的S3(和依赖项)stream量吗? 谢谢你,约书亚 PS噢,如果它可以高度可用,那也会很好。 我正在计划在一个地区的三个地区的每一个“NAT”或“类似NAT”的实例。 我打算使用Autoscaling小组来保持这三个实例的存在,但也许你有另一个想法。 最初,我打算使用三个ENI,每个AZ一个,通过Corosync&Pacemaker为NAT漂浮。 我希望避免需要通过路由到ENI来防止在NAT中发生NAT故障时的路由表。 / endblabbing 相关链接: http://www.shorewall.net/4.2/FAQ.htm#faq39 没有NAT的EC2 VPC?
我是一名开发人员,所以经验不如我想用服务器pipe理。 本质上,我试图找出如何创build一个可用于开发,testing,分期和生产的基础图像(AMI)。 发展 到目前为止,我的想法是使用Packer来创build一个AMI,而且还把它作为一个Vagrant框输出 。 那么为了发展,我们应该能够很容易地进入生产使用的相同types的环境。 我一直在testing这个,到目前为止,我们无法成功构build一个EC2实例,这是由于奇怪的SSH问题……但这是另一个问题的主题。 testing 我们正在尝试使用Atlassian Bamboo创build一个构build服务器。 它可以加载AMI并在AWS上启动一个EC2实例来运行构build/testing过程。 我想我们会加载在开发阶段产生的AMI,不知道这是可能的。 有没有其他人做到这一点? 分期 当构build/testing在Bamboo中传递时,我们会将代码推送到发布分支,并在分阶段testing它,正如您可能已经预测的那样,也将使用相同的AMI。 生产 最后,当代码被testing时,它会被碰到主分支,并部署在也运行相同AMI的主服务器上。 从理论上讲,这听起来很简单直接。 在实践中,这是一个configuration噩梦。 这是一个合理的过程,我应该推敲一下,或者有更好的方法呢? 我应该手动编写一个使用AWS控制台工具来执行所有这些操作的bash脚本吗?
我试图安装一个自定义的编译包,我在S3中作为一个zip文件。 我在我的Cloudformation模板上添加了这个: "sources" : { "/opt" : "https://s3.amazonaws.com/mybucket/installers/myapp-3.2.1.zip" }, 它在/ opt上下载并解压缩,没有问题,但所有“可执行文件”文件都没有“x”权限。 我的意思是“-rw-r – r – 1 root root 220378 Dec 4 18:23 myapp”。 如果我下载zip并解压缩到任何目录,权限都是正确的。 我已经阅读了Cloudformation文档,并没有任何线索。 有人可以帮我弄清楚这一点? 提前致谢。