小编MLu*_*MLu的帖子

AWS CloudFormation - 模板中的自定义变量

有没有办法为从 CloudFormation 模板参数派生的常用值定义快捷方式?

例如-我有一个创建了ELB名字多AZ项目组的脚本project和ELB后面两个实例叫project-1project-2。我只将ELBHostName参数传递给模板,然后使用它来构造:

"Fn::Join": [
    ".", [
        { "Fn::Join": [ "", [ { "Ref": "ELBHostName" }, "-1" ] ] },
        { "Ref": "EnvironmentVersioned" },
        { "Ref": "HostedZone" }
    ]
]
Run Code Online (Sandbox Code Playgroud)

这种结构或非常相似的结构在整个模板中重复多次 - 以创建 EC2 主机名、Route53 记录等。

而不是一遍又一遍地重复,我想将它的输出分配Fn::Join给某种变量并且只引用它,就像我可以用"Ref":语句一样。

理想情况下是这样的:

Var::HostNameFull = "Fn::Join": [ ... ]
...
{ "Name": { "Ref": "Var::HostNameFull" } }
Run Code Online (Sandbox Code Playgroud)

或类似简单的东西。

使用 Amazon CloudFormation 可以吗?

amazon-web-services amazon-cloudformation

26
推荐指数
3
解决办法
3万
查看次数

权威域名服务器和递归解析器有什么区别?

我是网络和所有这些 DNS 方面的新手。

我有以下问题

  • 什么是权威域名服务器?
  • 什么是递归解析器?

请帮助/指导我解决这个问题。

我已经阅读了Authoritative Nameserver,但我无法清楚地理解它。可以用一些简单的术语解释我吗?

domain-name-system nameserver authoritative

24
推荐指数
2
解决办法
5万
查看次数

创建 AWS EC2 服务器的 ISO

我想创建我的 AWS EC2 服务器的 ISO,以便我可以将其用作本地计算机上的开发测试环境。这可能吗?

amazon-ec2 amazon-web-services

13
推荐指数
3
解决办法
2535
查看次数

AWS CloudFormation 中的条件属性

我们有一个用于创建一些 EC2 实例的 AWS CloudFormation 模板。然而,其中一些需要特定的PrivateIpAddress,我正在努力弄清楚如何将其合并到模板中。

现在我有一个模板参数PrivateIP和一个创建条件RequestedPrivateIP。到现在为止还挺好。但是我不知道如何将它合并到AWS::EC2::Instance资源规范中。我试过这个:

    "PrivateIpAddress": {
        "Fn::If": [ "RequestedPrivateIP",
            { "Ref": "PrivateIP" },
            ""                            <-- This doesn't work
        ]
    },
Run Code Online (Sandbox Code Playgroud)

但是当RequestedPrivateIP是 false时失败了

CREATE_FAILED    AWS::EC2::Instance    NodeInstance    Invalid addresses: []
Run Code Online (Sandbox Code Playgroud)

知道如何有选择地分配静态私有 IP,如果未指定,则将其留给 AWS 来设置动态私有 IP?

amazon-web-services amazon-cloudformation

12
推荐指数
1
解决办法
1万
查看次数

在 Ubuntu 16.04 中的 AWS EC2 上自动挂载 SSD 实例存储

我在 c5d.2xlarge 硬件上使用来自 AWS 的 Ubuntu 16.04 EC2。它配备了一个 200 GB 的 SSD,称为/dev/nvme1n1.

我可以使用以下方法安装此驱动器:

$ sudo mkfs.ext4 -E nodiscard /dev/nvme1n1

$ sudo mount -o discard /dev/nvme1n1 /home/ubuntu
Run Code Online (Sandbox Code Playgroud)

为了尝试让它自动挂载,我还添加了/etc/fstab

/dev/nvme1n1 /home/ubuntu/spda ext4 defaults,users,nofail,discard 0 2
Run Code Online (Sandbox Code Playgroud)

我的问题:

  • 当我停止/启动实例时,它似乎不会自动挂载。我不知道如何修复/调试。

  • 当我手动挂载它时,创建的文件夹属于根目录,我无法以用户身份访问它。

我的目标是能够启动实例并且已经安装了驱动器并且用户可以访问。

ssd amazon-ec2 amazon-web-services nvme ubuntu-16.04

10
推荐指数
1
解决办法
3745
查看次数

无法通过 SSH 连接到 AWS CloudFormation Stack 实例

