<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: On-cloud7</title>
    <description>The latest articles on Forem by On-cloud7 (@oncloud7).</description>
    <link>https://forem.com/oncloud7</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1128710%2Fb64ea792-bd3c-472c-bf5d-45eb1b23d5f3.jpg</url>
      <title>Forem: On-cloud7</title>
      <link>https://forem.com/oncloud7</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/oncloud7"/>
    <language>en</language>
    <item>
      <title>Deployment Types in Amazon ECS (Elastic Container Service)</title>
      <dc:creator>On-cloud7</dc:creator>
      <pubDate>Wed, 31 Dec 2025 15:05:48 +0000</pubDate>
      <link>https://forem.com/oncloud7/deployment-types-in-amazon-ecs-elastic-container-service-4c1c</link>
      <guid>https://forem.com/oncloud7/deployment-types-in-amazon-ecs-elastic-container-service-4c1c</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Amazon Elastic Container Service (Amazon ECS) is a completely managed container orchestration solution that simplifies the deployment, management, and scaling of containerized applications on AWS. A key factor in operating applications on ECS is the method of deploying new versions of your application.&lt;/p&gt;

&lt;p&gt;This blog will explore the deployment types in Amazon ECS, detail how each operates, identify when to utilize them, and discuss best practices. This blog is particularly beneficial for DevOps engineers, cloud engineers.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What Are ECS Deployment Types?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Deployment types in ECS specify the manner in which new versions of a task definition are introduced to your active services. ECS accommodates various deployment strategies based on your usage of:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. ECS with EC2 launch type&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;2. ECS with AWS Fargate&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;3. ECS with an Application Load Balancer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The main ECS deployment types are:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Rolling Deployment (ECS Default)&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;2. Blue/Green Deployment (Using AWS CodeDeploy)&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;3. External Deployment (Custom / Third-party)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;1. Rolling Deployment (ECS Default Deployment)&lt;/em&gt;&lt;/strong&gt;:&lt;br&gt;
Overview:&lt;br&gt;
&lt;em&gt;Rolling deployment is the standard deployment method in Amazon ECS. In this approach, ECS systematically swaps out old tasks for new ones according to the revised task definition&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How It Works:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ECS initiates new tasks utilizing the updated task definition.&lt;/li&gt;
&lt;li&gt;Previous tasks are being phased out gradually.&lt;/li&gt;
&lt;li&gt;The procedure is regulated by deployment configuration settings&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;2. Blue/Green Deployment (Using AWS CodeDeploy)&lt;/em&gt;&lt;/strong&gt;:&lt;br&gt;
Overview:&lt;br&gt;
Blue/Green deployment on ECS utilizes AWS CodeDeploy. This approach operates two distinct environments:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Blue – Present production edition&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Green – Updated edition&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Traffic is transitioned from Blue to Green in a regulated way&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How It Works:&lt;/strong&gt;&lt;br&gt;
New assignments are initiated in the Green setting.&lt;br&gt;
The load balancer directs traffic to Green.&lt;/p&gt;

&lt;p&gt;Traffic management can be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simultaneously&lt;/li&gt;
&lt;li&gt;Straight&lt;/li&gt;
&lt;li&gt;Canary
Completed old (blue) tasks are closed after success&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Requirements:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Application Load Balancer (ALB)&lt;/li&gt;
&lt;li&gt;ECS service with CodeDeploy deployment controller&lt;/li&gt;
&lt;li&gt;Target groups (Blue &amp;amp; Green)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;3. External Deployment (Custom Deployment):&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Overview:&lt;br&gt;
External deployment enables you to have complete control over the deployment process by utilizing third-party or custom tools rather than relying on ECS-managed deployments&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How It Works:&lt;/strong&gt;&lt;br&gt;
ECS does NOT oversee task substitution.&lt;/p&gt;

&lt;p&gt;Tasks and services are updated by an external system.&lt;/p&gt;

&lt;p&gt;You manage scaling, traffic, and rollback&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Common Tools Used:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Jenkins&lt;/li&gt;
&lt;li&gt;GitHub Actions&lt;/li&gt;
&lt;li&gt;Argo CD&lt;/li&gt;
&lt;li&gt;Custom scripts using AWS SDK / CLI&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion:
&lt;/h2&gt;

&lt;p&gt;Amazon ECS offers various deployment choices to suit diverse application requirements. Rolling deployments are straightforward and economical, whereas Blue/Green deployments provide enterprise-level reliability and eliminate downtime. For complex situations, External deployments provide you with complete control.&lt;/p&gt;

&lt;p&gt;Grasping these deployment types will assist you in creating strong, scalable, and dependable containerized applications on AWS ECS&lt;/p&gt;

&lt;h2&gt;
  
  
  Reference:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html" rel="noopener noreferrer"&gt;https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html" rel="noopener noreferrer"&gt;https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-steps-ecs.html" rel="noopener noreferrer"&gt;https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-steps-ecs.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html" rel="noopener noreferrer"&gt;https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-external.html" rel="noopener noreferrer"&gt;https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-external.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html" rel="noopener noreferrer"&gt;https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html" rel="noopener noreferrer"&gt;https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>ecs</category>
      <category>cloud</category>
      <category>devops</category>
      <category>learning</category>
    </item>
    <item>
      <title>Amazon ECR - Architecture &amp; Security</title>
      <dc:creator>On-cloud7</dc:creator>
      <pubDate>Sun, 21 Dec 2025 14:29:59 +0000</pubDate>
      <link>https://forem.com/oncloud7/amazon-ecr-architecture-security-384h</link>
      <guid>https://forem.com/oncloud7/amazon-ecr-architecture-security-384h</guid>
      <description>&lt;h2&gt;
  
  
  Introduction:
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;You can safely store, manage, and deploy container images (Docker or OCI) for your applications with Amazon Elastic Container Registry (ECR), a fully managed container image registry service provided by AWS. By closely integrating with AWS compute services like Amazon ECS, Amazon EKS, AWS Fargate, and more, ECR helps optimize container workflows, whether you're developing microservices, CI/CD pipelines, or scalable cloud-native applications.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Amazon Elastic Container Registry?
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Amazon Elastic Container Registry (Amazon ECR)&lt;/strong&gt; is an **AWS managed container image registry service that is secure, scalable, and reliable. **Amazon ECR supports private repositories with resource-based permissions using AWS IAM. This is so that specified users or Amazon EC2 instances can access your container repositories and images. You can use your preferred CLI to push, pull, and manage Docker images, Open Container Initiative (OCI) images, and OCI-compatible artifacts.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Features of Amazon ECR:
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;1. Image scanning helps in identifying software vulnerabilities in your container images. Each repository can be configured to scan on push. This ensures that each new image pushed to the repository is scanned. You can then retrieve the results of the image scan. For more information, see Scan images for software vulnerabilities in Amazon ECR.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;2. Cross-Region and cross-account replication makes it easier for you to have your images where you need them. This is configured as a registry setting and is on a per-Region basis. For more information, see Private registry settings in Amazon ECR.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;3. Pull through cache rules provide a way to cache repositories in an upstream registry in your private Amazon ECR registry. Using a pull through cache rule, Amazon ECR will periodically reach out to the upstream registry to ensure the cached image in your Amazon ECR private registry is up to date. For more information, see Sync an upstream registry with an Amazon ECR private registry.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;4. Repository creation templates allow you to define the settings for repositories created by Amazon ECR on your behalf during pull through cache, create on push, or replication actions. You can specify tag immutability, encryption configuration, repository policies, lifecycle policies, and resource tags for automatically created repositories. For more information, see Templates to control repositories created during a pull through cache, create on push, or replication action.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Amazon ECR Architecture:
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fygca1eh1vd2r5fkg3p8i.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fygca1eh1vd2r5fkg3p8i.jpg" alt=" " width="800" height="416"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx23pdsxnni9n35aw0yvc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx23pdsxnni9n35aw0yvc.png" alt=" " width="800" height="540"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;1. Core Components&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;A registry&lt;/em&gt;&lt;/strong&gt; is a logical collection of one or more repositories.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Repositories:&lt;/em&gt;&lt;/strong&gt; Holds container images that can be versioned and tagged.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Images &amp;amp; Tags:&lt;/em&gt;&lt;/strong&gt; Your application and its dependencies are bundled together in a container image. Versioning them is aided by tags.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;Storage:&lt;/strong&gt;&lt;/em&gt; ECR keeps your photos in Amazon S3, where they are highly available and durable.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;2. How ECR Works (High-Level Flow):&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Authentication:&lt;/em&gt;&lt;/strong&gt; AWS IAM &amp;amp; STS requests a login token from your client (such as Docker CLI).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Push:&lt;/em&gt;&lt;/strong&gt; Images are pushed to an ECR repository using the token.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Store:&lt;/em&gt;&lt;/strong&gt; Amazon S3 is where ECR stores these photos.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Pull:&lt;/em&gt;&lt;/strong&gt; During deployments, images are pulled from ECR by ECS, EKS, or other environments.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;3. Integration with AWS Ecosystem:&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;&lt;em&gt;Amazon ECS&lt;/em&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;em&gt;Amazon EKS&lt;/em&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;em&gt;AWS Fargate&lt;/em&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;em&gt;AWS Lambda&lt;/em&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;Security in Amazon ECR:&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1.Access Control:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;_ECR uses AWS Identity and Access Management (IAM) to control access:&lt;br&gt;
Grant permissions at repository level (push/pull actions)&lt;br&gt;
Use resource-based policies for cross-account access&lt;br&gt;
Use temporary security credentials via AWS STS _&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcr9gfr0jcflysrre71ub.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcr9gfr0jcflysrre71ub.jpg" alt=" " width="800" height="438"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.Encryption:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;You can transfer your container images to and from Amazon ECR via HTTPS. Your images are also automatically encrypted at rest using Amazon S3 server-side encryption. Amazon ECR also lets you choose your own key managed by AWS Key Management Service (AWS KMS) to encrypt images at rest.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9wjjgoytgiju2lmsgfrm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9wjjgoytgiju2lmsgfrm.png" alt=" " width="800" height="652"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.Vulnerability Scanning:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;You can enable Amazon ECR to automatically scan your container images for a broad range of operating system vulnerabilities. You can also scan images using an API command, and Amazon ECR will notify you over API and in the console when a scan completes. For enhanced image scanning, you can turn on Amazon Inspector.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F022m9uzdjz4zhociua43.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F022m9uzdjz4zhociua43.png" alt=" " width="800" height="572"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4.Network Security:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;ECR supports VPC interface endpoints using AWS PrivateLink, so your services can pull images privately without going through the internet.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.Image Integrity:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Amazon ECR now supports managed container image signing to enhance your security posture and eliminate the process of setting up signing. Container image signing allows you to verify that images are from trusted sources. With managed signing, ECR simplifies setting up container image signing to just a few clicks in the ECR Console or a single API call. To enable managed signing, you create a signing rule with a signing profile, which is a unique AWS resource that allows you to specify parameters such as signature validity and which IAM principals can sign. *&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6opuzcnwm19qm0qlot8k.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6opuzcnwm19qm0qlot8k.jpg" alt=" " width="800" height="309"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;USE CASES:&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Microservices &amp;amp; Cloud apps&lt;/li&gt;
&lt;li&gt;CICD pipelines&lt;/li&gt;
&lt;li&gt;Hybrid Workloads&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Conclusion:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;We conclude this blog as Amazon ECR is Elastic Container Registry which is used to store images securely on AWS trusted infrastructure. It also has features like IAM Access Controls,encryption,image scanning and so on with other aws services.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;References:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;1.&lt;a href="https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html" rel="noopener noreferrer"&gt;https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html&lt;/a&gt;?&lt;br&gt;
2.&lt;a href="https://aws.amazon.com/ecr/features" rel="noopener noreferrer"&gt;https://aws.amazon.com/ecr/features&lt;/a&gt;&lt;br&gt;
3.&lt;a href="https://aws.amazon.com/ecr/faqs/" rel="noopener noreferrer"&gt;https://aws.amazon.com/ecr/faqs/&lt;/a&gt;&lt;br&gt;
4.&lt;a href="https://docs.aws.amazon.com/AmazonECR/latest/userguide/security.html" rel="noopener noreferrer"&gt;https://docs.aws.amazon.com/AmazonECR/latest/userguide/security.html&lt;/a&gt;?&lt;br&gt;
5.&lt;a href="https://www.certbolt.com/certification/comprehensive-guide-to-containers-on-aws-modernizing-application-deployment/" rel="noopener noreferrer"&gt;https://www.certbolt.com/certification/comprehensive-guide-to-containers-on-aws-modernizing-application-deployment/&lt;/a&gt;&lt;br&gt;
6.&lt;a href="https://docs.aws.amazon.com/config/latest/developerguide/security-best-practices-for-ECR.html" rel="noopener noreferrer"&gt;https://docs.aws.amazon.com/config/latest/developerguide/security-best-practices-for-ECR.html&lt;/a&gt;?&lt;/p&gt;

