@cfn-modules/fargate-service
v2.15.1
Published
ECS Service running on Fargate
Downloads
216
Readme
cfn-modules: Fargate service
Fargate service.
:books: Check out our new book Rapid Docker on AWS
- Written for DevOps engineers and web developers who want to run dockerized web applications on AWS.
- Prior knowledge of Docker and AWS is not required.
- Continuous Deployment of your Web Application and Infrastructure as Code.
Install
Install Node.js and npm first!
npm i @cfn-modules/fargate-service
Usage
---
AWSTemplateFormatVersion: '2010-09-09'
Description: 'cfn-modules example'
Resources:
Service:
Type: 'AWS::CloudFormation::Stack'
Properties:
Parameters:
VpcModule: !GetAtt 'Vpc.Outputs.StackName' # required
ClusterModule: !GetAtt 'Cluster.Outputs.StackName' # optional
TargetModule: '' # optional
FileSystemModule1: '' # optional
AlertingModule: '' # optional
ClientSgModule1: '' # optional
ClientSgModule2: '' # optional
ClientSgModule3: '' # optional
ManagedPolicyArns: '' # optional
ProxyImage: '' # optional
ProxyImageSecretModule '' # optional
ProxyPort: '8000' # optional
ProxyEnvironment1Key: '' # optional
ProxyEnvironment1Value: '' # optional
ProxyEnvironment1SecretModule: '' # optional
ProxyEnvironment2Key: '' # optional
ProxyEnvironment2Value: '' # optional
ProxyEnvironment2SecretModule: '' # optional
ProxyEnvironment3Key: '' # optional
ProxyEnvironment3Value: '' # optional
ProxyEnvironment3SecretModule: '' # optional
ProxyEnvironment4Key: '' # optional
ProxyEnvironment4Value: '' # optional
ProxyEnvironment4SecretModule: '' # optional
ProxyEnvironment5Key: '' # optional
ProxyEnvironment5Value: '' # optional
ProxyEnvironment5SecretModule: '' # optional
AppImage: 'widdix/hello:v1' # optional
AppImageSecretModule '' # optional
AppPort: '80' # optional
AppEnvironment1Key: '' # optional
AppEnvironment1Value: '' # optional
AppEnvironment1SecretModule: '' # optional
AppEnvironment2Key: '' # optional
AppEnvironment2Value: '' # optional
AppEnvironment2SecretModule: '' # optional
AppEnvironment3Key: '' # optional
AppEnvironment3Value: '' # optional
AppEnvironment3SecretModule: '' # optional
AppEnvironment4Key: '' # optional
AppEnvironment4Value: '' # optional
AppEnvironment4SecretModule: '' # optional
AppEnvironment5Key: '' # optional
AppEnvironment5Value: '' # optional
AppEnvironment5SecretModule: '' # optional
AppEnvironment6Key: '' # optional
AppEnvironment6Value: '' # optional
AppEnvironment7Key: '' # optional
AppEnvironment7Value: '' # optional
AppEnvironment8Key: '' # optional
AppEnvironment8Value: '' # optional
AppEnvironment9Key: '' # optional
AppEnvironment9Value: '' # optional
AppEnvironment10Key: '' # optional
AppEnvironment10Value: '' # optional
AppEnvironment10Key: '' # optional
AppEnvironment10Value: '' # optional
AppEnvironment11Key: '' # optional
AppEnvironment11Value: '' # optional
AppEnvironment12Key: '' # optional
AppEnvironment12Value: '' # optional
AppEnvironment13Key: '' # optional
AppEnvironment13Value: '' # optional
AppEnvironment14Key: '' # optional
AppEnvironment14Value: '' # optional
AppEnvironment15Key: '' # optional
AppEnvironment15Value: '' # optional
AppEnvironment16Key: '' # optional
AppEnvironment16Value: '' # optional
AppEnvironment17Key: '' # optional
AppEnvironment17Value: '' # optional
AppEnvironment18Key: '' # optional
AppEnvironment18Value: '' # optional
AppEnvironment19Key: '' # optional
AppEnvironment19Value: '' # optional
AppEnvironment20Key: '' # optional
AppEnvironment20Value: '' # optional
AppEnvironment21Key: '' # optional
AppEnvironment21Value: '' # optional
AppEnvironment22Key: '' # optional
AppEnvironment22Value: '' # optional
AppEnvironment23Key: '' # optional
AppEnvironment23Value: '' # optional
AppEnvironment24Key: '' # optional
AppEnvironment24Value: '' # optional
AppEnvironment25Key: '' # optional
AppEnvironment25Value: '' # optional
SidecarImage: '' # optional
SidecarImageSecretModule '' # optional
SidecarPort: '9000' # optional
SidecarProtocol: 'tcp' # optional
SidecarEnvironment1Key: '' # optional
SidecarEnvironment1Value: '' # optional
SidecarEnvironment1SecretModule: '' # optional
SidecarEnvironment2Key: '' # optional
SidecarEnvironment2Value: '' # optional
SidecarEnvironment2SecretModule: '' # optional
SidecarEnvironment3Key: '' # optional
SidecarEnvironment3Value: '' # optional
SidecarEnvironment3SecretModule: '' # optional
SidecarEnvironment4Key: '' # optional
SidecarEnvironment4Value: '' # optional
SidecarEnvironment4SecretModule: '' # optional
SidecarEnvironment5Key: '' # optional
SidecarEnvironment5Value: '' # optional
SidecarEnvironment5SecretModule: '' # optional
Cpu: '0.25' # optional
Memory: '0.5' # optional
DesiredCount: '2' # optional
MaxCapacity: '4' # optional
MinCapacity: '2' # optional
LogsRetentionInDays: '14' # optional
SubnetsReach: 'Public' # optional
AutoScaling: 'true' # optional
HealthCheckGracePeriodSeconds: '60' # optional
Spot: 'false' # optional
CpuArchitecture: 'X86_64' # optional
OperatingSystemFamily: 'LINUX' # optional
ExecuteCommand: 'false' # optional
TemplateURL: './node_modules/@cfn-modules/fargate-service/module.yml'
Examples
Related modules
Parameters
Outputs
Private repositories
To fetch Docker images from private repositories, you have to provide the repository credentials via AWS Secrets Manager. Go to AWS Secrets Manager and create a new secret of type other type) with the plaintext value:
{
"username": "DOCKERHUB_USERNAME",
"password": "DOCKERHUB_PASSWORD"
}
Use the secret module wrapper to use the secret within cfn-modules.
---
AWSTemplateFormatVersion: '2010-09-09'
Description: 'cfn-modules example'
Resources:
Secret:
Type: 'AWS::CloudFormation::Stack'
Properties:
Parameters:
Arn: 'arn:aws:secretsmanager:eu-west-1:111111111111:secret:name/of/secret' # TODO replace with your secret ARN
TemplateURL: './node_modules/@cfn-modules/secret/wrapper.yml'
The following image prameters support a secret:
| Parameter | Secret | | ------------ | ------------------------ | | ProxyImage | ProxyImageSecretModule | | AppImage | AppImageSecretModule | | SidecarImage | SidecarImageSecretModule |
Migration Guides
Migrate to v2
- Rename
AmbassadorImage
toProxyImage
. - Rename
AmbassadorPort
toProxyPort
. - Rename
AmbassadorEnvironment1Key
toProxyEnvironment1Key
. - Rename
AmbassadorEnvironment1Value
toProxyEnvironment1Value
. - Rename
AmbassadorEnvironment2Key
toProxyEnvironment2Key
. - Rename
AmbassadorEnvironment2Value
toProxyEnvironment2Value
. - Rename
AmbassadorEnvironment3Key
toProxyEnvironment3Key
. - Rename
AmbassadorEnvironment3Value
toProxyEnvironment3Value
.