* docs: TS public beta docs * docs: Updates * docs: Move Client Agent sections * docs: Updates * docs: Fix typo * docs: Remove x86 * docs: Add lead in sentence for links * docs: FAQ updates * docs: Edits and file name fixes * Update website/content/docs/api-clients/client-agent.mdx Co-authored-by: Irena Rindos <irenarindos@users.noreply.github.com> * docs: Add alias refresh interval * docs: Remove recurse only option * Update website/content/docs/api-clients/client-agent.mdx Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com> * Update website/content/docs/api-clients/client-agent.mdx Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com> * Update website/content/docs/api-clients/client-agent.mdx Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com> * Update website/content/docs/api-clients/client-agent.mdx Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com> * Update website/content/docs/api-clients/client-agent.mdx Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com> * Update website/content/docs/api-clients/client-agent.mdx Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com> * Update website/content/docs/api-clients/client-agent.mdx Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com> * Update website/content/docs/api-clients/client-agent.mdx Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com> * Update website/content/docs/api-clients/client-agent.mdx Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com> * Update website/content/docs/concepts/transparent-sessions.mdx Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com> * Update website/content/docs/concepts/transparent-sessions.mdx Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com> * Update website/content/docs/concepts/transparent-sessions.mdx Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com> * Update website/content/docs/concepts/transparent-sessions.mdx Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com> * Update website/content/docs/concepts/transparent-sessions.mdx Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com> * docs: Updates from code review * docs: Update support request * docs: Fix a typo * Update website/content/docs/api-clients/client-agent.mdx Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com> * docs: Delete log example, create tabs * client-agent: rework configuration docs The section in the configuration talking about reloading the config was repetitive and verbose. Combine the different sections into two separate sections, one for updating general values and one for reloading values, on MacOS only. This also removes the specific Log section. * docs: Minor rewrites * client-agent: consistently use $ for shell sessions * aliases: discourage single-word aliases The use of single-word aliases breaks Transparent Sessions on Windows, so we should discourage it. See ICU-15255 for more information. * transparent-sessions: add known issues Add two new known issues. * client-agent: add troubleshooting section * transparent-sessions: emphasize troubleshooting guide * correct links I haven't actually validated these links, but they are now consistent with the rest of the links. * Review comments * client-agent: clarify that not all sessions are listed by command * transparent-session: add known issue regarding Windows installer * docs: Minor rewrites * docs: Fix a typo * docs: Add AssumeRole support * docs: Add Backblaze support * docs: Minor revision * docs: Update MinIO reqs * docs: Add supported Hitachi version * docs: Trigger a new build * docs: Clarify Desktop compatibility with control plane * Update website/content/docs/enterprise/supported-versions.mdx Co-authored-by: Robin Beck <stellarsquall@users.noreply.github.com> * docs: Release notes 0.18.0 * docs: Add link to Client Agent docs * docs: Update ts definition * docs: Remove stray line * docs: Fix minor issues with the assembly branch * docs: Move section * docs: Add section * docs: Remove duplicate section --------- Co-authored-by: Irena Rindos <irenarindos@users.noreply.github.com> Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com> Co-authored-by: Robin Beck <stellarsquall@users.noreply.github.com>
121 lines
4.4 KiB
Plaintext
121 lines
4.4 KiB
Plaintext
---
|
|
layout: docs
|
|
page_title: AWS dynamic host catalogs
|
|
description: |-
|
|
An overview of AWS host discovery in Boundary
|
|
---
|
|
# AWS dynamic host catalogs
|
|
Boundary uses dynamic host catalogs to automatically discover AWS EC2 instances and add them as hosts.
|
|
|
|
## Create a host catalog to connect with AWS
|
|
Boundary uses plugins to integrate with a variety of providers. To use
|
|
a dynamic host catalog to integrate with AWS, you create a host catalog of the `plugin` type
|
|
and set the `plugin-name` value to `aws`. You must also provide the specific
|
|
fields needed for Boundary to authenticate with AWS.
|
|
|
|
<Tabs>
|
|
<Tab heading="CLI">
|
|
|
|
```shell-session
|
|
$ boundary host-catalogs create plugin \
|
|
-scope-id $BOUNDARY_PROJECT_ID \
|
|
-plugin-name aws \
|
|
-attr disable_credential_rotation=true \
|
|
-attr region=us-east-1 \
|
|
-secret access_key_id=env://AWS_ACCESS_KEY_ID \
|
|
-secret secret_access_key=env://AWS_SECRET_ACCESS_KEY
|
|
```
|
|
|
|
</Tab>
|
|
<Tab heading="Terraform">
|
|
|
|
```hcl
|
|
resource "boundary_host_catalog_plugin" "aws_host_catalog" {
|
|
name = "AWS Catalog"
|
|
description = "AWS Host Catalog"
|
|
scope_id = boundary_scope.project.id
|
|
plugin_name = "aws"
|
|
|
|
attributes_json = jsonencode({
|
|
"region" = "eu-west-2",
|
|
"disable_credential_rotation" = true })
|
|
secrets_json = jsonencode({
|
|
"access_key_id" = var.aws_access,
|
|
"secret_access_key" = var.aws_secret})
|
|
}
|
|
```
|
|
|
|
</Tab>
|
|
</Tabs>
|
|
|
|
The `scope-id` and `plugin-name` fields are required when you create a
|
|
dynamic host catalog.
|
|
|
|
The fields following the `attr` and `secret` flags are specific to AWS and are required by
|
|
Boundary for authentication.
|
|
|
|
- `disable_credential_rotation`: When set to `true`, Boundary will not rotate the credentials with AWS automatically.
|
|
- `region`: The region to configure the host catalog for. All host sets in this
|
|
catalog will be configured for this region.
|
|
- `role_arn`: The AWS role ARN used for `AssumeRole` authentication. If you provide a `role_arn` value, you must also set `disable_credential_rotation` to `true`.
|
|
- `role_external_id`: The external ID that you configured for the `AssumeRole` provider.
|
|
- `role_session_name`: The session name that you configured for the `AssumeRole` provider.
|
|
- `role_tags`: The key-value pair tags that you configured for the `AssumeRole` provider.
|
|
- `access_key_id`: The access key ID for the IAM user to use with this host
|
|
catalog.
|
|
- `secret_access_key`: The secret access key for the IAM user to use with this
|
|
host catalog.
|
|
|
|
|
|
Refer to [the domain model documentation](/boundary/docs/concepts/domain-model/host-catalogs) for additional fields that you can use when you create host catalogs.
|
|
|
|
## Create a host set to connect with AWS
|
|
[Host sets](/boundary/docs/concepts/domain-model/host-sets) specify which AWS
|
|
filters should be used to identify the discovered hosts that should be added as members.
|
|
|
|
Create a host set using the following command:
|
|
|
|
<Tabs>
|
|
<Tab heading="CLI" group="cli">
|
|
|
|
```shell-session
|
|
$ boundary host-sets create plugin \
|
|
-host-catalog-id $BOUNDARY_HOST_CATALOG_ID \
|
|
-attr filters=tag-key=foo,bar \
|
|
-attr filters=tag-key=baz
|
|
```
|
|
|
|
</Tab>
|
|
<Tab heading="Terraform" group="terraform">
|
|
|
|
```hcl
|
|
resource "boundary_host_set_plugin" "aws_host_set" {
|
|
name = "AWS Host Set"
|
|
description = "AWS Host Set"
|
|
host_catalog_id = boundary_scope.aws_host_catalog.id
|
|
attributes_json = jsonencode({
|
|
"filters" = ["tag-key=foo,bar", "tag-key=baz"] })
|
|
}
|
|
```
|
|
|
|
</Tab>
|
|
</Tabs>
|
|
|
|
The `host-catalog-id` value is a required field that specifies in which host catalog to
|
|
create this host set.
|
|
|
|
Like with the host catalog, the fields passed in after the `attr` flag are
|
|
specific to AWS.
|
|
|
|
The `filters` field contains string filters in the format key=val1,val2. The key corresponds to
|
|
a filter option, and the value(s) are a comma-separated list. For a list of
|
|
filter options, refer to the
|
|
[describe-instances in the AWS CLI reference](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html).
|
|
When the values in a single `filters` field are separated by a comma, either
|
|
can be true for the host to match. When multiple filters fields are provided,
|
|
they must all match for a host to match. In the example above, an instance must
|
|
have either tags `foo` or `bar`, and must have the tag `baz`.
|
|
|
|
For more fields that you can use when creating host sets, refer to
|
|
[the domain model documentation](/boundary/docs/concepts/domain-model/host-sets).
|