Release: AWS SDK for Java 1.0.12

Release Notes>Java>Release: AWS SDK for Java 1.0.12
New Amazon S3 client with encryption support, added support for Amazon RDS Read Replica DB instances, Amazon ELB HTTPS load balancers, and Amazon IAM support for managing server certificates, along with minor bug fixes and performance improvements.

Details

Submitted By: Jason@AWS
Release Date: October 15, 2010 12:00 AM GMT
Created On: October 15, 2010 5:36 PM GMT
Last Updated: October 20, 2010 6:21 PM GMT

What's New?

ChangeDescription
Amazon ELB HTTPS Endpoints

HTTPS support in Amazon ELB allows you to decrypt SSL/TLS traffic at the load balancer — offloading this task from your application instances. All of the load balancing features available to HTTP sessions, including session stickiness, are available for use with HTTPS sessions. HTTPS support for ELB also includes centralized storage and management for your SSL server certificates rather than managing certificates on individual application instances.

To create a new SSL listener on an existing load balancer using the AWS SDK for Java:

/*
 * ELB server certificates are managed through the Amazon Identity and 
 * Access Management service.  Use IAM to upload your server certificate, 
 * then pass its Amazon Resource Name (ARN) to ELB.
 */
String myCertificateArn = "arn:aws:iam::123456789012:myCert";
elb.createLoadBalancerListeners(new CreateLoadBalancerListenersRequest()
    .withLoadBalancerName("myExistingLoadBalancer")
    .withListeners(new Listener()
    .withInstancePort(8181)
    .withLoadBalancerPort(443)
    .withProtocol("SSL")
    .withSSLCertificateId(myCertificateArn)));
  

Amazon RDS Read Replicas

Amazon RDS Read Replicas allow you to create one or more replicas of a given "source" DB Instance and serve incoming read traffic from multiple copies of your data. This new database deployment option enables you to elastically scale out beyond the capacity constraints of a single DB Instance for read-heavy database workloads. You can use Read Replicas in conjunction with Multi-AZ replication for scalable, reliable, and highly available production database deployments. To learn more about the release of Read Replicas, please visit the forum post.

To create a Read Replica from an existing Amazon RDS DB Instance using the AWS SDK for Java:

DBInstance createdReadReplicaInstance = rds.createDBInstanceReadReplica(
    new CreateDBInstanceReadReplicaRequest("myNewReadReplicaDB", "myExistingDB")
        .withAutoMinorVersionUpgrade(true)
        .withDBInstanceClass("db.m1.small")
        .withPort(3306));
    

Amazon IAM Server Certificates

You can centrally manage your server certificates using the Amazon Identity and Access Management API. Amazon IAM allows you to get, delete, list, upload and update server certificates. You can then use your server certificates to create SSL listeners on your Amazon ELB load balancers.

Amazon S3 Encryption

The SDK now provides an easy and secure way to store data in Amazon S3. When you use the AmazonS3EncryptionClient to upload data to Amazon S3, it will be encrypted on the fly for you, and decrypted when you download it from Amazon S3. The data in Amazon S3 is always stored in a secure, encrypted form.

Using encryption with Amazon S3 is easy:

/*
 * We generate a new key pair for this example, but you can use an 
 * existing key pair, too.  If you do generate a new key pair, make sure 
 * you store it so you can decrypt your data later.
 */
KeyPairGenerator keyGenerator = KeyPairGenerator.getInstance("RSA");
keyGenerator.initialize(1024, new SecureRandom());
KeyPair keyPair = keyGenerator.generateKeyPair();

/*
 * All requests to put objects to Amazon S3 using the encryption client 
 * will use your key pair to encrypt the data, and all requests to get objects
 * from Amazon S3 using the encryption client will use the same key pair
 * to decrypt the data on the fly.
 */
EncryptionMaterials materials = new EncryptionMaterials(keyPair);
AmazonS3EncryptionClient s3 = new AmazonS3EncryptionClient(credentials, materials);

// Here we use the File methods, but the methods using Streams directly 
// work exactly the same way.
s3.putObject("myBucket", "myKey", myFile);
s3.getObject(new GetObjectRequest("myBucket", "myKey"), myNewFile);
    

Bug Fixes

Performance improvements and more efficient memory use.

Supported API Versions

The AWS SDK for Java supports the following API versions:

Service API Version
Amazon EC2 2010-08-31
Amazon S3 2006-03-01
Amazon SimpleDB 2009-04-15
Amazon RDS 2010-07-28
Amazon SQS 2009-02-01
Amazon Elastic MapReduce 2009-03-31
Amazon CloudWatch 2009-05-15
Amazon Elastic LoadBalancing 2010-07-01
Amazon Auto Scaling 2009-05-15
Amazon Simple Notification Service 2010-03-31
AWS Import/Export 2010-06-01
AWS Identity and Access Management 2010-05-08

Download the AWS SDK for Java from http://aws.amazon.com/sdkforjava/.

©2014, Amazon Web Services, Inc. or its affiliates. All rights reserved.