ernestB
13
Type: AWS::ECS::Service
DependsOn:
- PublicListener
- AttachRegionalCertificate
- AlertmanagerByHostname
- PublicTargetGroupAlertmanager
Properties:
Cluster: !Ref ServiceCluster
DesiredCount: 1
LaunchType: FARGATE
NetworkConfiguration:
AwsvpcConfiguration:
AssignPublicIp: DISABLED
SecurityGroups:
- !Ref AlertmanagerSecurityGroup
- !Ref EFSSecurityGroup
Subnets:
- !ImportValue RegionalPrivateSubnet0
TaskDefinition: !Ref AlertmanagerTaskDefinition
DeploymentConfiguration:
MaximumPercent: 200
MinimumHealthyPercent: 100
SchedulingStrategy: REPLICA
EnableExecuteCommand: true
Tags:
- Key: Name
Value: observability-public-alertmanager
LoadBalancers:
- ContainerName: alertmanager
ContainerPort: 9093
TargetGroupArn: !Ref PublicTargetGroupAlertmanager
ServiceRegistries:
- RegistryArn: !GetAtt CloudmapServicealertmanager.Arn
ContainerName: alertmanager
ContainerPort: 9093
PublicTargetGroupAlertmanager:
Type: AWS::ElasticLoadBalancingV2::TargetGroup
Properties:
Name: alertmanager-public
Port: 9093
Protocol: HTTP
VpcId: !ImportValue RegionalVPC
TargetType: ip
HealthCheckIntervalSeconds: 10
HealthCheckPath: /metrics
HealthCheckProtocol: HTTP
HealthCheckTimeoutSeconds: 5
HealthyThresholdCount: 2
Tags:
- Key: Name
Value: observability-public-alertmanager
AlertmanagerByHostname:
Type: AWS::ElasticLoadBalancingV2::ListenerRule
Properties:
Actions:
- Type: forward
TargetGroupArn: !Ref PublicTargetGroupVMAgent
Conditions:
- Field: host-header
HostHeaderConfig:
Values:
- !Sub "alerts.${PublicZoneName}"
- !Sub "alerts.${AWS::Region}.${PublicZoneName}"
ListenerArn: !Ref PublicListener
Priority: 3```