在访问密钥的帮助下,使用jclouds创建和下载AWS ec2密钥对

时间:2014-01-23 12:56:07

标签: java amazon-ec2 jclouds

我可以借助访问密钥和密钥使用jClouds API创建AWS-EC2实例,

AWS_ACCESS_KEY = this.config.getString("aws_access_key");
AWS_SECRET_ACCESS_KEY = this.config.getString("aws_secret_access_key");

if (AWS_ACCESS_KEY == null || AWS_SECRET_ACCESS_KEY == null) {
    throw new InstantiationError("Invalid AWS Credentails");
}

ec2Api = ContextBuilder.newBuilder(AWS_EC2).credentials(AWS_ACCESS_KEY, AWS_SECRET_ACCESS_KEY).buildApi(EC2Api.class);
instanceApi = ec2Api.getInstanceApi().get();

当用户第一次创建实例(jCloud API)时,如何在AWS-EC2上创建密钥对。 我们是否需要为每个新实例使用现有的访问密钥和密钥。

任何人都可以帮助我建议如何为每个新实例创建一个新的密钥对。

1 个答案:

答案 0 :(得分:3)

Template template = compute.templateBuilder()
            .hardwareId(InstanceType.T1_MICRO)
            .imageId("us-east-1/ami-ccf615a5")
            .osFamily(OsFamily.AMZN_LINUX)
            .locationId("us-east-1")
            .osVersionMatches("12.10")
            .build();
    Template template = templateBuilder.build();

    TemplateOptions templateOptions = template.getOptions();
    AWSEC2TemplateOptions awsTemplateOption= templateOptions.as(AWSEC2TemplateOptions.class);
    awsTemplateOption.securityGroups("securityGroupName");
    awsTemplateOption.keyPair("keyPairName");

try {
        Set<? extends NodeMetadata> nodes = compute.createNodesInGroup(groupName,1,template);
}