From 899a4e20ca23b316954403650b1ec95909791c53 Mon Sep 17 00:00:00 2001 From: milldr Date: Tue, 10 Sep 2024 14:53:51 -0400 Subject: [PATCH 1/2] Introduce ECS Partial Task Definitions & GitHub OIDC setup --- .../github-actions/github-oidc-with-aws.mdx | 12 +- .../ecs-partial-task-definitions.mdx | 221 ++++++++++++++++++ package-lock.json | 7 +- .../assets/ecs-partial-task-definitions.png | Bin 0 -> 119726 bytes 4 files changed, 233 insertions(+), 7 deletions(-) create mode 100644 docs/layers/software-delivery/ecs-ecspresso/ecs-partial-task-definitions.mdx create mode 100644 static/assets/ecs-partial-task-definitions.png diff --git a/docs/layers/github-actions/github-oidc-with-aws.mdx b/docs/layers/github-actions/github-oidc-with-aws.mdx index 4b6787357..4e20355c8 100644 --- a/docs/layers/github-actions/github-oidc-with-aws.mdx +++ b/docs/layers/github-actions/github-oidc-with-aws.mdx @@ -88,10 +88,18 @@ sequenceDiagram ### Deploy GitHub OIDC Provider Component After deploying the [GitHub OIDC Provider component](/components/library/aws/github-oidc-provider/) into an account, you should see the Identity Provider in IAM in the AWS Web Console. + + Deploy this component in each account where GitHub Actions need to assume a role. + + + - Import `catalog/github-oidc-provider` in the `gbl` stack for the given account + - Deploy the `github-oidc-provider` component: `atmos terraform apply github-oidc-provider -s plat-gbl-dev` + + - ### Configure GitHub OIDC Mixin Role and Policy + ### Option 1: Configure GitHub OIDC Mixin Role and Policy Use the mixin to grant GitHub the ability to assume a role for a specific component. @@ -100,7 +108,7 @@ sequenceDiagram - ### Deploy GitHub OIDC Role Component + ### Option 2: Deploy GitHub OIDC Role Component Deploy the [GitHub OIDC Role component](/components/library/aws/github-oidc-role/) to create a generalized role for GitHub to access several resources in AWS. diff --git a/docs/layers/software-delivery/ecs-ecspresso/ecs-partial-task-definitions.mdx b/docs/layers/software-delivery/ecs-ecspresso/ecs-partial-task-definitions.mdx new file mode 100644 index 000000000..f360e0eef --- /dev/null +++ b/docs/layers/software-delivery/ecs-ecspresso/ecs-partial-task-definitions.mdx @@ -0,0 +1,221 @@ +--- +title: "ECS Partial Task Definitions" +sidebar_label: "Partial Task Definitions" +sidebar_position: 20 +--- + +import Intro from '@site/src/components/Intro'; +import Steps from '@site/src/components/Steps'; + + + This document describes what partial task definitions are and how we can use them to set up ECS services using Terraform and GitHub Actions. + + +## The Problem + +Managing ECS Services is challenging. Ideally, we want our services to be managed by Terraform so everything is living +in code. However, we also want to update the task definition via GitOps as through the GitHub release lifecycle. This is +challenging because Terraform can create the task definition, but if updated by the application repository, the task +definition will be out of sync with the Terraform state. + +Managing it entirely through Terraform means we cannot easily update the newly built image by the application repository +unless we directly commit to the infrastructure repository, which is not ideal. + +Managing it entirely through the application repository means we cannot codify the infrastructure and have to hardcode +ARNs, secrets, and other infrastructure-specific configurations. + +## Introduction + +ECS Partial task definitions is the idea of breaking the task definition into smaller parts. This allows for easier +management of the task definition and makes it easier to update the task definition. + +We do this by setting up Terraform to manage a portion of the task definition, and the application repository to manage +another portion. + +The Terraform (infrastructure) portion is created first. It will create an ECS Service in ECS, and then upload the task +definition JSON to S3 as `task-template.json`.The application repository will have a `task-definition.json` git +controlled, during the development lifecycle, the application repository will download the task definition from S3, +merge the task definitions, then update the ECS Service with the new task definition. Finally, GitHub actions will +update the S3 bucket with the deployed task definition under `task-definition.json`. If Terraform is planned again, it +will use the new task definition as the base for the next deployment, thus not resetting the image or application +configuration. + +
+ +### Pros + +The **benefit** to using this approach is that we can manage the task definition portion in Terraform with the +infrastructure, meaning secrets, volumes, and other ARNs can be managed in Terraform. If a filesystem ID updates we can +re-apply Terraform to update the task definition with the new filesystem ID. The application repository can manage the +container definitions, environment variables, and other application-specific configurations. This allows developers who +are closer to the application to quickly update the environment variables or other configuration. + +### Cons + +The drawback to this approach is that it is more complex than managing the task definition entirely in Terraform or the +application repository. It requires more setup and more moving parts. It can be confusing for a developer who is not +familiar with the setup to understand how the task definition is being managed and deployed. + +This also means that when something goes wrong, it becomes harder to troubleshoot as there are more moving parts. + +### Getting Setup + +#### Pre-requisites + +- Application Repository - [Cloud Posse Example ECS Application](https://github.com/cloudposse-examples/app-on-ecs) +- Infrastructure Repository +- ECS Cluster - [Cloud Posse Docs](https://docs.cloudposse.com/components/library/aws/ecs/) - + [Component](https://github.com/cloudposse/Terraform-aws-components/tree/main/modules/ecs). +- `ecs-service` - [Cloud Posse Docs](https://docs.cloudposse.com/components/library/aws/ecs-service/) - + [Component](https://github.com/cloudposse/Terraform-aws-components/tree/main/modules/ecs-service). + - **Must** use the Cloud Posse Component. + - [`v1.416.0`](https://github.com/cloudposse/Terraform-aws-components/releases/tag/1.416.0) or later. +- S3 Bucket - [Cloud Posse Docs](https://docs.cloudposse.com/components/library/aws/s3-bucket/) - + [Component](https://github.com/cloudposse/Terraform-aws-components/tree/main/modules/s3-bucket). + +#### Steps + + + +1. Set up the S3 Bucket that will store the task definition. + +
This bucket should be in the same account as the ECS Cluster. + +
+
+ S3 Bucket Default Definition + + ```yaml + components: + terraform: + s3-bucket/defaults: + metadata: + type: abstract + vars: + enabled: true + account_map_tenant_name: core + # Suggested configuration for all buckets + user_enabled: false + acl: "private" + grants: null + force_destroy: false + versioning_enabled: false + allow_encrypted_uploads_only: true + block_public_acls: true + block_public_policy: true + ignore_public_acls: true + restrict_public_buckets: true + allow_ssl_requests_only: true + lifecycle_configuration_rules: + - id: default + enabled: true + abort_incomplete_multipart_upload_days: 90 + filter_and: + prefix: "" + tags: {} + # Move to Glacier after 2 years + transition: + - storage_class: GLACIER + days: 730 + # Never expire + expiration: {} + # Versioning isnt enabled, but these default values are still required + noncurrent_version_transition: + - storage_class: GLACIER + days: 90 + noncurrent_version_expiration: {} + ``` + +
+ + ```yaml + import: + - catalog/s3-bucket/defaults + + components: + terraform: + s3-bucket/ecs-tasks-mirror: #NOTE this is the component instance name. + metadata: + component: s3-bucket + inherits: + - s3-bucket/defaults + vars: + enabled: true + name: ecs-tasks-mirror + ``` + +2. Create an ECS Service in Terraform + +
Set up the ECS Service in Terraform using the + [`ecs-service` component](https://github.com/cloudposse/Terraform-aws-components/tree/main/modules/ecs-service). This + will create the ECS Service and upload the task definition to the S3 bucket. + +
To enable Partial Task Definitions, set the variable `s3_mirror_name` to be the component instance name of the + bucket to mirror to. For example `s3-bucket/ecs-tasks-mirror` + + ```yaml + components: + terraform: + ecs-services/defaults: + metadata: + component: ecs-service + type: abstract + vars: + enabled: true + ecs_cluster_name: "ecs/cluster" + s3_mirror_name: s3-bucket/ecs-tasks-mirror + ``` + +3. Set up an Application repository with GitHub workflows. + + An example application repository can be found [here](https://github.com/cloudposse-examples/app-on-ecs). + +
Two things need to be pulled from this repository: + + - The `task-definition.json` file under `deploy/task-definition.json` + - The GitHub Workflows. + + An important note about the GitHub Workflows, in the example repository they all live under `.github/workflows`. This + is done so development of workflows can be fast, however we recommend moving the shared workflows to a separate + repository and calling them from the application repository. The application repository should only contain the + workflows `main-branch.yaml`, `release.yaml` and `feature-branch.yml`. + +
To enable Partial Task Definitions in the workflows, the call to + [`cloudposse/github-action-run-ecspresso` (link)](https://github.com/cloudposse-examples/app-on-ecs/blob/main/.github/workflows/workflow-cd-ecspresso.yml#L133-L147) + should have the input `mirror_to_s3_bucket` set to the S3 bucket name. the variable `use_partial_taskdefinition` + should be set to `'true'` + +
+ Example GitHub Action Step + + ```yaml + - name: Deploy + uses: cloudposse/github-action-deploy-ecspresso@0.6.0 + continue-on-error: true + if: ${{ steps.db_migrate.outcome != 'failure' }} + id: deploy + with: + image: ${{ steps.image.outputs.out }} + image-tag: ${{ inputs.tag }} + region: ${{ steps.environment.outputs.region }} + operation: deploy + debug: false + cluster: ${{ steps.environment.outputs.cluster }} + application: ${{ steps.environment.outputs.name }} + taskdef-path: ${{ inputs.path }} + mirror_to_s3_bucket: ${{ steps.environment.outputs.s3-bucket }} + use_partial_taskdefinition: "true" + timeout: 10m + ``` + +
+ +
+ +## Operation + +Changes through Terraform will not immediately be reflected in the ECS Service. This is because the task template has +been updated, but whatever was in the `task-definition.json` file in the S3 bucket will be used for deployment. + +To update the ECS Service after updating the Terraform for it, you must deploy through GitHub Actions. This will then +download the new template and create a new updated `task-defintion.json` to store in s3. diff --git a/package-lock.json b/package-lock.json index 3f666001f..8d20ec124 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6428,8 +6428,8 @@ "license": "MIT" }, "node_modules/custom-loaders": { - "resolved": "plugins/custom-loaders", - "link": true + "version": "0.0.0", + "resolved": "file:plugins/custom-loaders" }, "node_modules/cytoscape": { "version": "3.30.1", @@ -18860,9 +18860,6 @@ "type": "github", "url": "https://github.com/sponsors/wooorm" } - }, - "plugins/custom-loaders": { - "version": "0.0.0" } } } diff --git a/static/assets/ecs-partial-task-definitions.png b/static/assets/ecs-partial-task-definitions.png new file mode 100644 index 0000000000000000000000000000000000000000..cbdfeef9519addf1df6776eb2592ffe7a36fd5c1 GIT binary patch literal 119726 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⪙ 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 Date: Tue, 10 Sep 2024 17:02:22 -0400 Subject: [PATCH 2/2] Add shared ECS Task Definition S3 Bucket deployment --- docs/layers/software-delivery/ecs-ecspresso/setup.mdx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/docs/layers/software-delivery/ecs-ecspresso/setup.mdx b/docs/layers/software-delivery/ecs-ecspresso/setup.mdx index 9ee445561..147c4c414 100644 --- a/docs/layers/software-delivery/ecs-ecspresso/setup.mdx +++ b/docs/layers/software-delivery/ecs-ecspresso/setup.mdx @@ -23,7 +23,8 @@ import AtmosWorkflow from '@site/src/components/AtmosWorkflow'; | 3. Validate the environment configuration | Click Ops | | 4. Create a GitHub PAT | Click Ops | | 5. Set all Example App repository secrets | Click Ops | -| 6. Deploy the example ECS services | `atmos workflow deploy/app-on-ecs -f app-on-ecs` | +| 6. Deploy the shared ECS Task Definition S3 Bucket | `atmos apply s3-bucket/ecs-tasks-mirror -s < YOUR STACK >` | +| 7. Deploy the example ECS services | `atmos workflow deploy/app-on-ecs -f app-on-ecs` | @@ -306,6 +307,12 @@ We do not recommend keeping all shared workflows in the same repository as in th + + ### Configure the S3 Mirror Bucket, if not already configured + + If you haven't already configured the S3 mirror bucket, deploy and configure the shared S3 bucket for ECS tasks definitions now. Follow the [ECS Partial Task Definitions guide](/layers/software-delivery/ecs-ecspresso/ecs-partial-task-definitions/#steps) + + ### Deploy the Example App ECS Service @@ -368,7 +375,7 @@ We do not recommend keeping all shared workflows in the same repository as in th - Apply this component with the following: + Finally, apply the `ecs-services/example-app-on-ecs` component to deploy the Example App ECS service.