Architecting AWS with Terraform Design Resilient and Secure Cloud Infrastructures with Terraform on Amazon Web Services
Accelerate your business growth by employing Terraform for AWS projects with this comprehensive guide packed with practical implementation tips for start-ups, enterprises, and personal projects Key Features Learn Terraform on AWS from 12x AWS certified trainer Improve reusability and governance for...
Otros Autores: | |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Birmingham :
Packt Publishing, Limited
2023.
Birmingham, England : [2023] |
Edición: | First edition |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009827938606719 |
Tabla de Contenidos:
- Cover
- Title Page
- Copyright
- Dedication
- Contributors
- Table of Contents
- Preface
- Part 1: Introduction to IAC and Terraform in AWS
- Chapter 1: Understanding Patterns and Antipatterns of IaC and Terraform
- Introducing IaC
- Key principles of IaC
- Patterns and practices of IaC
- Source control and VCS
- Modules and versions
- Documentation
- Testing
- Security and compliance
- How to handle IaC projects
- IaC principles
- Version control systems for IaC
- Some common use cases of IaC
- Challenges and best practices with IaC
- How to make decisions about IaC projects
- The decision about where to store your code
- Summary
- Chapter 2: How Not to Use IaC and Terraform
- Terraform architecture and workflow
- Architecture
- Workflow
- To Compare with the Other IaC Tools
- Terraform versus CloudFormation
- What is AWS CloudFormation?
- Comparison and differences between Terraform and CloudFormation
- Terraform or CloudFormation - which should I choose?
- Summary
- Chapter 3: Building Your First Terraform Project
- How to install Terraform
- Manual installation
- Popular package managers
- Verifying the installation
- How to install/prepare Terraform for AWS
- Prerequisites
- AWS CLI installation
- Creating an IAM user and credentials for Terraform
- Building your first Terraform configuration
- Building your first Terraform template
- Provisioning and testing your template
- Summary
- Chapter 4: Discovering Best Practices for Terraform IaC Projects
- How to maintain IaC projects with Terraform
- Follow a standard module structure
- Adopt a naming convention
- Use variables carefully
- Expose outputs
- Use data sources
- Leverage tfvars files
- Separate variables and inputs based on their functionality
- Limit the use of custom scripts
- Include helper scripts in a separate directory.
- Put static files in a separate directory
- Protect stateful resources
- Use built-in formatting
- Limit the complexity of expressions
- Use count for conditional values
- Use for_each for iterated resources
- Publish modules to a registry
- How to execute IaC projects with Terraform
- How to secure IaC projects with Terraform
- Implementing Terraform in DevOps or cloud teams
- Summary
- Part 2: Become an Expert in Terraform with AWS
- Chapter 5: Planning and Designing Infrastructure Projects in AWS
- Terraform infrastructure project planning basics
- The speed benefits
- The risk management benefits
- Security, reusability, and governance
- Team skill sets
- The best candidates for automation
- The types of applications you'll be running
- The cost of automating too many tasks
- The critical nature of the code
- The need for software expertise
- The impact on agility
- Integration with existing infrastructure
- Goals and available resources
- The long-term plan
- Quality control and security
- How to design your first Terraform template in AWS
- Authentication with AWS
- Setting up programmatic access
- Create your first AWS infrastructure with Terraform
- Understanding AWS Providers
- What are AWS Providers and why are they important in Terraform?
- How to configure an AWS Provider in your Terraform code
- Understanding the different versions of the AWS Provider and their compatibility with Terraform
- Best practices for working with AWS Providers in Terraform
- Understanding Terraform modules
- What is a Terraform module?
- Using modules
- Local and remote modules
- Module best practices
- What problems do Terraform modules solve?
- How to implement best practices with Terraform AWS modules
- Terraform configurations file separation
- Follow a standard module structure.
- Use opinionated modules to do exactly what you need
- Leverage official open source modules
- Make extensive use of convention over configuration
- Make modules flexible with multiple optional inputs
- Refer to modules by version
- Consider bundling modules together if they serve a common purpose
- Consider using variable and naming validation
- Use locals correctly
- Keep the code in your module logically separated
- Separate required and optional variables
- Always have an example folder within your module folder
- Summary
- Chapter 6: Making Decisions for Terraform Projects with AWS
- AWS infrastructure and fundamentals
- What is AWS infrastructure?
- What are the main AWS product and service categories?
- How to make decisions to start a Terraform project in AWS
- How to start designing your first AWS infrastructure
- AWS Organizations and network fundamentals
- AWS resources fundamentals
- AWS shared responsibility model
- How to select AWS resources
- AWS environments, projects, workloads
- What is an environment?
- How to define environments or projects in AWS
- Summary
- Chapter 7: Implementing Terraform in Projects
- Terraform basics for developing AWS infrastructure projects
- Resources
- Providers
- State
- Modules
- Variables
- Outputs
- Provisioners
- Selecting AWS Providers
- Selecting AWS public modules for your needs
- How to decide on Terraform module selection
- How to write custom Terraform AWS modules
- Summary
- Chapter 8: Deploying Serverless Projects with Terraform
- What are landing zones and why do we need them?
- AWS Foundations
- How to build landing zones with Terraform in AWS
- What is serverless?
- What are AWS serverless patterns?
- What is AWS Lambda?
- What is AWS Fargate?
- How to design a serverless infrastructure with Terraform.
- How to develop a serverless infrastructure
- How to deploy a serverless infrastructure using Terraform
- Summary
- Chapter 9: Deploying Containers in AWS with Terraform
- What are containers?
- Containers in AWS
- The reasons for using containers
- How to containerize applications
- AWS containers
- How to choose the best containerization platform in AWS
- How to utilize Terraform for containers
- Deploying containers with Terraform
- How to use Terraform for AWS container resources
- How to deploy AWS ECR with Terraform
- Deploying container images to AWS container platforms with Terraform
- Creating an AWS EKS cluster with Terraform
- Deploying an application to an AWS EKS cluster with Terraform
- Summary
- Part 3: How to Structure and Advance Terraform in Enterprises
- Chapter 10: Leveraging Terraform for the Enterprise
- What is an enterprise infrastructure project?
- What is an AWS enterprise project?
- How to define needs and solutions for an AWS enterprise project
- Defining success in AWS enterprise projects
- How to discuss AWS enterprise projects
- How to leverage Terraform in AWS enterprise projects
- Some recommendations for AWS enterprise projects
- Summary
- Chapter 11: Building Git Workflows for IaC and Terraform Projects
- Why do we need a Git workflow?
- Implementing a Git workflow
- Tools and flows to use with AWS Terraform projects
- How to secure a Terraform project
- Streamlining AWS Terraform projects
- Summary
- Chapter 12: Automating the Deployment of Terraform Projects
- What is deployment in Terraform?
- What is CI/CD for Terraform?
- Why do we need CI/CD tool for Terraform?
- What is the best CI/CD for Terraform?
- How to build the governance and auditability of provisioning infrastructure
- How to provision infrastructure securely
- Summary.
- Chapter 13: Governing AWS with Terraform
- What is infrastructure governance?
- The importance of infrastructure governance
- Key elements of infrastructure governance
- Benefits of infrastructure governance
- Why do we need infrastructure governance?
- Security and compliance
- Cost optimization
- Standardization and consistency
- Risk management
- How to govern infrastructure with Terraform
- Resource provisioning with Terraform
- Summary
- Chapter 14: Building a Secure Infrastructure with AWS Terraform
- What is security in infrastructure?
- Threats to infrastructure security
- The importance of infrastructure security
- Basic principles of infrastructure security
- Types of security measures for infrastructure
- The role of governance in infrastructure security
- How to govern security in AWS
- AWS security services and features
- AWS security compliance and certifications
- AWS security governance frameworks
- Monitoring and logging for AWS security
- Incident response for AWS security
- How to build secure infrastructure in Terraform
- Implementing least privilege using IAM policies
- Creating secure network architectures
- Automating compliance checks
- Storing secrets securely
- Managing Terraform state
- Security and Terraform
- The security benefits of using Terraform
- Best practices for using Terraform securely
- Common security risks with Terraform and how to mitigate them
- Security and IaC operations
- IaC pipeline security
- Securing build and deployment processes
- Securely managing secrets in IaC pipelines
- Testing and validating infrastructure changes
- Best practices for secure IaC operations
- Summary
- Chapter 15: Perfecting AWS Infrastructure with Terraform
- What does perfect mean in cloud infrastructure?
- Meeting stakeholder needs
- High availability
- Security
- Scalability.
- Efficiency.