Com.amazonaws.services.ec2には、既存のAMIから新しいEC2インスタンスを作成するメソッドが含まれていますか?これは、Web管理コンソールではなく、Java SDKから行います。
RunInstancesはメソッドであり、SDKにある必要があります。
Java:
// CONNECT TO EC2
InputStream credentialsAsStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("AwsCredentials.properties");
Preconditions.checkNotNull(credentialsAsStream, "File 'AwsCredentials.properties' NOT found in the classpath");
AWSCredentials credentials = new PropertiesCredentials(credentialsAsStream);
AmazonEC2 ec2 = new AmazonEC2Client(credentials);
ec2.setEndpoint("ec2.eu-west-1.amazonaws.com");
// CREATE EC2 INSTANCES
RunInstancesRequest runInstancesRequest = new RunInstancesRequest()
.withInstanceType("t1.micro")
.withImageId("AMI-62201116")
.withMinCount(2)
.withMaxCount(2)
.withSecurityGroupIds("Tomcat")
.withKeyName("xebia-france")
.withUserData(Base64.encodeBase64String(myUserData.getBytes()))
;
RunInstancesResult runInstances = ec2.runInstances(runInstancesRequest);
// TAG EC2 INSTANCES
List<Instance> instances = runInstances.getReservation().getInstances();
int idx = 1;
for (Instance instance : instances) {
CreateTagsRequest createTagsRequest = new CreateTagsRequest();
createTagsRequest.withResources(instance.getInstanceId()) //
.withTags(new Tag("Name", "travel-ecommerce-" + idx));
ec2.createTags(createTagsRequest);
idx++;
}
ソースコード(RDS、EC2、ELBインスタンスの作成)は http://code.google.com/p/xebia-france/source/browse/training/xebia-spring-travel/trunk/xebia- spring-travel-Amazon-aws/src/main/Java/fr/xebia/demo/Amazon/aws/AmazonAwsInfrastructureMaker.java?spec = svn1781&r = 1781
お役に立てれば、
キリル
var launchRequest = new RunInstancesRequest()
{
ImageId = amiID,
InstanceType = ConfigurationManager.AppSettings["AwsInstanceType"],
MinCount = 1,
MaxCount = 1,
KeyName = keyPairName,
SecurityGroupIds = groups,
SubnetId = ConfigurationManager.AppSettings["AwsSubnetId"],
};
RunInstancesResponse runInstancesResponse = amazonEc2client.RunInstances(launchRequest);
var InstanceId = runInstancesResponse.Reservation.Instances[0].InstanceId;
var trequest = new CreateTagsRequest();
trequest.Resources=new List<string>(){InstanceId};
List<Tag> tags=new List<Tag>();
Tag tag=new Tag("Name","TestCodeFinal");
tags.Add(tag);
trequest.Tags = tags;
amazonEc2client.CreateTags(trequest);
Reservation reservation = runInstancesResponse.Reservation;