这里的动机是创建一种方法来查询我的AWS环境以获取配置转储,序列化它,然后能够再次运行查询以查看任何相关的更改。
我从以下位置获得组标识符:
private List<String> getSecurityGroups(InstanceNetworkInterface netInt) {
List<String> result = new Vector<String>();
List<GroupIdentifier> groups = netInt.getGroups();
for(GroupIdentifier gi : groups) {
result.add(gi.getGroupName());
}
return result;
}
1条答案
按热度按时间xwbd5t1u1#
您可以在
AmazonEC2
客户机对象(在我的示例中,其示例称为ec2
)上使用describeSecurityGroup
获取安全组列表。一旦你有了
securityGroup
,你可以调用securityGroup.getIpPermissions()
,它会给你一个List<IpPermission>
。您可以查看Javadoc以了解详细信息,特别是关于IpPermission的信息。
为了给予您一个概念,
IpPermission
规则的toString()
表示允许任何IP在端口80上联系服务器,如下所示:如果您只对特定的安全组感兴趣,则可以用途:
一些基本的集成测试,应该在任何亚马逊EC2帐户工作。
其中
firewall
是包含findOneSecurityGroupByName
和findsAllSecurityGroups
的类的示例。