</description>
      <category>containers</category>
      <category>ecr</category>
      <category>ecs</category>
      <category>eks</category>
    </item>
    <item>
      <title>END-TO-END Deployment Of Django App on AWS EKS Cluster</title>
      <dc:creator>On-cloud7</dc:creator>
      <pubDate>Sat, 06 Dec 2025 18:21:44 +0000</pubDate>
      <link>https://forem.com/oncloud7/end-to-end-deployment-of-django-app-on-aws-eks-cluster-l6a</link>
      <guid>https://forem.com/oncloud7/end-to-end-deployment-of-django-app-on-aws-eks-cluster-l6a</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Today, we are deploying a Django app on an EKS Cluster and will Learn How to create an EKS cluster and deploy the app on it.&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Create a EC2 instance to run all the dependencies on the instance.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frlmrexmamljeumu167ci.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frlmrexmamljeumu167ci.png" alt=" " width="800" height="683"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Configure the AWS CLI, check the AWS version.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq4ln1508um7bx91rc4rl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq4ln1508um7bx91rc4rl.png" alt=" " width="800" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step3: Install EKSCTL and Kubectl in the master machine(ie: EC2 instance).&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1o588t13lya6q72oewkx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1o588t13lya6q72oewkx.png" alt=" " width="800" height="700"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Step 4: Create an IAM user, give access to the user (administrator access) and create an access key to configure the AWS *&lt;/em&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz7g3gu1epily613pgbhw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz7g3gu1epily613pgbhw.png" alt=" " width="800" height="199"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Create a Cluster.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7e52qdqy8eyq0q1xjs9q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7e52qdqy8eyq0q1xjs9q.png" alt=" " width="800" height="692"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6: Create an OIDC Provider.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F27djxu1v1lb13apejlq7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F27djxu1v1lb13apejlq7.png" alt=" " width="800" height="297"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;_Now the Cluster is created in the EKS Services in AWS _&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fexubxreg6ylpoxxliskc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fexubxreg6ylpoxxliskc.png" alt=" " width="800" height="317"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 7: Update Kubectl Context: so that local and remote are connected.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhxcfva7clll7njlppsxf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhxcfva7clll7njlppsxf.png" alt=" " width="800" height="229"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 8: Create a Folder and clone the app in the folder.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir K8-practice
git clone app url
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 9: Create a YAML file for the namespace in Kubernetes folder.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr71t8dzwly5ktnsmgn3z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr71t8dzwly5ktnsmgn3z.png" alt=" " width="693" height="657"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl apply -f namespace.yml
kubectl get namespaces
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 10: Create a yaml file for Pod in kubernetes folder.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl0ko42llgfkm2xb6xsqo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl0ko42llgfkm2xb6xsqo.png" alt=" " width="800" height="586"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl apply -f pod.yml
kubectl get pods -n nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqbf2ge2i8limcc7cnnku.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqbf2ge2i8limcc7cnnku.png" alt=" " width="800" height="723"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 11: Create a yaml for Deployment in kubernetes folder.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7cqkwm79azeuxb2tyyg4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7cqkwm79azeuxb2tyyg4.png" alt=" " width="596" height="812"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl apply -f deployment.yml
kubectl get deployments -n nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 12: Create a Service yaml in kubernetes folder.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz70vf4jyojqx9fowb3qp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz70vf4jyojqx9fowb3qp.png" alt=" " width="800" height="556"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fehv0vgiq2dws17pjgrya.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fehv0vgiq2dws17pjgrya.png" alt=" " width="800" height="665"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl apply -f service.yml
kubectl get svc 
kubectl port-forward service/my-service 8000:8000 --address=0.0.0.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Reference:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aws.amazon.com/eks/" rel="noopener noreferrer"&gt;https://aws.amazon.com/eks/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/On-cloud7/kubestarter" rel="noopener noreferrer"&gt;https://github.com/On-cloud7/kubestarter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;br&gt;
Overall, deploying Django on Amazon EKS helped me understand the complete workflow—from Dockerizing the application, pushing images to ECR, configuring Kubernetes manifests, and finally exposing the service through a load balancer. This approach not only improves performance and availability but also lays the foundation for implementing CI/CD and future scaling.&lt;/p&gt;

</description>
      <category>eks</category>
      <category>aws</category>
      <category>containers</category>
      <category>cloudcomputing</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>On-cloud7</dc:creator>
      <pubDate>Sun, 30 Nov 2025 18:08:08 +0000</pubDate>
      <link>https://forem.com/oncloud7/-16c1</link>
      <guid>https://forem.com/oncloud7/-16c1</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/oncloud7" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1128710%2Fb64ea792-bd3c-472c-bf5d-45eb1b23d5f3.jpg" alt="oncloud7"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/oncloud7/how-to-create-an-amazon-eks-step-by-step-for-beginners-2do6" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;How to Create An Amazon EKS - Step by Step for Beginners&lt;/h2&gt;
      &lt;h3&gt;On-cloud7 ・ Nov 30 '25&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#aws&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#eks&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#containers&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#cloud&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>aws</category>
      <category>eks</category>
      <category>containers</category>
      <category>cloud</category>
    </item>
    <item>
      <title>How to Create An Amazon EKS - Step by Step for Beginners</title>
      <dc:creator>On-cloud7</dc:creator>
      <pubDate>Sun, 30 Nov 2025 18:07:38 +0000</pubDate>
      <link>https://forem.com/oncloud7/how-to-create-an-amazon-eks-step-by-step-for-beginners-2do6</link>
      <guid>https://forem.com/oncloud7/how-to-create-an-amazon-eks-step-by-step-for-beginners-2do6</guid>
      <description>&lt;h2&gt;
  
  
  What is Amazon EKS?
&lt;/h2&gt;

&lt;p&gt;Amazon EKS: Simplified Kubernetes Management&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Amazon Elastic Kubernetes Service (EKS)&lt;/em&gt;&lt;/strong&gt; provides a fully managed Kubernetes service that eliminates the complexity of operating Kubernetes clusters. With EKS, you can:&lt;/p&gt;

&lt;p&gt;Deploy applications faster with less operational overhead&lt;/p&gt;

&lt;p&gt;Scale seamlessly to meet changing workload demands&lt;/p&gt;

&lt;p&gt;Improve security through AWS integration and automated updates&lt;/p&gt;

&lt;p&gt;Choose between standard EKS or fully automated EKS Auto Mode&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frfaw3cuh0lj6kmsf4npx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frfaw3cuh0lj6kmsf4npx.png" alt=" " width="800" height="393"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;&amp;gt;&amp;gt; Here are the Steps to Create a EKS Cluster from Scratch:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Pre-requisites:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;_Step 1:Create  a Ec2 Instance So that we can Configure AWS CLI, Eksctl,kubectl on it _&lt;br&gt;
**&lt;br&gt;
**_Step 2: Connect the EC2 with the help of SSH _&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;_Step 3: Create a IAM User give permissions to the user and create a Access key _&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Step 4 : Configue the AWS CLI  in the EC2 Instance&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
sudo apt install unzip
unzip awscliv2.zip
sudo ./aws/install
aws configure
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;_Step 5: Install the Kubectl  in the EC2 Instance _&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.19.6/2021-01-05/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin
kubectl version --short --client
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Step 6: Install the Eksctl in the EC2 Instance&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
sudo mv /tmp/eksctl /usr/local/bin
eksctl version
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Steps to create EKS cluster:
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Step 7: Create EKS Cluster&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;eksctl create cluster --name=my-cluster \
                      --region=us-west-2 \
                      --version=1.30 \
                      --without-nodegroup
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Step 8:Associate IAM OIDC Provider :&lt;/em&gt;&lt;/strong&gt;It means connecting an external identity provider (OIDC)—like GitHub, Kubernetes (EKS), or any OIDC-supported service—to AWS IAM so that those users or services can securely request temporary AWS permissions without using long-term AWS keys.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;eksctl utils associate-iam-oidc-provider \
    --region us-west-2 \
    --cluster my-cluster \
    --approve
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Step 9:Create Nodegroup in the EC2 instance&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;eksctl create nodegroup --cluster=my-cluster \
                       --region=us-west-2 \
                       --name=my-cluster \
                       --node-type=t2.medium \
                       --nodes=2 \
                       --nodes-min=2 \
                       --nodes-max=2 \
                       --node-volume-size=29 \
                       --ssh-access \
                       --ssh-public-key=eks-nodegroup-key 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Note: Make sure the ssh-public-key "eks-nodegroup-key is available in your aws account"
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;step 10: Update Kubectl Context&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws eks update-kubeconfig --region us-west-2 --name my-cluster
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Step 11:Delete EKS Cluster&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;eksctl delete cluster --name=my-cluster --region=us-west-2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Reference:
&lt;/h2&gt;

&lt;p&gt;1.&lt;a href="https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html" rel="noopener noreferrer"&gt;https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html&lt;/a&gt;&lt;br&gt;
2.&lt;a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-eks-cluster.html" rel="noopener noreferrer"&gt;https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-eks-cluster.html&lt;/a&gt;&lt;br&gt;
3.&lt;a href="https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html" rel="noopener noreferrer"&gt;https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html&lt;/a&gt;&lt;br&gt;
4.&lt;a href="https://github.com/On-cloud7/kubestarter/blob/main/eks_cluster_setup.md" rel="noopener noreferrer"&gt;https://github.com/On-cloud7/kubestarter/blob/main/eks_cluster_setup.md&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>eks</category>
      <category>containers</category>
      <category>cloud</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>On-cloud7</dc:creator>
      <pubDate>Tue, 18 Nov 2025 16:41:27 +0000</pubDate>
      <link>https://forem.com/oncloud7/-39fd</link>
      <guid>https://forem.com/oncloud7/-39fd</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/oncloud7" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1128710%2Fb64ea792-bd3c-472c-bf5d-45eb1b23d5f3.jpg" alt="oncloud7"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/oncloud7/inside-amazon-eks-understanding-its-core-architecture-324o" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Inside Amazon EKS: Understanding Its Core Architecture&lt;/h2&gt;
      &lt;h3&gt;On-cloud7 ・ Nov 18 '25&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#aws&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#eks&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#cloudcomputing&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#docker&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>aws</category>
      <category>eks</category>
      <category>cloudcomputing</category>
      <category>docker</category>
    </item>
    <item>
      <title>Inside Amazon EKS: Understanding Its Core Architecture</title>
      <dc:creator>On-cloud7</dc:creator>
      <pubDate>Tue, 18 Nov 2025 16:36:14 +0000</pubDate>
      <link>https://forem.com/oncloud7/inside-amazon-eks-understanding-its-core-architecture-324o</link>
      <guid>https://forem.com/oncloud7/inside-amazon-eks-understanding-its-core-architecture-324o</guid>
      <description>&lt;p&gt;Amazon Elastic Kubernetes Service (EKS) has become a popular option for running containerized applications at scale. Before deploying workloads or setting up CI/CD pipelines, it’s crucial to understand how EKS is structured internally.&lt;/p&gt;

&lt;p&gt;This blog will guide you through the core architecture of Amazon EKS, discussing the control plane, worker nodes, networking, IAM roles, and the CNI plugin that facilitates pod communication.&lt;/p&gt;

&lt;h2&gt;
  
  
  EKS Architecture Diagram
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                 ┌───────────────────────────────────────────┐&lt;br&gt;
                 │           AWS Managed Control Plane        │&lt;br&gt;
                 │───────────────────────────────────────────│&lt;br&gt;
                 │   • API Server                             │&lt;br&gt;
                 │   • etcd (Multi-AZ HA)                     │&lt;br&gt;
                 │   • Scheduler                              │&lt;br&gt;
                 │   • Controller Manager                     │&lt;br&gt;
                 └───────────────────────────────────────────┘&lt;br&gt;
                                  ▲&lt;br&gt;
                                  │ Secure ENI Connection&lt;br&gt;
                                  │&lt;br&gt;
 ┌───────────────────────────────────────────────────────────────────────────┐&lt;br&gt;
 │                                   Your VPC                                │&lt;br&gt;
 │───────────────────────────────────────────────────────────────────────────│&lt;br&gt;
 │                           Private Subnets (Nodes)                         │&lt;br&gt;
 │                                                                           │&lt;br&gt;
 │        ┌───────────────────┐                       ┌───────────────────┐  │&lt;br&gt;
 │        │   Worker Node     │                       │   Worker Node     │  │&lt;br&gt;
 │        │  (EC2 / Fargate)  │                       │  (EC2 / Fargate)  │  │&lt;br&gt;
 │        └──────────┬────────┘                       └──────────┬────────┘  │&lt;br&gt;
 │                   │ CNI (VPC IPs)                             │           │&lt;br&gt;
 │                   ▼                                            ▼           │&lt;br&gt;
 │        ┌───────────────────┐                       ┌───────────────────┐  │&lt;br&gt;
 │        │     Pod (App)     │                       │     Pod (App)     │  │&lt;br&gt;
 │        │   Pod IP from     │                       │   Pod IP from     │  │&lt;br&gt;
 │        │       VPC         │                       │       VPC         │  │&lt;br&gt;
 │        └───────────────────┘                       └───────────────────┘  │&lt;br&gt;
 │                                                                           │&lt;br&gt;
 │───────────────────────────── Public Subnets ─────────────────────────────│&lt;br&gt;
 │        ┌───────────────────┐                ┌──────────────────────────┐ │&lt;br&gt;
 │        │     ALB / NLB     │  ───────────→  │     Internet / Clients   │ │&lt;br&gt;
 │        └───────────────────┘                └──────────────────────────┘ │&lt;br&gt;
 └───────────────────────────────────────────────────────────────────────────┘&lt;br&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  &lt;strong&gt;📌 What is Amazon EKS?&lt;/strong&gt;&lt;br&gt;
&lt;/h2&gt;

&lt;p&gt;Amazon EKS is a fully managed Kubernetes service that simplifies the setup and management of Kubernetes control-plane components. AWS takes care of cluster reliability, scalability, and updates, allowing you to concentrate on running applications instead of maintaining control-plane infrastructure.&lt;/p&gt;

&lt;p&gt;But even though EKS is “managed,” understanding its architecture is crucial for designing secure, scalable workloads.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;&lt;em&gt;EKS Architecture Overview&lt;/em&gt;&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;At a high level, EKS consists of two major layers:&lt;br&gt;
&lt;strong&gt;&lt;em&gt;1.Control Plane&lt;/em&gt;&lt;/strong&gt; — fully managed by AWS&lt;br&gt;
&lt;strong&gt;&lt;em&gt;2.Worker Nodes&lt;/em&gt;&lt;/strong&gt; — run inside your AWS account and can be EC2 instances or Fargate&lt;br&gt;
These components operate inside your VPC, communicate via the AWS VPC CNI, and are secured through IAM roles and Kubernetes RBAC.&lt;/p&gt;

&lt;p&gt;Let’s break each component down in detail.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;1. EKS Control Plane&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The EKS control plane is the brain of your Kubernetes cluster. AWS manages it completely, which includes:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Kubernetes API Server&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Handles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;kubectl requests&lt;/li&gt;
&lt;li&gt;scheduling instructions&lt;/li&gt;
&lt;li&gt;cluster state changes
This is the only entry point for cluster operations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;etcd (Highly Available Data Store)&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Stores:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;cluster state&lt;/li&gt;
&lt;li&gt;pod configs&lt;/li&gt;
&lt;li&gt;secrets&lt;/li&gt;
&lt;li&gt;service metadata
EKS provides a multi-AZ, automatically replicated etcd, ensuring high availability.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Scheduler&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Responsible for placing pods on available nodes based on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;node capacity&lt;/li&gt;
&lt;li&gt;taints &amp;amp; tolerations&lt;/li&gt;
&lt;li&gt;affinity rules&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Controller Manager&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Manages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;deployments&lt;/li&gt;
&lt;li&gt;replicas&lt;/li&gt;
&lt;li&gt;node lifecycle&lt;/li&gt;
&lt;li&gt;service endpoints&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Managed &amp;amp; Isolated by AWS&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
You cannot SSH or modify the control plane.&lt;br&gt;
AWS handles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;version upgrades&lt;/li&gt;
&lt;li&gt;patching&lt;/li&gt;
&lt;li&gt;availability&lt;/li&gt;
&lt;li&gt;scalability
This separation improves security and eliminates operational burden.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2. Worker Nodes
&lt;/h2&gt;

&lt;p&gt;Worker nodes actually run your applications. You manage them (unless using Fargate).&lt;/p&gt;

&lt;p&gt;EKS supports three types of nodes:&lt;br&gt;
&lt;strong&gt;&lt;em&gt;a. Self-Managed EC2 Nodes&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
You deploy an EC2 Auto Scaling Group manually.&lt;br&gt;
&lt;em&gt;Pros:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;full flexibility&lt;/li&gt;
&lt;li&gt;custom AMIs
&lt;em&gt;Cons:&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;more maintenance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;b. Managed Node Groups (Preferred)&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;AWS automates:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;provisioning&lt;/li&gt;
&lt;li&gt;patching&lt;/li&gt;
&lt;li&gt;draining during updates
You choose the instance type, and AWS does the heavy lifting.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;c. AWS Fargate&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
Serverless compute for pods.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;event-driven workloads&lt;/li&gt;
&lt;li&gt;lightweight services&lt;/li&gt;
&lt;li&gt;cost optimization for low-traffic workloads&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. VPC — Networking Backbone of EKS
&lt;/h2&gt;

&lt;p&gt;Your EKS cluster is created inside a Virtual Private Cloud (VPC).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Private subnets&lt;/strong&gt; → worker nodes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Public subnets&lt;/strong&gt; → load balancers&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Route tables&lt;/strong&gt; → traffic flow&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NAT Gateway&lt;/strong&gt; → private pods access the internet&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;EKS ENIs&lt;/strong&gt; → elastic network interfaces
The control plane lives in AWS-managed VPCs, but connects securely to your VPC using elastic network interfaces (ENIs).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4. AWS VPC CNI Plugin (Container Networking Interface)
&lt;/h2&gt;

&lt;p&gt;EKS uses the Amazon VPC CNI plugin, which assigns VPC-native IP addresses directly to pods.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Benefits:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pods behave like first-class VPC resources&lt;/li&gt;
&lt;li&gt;Simplifies network policies&lt;/li&gt;
&lt;li&gt;Eliminates overlay networks&lt;/li&gt;
&lt;li&gt;Supports security groups for pods&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;How It Works:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CNI attaches ENIs to the worker node&lt;/li&gt;
&lt;li&gt;Each ENI has multiple secondary IPs&lt;/li&gt;
&lt;li&gt;These IPs are assigned to pods&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  5. IAM Roles in EKS
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;a. EKS Cluster Role&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Allows EKS to create or manage:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;EC2 resources&lt;/li&gt;
&lt;li&gt;ENIs&lt;/li&gt;
&lt;li&gt;security groups&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;b. Node Instance Role (Worker Node IAM Role)&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Each EC2 node uses this role to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;pull containers from ECR&lt;/li&gt;
&lt;li&gt;join the EKS cluster&lt;/li&gt;
&lt;li&gt;interact with CloudWatch logs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;c. IRSA (IAM Roles for Service Accounts)&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This is one of the most powerful EKS features.&lt;/p&gt;

&lt;p&gt;IRSA maps Kubernetes service accounts → IAM roles, allowing fine-grained access control.&lt;br&gt;
Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A pod can access S3&lt;/li&gt;
&lt;li&gt;A pod can push to CloudWatch&lt;/li&gt;
&lt;li&gt;A pod can read Secrets Manager&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Putting It All Together&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Here’s how the flow works in a real EKS environment:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;User runs kubectl apply&lt;/li&gt;
&lt;li&gt;API Server (control plane) validates the request&lt;/li&gt;
&lt;li&gt;Scheduler places a pod on a worker node&lt;/li&gt;
&lt;li&gt;CNI assigns a VPC IP to the pod&lt;/li&gt;
&lt;li&gt;IAM + RBAC verify permissions&lt;/li&gt;
&lt;li&gt;Load balancers route traffic to the pod&lt;/li&gt;
&lt;li&gt;Metrics/logs flow to CloudWatch/Grafana&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Amazon EKS provides a highly scalable, secure, and production-ready Kubernetes environment by combining:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AWS-managed control plane&lt;/li&gt;
&lt;li&gt;Flexible worker node options&lt;/li&gt;
&lt;li&gt;Tight IAM security&lt;/li&gt;
&lt;li&gt;Native VPC networking&lt;/li&gt;
&lt;li&gt;Auto-scaling capabilities&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Understanding EKS architecture lays the foundation for mastering deployments, networking, scaling, and security in Kubernetes on AWS.&lt;/p&gt;

&lt;h2&gt;
  
  
  📚 References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Amazon EKS User Guide – Amazon EKS Architecture
&lt;/li&gt;
&lt;li&gt;Amazon EKS Best Practices Guide – Cluster Architecture
&lt;/li&gt;
&lt;li&gt;Amazon VPC CNI Plugin for Kubernetes – Networking Deep Dive
&lt;/li&gt;
&lt;li&gt;AWS Shared Responsibility Model for Containers
&lt;/li&gt;
&lt;li&gt;Kubernetes Documentation – Key Components (API Server, Scheduler, etc.)
&lt;/li&gt;
&lt;li&gt;AWS Containers Blog – EKS Control Plane and Node Management&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>aws</category>
      <category>eks</category>
      <category>cloudcomputing</category>
      <category>docker</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>On-cloud7</dc:creator>
      <pubDate>Fri, 07 Nov 2025 15:34:35 +0000</pubDate>
      <link>https://forem.com/oncloud7/-5974</link>
      <guid>https://forem.com/oncloud7/-5974</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/oncloud7" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1128710%2Fb64ea792-bd3c-472c-bf5d-45eb1b23d5f3.jpg" alt="oncloud7"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/oncloud7/understanding-amazon-eks-how-kubernetes-runs-on-aws-13gm" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Understanding Amazon EKS: How Kubernetes Runs on AWS&lt;/h2&gt;
      &lt;h3&gt;On-cloud7 ・ Nov 7 '25&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#aws&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#eks&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#cloud&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#container&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>aws</category>
      <category>eks</category>
      <category>cloud</category>
      <category>container</category>
    </item>
    <item>
      <title>Understanding Amazon EKS: How Kubernetes Runs on AWS</title>
      <dc:creator>On-cloud7</dc:creator>
      <pubDate>Fri, 07 Nov 2025 15:34:05 +0000</pubDate>
      <link>https://forem.com/oncloud7/understanding-amazon-eks-how-kubernetes-runs-on-aws-13gm</link>
      <guid>https://forem.com/oncloud7/understanding-amazon-eks-how-kubernetes-runs-on-aws-13gm</guid>
      <description>&lt;p&gt;Containers and Kubernetes have become central to today's cloud-native world. Due to their complexity, many teams rely on managed services rather than building from scratch. On AWS, Amazon EKS provides a managed Kubernetes environment that reduces operational overhead while preserving full Kubernetes compatibility. &lt;br&gt;
In this blog we will examine how EKS manages the control plane, how the worker nodes (data plane) function, and how the integrations with AWS services connect everything. We aim to help you understand what happens under the hood, giving you a solid foundation for EKS in your DevOps or cloud-ops work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Amazon EKS?&lt;/strong&gt;&lt;br&gt;
Amazon Elastic Kubernetes Service (EKS) provides a fully managed Kubernetes service that eliminates the complexity of operating Kubernetes clusters. With EKS, you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Deploy applications faster with less operational overhead&lt;/li&gt;
&lt;li&gt;  Scale seamlessly to meet changing workload demands&lt;/li&gt;
&lt;li&gt;  Improve security through AWS integration and automated updates&lt;/li&gt;
&lt;li&gt;  Choose between standard EKS or fully automated EKS Auto Mode&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Amazon Elastic Kubernetes Service (Amazon EKS) is the premiere platform for running Kubernetes clusters, both in the Amazon Web Services (AWS) cloud and in your own data centers (EKS Anywhere and Amazon EKS Hybrid Nodes).&lt;/p&gt;

&lt;p&gt;Amazon EKS simplifies building, securing, and maintaining Kubernetes clusters. It can be more cost effective at providing enough resources to meet peak demand than maintaining your own data centers. Two of the main approaches to using Amazon EKS are as follows:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;EKS standard:&lt;/strong&gt;&lt;/em&gt; AWS manages the Kubernetes control plane when you create a cluster with EKS. Components that manage nodes, schedule workloads, integrate with the AWS cloud, and store and scale control plane information to keep your clusters up and running, are handled for you automatically.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;EKS Auto Mode:&lt;/em&gt;&lt;/strong&gt; Using the EKS Auto Mode feature, EKS extends its control to manage Nodes (Kubernetes data plane) as well. It simplifies Kubernetes management by automatically provisioning infrastructure, selecting optimal compute instances, dynamically scaling resources, continuously optimizing costs, patching operating systems, and integrating with AWS security services.&lt;/p&gt;

&lt;p&gt;The following diagram illustrates how Amazon EKS integrates your Kubernetes clusters with the AWS cloud, depending on which method of cluster creation you choose:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcvrgajxjuat6qflbakxq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcvrgajxjuat6qflbakxq.png" alt=" " width="800" height="555"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Features of Amazon EKS:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Amazon EKS provides the following high-level features:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Management interfaces:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
EKS offers multiple interfaces to provision, manage, and maintain clusters, including AWS Management Console, Amazon EKS API/SDKs, CDK, AWS CLI, eksctl CLI, AWS CloudFormation, and Terraform. For more information, see Get started with Amazon EKS and Amazon EKS cluster lifecycle and configuration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Access control tools:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
EKS relies on both Kubernetes and AWS Identity and Access Management (AWS IAM) features to manage access from users and workloads. For more information, see Grant IAM users and roles access to Kubernetes APIs and Grant Kubernetes workloads access to AWS using Kubernetes Service Accounts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Compute resources:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
For compute resources, EKS allows the full range of Amazon EC2 instance types and AWS innovations such as Nitro and Graviton with Amazon EKS for you to optimize the compute for your workloads. For more information, see Manage compute resources by using nodes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Storage:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
EKS Auto Mode automatically creates storage classes using EBS volumes. Using Container Storage Interface (CSI) drivers, you can also use Amazon S3, Amazon EFS, Amazon FSX, and Amazon File Cache for your application storage needs. For more information, see Use application data storage for your cluster.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Security:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
The shared responsibility model is employed as it relates to Security in Amazon EKS. For more information, see Security best practices, Infrastructure security, and Kubernetes security.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Monitoring tools:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Use the observability dashboard to monitor Amazon EKS clusters. Monitoring tools include Prometheus, CloudWatch, Cloudtrail, and ADOT Operator. For more information on dashboards, metrics servers, and other tools, see EKS cluster costs and Kubernetes Metrics Server.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Kubernetes compatibility and support:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Amazon EKS is certified Kubernetes-conformant, so you can deploy Kubernetes-compatible applications without refactoring and use Kubernetes community tooling and plugins. EKS offers both standard support and extended support for Kubernetes. For more information, see Understand the Kubernetes version lifecycle on EKS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Related Services to use with Amazon EKS&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can use other AWS services with the clusters that you deploy using Amazon EKS:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Amazon EC2:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Obtain on-demand, scalable compute capacity with Amazon EC2.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Amazon EBS:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Attach scalable, high-performance block storage resources with Amazon EBS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Amazon ECR:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Store container images securely with Amazon ECR.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Amazon CloudWatch:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Monitor AWS resources and applications in real time with Amazon CloudWatch.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Amazon Prometheus:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Track metrics for containerized applications with Amazon Managed Service for Prometheus.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Elastic Load Balancing:&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
Distribute incoming traffic across multiple targets with Elastic Load Balancing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Amazon GuardDuty:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Detect threats to EKS clusters with Amazon GuardDuty.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;AWS Resilience Hub:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Assess EKS cluster resiliency with AWS Resilience Hub.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Amazon EKS architecture:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Control plane:&lt;/strong&gt;&lt;br&gt;
Amazon EKS ensures every cluster has its own unique Kubernetes control plane. This design keeps each cluster’s infrastructure separate, with no overlaps between clusters or AWS accounts. The setup includes:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Distributed components&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
The control plane positions at least two API server instances and three etcd instances across three AWS Availability Zones within an AWS Region.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Optimal performance&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Amazon EKS actively monitors and adjusts control plane instances to maintain peak performance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Resilience&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
If a control plane instance falters, Amazon EKS quickly replaces it, using different Availability Zone if needed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Consistent uptime&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
By running clusters across multiple Availability Zones, a reliable API server endpoint availability Service Level Agreement (SLA) is achieved.&lt;/p&gt;

&lt;p&gt;Amazon EKS uses Amazon Virtual Private Cloud (Amazon VPC) to limit traffic between control plane components within a single cluster. Cluster components can’t view or receive communication from other clusters or AWS accounts, except when authorized by Kubernetes role-based access control (RBAC) policies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Compute:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In addition to the control plane, an Amazon EKS cluster has a set of worker machines called nodes. Selecting the appropriate Amazon EKS cluster node type is crucial for meeting your specific requirements and optimizing resource utilization. Amazon EKS offers the following primary node types:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;EKS Auto Mode:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
EKS Auto Mode extends AWS management beyond the control plane to include the data plane, automating cluster infrastructure management. It integrates core Kubernetes capabilities as built-in components, including compute autoscaling, networking, load balancing, DNS, storage, and GPU support. EKS Auto Mode dynamically manages nodes based on workload demands, using immutable AMIs with enhanced security features. It automates updates and upgrades while respecting Pod Disruption Budgets, and includes managed components that would otherwise require add-on management. This option is ideal for users who want to leverage AWS expertise for day-to-day operations, minimize operational overhead, and focus on application development rather than infrastructure management.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;AWS Fargate:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Fargate is a serverless compute engine for containers that eliminates the need to manage the underlying instances. With Fargate, you specify your application’s resource needs, and AWS automatically provisions, scales, and maintains the infrastructure. This option is ideal for users who prioritize ease-of-use and want to concentrate on application development and deployment rather than managing infrastructure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Karpenter:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Karpenter is a flexible, high-performance Kubernetes cluster autoscaler that helps improve application availability and cluster efficiency. Karpenter launches right-sized compute resources in response to changing application load. This option can provision just-in-time compute resources that meet the requirements of your workload.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Managed node groups:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Managed node groups are a blend of automation and customization for managing a collection of Amazon EC2 instances within an Amazon EKS cluster. AWS takes care of tasks like patching, updating, and scaling nodes, easing operational aspects. In parallel, custom kubelet arguments are supported, opening up possibilities for advanced CPU and memory management policies. Moreover, they enhance security via AWS Identity and Access Management (IAM) roles for service accounts, while curbing the need for separate permissions per cluster.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Self-managed nodes:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Self-managed nodes offer full control over your Amazon EC2 instances within an Amazon EKS cluster. You are in charge of managing, scaling, and maintaining the nodes, giving you total control over the underlying infrastructure. This option is suitable for users who need granular control and customization of their nodes and are ready to invest time in managing and maintaining their infrastructure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Amazon EKS Hybrid Nodes:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
With Amazon EKS Hybrid Nodes, you can use your on-premises and edge infrastructure as nodes in Amazon EKS clusters. Amazon EKS Hybrid Nodes unifies Kubernetes management across environments and offloads Kubernetes control plane management to AWS for your on-premises and edge applications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Amazon EKS brings together the best of Kubernetes and AWS — offering the flexibility of open-source container orchestration with the reliability, scalability, and security of a managed cloud platform. By abstracting the complexity of managing the control plane, networking, and scaling, EKS enables DevOps teams to focus more on delivering applications rather than maintaining infrastructure.&lt;/p&gt;

&lt;p&gt;Whether you use EKS Auto Mode for full automation, Fargate for serverless container execution, or managed node groups for customizable compute control, EKS adapts to diverse operational models and workloads. Its deep integration with AWS services such as IAM, CloudWatch, ECR, and GuardDuty ensures a consistent and secure environment across every layer of deployment.&lt;/p&gt;

&lt;p&gt;In essence, &lt;em&gt;EKS is not just “Kubernetes on AWS”&lt;/em&gt; — it’s a bridge between containerized innovation and cloud-native efficiency. Understanding how EKS manages the control plane, worker nodes, and ecosystem integrations equips DevOps engineers to design robust, scalable, and production-ready container platforms.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;References:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Amazon EKS Architecture – AWS Documentation(&lt;a href="https://docs.aws.amazon.com/eks/latest/userguide/eks-architecture.html?utm_source=chatgpt.com" rel="noopener noreferrer"&gt;https://docs.aws.amazon.com/eks/latest/userguide/eks-architecture.html?utm_source=chatgpt.com&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aws.amazon.com/documentation-overview/eks/?utm_source=chatgpt.com" rel="noopener noreferrer"&gt;https://aws.amazon.com/documentation-overview/eks/?utm_source=chatgpt.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html" rel="noopener noreferrer"&gt;https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>aws</category>
      <category>eks</category>
      <category>cloud</category>
      <category>container</category>
    </item>
    <item>
      <title>From Docker to AWS: Step-by-Step Guide — Push to ECR and Deploy on ECS</title>
      <dc:creator>On-cloud7</dc:creator>
      <pubDate>Wed, 15 Oct 2025 16:33:41 +0000</pubDate>
      <link>https://forem.com/oncloud7/from-docker-to-aws-step-by-step-guide-push-to-ecr-and-deploy-on-ecs-3l78</link>
      <guid>https://forem.com/oncloud7/from-docker-to-aws-step-by-step-guide-push-to-ecr-and-deploy-on-ecs-3l78</guid>
      <description>&lt;p&gt;&lt;strong&gt;🚀 Goal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build a Docker image locally, push it to Amazon ECR, and deploy it to Amazon ECS (Fargate or EC2) behind an Application Load Balancer, with autoscaling and health checks&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Prerequisites&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;AWS account with permission to use ECR, ECS, IAM, ALB, and (optional) CloudWatch/Autoscaling.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;AWS CLI installed and configured (&lt;code&gt;aws configure&lt;/code&gt;) or access to AWS Console.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Docker installed locally.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Basic app packaged with a &lt;code&gt;Dockerfile&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;1. AWS CLI &amp;amp; IAM setup&lt;/strong&gt;&lt;br&gt;
What to do: Ensure your local environment has AWS credentials and an IAM user/role with permissions for ECR and ECS.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;aws configure&lt;/code&gt; → enter &lt;code&gt;AWS Access Key ID&lt;/code&gt;, &lt;code&gt;Secret Access Key&lt;/code&gt;, &lt;code&gt;region&lt;/code&gt;, and &lt;code&gt;output format&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;(Optional) Create an IAM policy/role for CI system later (CodePipeline/GitHub Actions).&lt;/p&gt;

&lt;p&gt;Tip: For production, use fine-grained roles (ECR read/write, ECS create/update, ALB modify). Avoid using root credentials.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8dqgnnlbugq5ku7p27bg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8dqgnnlbugq5ku7p27bg.png" alt=" " width="800" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Step 1: Create an ECR Repository&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi12s6xfmvvq8zwgd97dn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi12s6xfmvvq8zwgd97dn.png" alt=" " width="800" height="639"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you haven’t already created it:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Option 1 – Using CLI:&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws ecr create-repository --repository-name priyanka-repo --region us-east-1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Option 2 – Using Console:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Go to AWS Management Console → ECR → Create repository&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Name it &lt;code&gt;priyanka-repo&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Copy the repository URI, something like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;157168991173.dkr.ecr.us-east-1.amazonaws.com/priyanka-repo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;_ Step 2: Authenticate Docker to ECR_&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Run this command to log in to your ECR registry:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 157168991173.dkr.ecr.us-east-1.amazonaws.com

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This lets Docker push/pull images from your private ECR.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;_ Step 3: Build the Docker Image_&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you have a Dockerfile in your project directory, build the image:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker build -t priyanka-repo .
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;_ Step 4: Tag the Docker Image_&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Tag it with your ECR repository URI:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker tag priyanka-repo:latest 157168991173.dkr.ecr.us-east-1.amazonaws.com/priyanka-repo:latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Step 5: Push the Image to ECR&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Finally, push your image:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker push 157168991173.dkr.ecr.us-east-1.amazonaws.com/priyanka-repo:latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft5us0h2n4wkqf4wdyxme.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft5us0h2n4wkqf4wdyxme.png" alt=" " width="800" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3340bsc9nhuxpo2u4wr5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3340bsc9nhuxpo2u4wr5.png" alt=" " width="800" height="371"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;✅ After Success:&lt;br&gt;
You’ll see your image appear in the &lt;strong&gt;&lt;code&gt;AWS Console → ECR → Repositories → priyanka-repo → Images.&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6.Create an ECS cluster&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Decide between Fargate (serverless) or EC2 (you manage instances).&lt;/p&gt;

&lt;p&gt;Console: &lt;strong&gt;&lt;code&gt;AWS → ECS → Clusters → Create cluster → choose Networking only (Fargate) or EC2 Linux + Networking&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;What this provides: a logical grouping for tasks/services.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flxsh8pjnc9zfc59uhyk4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flxsh8pjnc9zfc59uhyk4.png" alt=" " width="800" height="233"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk8acevs6heelg4wwt1ep.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk8acevs6heelg4wwt1ep.png" alt=" " width="800" height="417"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Create a Task Definition&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A task definition declares how containers run (image, CPU, memory, ports, env vars, log config).&lt;/p&gt;

&lt;p&gt;Console: Task Definitions → &lt;strong&gt;&lt;code&gt;Create new Task Definition → Fargate (or EC2)&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8obxhm8h6y4f5xxgb1lu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8obxhm8h6y4f5xxgb1lu.png" alt=" " width="800" height="333"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Main fields:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;Task Role / Execution Role&lt;/code&gt;&lt;/strong&gt; – IAM role for AWS API access / pulling from ECR.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;code&gt;Container Definition:&lt;/code&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Image: ECR URI (.../my-app:latest)&lt;/p&gt;

&lt;p&gt;Port mappings: container port (e.g., 80 or 5000)&lt;/p&gt;

&lt;p&gt;Environment variables (if required)&lt;/p&gt;

&lt;p&gt;Health check command (optional)&lt;/p&gt;

&lt;p&gt;Log configuration (CloudWatch Logs)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa9muhuid5ap8itzz2mht.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa9muhuid5ap8itzz2mht.png" alt=" " width="800" height="389"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quick example JSON snippet (conceptual):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "family": "my-app-task",
  "networkMode": "awsvpc",
  "containerDefinitions": [
    {
      "name": "my-app",
      "image": "&amp;lt;aws_account_id&amp;gt;.dkr.ecr.&amp;lt;region&amp;gt;.amazonaws.com/my-app:latest",
      "portMappings": [{"containerPort": 80, "protocol": "tcp"}],
      "essential": true,
      "memory": 512,
      "cpu": 256
    }
  ],
  "requiresCompatibilities": ["FARGATE"],
  "cpu": "256",
  "memory": "512"
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F86vqc8zugjtsbbi9a99w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F86vqc8zugjtsbbi9a99w.png" alt=" " width="800" height="315"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8. Create ECS Service&lt;/strong&gt;&lt;br&gt;
A &lt;strong&gt;Service&lt;/strong&gt; ensures a desired number of task instances are running and manages deployment/rolling updates.&lt;/p&gt;

&lt;p&gt;Console: Clusters → Select cluster → Create → Create Service&lt;br&gt;
Key options:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Launch type&lt;/strong&gt;: Fargate (recommended) or EC2.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Service name&lt;/strong&gt; (e.g., my-app-service).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Number of tasks (desired count):&lt;/strong&gt; initial minimum (e.g., 2).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deployment options&lt;/strong&gt;: Rolling update (default).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Assign public IP? If tasks need internet access and you’re using public subnets.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;Important&lt;/code&gt;&lt;/strong&gt;: Choose the same subnets/security groups as your ALB target group (for network reachability).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpmy8tm5jtuxp2e6kxxcp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpmy8tm5jtuxp2e6kxxcp.png" alt=" " width="800" height="299"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbj3avhko60c9ga913roj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbj3avhko60c9ga913roj.png" alt=" " width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff6et9zjdp4s71i2c8hic.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff6et9zjdp4s71i2c8hic.png" alt=" " width="800" height="398"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffpjrk3uaywdlxmic2kfk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffpjrk3uaywdlxmic2kfk.png" alt=" " width="800" height="444"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9. Create Application Load Balancer (ALB) &amp;amp; Target Group&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;ALB will route incoming traffic to ECS tasks.&lt;/p&gt;

&lt;p&gt;Steps:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Create Target Group&lt;/em&gt;&lt;/strong&gt; &lt;code&gt;(Console → EC2 → Target Groups)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Type: ip (for Fargate) or instance (for EC2).&lt;/p&gt;

&lt;p&gt;Protocol: HTTP, Port: 80 (or your app port).&lt;/p&gt;

&lt;p&gt;Health check path: / or /health (whatever your app exposes).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;_Create ALB _&lt;/strong&gt;&lt;code&gt;(Console → EC2 → Load Balancers)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Scheme: internet-facing (for public app) or internal.&lt;/p&gt;

&lt;p&gt;Select public subnets across AZs for high availability.&lt;/p&gt;

&lt;p&gt;Security group allowing inbound HTTP/HTTPS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Register Targets&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When you configure ECS Service, you can choose the ALB &amp;amp; target group so ECS automatically registers tasks as targets.&lt;/p&gt;

&lt;p&gt;Health check: configure a path and thresholds (healthy threshold, unhealthy threshold, timeout, interval). For example: path &lt;code&gt;/health&lt;/code&gt; with status &lt;code&gt;200&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff97xdwjo93bn2gganxk4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff97xdwjo93bn2gganxk4.png" alt=" " width="800" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpbnfydu3y7weq5v84t2n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpbnfydu3y7weq5v84t2n.png" alt=" " width="800" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10. Hook ALB to ECS Service&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;During service creation:&lt;/p&gt;

&lt;p&gt;Choose Load balancing: Application Load Balancer.&lt;/p&gt;

&lt;p&gt;Attach previously created ALB and target group.&lt;/p&gt;

&lt;p&gt;ECS will create an ENI for each task (Fargate) and register it to the target group.&lt;/p&gt;

&lt;p&gt;Result: Requests to ALB are forwarded to running containers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10. Configure Autoscaling (optional but recommended)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Autoscaling adjusts the number of tasks automatically.&lt;/p&gt;

&lt;p&gt;Steps:&lt;/p&gt;

&lt;p&gt;In your ECS Service → Auto Scaling → Create scale policy.&lt;/p&gt;

&lt;p&gt;Define Minimum and Maximum tasks (e.g., min 2, max 10).&lt;/p&gt;

&lt;p&gt;Set scaling triggers, e.g.:&lt;/p&gt;

&lt;p&gt;Target tracking policy: keep CPU utilization at 50%&lt;/p&gt;

&lt;p&gt;Or using CloudWatch metrics (Request count per target)&lt;/p&gt;

&lt;p&gt;Tip: Start with conservative min=2, max=10 and tune over time&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6nhq30dmrojum0uqnxdw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6nhq30dmrojum0uqnxdw.png" alt=" " width="800" height="302"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmte9mksw477m8brann94.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmte9mksw477m8brann94.png" alt=" " width="800" height="393"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;11. Verify Deployment&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Go to ALB → Listeners → copy the DNS name and open in a browser.&lt;/p&gt;

&lt;p&gt;Check Task status in ECS cluster (should be RUNNING).&lt;/p&gt;

&lt;p&gt;Check Target Group health — targets should show healthy.&lt;/p&gt;

&lt;p&gt;Troubleshooting:&lt;/p&gt;

&lt;p&gt;If targets are unhealthy, check container health endpoint and security groups.&lt;/p&gt;

&lt;p&gt;Ensure container port mapping matches target group settings.&lt;/p&gt;

&lt;p&gt;Check CloudWatch logs for container startup errors.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl3nwsxpelr31uc0e2sp6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl3nwsxpelr31uc0e2sp6.png" alt=" " width="800" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fouqnicdlw97tdnw46i6j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fouqnicdlw97tdnw46i6j.png" alt=" " width="800" height="240"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;12. Rolling updates and new image versions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Workflow to update:&lt;/p&gt;

&lt;p&gt;Build a new image version and tag it (e.g., :v2).&lt;/p&gt;

&lt;p&gt;Push to ECR.&lt;/p&gt;

&lt;p&gt;Update Task Definition to point to the new image (new revision).&lt;/p&gt;

&lt;p&gt;Update ECS Service to use the new task definition → ECS performs a rolling deployment.&lt;/p&gt;

&lt;p&gt;Automation tip: Use CI/CD (GitHub Actions / Jenkins / CodePipeline) to:&lt;/p&gt;

&lt;p&gt;Build image → push to ECR.&lt;/p&gt;

&lt;p&gt;Register new Task Definition revision (or update service).&lt;/p&gt;

&lt;p&gt;Trigger ECS service update for zero-downtime deployments.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxtnkix3vldz8ncp69ldo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxtnkix3vldz8ncp69ldo.png" alt=" " width="800" height="240"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Figmncei5gfp588b7avmw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Figmncei5gfp588b7avmw.png" alt=" " width="800" height="320"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmro0rwxcmh3qsrjtrxu2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmro0rwxcmh3qsrjtrxu2.png" alt=" " width="800" height="282"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;✅ Summary (mapping to your original notes)&lt;/p&gt;

&lt;p&gt;aws configure ✔️&lt;/p&gt;

&lt;p&gt;Create ECR repo ✔️&lt;/p&gt;

&lt;p&gt;Build and push Docker image ✔️&lt;/p&gt;

&lt;p&gt;Create cluster (ECS) &amp;amp; task definition ✔️&lt;/p&gt;

&lt;p&gt;Create service with task &amp;amp; Fargate/EC2 ✔️&lt;/p&gt;

&lt;p&gt;Add ALB → configure target group + health checks ✔️&lt;/p&gt;

&lt;p&gt;Add autoscaling (min 2, max 10) ✔️&lt;/p&gt;

&lt;p&gt;Service created → check ALB DNS for app ✔️&lt;/p&gt;

</description>
      <category>aws</category>
      <category>ecs</category>
      <category>cloudcomputing</category>
    </item>
    <item>
      <title>Deep Dive into ECS Task Definitions: The Blueprint of Your Containers</title>
      <dc:creator>On-cloud7</dc:creator>
      <pubDate>Thu, 25 Sep 2025 13:35:31 +0000</pubDate>
      <link>https://forem.com/oncloud7/deep-dive-into-ecs-task-definitions-the-blueprint-of-your-containers-io7</link>
      <guid>https://forem.com/oncloud7/deep-dive-into-ecs-task-definitions-the-blueprint-of-your-containers-io7</guid>
      <description>&lt;p&gt;&lt;strong&gt;A task definition is a blueprint for your application. It is a text file in JSON format that describes the parameters and one or more containers that form your application.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&amp;gt;&amp;gt; The following are some of the parameters that you can specify in a task definition:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The launch type to use, which determines the infrastructure that your tasks are hosted on&lt;/p&gt;

&lt;p&gt;The Docker image to use with each container in your task&lt;/p&gt;

&lt;p&gt;How much CPU and memory to use with each task or each container within a task&lt;/p&gt;

&lt;p&gt;The memory and CPU requirements&lt;/p&gt;

&lt;p&gt;The operating system of the container that the task runs on&lt;/p&gt;

&lt;p&gt;The Docker networking mode to use for the containers in your task&lt;/p&gt;

&lt;p&gt;The logging configuration to use for your tasks&lt;/p&gt;

&lt;p&gt;Whether the task continues to run if the container finishes or fails&lt;/p&gt;

&lt;p&gt;The command that the container runs when it's started&lt;/p&gt;

&lt;p&gt;Any data volumes that are used with the containers in the task&lt;/p&gt;

&lt;p&gt;The IAM role that your tasks use&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is a Task Definition?&lt;/strong&gt;&lt;br&gt;
A task definition is a JSON file (or equivalent when using AWS Console, SDK, or CDK) that describes one or more containers needed to run your application.&lt;/p&gt;

&lt;p&gt;You can think of it as:&lt;/p&gt;

&lt;p&gt;A recipe that ECS uses to launch tasks.&lt;/p&gt;

&lt;p&gt;It defines the container configuration (image, resources, ports, etc.).&lt;/p&gt;

&lt;p&gt;It can include multiple containers if your app needs them (e.g., web + sidecar).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Parameters in ECS Task Definitions:&lt;br&gt;
Let’s break down the important fields you’ll encounter:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Container Definitions:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The heart of a task definition is the containerDefinitions section. Each container definition includes settings for a single container.&lt;/p&gt;

&lt;p&gt;Key parameters include:&lt;/p&gt;

&lt;p&gt;image → The Docker image to run (e.g., nginx:latest or 123456789.dkr.ecr.us-east-1.amazonaws.com/my-app:1.0).&lt;/p&gt;

&lt;p&gt;name → Logical name for the container inside ECS.&lt;/p&gt;

&lt;p&gt;essential → Boolean that tells ECS if this container must run for the task to be healthy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. CPU and Memory:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can define CPU and memory at both task level and container level.&lt;/p&gt;

&lt;p&gt;Task-level (cpu, memory): Defines the total resources for the entire task.&lt;/p&gt;

&lt;p&gt;Container-level (cpu, memoryReservation, memory): Defines how much of those resources each container gets.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"cpu"
:

256
,

"memory"
:

512


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;3. Environment Variables&lt;/strong&gt;&lt;br&gt;
Used to configure applications without hardcoding values.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"environment": [
  { "name": "ENV", "value": "production" },
  { "name": "DEBUG", "value": "false" }
]

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;4. Port Mappings&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Defines how container ports are exposed.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"portMappings": [
  { "containerPort": 80, "hostPort": 80, "protocol": "tcp" }
]

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;containerPort:&lt;/code&gt; Inside container.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;hostPort:&lt;/code&gt; Exposed on host (for Fargate, usually matches containerPort).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Volumes and Mount Points&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If your app needs persistent storage or shared data between containers.&lt;/p&gt;

&lt;p&gt;Volumes are defined at the task level.&lt;/p&gt;

&lt;p&gt;Mount points connect those volumes to a container.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"mountPoints": [
  {
    "sourceVolume": "app-storage",
    "containerPath": "/data"
  }
]

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;6. Logging&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;ECS integrates seamlessly with Amazon CloudWatch Logs.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"logConfiguration": {
  "logDriver": "awslogs",
  "options": {
    "awslogs-group": "/ecs/my-app",
    "awslogs-region": "us-east-1",
    "awslogs-stream-prefix": "ecs"
  }
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;7. Command and EntryPoint&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Overrides the default behavior of the Docker image.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;entryPoint&lt;/code&gt; → Overrides the ENTRYPOINT in Dockerfile.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;command&lt;/code&gt; → Overrides the CMD in Dockerfile.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"command": ["node", "server.js"]

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;8. Networking Mode&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Specifies how containers in a task communicate.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;bridge&lt;/code&gt; → Default for EC2 (Docker bridge network).&lt;/p&gt;

&lt;p&gt;&lt;code&gt;awsvpc&lt;/code&gt; → Each task gets its own ENI (used in Fargate).&lt;/p&gt;

&lt;p&gt;&lt;code&gt;host&lt;/code&gt; → Containers share host networking.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9. IAM Roles&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can assign task roles to containers for AWS permissions.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"taskRoleArn": "arn:aws:iam::123456789:role/ecsTaskExecutionRole"

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Putting It All Together: Example Task Definition&lt;/p&gt;

&lt;p&gt;Here’s a simplified JSON snippet:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "family": "my-app",
  "cpu": "256",
  "memory": "512",
  "networkMode": "awsvpc",
  "containerDefinitions": [
    {
      "name": "web",
      "image": "nginx:latest",
      "cpu": 256,
      "memory": 512,
      "essential": true,
      "portMappings": [
        { "containerPort": 80, "hostPort": 80 }
      ],
      "logConfiguration": {
        "logDriver": "awslogs",
        "options": {
          "awslogs-group": "/ecs/my-app",
          "awslogs-region": "us-east-1",
          "awslogs-stream-prefix": "ecs"
        }
      }
    }
  ]
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Best Practices for Task Definitions&lt;/p&gt;

&lt;p&gt;✅ Use task roles for AWS service access (never hardcode credentials).&lt;/p&gt;

&lt;p&gt;✅ Keep container images small for faster startup.&lt;/p&gt;

&lt;p&gt;✅ Define resource limits to avoid noisy-neighbor issues.&lt;/p&gt;

&lt;p&gt;✅ Centralize logs with CloudWatch.&lt;/p&gt;

&lt;p&gt;✅ Use secrets managers for sensitive data.&lt;/p&gt;

</description>
      <category>docker</category>
      <category>aws</category>
      <category>containers</category>
      <category>devops</category>
    </item>
    <item>
      <title>How To SSH Into An ECS Fargate Container</title>
      <dc:creator>On-cloud7</dc:creator>
      <pubDate>Mon, 04 Aug 2025 17:27:29 +0000</pubDate>
      <link>https://forem.com/oncloud7/how-to-ssh-into-an-ecs-fargate-container-3fb3</link>
      <guid>https://forem.com/oncloud7/how-to-ssh-into-an-ecs-fargate-container-3fb3</guid>
      <description>&lt;p&gt;&lt;strong&gt;1)  To install the Session Manager plugin using the EXE installer&lt;br&gt;
        Download the installer using the following URL.&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://s3.amazonaws.com/session-mana" rel="noopener noreferrer"&gt;https://s3.amazonaws.com/session-mana&lt;/a&gt;...&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffj942fskuo20rp6hxb82.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffj942fskuo20rp6hxb82.png" alt=" " width="581" height="351"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   command :  session-manager-plugin --version

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2)  Install or update the AWS CLI&lt;br&gt;
         Download and run the AWS CLI MSI installer for Windows (64-bit):&lt;br&gt;
          &lt;a href="https://awscli.amazonaws.com/AWSCLIV2" rel="noopener noreferrer"&gt;https://awscli.amazonaws.com/AWSCLIV2&lt;/a&gt;...&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; command : aws --version
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0afad0dmsux43v1ilm2d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0afad0dmsux43v1ilm2d.png" alt=" " width="800" height="740"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3) Add SSM permissions to the ecsTaskExecutionRole   role&lt;br&gt;
       You should add the following policy to your existing ecsTaskExecutionRole IAM role. This grants permission for the ECS task to connect with the SSM Session Manager service.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
   "Version": "2012-10-17",
   "Statement": [
       {
       "Effect": "Allow",
       "Action": [
            "ssmmessages:CreateControlChannel",
            "ssmmessages:CreateDataChannel",
            "ssmmessages:OpenControlChannel",
            "ssmmessages:OpenDataChannel"
       ],
      "Resource": "*"
      }
   ]
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh3h14trgrrv6x4b7iyjt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh3h14trgrrv6x4b7iyjt.png" alt=" " width="800" height="730"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzgzdq09je3lab8i3eua0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzgzdq09je3lab8i3eua0.png" alt=" " width="800" height="819"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn68ame6x11sbsq6cti9j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn68ame6x11sbsq6cti9j.png" alt=" " width="800" height="725"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz9csojtg7mpqeck2gzhc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz9csojtg7mpqeck2gzhc.png" alt=" " width="800" height="417"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;**4) Add ECS ExecuteCommand permission to your IAM USER&lt;/p&gt;

