From 514c68ca04ca46ed713cff246b5be538824b4228 Mon Sep 17 00:00:00 2001 From: Michael Kaiser Date: Fri, 27 Dec 2024 15:29:24 -0600 Subject: [PATCH 1/3] chore(cleanup):Clean out undeployable examples. Many updates needed --- python/static-site/README.md | 102 ----------- python/static-site/app.py | 43 ----- python/static-site/cdk.json | 11 -- python/static-site/requirements.txt | 3 - python/static-site/site_stack.py | 55 ------ python/static-site/static-site.png | Bin 204966 -> 0 bytes python/static-site/static_site.py | 229 ------------------------ python/static-site/tests/__init__.py | 0 python/static-site/tests/test_stacks.py | 61 ------- 9 files changed, 504 deletions(-) delete mode 100644 python/static-site/README.md delete mode 100644 python/static-site/app.py delete mode 100644 python/static-site/cdk.json delete mode 100644 python/static-site/requirements.txt delete mode 100644 python/static-site/site_stack.py delete mode 100644 python/static-site/static-site.png delete mode 100644 python/static-site/static_site.py delete mode 100644 python/static-site/tests/__init__.py delete mode 100644 python/static-site/tests/test_stacks.py diff --git a/python/static-site/README.md b/python/static-site/README.md deleted file mode 100644 index 6bd6c7d8fa..0000000000 --- a/python/static-site/README.md +++ /dev/null @@ -1,102 +0,0 @@ -# Static Site with AWS CDK -This sample project uses S3, CloudFront and Route53 to create a stack for -hosting static web sites. - -![Architecture](static-site.png) - -## Prerequisites -- A registered domain in Route53. -- If using a public S3 bucket, a secret phrase needs to be created in the parameter store. The name of the parameter to be passed in the context as `origin_custom_header_parameter_name`. Make sure to create the parameter in the same region as the static site. This parameter will be set in both CloudFront and S3 Bucket Policy to make sure only traffic from CloudFront can access the S3 objects. -- If using an existing certificate, make sure it's in the `us-east-1` region otherwise the deployment fails. [See this link](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cnames-and-https-requirements.html#https-requirements-aws-region) - -## Install, Build, Deploy and Clean up -### CDK -Install AWS CDK Toolkit -```sh -npm install -g aws-cdk -``` -Verify the installation -```sh -cdk --version -``` -Bootstrap the AWS environment -``` -cdk bootstrap aws://123456789012/us-east-1 -``` - -### Python Setup -Create a python virtual environment in the root directory of the example. - -```sh -python3 -m venv .env -``` -Activate the virtual environment and install the dependencies. -```sh -source .env/bin/activate -pip install -r requirements -``` - -Synthesize the CloudFromation template. -```sh -cdk synth -``` -Deploy the stack. -> Make sure your aws profile has sufficient permissions to create the resources. Update the `cdk.json` according to your settings. See the [Context Values](#context-values) down below. -```sh -cdk deploy -``` -Clean up and remove the stack. -```sh -cdk destroy -``` - - - - - -## Context Values -Context values are key-value pairs that can be provided to the cdk app. It can be done in [multiple ways](https://docs.aws.amazon.com/cdk/latest/guide/context.html) such as `--context` option to the `cdk` command, or `cdk.json` file. - -- **namespace**: Use as a prefix for the resource names -- **domain_name**: domain name. e.g. example.com -- **sub_domain_name**: If provided, the site will be hosted under the sub domain name (e.g. blog.example.com) -- **enable_s3_website_endpoint**: If `true` it creates a public S3 bucket with website endpoint enabled. Otherwise it creates a private S3 bucket. -- **origin_custom_header_parameter_name**: In case of using a public S3 bucket with website enabled, we can use a custom header (e.g. referer) to block all traffic S3 except from the CloudFront. This parameter is the reference to the parameter in *parameter store* where we keep the secret phrase. -- **domain_certificate_arn**: If provided, CloudFront uses this certificate for the domain. Otherwise, it creates a new certificate. -- **hosted_zone_id**: Route53 Hosted Zone ID for the domain -- **hosted_zone_name**: Route53 Hosted Zone Name for the domain - -### cdk.json examples - -A site with a public S3 bucket. Bucket policy limits the access to s3 objects by using `referer` header. -```json -... - "namespace": "static-site", - "domain_name": "example.com", - "enable_s3_website_endpoint": true, - "origin_custom_header_parameter_name": "/prod/static-site/origin-custom-header/referer", - "hosted_zone_id": "ZABCDE12345", - "hosted_zone_name": "example.com." -... -``` -Above example with a subdomain setup. It hosts the site under `blog.example.com` -```json -... - "namespace": "static-site", - "domain_name": "example.com", - "sub_domain_name": "blog", - "enable_s3_website_endpoint": true, - "origin_custom_header_parameter_name": "/prod/static-site/origin-custom-header/referer", - "hosted_zone_id": "ZABCDE12345", - "hosted_zone_name": "example.com." -... -``` -A site with a private S3 bucket origin. -```json -... - "namespace": "static-site", - "domain_name": "example.com", - "hosted_zone_id": "ZABCDE12345", - "hosted_zone_name": "example.com." -... -``` diff --git a/python/static-site/app.py b/python/static-site/app.py deleted file mode 100644 index fe6e9c8cd8..0000000000 --- a/python/static-site/app.py +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env python3 - -import os -from aws_cdk import App, Environment -from site_stack import StaticSiteStack - - -app = App() -props = { - "namespace": app.node.try_get_context("namespace"), - "domain_name": app.node.try_get_context("domain_name"), - "sub_domain_name": app.node.try_get_context("sub_domain_name"), - "domain_certificate_arn": app.node.try_get_context( - "domain_certificate_arn" - ), - "enable_s3_website_endpoint": app.node.try_get_context( - "enable_s3_website_endpoint" - ), - "origin_custom_header_parameter_name": app.node.try_get_context( - "origin_custom_header_parameter_name" - ), - "hosted_zone_id": app.node.try_get_context("hosted_zone_id"), - "hosted_zone_name": app.node.try_get_context("hosted_zone_name"), -} - -env = Environment( - account=os.environ.get( - "CDK_DEPLOY_ACCOUNT", os.environ.get("CDK_DEFAULT_ACCOUNT") - ), - region=os.environ.get( - "CDK_DEPLOY_REGION", os.environ.get("CDK_DEFAULT_REGION") - ), -) - -StaticSite = StaticSiteStack( - scope=app, - construct_id=f"{props['namespace']}-stack", - props=props, - env=env, - description="Static Site using S3, CloudFront and Route53", -) - -app.synth() diff --git a/python/static-site/cdk.json b/python/static-site/cdk.json deleted file mode 100644 index b149f9cfa6..0000000000 --- a/python/static-site/cdk.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "app": "python3 app.py", - "context": { - "namespace": "static-site", - "domain_name": "example.com", - "enable_s3_website_endpoint": true, - "origin_custom_header_parameter_name": "/prod/static-site/origin-custom-header/referer", - "hosted_zone_id": "ZABCDE12345", - "hosted_zone_name": "example.com." - } -} diff --git a/python/static-site/requirements.txt b/python/static-site/requirements.txt deleted file mode 100644 index 2c27c97005..0000000000 --- a/python/static-site/requirements.txt +++ /dev/null @@ -1,3 +0,0 @@ -aws-cdk-lib>=2.0.0 -constructs>=10.0.0 -pytest diff --git a/python/static-site/site_stack.py b/python/static-site/site_stack.py deleted file mode 100644 index 34a56a0cea..0000000000 --- a/python/static-site/site_stack.py +++ /dev/null @@ -1,55 +0,0 @@ -from aws_cdk import CfnOutput, Stack -from static_site import StaticSitePublicS3, StaticSitePrivateS3 - - -class StaticSiteStack(Stack): - def __init__(self, scope, construct_id, props, **kwargs): - super().__init__(scope, construct_id, **kwargs) - - site_domain_name = props["domain_name"] - if props["sub_domain_name"]: - site_domain_name = ( - f'{props["sub_domain_name"]}.{props["domain_name"]}' - ) - - # If S3 website endpoint enabled, it creates the static site using a - # public S3 as the origin. Otherwise, it creates a private S3 as the - # origin. - if props["enable_s3_website_endpoint"]: - site = StaticSitePublicS3( - self, - f"{props['namespace']}-construct", - site_domain_name=site_domain_name, - domain_certificate_arn=props["domain_certificate_arn"], - origin_referer_header_parameter_name=props[ - "origin_custom_header_parameter_name" - ], - hosted_zone_id=props["hosted_zone_id"], - hosted_zone_name=props["hosted_zone_name"], - ) - else: - site = StaticSitePrivateS3( - self, - f"{props['namespace']}-construct", - site_domain_name=site_domain_name, - domain_certificate_arn=props["domain_certificate_arn"], - hosted_zone_id=props["hosted_zone_id"], - hosted_zone_name=props["hosted_zone_name"], - ) - - # Add stack outputs - CfnOutput( - self, - "SiteBucketName", - value=site.bucket.bucket_name, - ) - CfnOutput( - self, - "DistributionId", - value=site.distribution.distribution_id, - ) - CfnOutput( - self, - "CertificateArn", - value=site.certificate.certificate_arn, - ) diff --git a/python/static-site/static-site.png b/python/static-site/static-site.png deleted file mode 100644 index 807bf16ec8989a93ba4b4ce704b7ceb2154f0e2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 204966 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 Date: Fri, 27 Dec 2024 15:40:07 -0600 Subject: [PATCH 2/3] chore(cleanup):Clean out undeployable examples. Many updates needed --- java/static-site/README.md | 54 ------- java/static-site/cdk.json | 3 - java/static-site/pom.xml | 75 --------- java/static-site/site-contents/error.html | 6 - java/static-site/site-contents/index.html | 6 - .../amazon/awscdk/examples/StaticSiteApp.java | 48 ------ .../awscdk/examples/StaticSiteStack.java | 147 ------------------ 7 files changed, 339 deletions(-) delete mode 100644 java/static-site/README.md delete mode 100644 java/static-site/cdk.json delete mode 100644 java/static-site/pom.xml delete mode 100644 java/static-site/site-contents/error.html delete mode 100644 java/static-site/site-contents/index.html delete mode 100644 java/static-site/src/main/java/software/amazon/awscdk/examples/StaticSiteApp.java delete mode 100644 java/static-site/src/main/java/software/amazon/awscdk/examples/StaticSiteStack.java diff --git a/java/static-site/README.md b/java/static-site/README.md deleted file mode 100644 index 549e90fa27..0000000000 --- a/java/static-site/README.md +++ /dev/null @@ -1,54 +0,0 @@ - -# Static site - ---- - -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) - -> **This is an experimental example. It may not build out of the box** -> -> This examples is built on Construct Libraries marked "Experimental" and may not be updated for latest breaking changes. -> -> If build is unsuccessful, please create an [issue](https://github.com/aws-samples/aws-cdk-examples/issues/new) so that we may debug the problem - ---- - - -This example creates the infrastructure for a static site, which uses an S3 bucket for storing the content. The site contents (located in the 'site-contents' sub-directory) are deployed to the bucket. - -The site redirects from HTTP to HTTPS, using a CloudFront distribution, Route53 alias record, and ACM certificate. - -## Prep - -The domain for the static site (i.e. mystaticsite.com) must be configured as a hosted zone in Route53 prior to deploying this example. For instructions on configuring Route53 as the DNS service for your domain, see the [Route53 documentation](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring.html). - - -## Building - -To build this app, run `mvn compile`. This will download the required -dependencies to compile the Java code. - -You can use your IDE to write code and unit tests, but you will need to use the -CDK toolkit if you wish to synthesize/deploy stacks. - -## CDK Toolkit - -The [`cdk.json`](./cdk.json) file in the root of this repository includes -instructions for the CDK toolkit on how to execute this program. - -Specifically, it will tell the toolkit to use the `mvn exec:java` command as the -entry point of your application. After changing your Java code, you will be able -to run the CDK toolkit commands as usual (Maven will recompile as needed): - - $ cdk ls - - - $ cdk synth -c domain=mystaticsite.com -c subdomain=www - - - $ cdk deploy -c domain=mystaticsite.com -c subdomain=www - - - $ cdk diff -c domain=mystaticsite.com -c subdomain=www - - diff --git a/java/static-site/cdk.json b/java/static-site/cdk.json deleted file mode 100644 index c4c9a53ae0..0000000000 --- a/java/static-site/cdk.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "app": "mvn exec:java -Dexec.mainClass=software.amazon.awscdk.examples.StaticSiteApp" -} diff --git a/java/static-site/pom.xml b/java/static-site/pom.xml deleted file mode 100644 index 53e00dd17d..0000000000 --- a/java/static-site/pom.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - 4.0.0 - - com.amazonaws.cdk - static-site - 1.0.0 - - - UTF-8 - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.7.0 - - 1.8 - 1.8 - - - - - org.apache.maven.plugins - maven-assembly-plugin - 3.1.0 - - - jar-with-dependencies - - - - com.amazonaws.cdk.examples.StaticSiteApp - - - - - - make-assembly - package - - single - - - - - - - - - - - software.amazon.awscdk - aws-cdk-lib - [2.0.0,) - - - - software.constructs - constructs - [10.0.0,) - - - - - junit - junit - 4.13.1 - test - - - diff --git a/java/static-site/site-contents/error.html b/java/static-site/site-contents/error.html deleted file mode 100644 index 0240c8288b..0000000000 --- a/java/static-site/site-contents/error.html +++ /dev/null @@ -1,6 +0,0 @@ - -
Hello world: Error
- -Uh oh, you reached the error page! - - diff --git a/java/static-site/site-contents/index.html b/java/static-site/site-contents/index.html deleted file mode 100644 index 139707c92c..0000000000 --- a/java/static-site/site-contents/index.html +++ /dev/null @@ -1,6 +0,0 @@ - -
Hello world
- -Hello, world! - - diff --git a/java/static-site/src/main/java/software/amazon/awscdk/examples/StaticSiteApp.java b/java/static-site/src/main/java/software/amazon/awscdk/examples/StaticSiteApp.java deleted file mode 100644 index 135ee4187c..0000000000 --- a/java/static-site/src/main/java/software/amazon/awscdk/examples/StaticSiteApp.java +++ /dev/null @@ -1,48 +0,0 @@ -package software.amazon.awscdk.examples; - -import java.util.HashMap; -import java.util.Map; -import software.amazon.awscdk.App; -import software.amazon.awscdk.Environment; -import software.amazon.awscdk.Stack; -import software.amazon.awscdk.StackProps; - -public class StaticSiteApp extends Stack { - - /** - * This stack relies on getting the domain name from CDK context. Use 'cdk synth -c - * domain=mystaticsite.com -c subdomain=www' Or add the following to cdk.json: { "context": { - * "domain": "mystaticsite.com", "subdomain": "www" } } - */ - public StaticSiteApp(App scope, String id, StackProps props) { - super(scope, id, props); - - // Getting domain and subdomain values from Context - - Map domainValues = new HashMap(); - domainValues.put("domainName", this.getNode().tryGetContext("domain")); - domainValues.put("siteSubDomain", this.getNode().tryGetContext("subdomain")); - - // Call StaticSiteStack to create the stack - new StaticSiteStack(this, "MyStaticSite", domainValues); - } - - public static void main(final String argv[]) { - - App app = new App(); - - // Stack must be in us-east-1, because the ACM certificate for a - // global CloudFront distribution must be requested in us-east-1. - StackProps pr = - new StackProps.Builder() - .env( - Environment.builder() - .region("us-east-1") - .account(System.getenv("CDK_DEFAULT_ACCOUNT")) - .build()) - .build(); - - new StaticSiteApp(app, "MyStaticSite", pr); - app.synth(); - } -} diff --git a/java/static-site/src/main/java/software/amazon/awscdk/examples/StaticSiteStack.java b/java/static-site/src/main/java/software/amazon/awscdk/examples/StaticSiteStack.java deleted file mode 100644 index 162e0699c6..0000000000 --- a/java/static-site/src/main/java/software/amazon/awscdk/examples/StaticSiteStack.java +++ /dev/null @@ -1,147 +0,0 @@ -package software.amazon.awscdk.examples; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import software.amazon.awscdk.CfnOutput; -import software.constructs.Construct; -import software.amazon.awscdk.RemovalPolicy; -import software.amazon.awscdk.Stack; -import software.amazon.awscdk.services.certificatemanager.DnsValidatedCertificate; -import software.amazon.awscdk.services.certificatemanager.ICertificate; -import software.amazon.awscdk.services.cloudfront.Behavior; -import software.amazon.awscdk.services.cloudfront.CloudFrontWebDistribution; -import software.amazon.awscdk.services.cloudfront.S3OriginConfig; -import software.amazon.awscdk.services.cloudfront.SSLMethod; -import software.amazon.awscdk.services.cloudfront.SecurityPolicyProtocol; -import software.amazon.awscdk.services.cloudfront.SourceConfiguration; -import software.amazon.awscdk.services.cloudfront.ViewerCertificate; -import software.amazon.awscdk.services.cloudfront.ViewerCertificateOptions; -import software.amazon.awscdk.services.route53.ARecord; -import software.amazon.awscdk.services.route53.HostedZone; -import software.amazon.awscdk.services.route53.HostedZoneProviderProps; -import software.amazon.awscdk.services.route53.IHostedZone; -import software.amazon.awscdk.services.route53.RecordTarget; -import software.amazon.awscdk.services.route53.targets.CloudFrontTarget; -import software.amazon.awscdk.services.s3.Bucket; -import software.amazon.awscdk.services.s3.deployment.BucketDeployment; -import software.amazon.awscdk.services.s3.deployment.ISource; -import software.amazon.awscdk.services.s3.deployment.Source; - -public class StaticSiteStack extends Stack { - - /** - * Static site infrastructure, which deploys site content to an S3 bucket. - * - *

The site redirects from HTTP to HTTPS, using a CloudFront distribution, Route53 alias - * record, and ACM certificate. - */ - public StaticSiteStack(Construct scope, String id, Map props) { - super(scope, id); - - try { - - final IHostedZone zone = - HostedZone.fromLookup( - this, - "Zone", - HostedZoneProviderProps.builder() - .domainName(props.get("domainName").toString()) - .build()); - - final String siteDomain = - props.get("siteSubDomain").toString() + '.' + props.get("domainName").toString(); - List siteDomainList = new ArrayList<>(1); - siteDomainList.add(siteDomain); - - // Site URL CfnOutput variable - CfnOutput.Builder.create(this, "Site") - .description("Site Domain Url") - .value("https://" + siteDomain) - .build(); - - // S3 Bucket resource and Content - Bucket siteBucket = - Bucket.Builder.create(this, "SiteBucket") - .bucketName(siteDomain) - .websiteIndexDocument("index.html") - .websiteErrorDocument("error.html") - .publicReadAccess(false) - // The default removal policy is RETAIN, which means that cdk destroy will not attempt - // to delete - // the new bucket, and it will remain in your account until manually deleted. By - // setting the policy to - // DESTROY, cdk destroy will attempt to delete the bucket, but will error if the - // bucket is not empty. - .removalPolicy(RemovalPolicy.DESTROY) - .build(); - - CfnOutput.Builder.create(this, "Bucket") - .description("Bucket Name") - .value(siteBucket.getBucketName()) - .build(); - - // TLS certificate - final ICertificate certificate = - DnsValidatedCertificate.Builder.create(this, "SiteCertificate") - .domainName(siteDomain) - .hostedZone(zone) - .build(); - - CfnOutput.Builder.create(this, "Certificate") - .description("Certificate ARN") - .value(certificate.getCertificateArn()) - .build(); - - // CloudFront distribution that provides HTTPS - - List behavioursList = new ArrayList<>(1); - behavioursList.add(Behavior.builder().isDefaultBehavior(true).build()); - - List sourceConfigurationsList = new ArrayList<>(1); - sourceConfigurationsList.add( - SourceConfiguration.builder() - .s3OriginSource(S3OriginConfig.builder().s3BucketSource(siteBucket).build()) - .behaviors(behavioursList) - .build()); - - CloudFrontWebDistribution distribution = - CloudFrontWebDistribution.Builder.create(this, "SiteDistribution") - .viewerCertificate(ViewerCertificate.fromAcmCertificate(certificate, ViewerCertificateOptions - .builder() - .aliases(siteDomainList) - .sslMethod(SSLMethod.SNI) - .securityPolicy(SecurityPolicyProtocol.TLS_V1_1_2016) - .build() - )) - .originConfigs(sourceConfigurationsList) - .build(); - - CfnOutput.Builder.create(this, "DistributionId") - .description("CloudFront Distribution Id") - .value(distribution.getDistributionId()) - .build(); - - // Route53 alias record for the CloudFront distribution - - ARecord.Builder.create(this, "SiteAliasRecord") - .recordName(siteDomain) - .target(RecordTarget.fromAlias(new CloudFrontTarget(distribution))) - .zone(zone) - .build(); - - // Deploy site contents to S3 bucket - List sources = new ArrayList<>(1); - sources.add(Source.asset("./site-contents")); - - BucketDeployment.Builder.create(this, "DeployWithInvalidation") - .sources(sources) - .destinationBucket(siteBucket) - .distribution(distribution) - .build(); - - } catch (Exception e) { - e.printStackTrace(); - } - } -} From 40bfbe42225deb62e15f30ff9e09d6ef4d505467 Mon Sep 17 00:00:00 2001 From: Michael Kaiser Date: Fri, 27 Dec 2024 16:19:42 -0600 Subject: [PATCH 3/3] Fix(python/ecs/alb): Swap to launchtemplates Fixes #1086 --- .../app.py | 41 +++++++++++++------ 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/python/ecs/ecs-service-with-advanced-alb-config/app.py b/python/ecs/ecs-service-with-advanced-alb-config/app.py index d1b6881736..6fb9998ba9 100644 --- a/python/ecs/ecs-service-with-advanced-alb-config/app.py +++ b/python/ecs/ecs-service-with-advanced-alb-config/app.py @@ -3,86 +3,101 @@ aws_ec2 as ec2, aws_elasticloadbalancingv2 as elbv2, aws_ecs as ecs, + aws_iam as iam, App, CfnOutput, Duration, Stack ) +# Initialize the CDK app and stack app = App() stack = Stack(app, "sample-aws-ec2-integ-ecs") -# Create a cluster +# Create VPC with 2 Availability Zones vpc = ec2.Vpc( stack, "MyVpc", max_azs=2 ) +# Create ECS cluster in the VPC cluster = ecs.Cluster( stack, 'EcsCluster', vpc=vpc ) +# Create Auto Scaling Group for ECS cluster using launchtemplates +# Uses t3.micro instances with Amazon Linux 2 ECS-optimized AMI asg = autoscaling.AutoScalingGroup( stack, "DefaultAutoScalingGroup", - instance_type=ec2.InstanceType.of( + vpc=vpc, + launch_template=ec2.LaunchTemplate(stack, "LaunchTemplate", + instance_type=ec2.InstanceType.of( ec2.InstanceClass.BURSTABLE3, ec2.InstanceSize.MICRO), - machine_image=ecs.EcsOptimizedImage.amazon_linux2(), - vpc=vpc + machine_image=ecs.EcsOptimizedImage.amazon_linux2023(), + user_data=ec2.UserData.for_linux(), + role=iam.Role(stack, "LaunchTemplateRole", + assumed_by=iam.ServicePrincipal("ec2.amazonaws.com") + ) + ) ) +# Create and add capacity provider to the cluster capacity_provider = ecs.AsgCapacityProvider(stack, "AsgCapacityProvider", auto_scaling_group=asg ) - cluster.add_asg_capacity_provider(capacity_provider) -# Create Task Definition +# Define ECS Task Definition task_definition = ecs.Ec2TaskDefinition( stack, "TaskDef") +# Add container to task definition +# Uses sample container image with 256MB memory limit container = task_definition.add_container( "web", image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample"), memory_limit_mib=256 ) + +# Expose port 80 port_mapping = ecs.PortMapping( container_port=80, host_port=0, protocol=ecs.Protocol.TCP ) - container.add_port_mappings(port_mapping) -# Create Service +# Create ECS Service using the task definition service = ecs.Ec2Service( stack, "Service", cluster=cluster, task_definition=task_definition ) - -# Create ALB +# Create Application Load Balancer +# Internet-facing ALB in the VPC lb = elbv2.ApplicationLoadBalancer( stack, "LB", vpc=vpc, internet_facing=True ) +# Add ALB listener on port 80 listener = lb.add_listener( "PublicListener", port=80, open=True ) -asg.connections.allow_from(lb, port_range=ec2.Port.tcp_range(32768, 65535), description="allow incoming traffic from ALB") +# Configure health check for target group health_check = elbv2.HealthCheck( interval=Duration.seconds(60), path="/health", timeout=Duration.seconds(5) ) -# Attach ALB to ECS Service +# Attach ALB to ECS Service with health check configuration listener.add_targets( "ECS", port=80, @@ -90,9 +105,11 @@ health_check=health_check, ) +# Output the ALB DNS name CfnOutput( stack, "LoadBalancerDNS", value="http://"+lb.load_balancer_dns_name ) +# Synthesize the stack app.synth()