尝试在Route 53

时间:2019-06-19 20:26:12

标签: amazon-web-services amazon-ec2 amazon-route53

目前我正在运行约40个Windows EC2实例。在接下来的几个月中,这个数字将开始大幅增长。每个实例都是一个t2.small Windows 2016 Server实例。随着数量的增加,成本开始成为一个问题。每个实例都有其自己的弹性IP地址,因为当用户Tom要访问其计算机时,他将使用DNS tom.mydomain.com

tom.mydomain.com已注册在Route53托管区域中,该区域指向与Tom的EC2实例相关联的弹性IP 22.33.44.55。 问题是汤姆每天只需要使用4个小时。不使用它时,他只是关闭机器。但是...指向停止实例的弹性IP每小时花费的费用几乎与处于运行状态的t1.micro实例的费用一样。

所以我要做的是,当Tom登录到AWS控制台并启动他的EC2实例时,它将自动针对DNS“ tom.mydomain.com”向Route53注册。

简而言之,我想消除对弹性IP的需求,而弹性IP迅速成为非常昂贵的成本。

教程Auto-Register EC2 Instance in AWS Route 53 看起来确实可以满足我的需求。问题是脚本是针对Linux的。我想让它适用于Windows。我已经完成了本教程的第6步的所有工作,但仍停留在该步骤中。有人能在Windows上获得类似于此功能的东西吗?

3 个答案:

答案 0 :(得分:2)

我建议:

  • 创建一个基于Web的前端,您的用户可以在其中进行身份验证并请求对其Amazon EC2实例的访问
    • 您可以使用 Amazon Cognito 进行身份验证,并使用 DynamoDB 进行数据存储
  • 用户进行身份验证后,该服务可以:
    • 启动他们的EC2实例(如果以前已停止)
    • 将随机公共IP地址与客户的域名
    • 相关联
    • 告诉用户实例现在可用
  • 用户登录并执行其工作功能
  • 然后您有了某种机制(我不确定是什么),可以检测到他们不再需要该实例,然后停止以节省成本

上述过程避免为您的用户分配IAM凭据。虽然IAM凭证对于在您的AWS基础设施上工作的员工很重要,但不应将其分配给服务的最终用户。

该过程还避免为每个EC2实例分配IAM权限。尽管实例本身可以调用Route 53来更新其域名的记录,但这需要将IAM角色分配给EC2实例。如果您的用户有权访问实例本身,则可能会打开一个安全漏洞,使他们可以使用错误的数据(例如,将其他用户的域名分配给自己的实例)来呼叫Route 53。

值得一提的是,以上建议反映了 Amazon WorkSpaces 的运行方式-用户进行身份验证,启动实例,并在一段时间不使用后停止实例。

答案 1 :(得分:0)

我将建议使用cloudformation模板。 Cloudformation可以创建EC2,然后将其附加到route53 url。因此,当汤姆喜欢使用EC2实例时,他必须在Cloudformation中运行堆栈。完成后,他必须返回cloudformation并销毁堆栈。

答案 2 :(得分:0)

是的,建议使用Cloudformation。您可以尝试cloudkast,它是一个在线cloudformation模板生成器。它将使您轻松而轻松地创建cloudformation模板的任务