-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
b85c599
commit b00029f
Showing
5 changed files
with
54 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
2cda6da18c84aa5a3dfb038ab32be4fac363af21 | ||
157ee0f570c012b68a9e4f2575ff7a48be7dfcc4 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
# Public internet access | ||
|
||
Some applications depend on external services that are not provided directly by AWS. External services include: | ||
|
||
1. Software as a service (SaaS) providers like New Relic | ||
2. Custom API applications in the same git repository | ||
|
||
Applications that depend on external services need access to the public internet via a NAT (Network Address Translation) gateway. This document describes how to configure public internet access for your application. The setup process will: | ||
|
||
1. Create a [NAT gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) for each availability zone in your virtual network | ||
|
||
Note: To access services that are provided directly by AWS, you can access them over the public internet by enabling public internet access, or you can alternatively use [VPC endpoints](https://docs.aws.amazon.com/whitepapers/latest/aws-privatelink/what-are-vpc-endpoints.html) to keep network traffic entirely within the VPC. | ||
|
||
## 1. Configure `has_external_non_aws_service` property in app-config module | ||
|
||
In the `infra/<app_name>/app-config` module, set `has_external_non_aws_service` to `true`. | ||
|
||
## 2. Create or update the network | ||
|
||
If you are creating new network(s), follow the instructions in [set up network](./set-up-network.md) | ||
|
||
If you are updating existing networks, run the following command for each network used by your application's environments (look at `network_name` for each environment in your application's `app-config` module). | ||
|
||
```bash | ||
make infra-update-network NETWORK_NAME=<NETWORK_NAME> | ||
``` | ||
|
||
## 3. Check that your application can access the internet | ||
|
||
Check that your application can access the internet. If your application already has an endpoint or background job that calls the internet, you can exercise that code path without needing to re-deploy the application. If not, you can test internet access by introducing a simple endpoint that accesses some public URL (e.g. google.com). | ||
|
||
Repeat this step for each application environment. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters