My Account Log in

3 options

Docker on Amazon Web Services : build, deploy, and manage your container applications at scale / Justin Menga.

EBSCOhost Academic eBook Collection (North America) Available online

View online

Ebook Central College Complete Available online

View online

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Menga, Justin, author.
Language:
English
Subjects (All):
Amazon Web Services (Firm).
Internet programming.
Web services.
Physical Description:
1 online resource (x, 805 pages) : illustrations
Edition:
1st edition
Place of Publication:
Birmingham ; Mumbai : Packt Publishing, 2018.
System Details:
text file
Biography/History:
Menga Justin: Justin Menga is a full-stack technologist with over 20 years experience of working with organizations to build large-scale applications and platforms, with a focus on end-to-end application architecture, the cloud, continuous delivery, and infrastructure automation. Justin started his career as an infrastructure and network engineer/architect, working with many large enterprise and service provider customers. In the past few years, Justin has switched his focus to building applications and full-service platforms, working with a wide array of technologies, yet still maintaining and applying his prior infrastructure and network expertise to containers and public clouds. He has programmed in Objective C, C#, ASP. NET, JavaScript, Scala, Python, Java, and Go, and has a keen interest in continuous delivery, Docker, and automation tools that speed the path from development to production.
Summary:
Run Docker on AWS and build real-world, secure, and scalable container platforms on cloud Key Features Configure Docker for the ECS environment Integrate Docker with different AWS tools Implement container networking and deployment at scale Book Description Over the last few years, Docker has been the gold standard for building and distributing container applications. Amazon Web Services (AWS) is a leader in public cloud computing, and was the first to offer a managed container platform in the form of the Elastic Container Service (ECS). Docker on Amazon Web Services starts with the basics of containers, Docker, and AWS, before teaching you how to install Docker on your local machine and establish access to your AWS account. You'll then dig deeper into the ECS, a native container management platform provided by AWS that simplifies management and operation of your Docker clusters and applications for no additional cost. Once you have got to grips with the basics, you'll solve key operational challenges, including secrets management and auto-scaling your infrastructure and applications. You'll explore alternative strategies for deploying and running your Docker applications on AWS, including Fargate and ECS Service Discovery, Elastic Beanstalk, Docker Swarm and Elastic Kubernetes Service (EKS). In addition to this, there will be a strong focus on adopting an Infrastructure as Code (IaC) approach using AWS CloudFormation. By the end of this book, you'll not only understand how to run Docker on AWS, but also be able to build real-world, secure, and scalable container platforms in the cloud. What you will learn Build, deploy, and operate Docker applications using AWS Solve key operational challenges, such as secrets management Exploit the powerful capabilities and tight integration of other AWS services Design and operate Docker applications running on ECS Deploy Docker applications quickly, consistently, and reliably using IaC Manage and operate Docker clusters and applications for no additional cost Who this book is for Docker on Amazon Web Services is for you if you want to build, deploy, and operate applications using the power of containers, Docker, and Amazon Web Services. Basic understanding of containers and Amazon Web Services or any other cloud provider will be helpful, although no previous experience of working with these is required. Downloading the example code for this book You can download the example code files for all Packt books y...
Contents:
Cover
Title Page
Copyright and Credits
Dedication
Packt Upsell
Contributors
Table of Contents
Preface
Chapter 1: Container and Docker Fundamentals
Technical requirements
Introduction to containers and Docker
Why containers are revolutionary
Docker architecture
Running Docker in AWS
Setting up a local Docker environment
Setting up a macOS environment
Installing other tools
Setting up a Windows 10 environment
Installing the Windows subsystem for Linux
Installing Docker in the Windows subsystem for Linux
Installing other tools in the Windows subsystem for Linux
Setting up a Linux environment
Installing the sample application
Forking the sample application
Running the sample application locally
Installing application dependencies
Running database migrations
Running the local development web server
Testing the sample application locally
Summary
Questions
Further reading
Chapter 2: Building Applications Using Docker
Testing and building the application using Docker
Creating a test stage
Installing system and build dependencies
Copying application source and running tests
Configuring the release stage
Installing system dependencies
Creating an application user
Copying and installing application source code and dependencies
Building and running the release image
Testing and building the application using Docker Compose
Adding a database service using Docker Compose
Generating static web content
Creating acceptance tests
Automating the workflow
Automating the test stage
Automating the release stage
Refining the workflow
Cleaning up the Docker environment
Using dynamic port mapping
Adding a version target.
Testing the end-to-end workflow
Chapter 3: Getting Started with AWS
Setting up an AWS account
Installing Google Authenticator
Logging in as the root account
Creating IAM users, groups, and roles
Creating IAM roles
Creating an Administrators group
Creating a Users group
Creating an IAM user
Logging in as an IAM user
Enabling MFA for an IAM user
Assuming an IAM role
Creating an EC2 Key Pair
Using the AWS CLI
Installing the AWS CLI
Creating an AWS access key
Configuring the AWS CLI
Configuring the AWS CLI to assume a role
Configuring the AWS CLI to use a named profile
Introduction to AWS CloudFormation
Defining a CloudFormation template
Deploying a CloudFormation stack
Updating a CloudFormation Stack
Deleting a CloudFormation stack
Chapter 4: Introduction to ECS
ECS architecture
Creating an ECS cluster
Understanding ECS container instances
Joining an ECS cluster
Granting access to join an ECS cluster
Managing ECS container instances
Connecting to ECS container instances
Inspecting the local Docker environment
Inspecting the ECS agent
Verifying the ECS agent
ECS container instance logs
Creating an ECS task definition
Creating an ECS service
Deploying ECS services
Running ECS tasks
Using the ECS CLI
Deleting the Test Cluster
Further information
Chapter 5: Publishing Docker Images Using ECR
Understanding ECR
Creating ECR repositories
Creating ECR repositories using the AWS Console
Creating ECR repositories using the AWS CLI
Creating ECR repositories using AWS CloudFormation
Logging into ECR
Publishing Docker images to ECR.
Publishing Docker images using the Docker CLI
Publishing Docker images using Docker Compose
Automating the publish workflow
Automating login and logout
Automating the publishing of Docker images
Pulling Docker images from ECR
ECS container instance access to ECR from the same account
ECS container instance access to ECR from a different account
Configuring ECR resource policies using the AWS Console
Configuring ECR resource policies using the AWS CLI
Configuring ECR resource policies using AWS CloudFormation
Configuring IAM policies in remote accounts
AWS service access to ECR
Configuring lifecycle policies
Configuring lifecycle policies using the AWS Console
Configuring lifecycle policies using the AWS CLI
Configuring lifecycle policies using AWS CloudFormation
Chapter 6: Building Custom ECS Container Instances
Designing a custom Amazon Machine Image
Building a custom AMI using Packer
Installing Packer
Creating a Packer template
Packer template structure
Configuring a builder
Configuring variables
Configuring provisioners
Configuring post-processors
Building a machine image
Generating dynamic session credentials
Automating generation of dynamic session credentials
Building the image
Building custom ECS container instance images using Packer
Defining a custom storage configuration
Adding EBS volumes
Formatting and mounting volumes
Installing additional packages and configuring system settings
Installing additional packages
Configuring system settings
Configuring timezone settings
Modifying default cloud-init behavior
Configuring a cleanup script
Creating a first-run script
Configuring ECS cluster membership
Configuring HTTP proxy support.
Configuring the CloudWatch logs agent
Starting required services
Performing required health checks
Testing your custom ECS container instance image
Chapter 7: Creating ECS Clusters
Deployment overview
Defining an ECS cluster
Configuring an EC2 Auto Scaling group
Creating an EC2 Auto Scaling group
Configuring CloudFormation Input Parameters
Defining an EC2 Auto Scaling launch configuration
Configuring CloudFormation Init Metadata
Configuring Auto Scaling group creation policies
Configuring EC2 instance profiles
Configuring EC2 security groups
Deploying and testing an ECS cluster
Chapter 8: Deploying Applications Using ECS
Creating an application database using RDS
Configuring supporting RDS resources
Deploying RDS resources using CloudFormation
Configuring Application Load Balancers
Application Load Balancer architecture
Configuring an Application Load Balancer
Creating an Application Load Balancer
Configuring Application Load Balancer security groups
Creating a listener
Creating a target group
Deploying an Application Load Balancer using CloudFormation
Creating ECS task definitions
Configuring ECS task definition families
Configuring ECS task definition volumes
Configuring ECS task definition containers
Deploying ECS task definitions using CloudFormation
Deploying an ECS service using CloudFormation
ECS rolling deployments
Executing a rolling deployment
Creating a CloudFormation custom resource
Understanding CloudFormation custom resources
Creating a custom resource Lambda function
Understanding the custom resource function code.
Understanding the custom resource Lambda function resources
Creating custom resources
Deploying custom resources
Verifying the application
Chapter 9: Managing Secrets
Creating KMS keys
Encrypting and decrypting data using KMS
Creating secrets using the AWS Secrets Manager
Creating secrets using the AWS console
Creating secrets using the AWS CLI
Retrieving secrets using the AWS CLI
Updating secrets using the AWS CLI
Deleting and restoring secrets using the AWS CLI
Injecting secrets at container startup
Creating an entrypoint script
Adding an entrypoint script to a Dockerfile
Provisioning secrets using CloudFormation
Configuring ECS task definitions to use secrets
Exposing secrets to other resources
Creating a Secrets Manager Lambda function
Creating a secrets custom resource
Deploying secrets to AWS
Chapter 10: Isolating Network Access
Understanding ECS task networking
Docker bridge networking
ECS task networking
Configuring a NAT gateway
Configuring private subnets and route tables
Configuring NAT gateways
Configuring routing for your private subnets
Configuring ECS task networking
Configuring ECS task definitions for task networking
Configuring ECS services for task networking
Configuring supporting resources for task networking
Deploying and testing ECS task networking
Chapter 11: Managing ECS Infrastructure Life Cycle
Understanding ECS life cycle management
EC2 Auto Scaling life cycle hooks
ECS container instance draining
ECS life cycle management solution
Building a new ECS container instance AMI.
Configuring EC2 Auto Scaling rolling updates.
Notes:
Description based on print version record.
ISBN:
9781788622721
1788622723
OCLC:
1055162430

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account