Service on Amazon Elastic Container Service (ECS) using AWS Fargate
Recipe ID: ConsoleAppEcsFargateService
Recipe Description: This .NET Console application will be built using a Dockerfile and deployed as a service to Amazon Elastic Container Service (Amazon ECS) with compute power managed by AWS Fargate compute engine. If your project does not contain a Dockerfile it will be automatically generated, otherwise an existing Dockerfile will be used. Recommended if you want to deploy a service as a container image on Linux.
Settings:
- ECS Cluster
- ID: ECSCluster
- Description: The ECS cluster used for the deployment.
- Type: Object
- Settings:
- Create New ECS Cluster
- ID: CreateNew
- Description: Do you want to create a new ECS cluster?
- Type: Bool
- Existing Cluster ARN
- ID: ClusterArn
- Description: The ARN of the existing cluster to use.
- Type: String
- New Cluster Name
- ID: NewClusterName
- Description: The name of the new cluster to create.
- Type: String
- Create New ECS Cluster
- ECS Service Name
- ID: ECSServiceName
- Description: The name of the ECS service running in the cluster.
- Type: String
- Desired Task Count
- ID: DesiredCount
- Description: The desired number of ECS tasks to run for the service.
- Type: Int
- Application IAM Role
- ID: ApplicationIAMRole
- Description: The Identity and Access Management (IAM) role that provides AWS credentials to the application to access AWS services.
- Type: Object
- Settings:
- Create New Role
- ID: CreateNew
- Description: Do you want to create a new role?
- Type: Bool
- Existing Role ARN
- ID: RoleArn
- Description: The ARN of the existing role to use.
- Type: String
- Create New Role
- Virtual Private Cloud (VPC)
- ID: Vpc
- Description: A VPC enables you to launch the application into a virtual network that you've defined.
- Type: Object
- Settings:
- Use default VPC
- ID: IsDefault
- Description: Do you want to use the default VPC for the deployment?
- Type: Bool
- Create New VPC
- ID: CreateNew
- Description: Do you want to create a new VPC?
- Type: Bool
- Existing VPC ID
- ID: VpcId
- Description: The ID of the existing VPC to use.
- Type: String
- Use default VPC
- ECS Service Security Groups
- ID: ECSServiceSecurityGroups
- Description: A comma-delimited list of EC2 security groups to assign to the ECS service. This is commonly used to provide access to Amazon RDS databases running in their own security groups.
- Type: String
- Task CPU
- ID: TaskCpu
- Description: The number of CPU units used by the task. See the following for details on CPU values: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html#fargate-task-defs
- Type: Int
- Task Memory
- ID: TaskMemory
- Description: The amount of memory (in MB) used by the task. See the following for details on memory values: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html#fargate-task-defs
- Type: Int
- AutoScaling
- ID: AutoScaling
- Description: The AutoScaling configuration for the ECS service.
- Type: Object
- Settings:
- Enable
- ID: Enabled
- Description: Do you want to enable AutoScaling?
- Type: Bool
- Minimum Capacity
- ID: MinCapacity
- Description: The minimum number of ECS tasks handling the demand for the ECS service.
- Type: Int
- Maximum Capacity
- ID: MaxCapacity
- Description: The maximum number of ECS tasks handling the demand for the ECS service.
- Type: Int
- AutoScaling Metric
- ID: ScalingType
- Description: The metric to monitor for scaling changes.
- Type: String
- CPU Target Utilization
- ID: CpuTypeTargetUtilizationPercent
- Description: The target cpu utilization percentage that triggers a scaling change.
- Type: Double
- Scale in cooldown (seconds)
- ID: CpuTypeScaleInCooldownSeconds
- Description: The amount of time, in seconds, after a scale in activity completes before another scale in activity can start.
- Type: Int
- Scale out cooldown (seconds)
- ID: CpuTypeScaleOutCooldownSeconds
- Description: The amount of time, in seconds, after a scale out activity completes before another scale out activity can start.
- Type: Int
- Memory Target Utilization
- ID: MemoryTypeTargetUtilizationPercent
- Description: The target memory utilization percentage that triggers a scaling change.
- Type: Double
- Scale in cooldown (seconds)
- ID: MemoryTypeScaleInCooldownSeconds
- Description: The amount of time, in seconds, after a scale in activity completes before another scale in activity can start.
- Type: Int
- Scale out cooldown (seconds)
- ID: MemoryTypeScaleOutCooldownSeconds
- Description: The amount of time, in seconds, after a scale out activity completes before another scale out activity can start.
- Type: Int
- Enable
- Environment Variables
- ID: ECSEnvironmentVariables
- Description: Configure environment properties for your application.
- Type: KeyValue
- Docker Build Args
- ID: DockerBuildArgs
- Description: The list of additional options to append to the
docker build
command. - Type: String
- Dockerfile Path
- ID: DockerfilePath
- Description: Specify a path to a Dockerfile as either an absolute path or a path relative to the project.
- Type: String
- Docker Execution Directory
- ID: DockerExecutionDirectory
- Description: Specifies the docker execution directory where the docker build command will be executed from.
- Type: String
- ECR Repository Name
- ID: ECRRepositoryName
- Description: Specifies the ECR repository where the Docker images will be stored
- Type: String