Skip to content

Instantly share code, notes, and snippets.

@uzresk
Last active August 29, 2015 14:08
Show Gist options
  • Save uzresk/2e8de1c86ee59d4d3949 to your computer and use it in GitHub Desktop.
Save uzresk/2e8de1c86ee59d4d3949 to your computer and use it in GitHub Desktop.
EC2インスタンスからAMIを作成する[SDK for Java] ref: http://qiita.com/uzresk/items/9fb5b5ea4acebc522f40
import com.amazonaws.ClientConfiguration;
import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.regions.Region;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.autoscaling.model.BlockDeviceMapping;
import com.amazonaws.services.ec2.AmazonEC2;
import com.amazonaws.services.ec2.AmazonEC2Client;
import com.amazonaws.services.ec2.model.CreateImageRequest;
import com.amazonaws.services.ec2.model.CreateImageResult;
import com.amazonaws.services.ec2.model.DescribeSnapshotAttributeRequest;
import com.amazonaws.services.ec2.model.DescribeSnapshotAttributeResult;
import com.amazonaws.services.ec2.model.DescribeSnapshotsRequest;
import com.amazonaws.services.ec2.model.DescribeSnapshotsResult;
import com.amazonaws.services.ec2.model.DescribeVolumesResult;
import com.amazonaws.services.ec2.model.Snapshot;
public class Ec2AmiCreateFromInstance {
/**
* 第一引数で指定されたec2 instance idから、AMIを作成します。
*
* @param args
*/
public static void main(String[] args) {
String instanceId = args[0];
if (instanceId == null || "".equals(instanceId)) {
throw new IllegalArgumentException("instance id is null or empty.");
}
AWSCredentialsProvider provider = new ProfileCredentialsProvider("uzr");
AmazonEC2 ec2_tokyo = Region.getRegion(Regions.AP_NORTHEAST_1)
.createClient(AmazonEC2Client.class, provider,
new ClientConfiguration());
CreateImageRequest createImageRequest = new CreateImageRequest(
instanceId, "create-image-test-2")
.withDescription("description test 2");
CreateImageResult image = ec2_tokyo.createImage(createImageRequest);
System.out.println(instanceId + "から" + image.getImageId() + "を作成しました。");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment