zoukankan      html  css  js  c++  java
  • [AWS

    ECS

    Steps to create a ECS

    1. Create Cluster: EC2 Linux + Networking

    When you created ECS cluster, it comes with Auto Scaling Group, and with ASG, it comes with EC2 instances.

    Also created Launch Configuration.

    Also create IAM rule for ECS Instance Role.

      2. Create ECS Task Definitions

    • Tasks definitions are metadata in JSON form to tell ECS how to run a Docker Container.
    • Contains crucial information around:
      • Image Name
      • Port Binding for Container and Host
      • Memory and CPU required
      • Environment variables
      • Networking information
    • Task Role: If doesn't come with Task Role, you cannot pull the image from ECR, cannot talk to EC2... It can be created automaticlly
    • Container defination

      "httpd:2.4": image + tag: ECR knows it comes from Docker Hub

    • Port Mapping
      • Can be static mapping
      • Or dynamic mapping with ALB (set Host port to 0)

      3. Create ECS Service

    • Will run Task defination
    • We can set tup Application Load Balancer

     

    It use Dynamic port mapping, for Host Port, we can set 0.

    ECR

    Ref to ECR in Task defintion:

    Fargate

    • Create Cluster with Fargate
    • Create Task Defination
    • Create Service

    • ECS need to use IAM role which attached to EC2 level to perform different action.
    • Task Defination need to have ECS Task Role to perform acess different resource.

    • When you add a new container, ECS service need to find out which EC2 instances to put new containers
    • When remove EC2 isntance, need to find out which one to terminated

    Cluster Capacity Provider can decide new Task should run on new EC2 instance or Fargate.



    The main question is when should you put multiple containers into the same task definition versus deploying containers separately in multiple task definitions.

    You should put muultiple containers in the same task definition if:

    • Containers share a common lifecycle (they shoyl dbe alunched and terminated together)
    • Containers are required to be run on the same underlying host
    • You want your containers to share resources.
    • You containers share data volumes

    Otherwise, you should define your containers in separate tasks definitions so that you can scale, provision, and deprovision them separately.

    "Shared memory"...

  • 相关阅读:
    android scroll 中 scroll Bar 修改
    android 在代码中安装apk的方法
    android JSON 的应用
    android 混淆相关 proguard
    listView 相关的优化设置
    android 名称解释
    android Gallery 两侧阴影实现
    Service 详解
    使用alias 简化命令
    android 动画小结
  • 原文地址:https://www.cnblogs.com/Answer1215/p/14859210.html
Copyright © 2011-2022 走看看