Container-native without k8s: PHP in ECS on AWS - Ian Littman - PHP UK 2022

Deploy PHP containers on AWS without Kubernetes. This talk covers container-native ECS, ECR, load balancing, security groups, and more for scalable, high-availability application deployment.

Key takeaways
  • Use Elastic Container Registry (ECR) to store and manage container images.
  • ECS (Elastic Container Service) is a container orchestration service that allows for scalable, high availability, and secure deployment of containers.
  • ECS has a Control Plane and a Data Plane, with the Control Plane being free and the Data Plane being charged based on the instance type.
  • To deploy a container, create a task definition, which defines the container, its dependencies, and how to allocate resources.
  • Use a load balancer to route traffic to the container, and use a target group to specify the container to route to.
  • Use security groups to define the network access controls and firewall rules for the container.
  • Environment variables can be injected into a container and can be used to configure the container.
  • Use IAM roles to manage access and permissions for the container.
  • Use AWS Secrets Manager to manage sensitive data and secrets.
  • Use AWS Certificate Manager to manage SSL/TLS certificates.
  • Use CloudWatch to monitor and log container activity.
  • Use Fargate to run containers without managing servers or clusters.
  • Use ECS to run tasks and scale them based on demand.
  • Use IAM roles to grant permissions to AWS services.
  • Use AWS IAM to manage access and permissions across AWS services.
  • Use Terraform or CloudFormation to manage AWS infrastructure and deployment.
  • Use AWS CLI to manage container deployment and scaling.
  • Use ECR to manage and store container images.
  • Use CodeBuild and CodeCommit to manage and store code and build artifacts.
  • Use AWS Lambda to run serverless code and use ECS to run containerized code.
  • Use Fargate to run containerized code and use ECS to manage container orchestrations.
  • Use IAM roles to grant permissions to AWS services and use AWS IAM to manage access and permissions across AWS services.