Skip to content

Commit

Permalink
docs: import ALB (#5454)
Browse files Browse the repository at this point in the history
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the Apache 2.0 License.
  • Loading branch information
huanjani authored Nov 9, 2023
1 parent 7e93220 commit d5b274c
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 5 deletions.
3 changes: 2 additions & 1 deletion site/content/blogs/release-v132.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,10 @@ The `--watch` flag watches your workspace and rebuilds your containers when you

## Imported ALBs

Copilot now introduces a new field `http.alb` in the [Load-Balanced Web Service manifest](../docs/manifest/lb-web-service.en.md). Rather than letting Copilot create a new Application Load Balancer in your environment to be shared among all load-balanced services, you may designate an existing public-facing ALB for a specific Load-Balanced Web Service (LBWS). Specify the ARN or name of an ALB from your VPC in your LBWS manifest:
Copilot now supports the new field `http.alb` in the [Load-Balanced Web Service manifest](../docs/manifest/lb-web-service.en.md). Rather than letting Copilot create a new Application Load Balancer in your environment to be shared among all load-balanced services, you may designate an existing public-facing ALB for a specific Load-Balanced Web Service (LBWS). Specify the ARN or name of an ALB from your VPC in your LBWS manifest:

```yaml
http:
alb: [name or ARN]
```
For imported ALBs, Copilot does not manage DNS-related resources like certificates.
7 changes: 7 additions & 0 deletions site/content/docs/concepts/environments.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,13 @@ Optionally, when you set up an application, you can provide a domain name that y

An internal ALB is created when a Backend Service with [`http`](../manifest/backend-service.en.md#http) configured in its manifest is deployed in an environment. For an HTTPS endpoint, use the [`--import-cert-arns`](../commands/env-init.en.md#what-are-the-flags) flag when running `copilot env init` and import a VPC with only private subnets. For more on internal ALBs, go [here](../developing/internal-albs.en.md).

If you already have a public-facing ALB in your VPC and would like to use it instead of letting Copilot create one, specify that ALB by name or ARN in your Load-Balanced Web Service's manifest before deploying it to the environment:
```yaml
http:
alb: [name or ARN]
```
Your imported ALB will be associated with only that service (and any others that similarly import it), rather than shared among all load-balanced services in the environment.
## Customize your Environment
You can import your existing environment resources or configure the default ones by using flags with commands or by changing your [env manifest](../manifest/environment.en.md). If you want to customize more types of resources than are currently configurable, feel free to bring your use cases and cut an issue!
Expand Down
4 changes: 2 additions & 2 deletions site/content/docs/concepts/services.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ This option is suitable for HTTP or TCP services with steady request volumes tha
require advanced configuration.

Note that a Copilot-managed Application Load Balancer is an environment-level resource, and is shared by all Load Balanced Web Services
within the environment. To learn more, go [here](environments.en.md#load-balancers-and-dns). In contrast, a Network Load Balancer
is a service-level resource, and hence is not shared across services. As of v1.32.0, you have the option to import an existing ALB.
within the environment. As of v1.32.0, you have the option to import an existing ALB at the service level by specifying it in your [workload manifest](../manifest/lb-web-service.en.md#http-alb). To learn more, go [here](environments.en.md#load-balancers-and-dns). In contrast, a Network Load Balancer
is a service-level resource, and hence is not shared across services.

Below is a diagram for a Load Balanced Web Service that involves an Application Load Balancer only.

Expand Down
4 changes: 2 additions & 2 deletions site/content/docs/manifest/lb-web-service.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -283,8 +283,8 @@ at least one of Application Load Balancer or Network Load Balancer must be enabl
<span class="parent-field">http.</span><a id="http-path" href="#http-path" class="field">`path`</a> <span class="type">String</span>
Requests to this path will be forwarded to your service. Each listener rule should listen on a unique path.

<span class="parent-field">http.</span><a id="http-alb" href="#http-alb" class="field">`alb`</a> <span class="type">String</span>
The ARN or name of an existing public-facing ALB to import. Listener rules will be added to your listener(s).
<span class="parent-field">http.</span><a id="http-alb" href="#http-alb" class="field">`alb`</a> <span class="type">String</span> <span class="version">Added in [v1.32.0](../../blogs/release-v132.en.md#imported-albs)</span>
The ARN or name of an existing public-facing ALB to import. Listener rules will be added to your listener(s). Copilot will not manage DNS-related resources like certificates.

{% include 'http-healthcheck.en.md' %}

Expand Down

0 comments on commit d5b274c

Please sign in to comment.