Spring Cloud AWS

Authors

Agim Emruli, Alain Sahli

Table of Contents

1. Using Amazon Web Services
2. Basic setup
2.1. Spring Cloud AWS maven dependency management
2.2. Amazon SDK configuration
2.2.1. SDK credentials configuration
Simple credentials configuration
Instance profile configuration
Mixing both security configurations
Parameter Store Configuration credentials and region configuration
2.2.2. Region configuration
Explicit region configuration
Automatic region configuration
Service specific region configuration
2.2.3. Spring Boot auto-configuration
Maven dependencies
Configuring credentials
Configuring region
3. Cloud environment
3.1. Retrieving instance metadata
3.1.1. Enabling instance metadata support with XML
3.1.2. Enabling instance metadata support with Java
3.1.3. Enabling instance metadata support in Spring Boot
3.1.4. Using instance metadata
3.1.5. Using instance user data
3.1.6. Using instance tags
3.1.7. Configuring custom EC2 client
3.1.8. Injecting the default EC2 client
3.2. Integrating your Spring Cloud application with the AWS Parameter Store
4. Managing cloud environments
4.1. Automatic CloudFormation configuration
4.2. Manual CloudFormation configuration
4.3. CloudFormation configuration with Java config classes
4.4. CloudFormation configuration in Spring Boot
4.5. Manual name resolution
4.6. Stack Tags
4.7. Using custom CloudFormation client
5. Messaging
5.1. Configuring messaging
5.1.1. Maven dependency configuration
5.2. SQS support
5.2.1. Sending a message
Using message converters
5.2.2. Receiving a message
5.2.3. Annotation-driven listener endpoints
Message reply
5.2.4. The SimpleMessageListenerContainerFactory
5.2.5. Consuming AWS Event messages with Amazon SQS
5.3. SNS support
5.3.1. Sending a message
5.3.2. Annotation-driven HTTP notification endpoint
5.4. Using CloudFormation
6. Caching
6.1. Configuring dependencies for Redis caches
6.2. Configuring caching with XML
6.2.1. Mixing caches
6.2.2. Defining expiration
6.3. Configuring caching using Java configuration
6.3.1. Configuring expiry time for caches
6.4. Configuring caching in Spring Boot
6.5. Using caching
6.6. Memcached client implementation
6.7. Using CloudFormation
7. Data Access with JDBC
7.1. Configuring data source
7.1.1. Maven dependency configuration
7.1.2. Basic data source configuration
7.1.3. Data source pool configuration
7.2. Configuring data source with Java config
7.2.1. Java based data source pool configuration
7.3. Configuring data source in Spring Boot
7.4. Read-replica configuration
7.5. Failover support
7.6. CloudFormation support
7.7. Database tags
8. Sending mails
8.1. Configuring the mail sender
8.2. Sending simple mails
8.3. Sending attachments
8.4. Configuring regions
8.5. Authenticating e-mails
9. Resource handling
9.1. Configuring the resource loader
9.2. Downloading files
9.3. Uploading files
9.3.1. Uploading multi-part files
9.3.2. Uploading with the TransferManager
9.4. Searching resources
9.5. Using CloudFormation