&lt;p&gt;Make sure your IAM USER contains a policy that allows the action ecs:ExecuteCommand. Otherwise, you’re not able to run the aws ecs execute-command in the AWS CLI to access the running container.**&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "User access to ECS ExecuteCommand",
            "Effect": "Allow",
            "Action": "ecs:ExecuteCommand",
            "Resource": "*"
        }
    ]
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwu66rhorvjbovpvmpwcn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwu66rhorvjbovpvmpwcn.png" alt=" " width="800" height="712"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0mfg641pqhceakdyy3k3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0mfg641pqhceakdyy3k3.png" alt=" " width="800" height="840"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftm13gmtzrwhrwrb2avcn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftm13gmtzrwhrwrb2avcn.png" alt=" " width="800" height="729"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;**5) Enable ECS Exec for your ECS task and services&lt;/p&gt;

&lt;p&gt;To enable ECS Exec on an existing ECS service run:**&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws ecs update-service  --cluster cluster-name   --task-definition  task-definition-name    --service  service-name    --enable-execute-command --desired-count 1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To verify if a task has ExecuteCommand enabled you can run the aws ecs describe-tasks command to check its configuration.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
aws ecs describe-tasks --cluster cluster-name  -–tasks taskid
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Example : aws ecs describe-tasks --cluster example-cluster  -–tasks 5210107e30a9470b9b093d1fb72e8d6a
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If everything went well, you’ll receive the following output with enableExecuteCommand set to true.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6) Run the aws ecs execute command with the task id and container name to log in.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws ecs execute-command --cluster cluster-name  --task task-id  --container                    container-name  --interactive     --command "/bin/bash"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>aws</category>
      <category>containers</category>
      <category>fargate</category>
      <category>ssh</category>
    </item>
  </channel>
</rss>
