AWS Security ChangesHomeSearch

AWS AWSCloudFormation documentation change

Service: AWSCloudFormation · 2025-10-01 · Documentation low

File: AWSCloudFormation/latest/TemplateReference/aws-resource-ecs-service.md

Summary

Removed two example sections: 'Create a service with a health check grace period' and 'Create a service with ECS Exec enabled' including their JSON/YAML templates

Security assessment

The removed content includes operational examples (health check grace period) and a security feature example (ECS Exec). While ECS Exec is a security feature, removing its documentation example doesn't indicate a security issue nor add security documentation. No vulnerability or exploit mitigation is mentioned in the diff.

Diff

diff --git a/AWSCloudFormation/latest/TemplateReference/aws-resource-ecs-service.md b/AWSCloudFormation/latest/TemplateReference/aws-resource-ecs-service.md
index 993a4b8f5..f3b889670 100644
--- a//AWSCloudFormation/latest/TemplateReference/aws-resource-ecs-service.md
+++ b//AWSCloudFormation/latest/TemplateReference/aws-resource-ecs-service.md
@@ -592,4 +591,0 @@ The ARN that identifies the service. For more information about the ARN format,
-  * Create a service with a health check grace period
-
-  * Create a service with ECS Exec enabled
-
@@ -1207,483 +1202,0 @@ The Amazon ECS service requires an explicit dependency on the Application Load B
-### Create a service with a health check grace period
-
-The following example creates a service with a parameter that enables users to specify how many seconds that the Amazon ECS service scheduler should ignore unhealthy Elastic Load Balancing target health checks after a task has first started.
-
-#### JSON
-    
-    
-    {
-      "AWSTemplateFormatVersion" : "2010-09-09",
-      "Description" : "Creating ECS service",
-      "Parameters": {
-        "AppName": {
-          "Type":"String",
-          "Description": "Name of app requiring ELB exposure",
-          "Default": "simple-app"
-        },
-        "AppContainerPort": {
-          "Type":"Number",
-          "Description": "Container port of app requiring ELB exposure",
-          "Default": "80"
-        },
-        "AppHostPort": {
-          "Type":"Number",
-          "Description": "Host port of app requiring ELB exposure",
-          "Default": "80"
-        },
-        "ServiceName": {
-          "Type": "String"
-        },
-        "LoadBalancerName": {
-          "Type": "String"
-        },
-        "HealthCheckGracePeriodSeconds": {
-          "Type": "String"
-        }
-      },
-      "Resources": {
-        "ECSCluster": {
-          "Type": "AWS::ECS::Cluster"
-        },
-        "taskdefinition": {
-          "Type": "AWS::ECS::TaskDefinition",
-          "Properties" : {
-            "ContainerDefinitions" : [
-              {
-                "Name": {"Ref": "AppName"},
-                "MountPoints": [
-                  {
-                    "SourceVolume": "my-vol",
-                    "ContainerPath": "/var/www/my-vol"
-                  }
-                ],
-                "Image":"amazon/amazon-ecs-sample",
-                "Cpu": "10",
-                "PortMappings":[
-                  {
-                    "ContainerPort": {"Ref":"AppContainerPort"},
-                    "HostPort": {"Ref":"AppHostPort"}
-                  }
-                ],
-                "EntryPoint": [
-                  "/usr/sbin/apache2",
-                  "-D",
-                  "FOREGROUND"
-                ],
-                "Memory":"500",
-                "Essential": "true"
-              },
-              {
-                "Name": "busybox",
-                "Image": "busybox",
-                "Cpu": "10",
-                "EntryPoint": [
-                  "sh",
-                  "-c"
-                ],
-                "Memory": "500",
-                "Command": [
-                  "/bin/sh -c \"while true; do /bin/date > /var/www/my-vol/date; sleep 1; done\""
-                ],
-                "Essential" : "false",
-                "VolumesFrom": [
-                  {
-                    "SourceContainer": {"Ref":"AppName"}
-                  }
-                ]
-              }
-            ],
-            "Volumes": [
-              {
-                "Host": {
-                  "SourcePath": "/var/lib/docker/vfs/dir/"
-                },
-                "Name": "my-vol"
-              }
-            ]
-          }
-        },
-        "ECSService": {
-          "Type": "AWS::ECS::Service",
-          "Properties" : {
-            "Cluster": {"Ref": "ECSCluster"},
-            "DeploymentConfiguration": {
-              "MaximumPercent": 200,
-              "MinimumHealthyPercent": 100
-            },
-            "DesiredCount": 1,
-            "HealthCheckGracePeriodSeconds": {"Ref": "HealthCheckGracePeriodSeconds"},
-            "LoadBalancers": [{
-              "ContainerName": {"Ref" : "AppName"},
-              "ContainerPort": {"Ref":"AppContainerPort"},
-              "LoadBalancerName": {"Ref": "elb"}
-            }],
-            "PlacementStrategies": [{
-              "Type" : "binpack",
-              "Field": "memory"
-            }, {
-              "Type": "spread",
-              "Field": "host"
-            }],
-            "PlacementConstraints": [{
-              "Type": "memberOf",
-              "Expression": "attribute:ecs.availability-zone != us-east-1d"
-            }, {
-              "Type": "distinctInstance"
-            }],
-            "TaskDefinition" : {"Ref":"taskdefinition"},
-            "ServiceName": {"Ref": "ServiceName"},
-            "Role": {"Ref": "Role"}
-          }
-        },
-        "elb": {
-          "Type": "AWS::ElasticLoadBalancing::LoadBalancer",
-          "Properties": {
-            "LoadBalancerName": {"Ref": "LoadBalancerName"},
-            "Listeners": [{
-              "InstancePort": {"Ref": "AppHostPort"},
-              "LoadBalancerPort": "80",
-              "Protocol": "HTTP"
-            }],
-            "Subnets": [{"Ref":"Subnet1"}]
-          },
-          "DependsOn": "GatewayAttachment"
-        },
-        "VPC": {
-          "Type": "AWS::EC2::VPC",
-          "Properties": {
-            "CidrBlock": "10.0.0.0/24"
-          }
-        },
-        "Subnet1": {
-          "Type": "AWS::EC2::Subnet",
-          "Properties": {
-            "VpcId": { "Ref": "VPC" },
-            "CidrBlock": "10.0.0.0/25"
-          }
-        },
-        "InternetGateway": {
-          "Type": "AWS::EC2::InternetGateway"
-        },
-        "GatewayAttachment": {
-          "Type": "AWS::EC2::VPCGatewayAttachment",
-          "Properties": {
-            "InternetGatewayId": {"Ref": "InternetGateway"},
-            "VpcId": {"Ref": "VPC"}
-          }
-        },
-        "Role": {
-          "Type": "AWS::IAM::Role",
-          "Properties": {
-            "AssumeRolePolicyDocument": {
-              "Version": "2008-10-17",
-              "Statement": [
-                {
-                  "Sid": "",
-                  "Effect": "Allow",
-                  "Principal": {
-                    "Service": "ecs.amazonaws.com"
-                  },
-                  "Action": "sts:AssumeRole"
-                }
-              ]
-            },
-            "ManagedPolicyArns": ["arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceRole"]
-          }
-        }
-      },
-      "Outputs" : {
-        "Cluster": {
-          "Value": {"Ref" : "ECSCluster"}