From 73930ebbb48a53413a4b0c20b278c4572ccdc06e Mon Sep 17 00:00:00 2001 From: Dan Heath <76443935+Dan-Heath@users.noreply.github.com> Date: Thu, 5 Sep 2024 20:49:30 +0000 Subject: [PATCH 1/3] backport of commit ea42a0054ec4742e11d7f271463b779b8c510adf --- .../docs/install-boundary/architecture/high-availability.mdx | 3 +++ .../docs/install-boundary/architecture/system-requirements.mdx | 3 +++ 2 files changed, 6 insertions(+) diff --git a/website/content/docs/install-boundary/architecture/high-availability.mdx b/website/content/docs/install-boundary/architecture/high-availability.mdx index 1a73fd32dd..b966471136 100644 --- a/website/content/docs/install-boundary/architecture/high-availability.mdx +++ b/website/content/docs/install-boundary/architecture/high-availability.mdx @@ -31,6 +31,9 @@ The workers must be able to establish a connection to the hosts with which they Boundary requires an external [Postgres](https://www.postgresql.org/) and [KMS](https://aws.amazon.com/kms/). In the example above, we're using AWS managed services for these components. For Postgres, we're using [RDS](https://aws.amazon.com/rds/) and for KMS we're using Amazon's [Key Management Service](https://aws.amazon.com/kms/). +For more information about configuring the Postgres database for high availability, refer to the [Postgres high availability, load balancing, and replication documentation](https://www.postgresql.org/docs/current/high-availability.html). +If you use a managed service, refer to your provider's PostgreSQL high availability documentation. + ### API and console load balancer Load balancing the controller allows operators to secure the ingress to the Boundary system. We recommend placing all Boundary servers in private networks and using load balancing techniques to expose services such as the API and administrative console to public networks. In the high availability architecture, we recommend load balancing using a layer 7 load balancer and further constraining ingress to that load balancer with layer 4 constraints such as [security groups](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) or [IP tables](https://wiki.archlinux.org/index.php/Iptables). diff --git a/website/content/docs/install-boundary/architecture/system-requirements.mdx b/website/content/docs/install-boundary/architecture/system-requirements.mdx index 4aeae51c57..e479bba4d2 100644 --- a/website/content/docs/install-boundary/architecture/system-requirements.mdx +++ b/website/content/docs/install-boundary/architecture/system-requirements.mdx @@ -145,6 +145,9 @@ If you use a [high availability](/boundary/docs/install-boundary/high-availabili In non-HA configurations, the Boundary servers must have access. Worker nodes never need access to the database. +For more information about configuring the Postgres database for HA, refer to the [Postgres high availability, load balancing, and replication documentation](https://www.postgresql.org/docs/current/high-availability.html). +If you use a managed service, refer to your provider's PostgreSQL high availability documentation. + ### Database users and roles After the database has been initialized, the database user for a Boundary controller requires only permissions for [data manipulation](https://www.postgresql.org/docs/current/dml.html) operations (select, insert, update, and delete). From c148f1865cce965cc9dc75cc3b7d7c92d9c0c032 Mon Sep 17 00:00:00 2001 From: Dan Heath <76443935+Dan-Heath@users.noreply.github.com> Date: Thu, 5 Sep 2024 21:04:41 +0000 Subject: [PATCH 2/3] backport of commit 45be269ee7ce3138f8ca8b7cc4be2f9952c4cf7c --- .../install-boundary/architecture/high-availability.mdx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/website/content/docs/install-boundary/architecture/high-availability.mdx b/website/content/docs/install-boundary/architecture/high-availability.mdx index b966471136..2645bf2084 100644 --- a/website/content/docs/install-boundary/architecture/high-availability.mdx +++ b/website/content/docs/install-boundary/architecture/high-availability.mdx @@ -31,7 +31,12 @@ The workers must be able to establish a connection to the hosts with which they Boundary requires an external [Postgres](https://www.postgresql.org/) and [KMS](https://aws.amazon.com/kms/). In the example above, we're using AWS managed services for these components. For Postgres, we're using [RDS](https://aws.amazon.com/rds/) and for KMS we're using Amazon's [Key Management Service](https://aws.amazon.com/kms/). -For more information about configuring the Postgres database for high availability, refer to the [Postgres high availability, load balancing, and replication documentation](https://www.postgresql.org/docs/current/high-availability.html). +### Database + +Boundary controllers must be able to reach the PostgreSQL database. +If you use a [high availability](/boundary/docs/install-boundary/high-availability) (HA) configuration, then the controllers must have access to the PostgreSQL server infrastructure. + +For more information about configuring the Postgres database for HA, refer to the [Postgres high availability, load balancing, and replication documentation](https://www.postgresql.org/docs/current/high-availability.html). If you use a managed service, refer to your provider's PostgreSQL high availability documentation. ### API and console load balancer From 67c33d211cf5642d2077025ba05687f6f41425a4 Mon Sep 17 00:00:00 2001 From: Dan Heath <76443935+Dan-Heath@users.noreply.github.com> Date: Thu, 5 Sep 2024 21:12:15 +0000 Subject: [PATCH 3/3] backport of commit fbc584eed751ae5167768d42741d3645aa4d688e --- .../docs/install-boundary/architecture/high-availability.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/content/docs/install-boundary/architecture/high-availability.mdx b/website/content/docs/install-boundary/architecture/high-availability.mdx index 2645bf2084..8d50d94feb 100644 --- a/website/content/docs/install-boundary/architecture/high-availability.mdx +++ b/website/content/docs/install-boundary/architecture/high-availability.mdx @@ -16,7 +16,7 @@ The following ports should be available: - Clients must have access to the Controller's `api` port (default 9200) - Clients must have access to the Worker's port (default 9202) - Workers must have access to the Controller's `cluster` port (default 9201) -- Workers must have a route and port access to the hosts defined within the system in order to provide connectivity +- Workers must have a route and port access to the hosts defined within the system to provide connectivity ## Architecture