Articles of amazon web services

使用CloudFormation创build具有现有EBS卷的新EC2实例作为根设备

我正尝试使用CloudFormation将现有卷挂载到新的EC2 Windows实例。 这似乎应该是可能的。 大图片 我有供应商提供AMI,它安装了一些预configuration的软件。 我们希望创build一个实例,并且偶尔会更改EC2实例大小以进行性能testing。 我们不想丢失从AMI创build的单个EBS磁盘上的数据。 由于我们使用的是CloudFormation,如果我们简单地更改AWS :: EC2 :: Instance.InstanceType属性并上传已修改的堆栈,CloudFormation将从AMI中新build一个实例和卷。 这没有帮助,因为我们将丢失从现有磁盘上传的数据。 卷方法 我先试了这个脚本。 WindowsVolume: Type: AWS::EC2::Volume Properties: AutoEnableIO: true AvailabilityZone: "ap-southeast-2b" Encrypted: true Size: 30 SnapshotId: snap-0008f111111111 Tags: – Key: Name Value: Ref: AWS::StackName VolumeType: gp2 EC2Instance: Type: AWS::EC2::Instance InstanceType: t2.micro ImageId: ami-663bdc04 # Windows Server stock image KeyName: removed IamInstanceProfile: removed InstanceInitiatedShutdownBehavior: […]

mongodb,是否需要*为最小生产分贝设置一个副本?

我对mongodb相当陌生,现在正在处理一些devops问题。 我们在AWS上部署了一款b2b saas产品,客户之间没有networking效应,一些客户拥有比其他客户更多的数据库。 他们目前正在运行一个中央MongoDB服务器,我们得到了嘈杂的邻居问题,我们需要孤立的客户谁拥有可笑的大量的联系人。 我的问题是:什么是最低合理的mongodb服务器的设置,我们给个别大客户自己的独立vpc aws? 这是否需要如mongo文档中所示的3服务器副本集,或者可以合理使用一个ec2实例作为小型数据库的生产mongo服务器?

处理实例启动时的部署

我不明白我该如何处理实例启动时发生的“部署”事件。 该堆栈有两层(Node.js和Rails)和两个具有不同配方的应用程序来处理“部署”事件。 问题是,当实例启动时,OpsWorks试图将这两个应用程序部署到一个实例,显然失败。 目前部署configuration看起来像这样: search('aws_opsworks_app').each do |app| Chef::Log.info("Deploying app #{app.name}") app_dir = '/srv/www/js_app' application app_dir do git app['app_source']['url'] do revision app['app_source']['revision'] deploy_key app['app_source']['ssh_key'] end execute 'Install dependencies' do command 'npm install –dev' cwd app_dir end execute 'Build' do command 'npm run build' cwd app_dir end npm_start end end

更多或更大的EC2实例来pipe理成本

为了节省成本,我们试图找出最佳的设置来处理我们在3个EC2实例之间运行的所有工作进程。 而不是三个4xlarge EC2运行数千个队列工作者,将它们分成许多小型的实例,每个处理100个左右的工作,还是继续以最大容量使用更大的实例会更有成本效益? 通常我们消耗大约相同数量的CPU和内存为我们迄今创build的每个服务器。 如果我们希望使用50%的可用CPU功率,我们通常可以使用50%的可用RAM。 对于networkingIO,我们最大的成本是与RDS通信,读取SQS队列负载,以及数据移入/移出S3。 作业可以批量处理数以百万计的小型通知,parsing大型XML / CSV文件,执行复杂的财务计算和数据build模,或运行MLalgorithm。

为什么AWS不会让我创build一个私有vpc的路由

我有一个公共的VPC vpc-xxxx63 我有一个名为vpc-xxxx99的私人VPC 我想路由stream量从公共vpc私人vpc 我去VPC仪表板 – >路由表 select公共VPC并select编辑 目标字段自动完成下的唯一选项是igw-xxxx互联网网关。 如何路由到VPC?

AWS中的基于位置的URLredirect

我将如何处理做一个URLredirect,具有以下作用: 网站:example.com 如果用户来自印度的IP地址:example.com – > india.example.com

如何识别给定的S3存储区所在的帐户?

我遇到了很多S3存储桶…有没有办法告诉哪个AWS账户有一个给定的S3存储桶? 我只能想到通过我有权访问的每个帐户进行迭代,但我没有许多帐户的密钥在我们的投资组合中。

如何授予对已经运行的EC2实例的IAM访问权限

背景 我由一个运行不同EC2计算机的企业主(分段/产品等)在根级别交付了一个AWS账户。 我想要做的只是创build具有受限访问权限的不同IAM帐户。 例如,现在我想创build一个只有运行权限的IAM账户,终止一个特定的EC2实例。 我曾经尝试过 我基本上遵循这里的指示。 我创build了一个IAM组(称为superAdmin ),并创build了一个新的IAM帐户,并为该组分配了一个新用户( user_1 )。 然后我开始创build一个策略 ,并将其附加到superAdmin组,策略如下所示 { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt15094*****", "Effect": "Allow", "Action": [ "ec2:*" ], "Resource": [ "arn:aws:ec2:eu-west-1:%my-account-id%:instance/i-%instance-id%" ] } ] } 我确定资源遵循资源策略点。 (注意:这些情况在爱尔兰运行,据此与eu-west-1 ) 然后我调用这个策略staging_access并将其附加到user_1 (但也删除了所有其他策略): 问题 问题是,当我login为user_1 ,我什么都看不到: 当我去实例页面,什么也没有显示: 更新 我注意到,如果我只是简单地使资源成为一张通配符卡片,一切都会奏效: { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1509458879000", "Effect": "Allow", "Action": […]

如何在AWS上使用Windows Server 2016创build新的路由协议?

ServerFault问题我正在关注。 我得到了第4步的链接的答案,但是当我试图在Windows Server 2016的路由和远程访问菜单中创build一个“新的路由协议”它给我popup一个说:“没有额外的路由协议可用于安装”。 谢谢!

在从模板创build新堆栈时如何显示RDS实例快照ID的下拉列表?

我写了一个CloudFormation模板,除了其他的东西外,还创build了一个RDS MySQL实例,并从先前备份的数据库实例快照中恢复数据。 我希望启用要使用此模板的用户从下拉菜单中selectrds实例快照ID。 我已经看到,使用创buildBastion主机的Amazon CloudFormation模板时,可以从下拉菜单中selectVPC ID,因此我相信可以对快照ID进行相同的操作。 例: 我正在浏览亚马逊的文档,寻找正确的方法来做到这一点…我正在考虑做类似的事情: "RDSSnapshotID" : { "Description" : "Choose the relevant snapshot", "Type" : { "Fn::RefAll" : "AWS::RDS::DBSnapshotIdentifier::Id" } } 但是在尝试将模板加载到CloudFormation时出现错误: 模板validation错误:模板格式错误:每个types成员都必须是string。 编辑: 我现在怀疑这样的属性(“AWS :: RDS :: DBSnapshotIdentifier :: Id”)不存在。 任何人都知道是否可以做到,怎么做?