gpt4 book ai didi

amazon-web-services - 用于 EC2 自动发现的 AWS 凭证

转载 作者:行者123 更新时间:2023-12-04 08:07:02 25 4
gpt4 key购买 nike

根据 Hazelcast manual ,为了使用 EC2 自动发现,需要在配置文件中提供 AWS 凭证。
当托管在以 IAM 角色启动的 EC2 实例上时,Hazelcast 是否可以不使用长期访问 key 来检索临时凭证(根据 AWS 最佳实践 "Use Temporary Security Credentials (IAM Roles) Instead of Long-Term Access Keys")

最佳答案

我花了一段时间才找到正确的信息。老实说,明确指定 IP 地址也同样有效,除非您的集群由数百个节点组成,需要手动输入所有节点。

指定 AWS 标签名称/值对是可选的。我有点偏执,我可能会错误地加入另一个集群,最好明确创建一个这样的资源(服务器)组。

首先,您需要创建一个具有 Hazelcast 所需权限的 IAM 用户。显然,您不想为此使用您的 root 用户凭据。

使用 AWS 控制台。它位于右上角的用户名下拉列表(帐户设置所在的位置)。单击安全凭据,然后单击组。创建具有以下策略的组:

{
"Version": "xxxxxxx",
"Statement": [
{
"Sid": "xxxxxx",
"Effect": "Allow",
"Action": [
"ec2:DescribeInstances"
],
"Resource": [
"*"
]
}
]
}

如您所见,Hazelcast 需要的唯一权限是“DescribeInstances”。我偶然发现了它 - 在 Fuad Malikov 的一个问答线程的深处。

其余的都是微不足道的。创建一个 IAM 用户,例如使用该安全组“hazelcast”,并下载(导出)其凭据,您应该将其放入 Hazelcast 配置中,如下所示。我正在使用 Spring,但是有一对一映射到经典 Hazelcast 配置文件。或者您可以以编程方式设置这些属性 - Spring 基本上为我所做的。
<property name="properties">
<props>
<prop key="hazelcast.icmp.enabled">true</prop>
</props>
</property>
<property name="join">
<bean class="com.hazelcast.config.JoinConfig">
<property name="multicastConfig">
<bean class="com.hazelcast.config.MulticastConfig">
<property name="enabled" value="false"/>
</bean>
</property>
<property name="tcpIpConfig">
<bean class="com.hazelcast.config.TcpIpConfig">
<property name="enabled" value="false"/>
</bean>
</property>
<property name="awsConfig">
<bean class="com.hazelcast.config.AwsConfig">
<property name="enabled" value="true"/>
<property name="region" value="us-west-2"/>
<property name="accessKey" value="zzzzzzz"/>
<property name="secretKey" value="yyyyyyy"/>
<property name="tagKey" value="your-instance-tag-key"/>
<property name="tagValue" value="your-instance-tag-value"/>
</bean>
</property>
</property>

关于amazon-web-services - 用于 EC2 自动发现的 AWS 凭证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30493222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com