|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);
Performance improvements and more efficient memory use.
Supported API Versions
The AWS SDK for Java supports the following API versions:
|Amazon Elastic MapReduce||2009-03-31|
|Amazon Elastic LoadBalancing||2010-07-01|
|Amazon Auto Scaling||2009-05-15|
|Amazon Simple Notification Service||2010-03-31|
|AWS Identity and Access Management||2010-05-08|
Download the AWS SDK for Java from http://aws.amazon.com/sdkforjava/.