我现在设置了一个可扩展的负载均衡器,主要遵循这个模板:

https://github.com/satterly/AWSCloudFormation-samples/blob/master/LAMP_Multi_AZ.template

AWS::AutoScaling::AutoScalingGroup.CreationPolicy.ResourceSignal.Count键调整为0(基本上允许在未收到成功信号的情况下加载堆栈)后,我能够加载堆栈,并且可以看到所有可用资源。

我可以看到正在创建的密钥的公共 DNS,但我无法通过 SSH 连接到实例。

我对实例规则中的每个人都有开放的 SSH 访问权限,我可以在 AWS 控制台中确认这一点。

我还按照官方 AWS 文档中的建议为我的 VPC 配置了一条路由:https : //aws.amazon.com/premiumsupport/knowledge-center/ec2-linux-ssh-troubleshooting/

我可以看到实例存在,但似乎我限制了自己在某处的访问。但是,在 AWS EC2 控制台中,设置看起来与我能够通过 SSH 连接到实例时相同。

这是我正在使用的 JSON 模板,您可以在其中查看我的所有设置,包括我的 VPC、子网、安全组等:https : //gist.github.com/dambrogia/e4cd93a64ae6f3a79d4a58d466f144f8

我从以下命令收到超时错误:(我的id_rsa密钥在 ec2 内有效)

ssh -i ~/.ssh/id_rsa ec2-user@<ec2_instance>
Run Code Online (Sandbox Code Playgroud)

如何通过 SSH 连接到我的实例?在此先感谢您的帮助!

load-balancing amazon-ec2 amazon-web-services amazon-cloudformation

9
推荐指数
1
解决办法
1419
查看次数

不允许 EC2 实例之间的 SSH

我正在一个共享的 AWS 账户中设置几个 EC2 实例,并希望让它们相互访问。同时我想禁止账户中其他实例的访问。

我创建了一个安全组并添加了来自“我的 IP”的 SSH 访问权限以进行登录,并且效果很好。

现在我需要所有实例之间进行 SSH连接,但即使它们都在同一个安全组中,我也不能。

我怎样才能做到这一点?

linux ssh amazon-ec2 amazon-web-services security-groups

9
推荐指数
1
解决办法
1980
查看次数

如何使用 CloudFormation 脚本将文件上传到 S3 存储桶?

如何将文件上传到我的 AWS S3 存储桶 CloudFormation 模板?

AWSTemplateFormatVersion: '2010-09-09'
Resources:
  S3Bucket:
    Type: AWS::S3::Bucket
    Properties:
      AccessControl: PublicRead
      BucketName: s3bucketuser
      VersioningConfiguration:
        Status: Enabled
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-cloudformation

9
推荐指数
2
解决办法
1万
查看次数

c5d.large 实例是否存在 CPU 积分?如果没有,为什么不呢?

我一直怀疑我在一个t3.micro实例上收听的 websocket 提要被同一管理程序下其他实例的 cpu 窃取时间所抑制。

所以我切换到一个c5d.large实例,并且肯定注意到延迟更少。但现在我很好奇……我的CPU 信用图在 EC2 监控部分消失到哪里了?

不要c5d.large实例没有CPU学分出于某种原因?如果没有,为什么不呢?

vcpu amazon-ec2 cpu-usage amazon-web-services

9
推荐指数
1
解决办法
2232
查看次数

AWS 安全组 - 如何允许来自另一个安全组的公共 IP

我在 VPC 不同的安全组中有两个实例,每个实例都有自己的公共 IP。我希望实例一能够连接到其公共 IP 上的实例二。我发现授予对安全组的访问权限,只允许访问私有 IP,而不是公共 IP。

我现在已经定义了我的安全组,以允许访问位于其他安全组中的实例的公共 IP。但是,这很不方便,因为我无法轻松自动执行此操作(想想 Ansible),因为我首先需要查找 DNS 名称,然后才能将其添加到组中。

有谁知道这样做的更简单的方法?

总结一下:

  • 实例 1 -> 1.2.3.4
  • 实例 2 -> 5.6.7.8

实例 1 需要访问其公共 IP 上的实例 2。我目前最终不得不手动查找实例 1 的 IP,然后将其添加到实例 2 的安全组中。

amazon-ec2 amazon-web-services amazon-elastic-ip security-groups

7
推荐指数
2
解决办法
4733
查看次数