access_entries variable with type HYBRID_LINUX.
SSM (default)
Hybrid nodes connect via AWS Systems Manager. No certificate infrastructure is required. SSM provisions temporary credentials that assume the hybrid node role.
IAM Roles Anywhere
Hybrid nodes use X.509 certificates and a trust anchor to obtain temporary credentials. Useful when you want PKI-based authentication independent of SSM connectivity.
Usage
- SSM (default)
- IAM Roles Anywhere
The
arn output of this module is the value you pass to principal_arn in the root module’s access_entries. This is what allows the hybrid node’s credentials to be recognized by the EKS cluster.Key inputs
Name of the IAM role (and prefix for the associated policy). When using the role name as a fixed reference, set
use_name_prefix = false.Use
name as a prefix for uniqueness. Set to false when you need the exact role name in tooling or access entry references.Enable IAM Roles Anywhere. When
true, the module also creates a Roles Anywhere trust anchor and profile, and an intermediate IAM role used in the credential vending chain.ARNs of existing IAM Roles Anywhere trust anchors. Required when
enable_ira = true and you want to use pre-existing anchors instead of creating a new one.Source type for the trust anchor. Accepted values:
CERTIFICATE_BUNDLE, AWS_ACM_PCA. Required when enable_ira = true and creating a new trust anchor.PEM-encoded X.509 certificate bundle for the trust anchor. Used when
ira_trust_anchor_source_type = "CERTIFICATE_BUNDLE".ARN of the ACM Private CA that issued the trust anchor certificate. Used when
ira_trust_anchor_source_type = "AWS_ACM_PCA".Allow hybrid nodes to host EKS Pod Identity agent. Adds the necessary trust policy statement so pods running on hybrid nodes can use Pod Identity.
List of EKS cluster ARNs the node role is allowed to call
eks:DescribeCluster on. Defaults to all clusters; scope this down in production.ARN of a permissions boundary policy to attach to the IAM role.
Tags applied to all resources created by this module.
Key outputs
| Output | Description |
|---|---|
arn | ARN of the hybrid node IAM role — use this as principal_arn in access_entries |
name | Name of the hybrid node IAM role |
unique_id | Stable unique identifier for the IAM role |
intermediate_role_arn | ARN of the intermediate IAM role (IAM Roles Anywhere only) |
intermediate_role_name | Name of the intermediate IAM role |
How it integrates with the root module
Hybrid nodes are declared via the root module’sremote_network_config variable, which configures the VPC CNI for remote node connectivity. The access entry (created separately in access_entries) is what allows the node role’s credentials to authenticate.
Resources created
SSM mode (default)
SSM mode (default)
aws_iam_role.this— hybrid node role with SSM trust policyaws_iam_policy.this— EKS hybrid node policy (describe cluster, etc.)aws_iam_role_policy_attachment.this— attaches the policy to the role
IAM Roles Anywhere mode (enable_ira = true)
IAM Roles Anywhere mode (enable_ira = true)
aws_iam_role.this— hybrid node roleaws_iam_policy.this— EKS hybrid node policyaws_iam_role_policy_attachment.this— attaches the policyaws_iam_role.intermediate— intermediate role used in the credential chainaws_iam_policy.intermediate— policy for the intermediate roleaws_iam_role_policy_attachment.intermediate— attaches the intermediate policyaws_rolesanywhere_trust_anchor.this— trust anchor (when creating a new one)aws_rolesanywhere_profile.this— Roles Anywhere profile
