有没有一种简单的方法来计算匹配返回的小兵数量,例如:
salt -C 'G@ec2_roles:test' match.count
有没有一种简单的方法来计算匹配返回的小兵数量,例如:
salt -C 'G@ec2_roles:test' match.count
我们正在使用 Terraform 为我们的大多数 AWS EC2 实例启动 ASG。问题是有时我们想在终止实例之前做一些额外的工作。例如:在节点运行的 EC2 实例终止之前从集群中停用节点。如果我们只是降低min
== max
(我们的默认值),那么实例将被终止,我们无法运行优雅的退役。
相反,我尝试的是降低min
到新的期望值(例如:6)并将 保持max
在旧值(例如:10),在这种情况下发生的情况是该desired
值保持在 10(the max
)并终止 EC2实例会导致 ASG 启动一个新实例。注意:我们根本没有设置 Terraform desired_capacity
设置。
如果我desired_capacity
手动设置,我会冒 ASG 终止尚未正常退役的节点的风险,所以我认为这不是我的选择。
我最希望的是,当 ASG 的当前 EC2 实例计数介于两者之间时,ASG 什么也不做min
,max
让我手动终止实例。显然,如果计数低于min
我仍然希望 ASG 启动一个新的 EC2 实例。
有什么办法可以做到这一点?
我已经阅读了很多关于 Nginx 配置适合 SSE 的不同问题,并就使用哪些设置得出了一些令人困惑的结果:
那么正确答案是什么?
我正在尝试以编程方式设置 vpn 应该推送到客户端的路由,其中主要的路由之一是 VPC 网络。有没有办法从我的 vpn 实例中获取 VPC CIDR 块?
我有几个 EC2 Spot 请求会在价格合适时启动 EC2 实例。我希望生成的实例用 aName
和Role
标签标记,以便我的配置管理工具知道它是什么类型的机器。
更新:
我采纳了 Hyper Anthony 的建议并实施了它——因为轮询容易出错且占用大量资源,所以我在我的 AMI 中添加了一个启动脚本,它会在实例启动时更新标签,这些是我采取的步骤:
pip install boto
您要启动的实例必须有某种方式来访问有关 Spot 请求的信息。使用 IAM 角色或将访问密钥提供给您的实例。我附加到我使用的 IAM 角色的策略是:
{
"Statement": [
{
"Action": [
"ec2:CreateTags",
"ec2:DescribeTags",
"ec2:DescribeInstances"
],
"Effect": "Allow",
"Resource": [
"*"
],
"Sid": "Stmt1432737176000"
}
],
"Version": "2012-10-17"
}
def get_tags_from_spot_request():
instance_id = boto.utils.get_instance_identity()['document']['instanceId']
region = boto.utils.get_instance_identity()['document']['region']
conn = boto.ec2.connect_to_region(region)
inst = boto.ec2.instance.Instance(connection=conn)
inst.id = instance_id
inst.update()
spot_id = inst.spot_instance_request_id
tags = conn.get_all_tags(filters={'resource-type': 'spot-instances-request', 'resource-id': spot_id})
for tag in tags:
inst.add_tag(tag.name, tag.value)
给定 SaltStack 模块中名为 的以下函数salty
,我如何将序列发送到参数的event
函数tags
,这tags
应该是 Python 列表:
def event(name, desc, tags=None):
assert type(tags) == list
我期望以下工作,但它没有:
salt-call salty.event myname mydesc tags=tag1,tag2,tag3
想要一种通过 LDAP 进行 SSH 密钥身份验证的方法。
我们将 LDAP (slapd) 用于目录服务,并且我们最近开始使用我们自己的 AMI 来构建实例。AMI 位很重要的原因是,理想情况下,我们希望能够在实例运行后立即通过密钥身份验证使用 SSH 登录,而不必等待我们有点慢的配置管理工具启动脚本来添加实例的正确键。
理想的情况是,当将用户添加到 LDAP 时,我们也添加了他们的密钥,他们将能够立即登录。
密钥身份验证是必须的,因为基于密码的登录既不安全又麻烦。
我已经阅读了这个问题,它表明 OpenSSH 有一个名为 OpenSSH-lpk 的补丁可以执行此操作,但 OpenSSH 服务器 >= 6.2 不再需要此补丁
添加了 sshd_config(5) 选项 AuthorizedKeysCommand 以支持从文件系统中获取授权密钥(或代替)从命令中获取。该命令在 AuthorizedKeysCommandUser sshd_config(5) 选项指定的帐户下运行
如何配置 OpenSSH 和 LDAP 来实现这一点?
我在 AWS VPC 中运行我自己的 NAT 实例。我想确保 NAT 实例不会成为瓶颈,为此我想设定我自己对何时扩展到辅助 NAT 的期望(如果有的话)。
我知道实例类型(如果这很重要,目前是 m1.medium)是其中的一个重要方面,但想知道如何检查 NAT 实例是否开始达到其最大值以及我是否可以实现更好的吞吐量VPC 中的机器,如果其中一些使用不同的 NAT 实例。
它通过一个非常简单的 iptables 指令进行 NAT,如下所示:
$ iptables --table nat --list
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 10.0.0.0/16 anywhere
我的有线接口 (eth0) 连接到公司 VPN(不允许通过代理进行各种操作),同时无线接口连接到 eth1 上的访客无线网络,没有任何限制。
如何配置事物(Ubuntu),使我的无线处理所有浏览器连接,而我的有线处理其余的(nfs 等)。