Articles of amazon web services

使用路由53与EC2公共DNS和虚拟主机

我想我的EC2实例公共URL的子域指向我的机器上的不同文档树,所以foo.ec2-012-345-678-901.eu-west-1.compute.amazonaws.com有一个单独的DocumentRoot到bar.ec2-012-345-678-901.eu-west-1.compute.amazonaws.com 我的AWS EC2实例具有弹性IP和标准的Amazon Public URL: http://ec2-012-345-678-901.eu-west-1.compute.amazonaws.com 我可以访问该URL,并看到我的Hello Worldtesting页面。 我build立了两个VirtualHosts。 <VirtualHost *:80> DocumentRoot /var/www/foo/public ServerName foo.ec2-012-345-678-901.eu-west-1.compute.amazonaws.com ServerAlias ec2-012-345-678-901.eu-west-1.compute.amazonaws.com </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/bar/public ServerName bar.ec2-012-345-678-901.eu-west-1.compute.amazonaws.com </VirtualHost> 在AWS Route 53中,我设置了一个托pipe区域,其域名为ec2-012-345-678-901.eu-west-1.compute.amazonaws.com 在logging集中,我添加了两条CNAMElogging: 1) 名称:foo.ec2-012-345-678-901.eu-west-1.compute.amazonaws.com TTL:60 价值:ec2-012-345-678-901.eu-west-1.compute.amazonaws.com 路由策略:简单 别名:不 2) 名称:bar.ec2-012-345-678-901.eu-west-1.compute.amazonaws.com TTL:60 价值:ec2-012-345-678-901.eu-west-1.compute.amazonaws.com 路由策略:简单 别名:不 我的浏览器找不到在虚拟主机中定义的任何一个URL。 我正在使用OpenDNS,但我可以SSH到其他几台机器,尝试curl和wget,总是收到错误“名称或服务未知”或“无法parsing主机”。 我今天一直在玩这些设置,但是我还记得,这正是我24小时前的设置。 我需要做些什么来让我的虚拟主机解决我所定义的目录? 注意:我在RHEL上启用了SELinux。 我不认为这是相关的,但这已经是一些问题的原因。 干杯,

如何设置父域不在Route53的多租户Route53子域?

我的目标是能够通过Route53添加/删除多租户应用的子域名: tenant.example.com 。 帐户供应应将新租户放置在托pipe节点上,然后将新近租用的租户子域添加到Route53。 父DNS目前由第三方(dnsmadeeasy)处理。 目前DNS提供商有这样的东西: example.com -> A -> <someIP> example.com -> MX -> <mailhost> mail.example.com -> CNAME -> <mailhost> www.example.com -> CNAME -> example.com example.com -> NS -> <several provider name servers> 我也很确定DNS父提供程序(dnsmadeeasy)也有一个隐含的SOAlogging(在pipe理界面中没有显示)。 所以我做了以下几点: 我在Route53中添加了通配符托pipe区域: *.example.com 。 现在有5条logging,4条logging有不同名称服务器和SOAlogging 我添加了Route53 NSlogging到父DNS提供者(dnsmadeeasy) *.example.com -> NS -> <Route53 name server for hostzone above> 我的想法是,现在我可以开始在Route53地区为每个租户添加Alogging: tenant1.example.com -> […]

在CloudFormation模板中从G​​itHub下载单个文件

在我的CloudFormation模板中,我想从GitHub下载文本文件。 当我检查下载的文件是编码/encryption的内容,而不是纯文本。 它似乎并不重要,但我有公共和私人存储库中的文件。 这里是我的CloudFormation模板下载文件的代码: "AWS::CloudFormation::Authentication" : { "GithubAccessCredentials" : { "type" : "basic", "username" : { "Ref" : "GitHubLogin" }, "password" : { "Ref" : "GitHubPassword" }, } }, "AWS::CloudFormation::Init" : { "configSets" : { "orderedConfig" : [ "yumRepoConfig", "mainConfig" ] }, "yumRepoConfig" : { "files" : { "/etc/yum.repos.d/puppetlabs.repo" : { "source" : "https://github.com/MyOrganization/Repo/raw/master/provisioning/yum-repo/puppetlabs.repo", "mode" […]

删除AWS EC2中的旧AMI

我不得不将一些虚拟机从EC2迁移到VPC中,为此,我创build了每个虚拟机的映像,并停止了它,并从创build的AMI中启动了VPC中的一个新实例。 我现在想知道,如果我必须保留所有的AMI,一旦新的虚拟机运行。 注销它们是否安全,还是会破坏从各自AMI开始的实例?

Squid在8080端口出现。可能的Rootkit?

我最近试图连接到8080上的EC2服务器,并有一些早期没有发生的奇怪问题。 NGinx(虽然设置为:81)捕获端口8080上的任何请求。 如果我停止nginx, 我得到一个来自Squid代理的“拒绝连接”消息,我绝对没有安装自己,不记得之前看到。 我试图在8080上运行一个简单的金字塔应用程序,但鱿鱼代理似乎赶上所有的要求。 似乎没有任何squid进程出现在netstat中,而我在/ etc / squid中找不到configuration文件,所以我担心这可能是一个rootkit。 我应该尝试以某种方式卸载鱿鱼或废除服务器?

EBS卷上的mkfs.xfs作为AWS上的非root用户

我已经build立了一个udev规则来附加一个特定的EBS卷属于一个用户,这是有效的。 卷连接后,设备节点上的权限如下: brw-rw—- 1 myuser myuser 202, 240 Feb 4 20:21 /dev/xvdp 但是当我尝试运行mkfs -t xfs /dev/xvdp出现错误: mkfs.xfs: error – cannot set blocksize 512 on block device /dev/xvdp: Permission denied 如果我以root用户身份运行该命令,则成功,如果将文件系统types更改为ext4,操作也会成功。 什么额外的权限,我需要给设备,所以我的用户可以格式化它没有sudo ? 或者这可能是一个Xen或xfs的错误? 我正在运行亚马逊linux: Linux version 3.2.36-1.46.amzn1.x86_64 (mockbuild@gobi-build-31003) (gcc version 4.6.2 20111027 (Red Hat 4.6.2-2) (GCC) ) #1 SMP Mon Jan 14 04:42:23 UTC 2013

通过Web部署无法访问EC2实例

我按照这里的方向: 如何在服务器2012 EC2实例上安装webdeploy-on-windows-server-2012 。 然后,我按照这里的方向: 如何使用web部署visual-studio-import-iis8网站,但VSvalidation连接validation错误“错误目的地不可REACHABLE”。 是否有EC2实例的额外安全设置?

访问任务计划程序下的磁盘

我正在使用任务调度器运行一些控制台应用程序。 这些应用程序执行一些后台任务,并作为C#控制台应用程序运行。 应用程序本身运行得非常好(即,其中一个应用程序在运行结束时会输出电子邮件,而我正在收到这些电子邮件),但是在正确logging日志时遇到了问题。 他们使用Log4Net和configuration显示正常,因为如果我手动运行他们正确地产生日志。 但是,当我在任务计划程序下的同一个用户帐户(由检查进程pipe理器确认)下运行这些帐户时,它们不会生成任何日志。 就好像他们正在被饿死的正确的特权(但不抛出exception,因为他们执行得很好)或任务调度程序沙盘写磁盘,永远不会让他们接触实际的磁盘。 我最初尝试写入%AppData%,但我读到任务调度程序与用户variables的问题。 所以我现在已经把path硬编码到c:\ BackOffice \ Logs,但是这并没有改变这个不幸的行为。 d: 有任何想法吗? 这是在AWS EC2上运行的Microsoft Server 2008 R2 Datacenter。 这是log4net的configuration,如果有帮助的话: <?xml version="1.0" encoding="utf-8"?> <log4net> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger [%ndc] – %message%newline" /> </layout> </appender> <appender name="FileAppender" type="log4net.Appender.FileAppender"> <file value="c:\BackOffice\Logs\LogName_log.txt" /> <appendToFile value="true" /> <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern […]

如何使用Amazon的AWS CLI工具下载S3二进制文件?

我正尝试使用Amazon的新命令行界面从AWS S3存储桶下载二进制文件。 但是,该工具会响应一条错误消息。 $ aws s3 get-object –bucket myBucketName –key myFileName <requests.packages.urllib3.response.HTTPResponse object at 0x1e61710> is not JSON serializable 指定文本输出格式,给出对象的元数据,但不是实际的数据。 $ aws –output text get-object –bucket myBucketName –key myFileName <requests.packages.urllib3.response.HTTPResponse object at 0x298f710> Fri, 05 Apr 2013 18:11:47 GMT bytes application/x-rpm 310000 该工具的源代码分发中的testing似乎没有执行此function。

Rails AWS体系结构 – 从单个Linode机器迁移到AWS

我们的创业公司已经有一个应用程序在一个Linode盒子上成功运行了将近一年的Rails/MySQL+MongoDB/Unicorn/Nginx 。 我们最近决定迁移到AWS有几个原因: 成本 – 我们收到了价值数千美元的AWS信用(通过我们所在的加速器计划),如果不使用它,那将是一件耻辱。 可伸缩性 – 我们最近已经开始接受相当多的新闻了,而且我们的用户数量正在上升。 对于Linode盒的成本以及我们得到的回报,在不久的将来它将不能很好地扩展。 能力 – AWS堆栈在可用的function和工具方面似乎令人印象深刻,而且我听到并读了很多关于如何成为一个开始成长的好地方的好消息。 总而言之,成本和可扩展性问题为我们赢得了胜利,因为免费的可靠主机很难被击败(直到我们用完AWS信用)。 我们还没有获得资金,所有的IT成本都是从我自己的口袋里出来的(几百美元/月)。 所以基本上,我想将我们的应用程序迁移到AWS,我一直在考虑下面的堆栈: Elastic-Load-Balancer | | [1+ Rails App over Unicorn/Nginx] | | [1+ DB Server (MySQL + MongoDB)] 应用程序或数据库服务器可以根据需要水平增长。 由于我们还没有真正推断断点,所以我想从1个应用程序服务器,1个数据库服务器(现在不是RDS)和ELB + Route53来pipe理DNS和负载平衡。 我从来没有使用过AWS,也没有DevOps专家,所以我想要反馈一些东西: 我应该如何pipe理有关独angular兽+ nginx设置的堆栈的Web服务器部分? 到目前为止,这一切都在同一台机器上,因此不是一个大问题。 我应该保持我的nginx.conf设置,并让nginx监听每个App实例上的端口80/443? 我希望能够通过简单地根据需要添加更多的实例(AMI's)来扩展App层。 这在短期内是可以pipe理的吗? 例如 – 直到我们有钱雇用devops家伙或closures商店由于贫穷:) 任何其他经验教训或要牢记的事情将不胜感激。 注意 – 由于各种原因,我不想使用OpsWorks:我们的应用程序服务器是非常定制的,没有Mercurial的支持,不是很成熟,等等。 谢谢。