이 페이지 개선에 도움 주기
이 사용자 설명서에 기여하고 싶으신가요? 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다. 여러분의 기여는 모두를 위한 더 나은 사용자 설명서를 만드는 데 도움이 됩니다.
하이브리드 노드에 대한 자격 증명 준비
Amazon EKS Hybrid Nodes는 AWS SSM 하이브리드 활성화 또는 AWS IAM Roles Anywhere에서 프로비저닝한 임시 IAM 자격 증명을 사용하여 Amazon EKS 클러스터로 인증합니다. Amazon EKS Hybrid Nodes CLI(nodeadm
)와 함께 AWS SSM 하이브리드 활성화 또는 AWS IAM Roles Anywhere를 사용해야 합니다. AWS SSM 하이브리드 활성화와 AWS IAM Roles Anywhere를 둘 다 사용해서는 안 됩니다. 인증 기관(CA)이 있는 기존 퍼블릭 키 인프라(PKI) 및 온프레미스 환경에 대한 인증서가 없는 경우 AWS SSM 하이브리드 활성화를 사용하는 것이 좋습니다. 온프레미스에 기존 PKI 및 인증서가 있는 경우 AWS IAM Roles Anywhere를 사용합니다.
하이브리드 노드 IAM 역할
하이브리드 노드를 Amazon EKS 클러스터에 연결하려면 먼저 하이브리드 노드 자격 증명에 대해 AWS SSM 하이브리드 활성화 또는 AWS IAM Roles Anywhere와 함께 사용할 IAM 역할을 생성해야 합니다. 클러스터를 생성한 후 이 역할을 Amazon EKS 액세스 항목 또는 aws-auth
ConfigMap 항목과 함께 사용하여 IAM 역할을 Kubernetes 역할 기반 액세스 제어(RBAC)에 매핑합니다. 하이브리드 노드 IAM 역할을 Kubernetes RBAC와 연결하는 방법에 대한 자세한 내용은 하이브리드 노드에 대한 클러스터 액세스 준비 섹션을 참조하세요.
하이브리드 노드 IAM 역할에는 다음과 같은 권한이 있어야 합니다.
-
nodeadm
이eks:DescribeCluster
작업을 사용하여 하이브리드 노드를 클러스터에 연결하는 데 사용되는 클러스터에 대한 정보를 수집할 수 있는 권한입니다.eks:DescribeCluster
작업을 활성화하지 않으면nodeadm
init를 실행할 때nodeadm
에 전달하는 노드 구성에서 Kubernetes API 엔드포인트, 클러스터 CA 번들, 서비스 IPv4 CIDR을 전달해야 합니다. -
AmazonEC2ContainerRegistryPullOnly 정책의 정의에 따라 kubelet이 Amazon Elastic Container Registry(Amazon ECR)의 컨테이너 이미지를 사용할 수 있는 권한입니다.
-
AWS SSM을 사용하는 경우 aws-managed-policy/latest/reference/AmazonSSMManagedInstanceCore.html 정책에 정의된 대로
nodeadm
init가 AWS SSM 하이브리드 활성화를 사용할 수 있는 권한입니다. -
AWS SSM을 사용하는 경우
nodeadm uninstall
에서 인스턴스 등록을 취소하기 위해ssm:DeregisterManagedInstance
작업과ssm:DescribeInstanceInformation
작업을 사용할 수 있는 권한입니다. -
(선택사항) Amazon EKS Pod Identity 에이전트에서
eks-auth:AssumeRoleForPodIdentity
작업을 사용하여 포드에 대한 보안 인증 정보를 검색할 수 있는 권한.
AWS SSM 하이브리드 활성화 설정
AWS SSM 하이브리드 활성화를 설정하기 전에 하이브리드 노드 IAM 역할을 생성하고 구성해야 합니다. 자세한 내용은 하이브리드 노드 IAM 역할 생성 단원을 참조하십시오. AWS Systems Manager 사용 설명서의 하이브리드 활성화를 생성하여 Systems Manager에 노드 등록 지침에 따라 하이브리드 노드에 대한 AWS SSM 하이브리드 활성화를 생성합니다. 수신한 활성화 코드와 ID는 호스트를 Amazon EKS 클러스터에 하이브리드 노드로 등록할 때 nodeadm
과 함께 사용됩니다. 하이브리드 노드용 Amazon EKS 클러스터를 생성하고 준비한 후 나중에 이 단계로 돌아갈 수 있습니다.
중요
활성화를 생성한 방법에 따라, Systems Manager는 활성화 코드 및 ID를 콘솔이나 명령 창에 즉시 반환합니다. 이 정보를 복사하여 안전한 장소에 보관하십시오. 콘솔에서 벗어나거나 명령 창을 닫으면 이 정보가 손실될 수 있습니다. 이 정보가 손실하면 새로운 정품 인증을 생성해야 합니다.
기본적으로 AWS SSM 하이브리드 활성화는 24시간 동안 활성화됩니다. 또는 2024-08-01T00:00:00
과 같은 타임스탬프 형식으로 하이브리드 활성화를 생성할 때 --expiration-date
를 지정할 수 있습니다. AWS SSM을 자격 증명 공급자로 사용하는 경우 하이브리드 노드의 노드 이름은 구성할 수 없으며 AWS SSM에서 자동으로 생성됩니다. AWS Systems Manager 콘솔의 Fleet Manager에서 AWS SSM 관리형 인스턴스를 보고 관리할 수 있습니다. 추가 비용 없이 AWS 리전별로 계정당 최대 1,000개의 표준 하이브리드 활성화 노드를 등록할 수 있습니다. 그러나 1,000개 이상의 하이브리드 노드를 등록하려면 고급 인스턴스 티어를 활성화해야 합니다. Amazon EKS Hybrid Nodes 요금
하이브리드 노드 IAM 역할을 사용하여 AWS SSM 하이브리드 활성화를 생성하는 방법은 아래 예제를 참조하세요. 하이브리드 노드 자격 증명에 AWS SSM 하이브리드 활성화를 사용하는 경우 하이브리드 노드의 이름은 mi-012345678abcdefgh
형식을 가지며 AWS SSM에서 프로비저닝한 임시 자격 증명은 1시간 동안 유효합니다. AWS SSM을 자격 증명 공급자로 사용하는 경우 노드 이름 또는 자격 증명 기간을 변경할 수 없습니다. 임시 자격 증명은 AWS SSM에 의해 자동으로 교체되며 교체는 노드 또는 애플리케이션의 상태에 영향을 주지 않습니다.
EKS 클러스터당 하나의 AWS SSM 하이브리드 활성화를 사용하여 AWS SSM 하이브리드 활성화와 연결된 인스턴스만 등록 취소할 수 있도록 하이브리드 노드 IAM 역할의 AWS SSM ssm:DeregisterManagedInstance
권한 범위를 조정하는 것이 좋습니다. 이 페이지의 예제에서는 EKS 클러스터 ARN이 있는 태그가 사용되며, 이 태그를 사용하여 AWS SSM 하이브리드 활성화를 EKS 클러스터에 매핑할 수 있습니다. 또는 권한 경계 및 요구 사항에 따라 AWS SSM 권한을 조정하는 기본 태그와 방법을 사용할 수 있습니다. 아래 명령의 REGISTRATION_LIMIT
옵션은 AWS SSM 하이브리드 활성화를 사용할 수 있는 시스템 수를 제한하는 데 사용되는 정수입니다(예: 10
).
aws ssm create-activation \ --region AWS_REGION \ --default-instance-name eks-hybrid-nodes \ --description "Activation for EKS hybrid nodes" \ --iam-role AmazonEKSHybridNodesRole \ --tags Key=EKSClusterARN,Value=arn:aws:eks:AWS_REGION:AWS_ACCOUNT_ID:cluster/CLUSTER_NAME \ --registration-limit REGISTRATION_LIMIT
AWS SSM 하이브리드 활성화에 사용할 수 있는 구성 설정에 대한 자세한 내용은 하이브리드 활성화를 생성하여 Systems Manager에 노드 등록의 지침을 검토하세요.
AWS IAM Roles Anywhere 설정
IAM Roles Anywhere 사용 설명서의 IAM Roles Anywhere 시작하기의 지침에 따라 하이브리드 노드 IAM 역할에 대한 임시 IAM 자격 증명에 사용할 트러스트 앵커 및 프로필을 설정합니다. 프로필을 생성할 때 역할을 추가하지 않고도 프로필을 생성할 수 있습니다. 이 프로필을 생성하고, 다음 단계로 돌아가서 하이브리드 노드 IAM 역할을 생성한 다음 생성한 후 프로필에 역할을 추가할 수 있습니다. 또는 이 페이지의 뒷부분에 있는 AWS CloudFormation 단계를 사용하여 하이브리드 노드에 대한 IAM Roles Anywhere 설정을 완료할 수 있습니다.
하이브리드 노드 IAM 역할을 프로필에 추가할 때 AWS IAM Roles Anywhere 콘솔의 프로필 편집 페이지 하단의 사용자 지정 역할 세션 이름 패널에서 사용자 지정 역할 세션 이름 수락을 선택합니다. 이는 CreateProfile
API의 acceptRoleSessionName 필드에 해당합니다. 이렇게 하면 부트스트랩 프로세스 중에 nodeadm
으로 전달하는 구성에서 하이브리드 노드의 사용자 지정 노드 이름을 제공할 수 있습니다. nodeadm init
프로세스 중에 사용자 지정 노드 이름을 전달해야 합니다. 프로필을 생성한 후 사용자 지정 역할 세션 이름을 수락하도록 프로필을 업데이트할 수 있습니다.
AWS IAM Roles Anywhere 프로필의 durationSeconds 필드를 통해 AWS IAM Roles Anywhere로 자격 증명 유효 기간을 구성할 수 있습니다. 기본 지속 시간은 1시간이고 최대 12시간입니다. 하이브리드 노드 IAM 역할의 MaxSessionDuration
설정은 AWS IAM Roles Anywhere 프로필의 durationSeconds
설정보다 커야 합니다. MaxSessionDuration
에 대한 자세한 내용은 UpdateRole API documentation를 참조하세요.
인증 기관(CA)에서 생성하는 시스템별 인증서와 키는 각 하이브리드 노드의 /etc/iam/pki
디렉터리에 배치하고 인증서는 server.pem
, 키는 server.key
의 파일 이름으로 저장해야 합니다.
하이브리드 노드 IAM 역할 생성
이 섹션의 단계를 실행하려면 AWS 콘솔 또는 AWS CLI를 사용하는 IAM 보안 주체에 다음 권한이 있어야 합니다.
-
iam:CreatePolicy
-
iam:CreateRole
-
iam:AttachRolePolicy
-
AWS IAM Roles Anywhere를 사용하는 경우
-
rolesanywhere:CreateTrustAnchor
-
rolesanywhere:CreateProfile
-
iam:PassRole
-
AWS CloudFormation
아직 하지 않은 경우 AWS CLI를 설치하고 구성합니다. 최신 버전의 AWS CLI 설치 또는 업데이트를 참조하세요.
AWS SSM 하이브리드 활성화 단계
CloudFormation 스택은 위에 설명된 권한을 사용하여 하이브리드 노드 IAM 역할을 생성합니다. CloudFormation 템플릿은 AWS SSM 하이브리드 활성화를 생성하지 않습니다.
-
하이브리드 노드용 AWS SSM CloudFormation 템플릿을 다운로드합니다.
curl -OL 'https://raw.githubusercontent.com/aws/eks-hybrid/refs/heads/main/example/hybrid-ssm-cfn.yaml'
-
다음과 같은 옵션으로
cfn-ssm-parameters.json
을 생성합니다.-
ROLE_NAME
을 하이브리드 노드 IAM 역할의 이름으로 바꿉니다. 기본적으로 이름을 지정하지 않으면 CloudFormation 템플릿은AmazonEKSHybridNodesRole
을 생성하는 역할의 이름으로 사용합니다. -
TAG_KEY
을 AWSSSM 하이브리드 활성화를 생성할 때 사용한 AWS SSM 리소스 태그 키로 바꿉니다. 태그 키와 태그 값의 조합은 하이브리드 노드 IAM 역할이 AWS SSM 하이브리드 활성화와 연결된 AWS SSM 관리형 인스턴스의 등록을 취소할 수 있도록 허용하는ssm:DeregisterManagedInstance
의 조건에서 사용됩니다. CloudFormation 템플릿에서TAG_KEY
의 기본값은EKSClusterARN
입니다. -
TAG_VALUE
를 AWS SSM 하이브리드 활성화를 생성할 때 사용한 AWS SSM 리소스 태그 값으로 바꿉니다. 태그 키와 태그 값의 조합은 하이브리드 노드 IAM 역할이 AWS SSM 하이브리드 활성화와 연결된 AWS SSM 관리형 인스턴스의 등록을 취소할 수 있도록 허용하는ssm:DeregisterManagedInstance
의 조건에서 사용됩니다.TAG_KEY
의 기본값인EKSClusterARN
을 사용하는 경우 EKS 클러스터 ARN을TAG_VALUE
로 전달합니다. EKS 클러스터 ARN의 형식은arn:aws:eks:AWS_REGION:AWS_ACCOUNT_ID:cluster/CLUSTER_NAME
입니다.{ "Parameters": { "RoleName": "ROLE_NAME", "SSMDeregisterConditionTagKey": "TAG_KEY", "SSMDeregisterConditionTagValue": "TAG_VALUE" } }
-
-
CloudFormation 스택 배포
STACK_NAME
을 CloudFormation 스택의 이름으로 바꿉니다.aws cloudformation deploy \ --stack-name STACK_NAME \ --template-file hybrid-ssm-cfn.yaml \ --parameter-overrides file://cfn-ssm-parameters.json \ --capabilities CAPABILITY_NAMED_IAM
AWS IAM Roles Anywhere의 단계
CloudFormation 스택은 사용자가 구성한 인증 기관(CA)을 사용하여 AWS IAM Roles Anywhere 트러스트 앵커를 생성하고, AWS IAM Roles Anywhere 프로필을 생성하고, 앞서 설명한 권한을 사용하여 하이브리드 노드 IAM 역할을 생성합니다.
-
인증 기관(CA)을 설정하려면
-
AWS 프라이빗 CA 리소스를 사용하려면 AWS 프라이빗 인증 기관 콘솔
을 엽니다. AWS 프라이빗 CA 사용 설명서의 지침을 따릅니다. -
외부 CA를 사용하려면 CA에서 제공하는 지침을 따릅니다. 이후 단계에서 인증서 본문을 제공합니다.
-
퍼블릭 CA에서 발급된 인증서는 트러스트 앵커로 사용할 수 없습니다.
-
-
하이브리드 노드용 AWS IAM Roles Anywhere CloudFormation 템플릿을 다운로드합니다.
curl -OL 'https://raw.githubusercontent.com/aws/eks-hybrid/refs/heads/main/example/hybrid-ira-cfn.yaml'
-
다음과 같은 옵션으로
cfn-iamra-parameters.json
을 생성합니다.-
ROLE_NAME
을 하이브리드 노드 IAM 역할의 이름으로 바꿉니다. 기본적으로 이름을 지정하지 않으면 CloudFormation 템플릿은AmazonEKSHybridNodesRole
을 생성하는 역할의 이름으로 사용합니다. -
CERT_ATTRIBUTE
를 호스트를 고유하게 식별하는 시스템당 인증서 속성으로 바꿉니다. 사용하는 인증서 속성은 클러스터에 하이브리드 노드를 연결할 때nodeadm
구성에 사용하는 nodeName과 일치해야 합니다. 자세한 내용은 하이브리드 노드 nodeadm 참조을 참조하세요. 기본적으로 CloudFormation 템플릿은${aws:PrincipalTag/x509Subject/CN}
을CERT_ATTRIBUTE
로 사용하며, 이는 시스템별 인증서의 CN 필드에 해당합니다. 또는$(aws:PrincipalTag/x509SAN/Name/CN}
을CERT_ATTRIBUTE
로 전달할 수 있습니다. -
CA_CERT_BODY
를 줄 바꿈 없이 CA의 인증서 본문으로 바꿉니다.CA_CERT_BODY
는 PEM(Privacy Enhanced Mail) 형식이어야 합니다. PEM 형식의 CA 인증서가 있는 경우 CA 인증서 본문을cfn-iamra-parameters.json
파일에 배치하기 전에 줄 바꿈과 BEGIN CERTIFICATE 및 END CERTIFICATE 줄을 제거합니다.{ "Parameters": { "RoleName": "ROLE_NAME", "CertAttributeTrustPolicy": "CERT_ATTRIBUTE", "CABundleCert": "CA_CERT_BODY" } }
-
-
CloudFormation 템플릿을 배포합니다.
STACK_NAME
을 CloudFormation 스택의 이름으로 바꿉니다.aws cloudformation deploy \ --stack-name STACK_NAME \ --template-file hybrid-ira-cfn.yaml \ --parameter-overrides file://cfn-iamra-parameters.json --capabilities CAPABILITY_NAMED_IAM
AWS CLI
아직 하지 않은 경우 AWS CLI를 설치하고 구성합니다. 최신 버전의 AWS CLI 설치 또는 업데이트를 참조하세요.
EKS 설명 클러스터 정책 생성
-
다음 콘텐츠를 가진
eks-describe-cluster-policy.json
이라는 파일을 생성합니다:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:DescribeCluster" ], "Resource": "*" } ] }
-
다음 명령을 사용하여 정책을 생성합니다.
aws iam create-policy \ --policy-name EKSDescribeClusterPolicy \ --policy-document file://eks-describe-cluster-policy.json
AWS SSM 하이브리드 활성화 단계
-
다음 콘텐츠를 가진
eks-hybrid-ssm-policy.json
이라는 파일을 생성합니다: 이 정책은ssm:DescribeInstanceInformation
및ssm:DeregisterManagedInstance
두 작업에 대한 권한을 부여합니다. 이 정책은 신뢰 정책에 지정한 리소스 태그를 기반으로 AWS SSM 하이브리드 활성화와 연결된 AWS SSM 관리형 인스턴스에 대한ssm:DeregisterManagedInstance
권한을 제한합니다.-
AWS_REGION
을 AWS SSM 하이브리드 활성화를 위한 AWS 리전으로 바꿉니다. -
AWS_ACCOUNT_ID
을 AWS 계정 ID로 바꿉니다. -
TAG_KEY
을 AWSSSM 하이브리드 활성화를 생성할 때 사용한 AWS SSM 리소스 태그 키로 바꿉니다. 태그 키와 태그 값의 조합은 하이브리드 노드 IAM 역할이 AWS SSM 하이브리드 활성화와 연결된 AWS SSM 관리형 인스턴스의 등록을 취소할 수 있도록 허용하는ssm:DeregisterManagedInstance
의 조건에서 사용됩니다. CloudFormation 템플릿에서TAG_KEY
의 기본값은EKSClusterARN
입니다. -
TAG_VALUE
를 AWS SSM 하이브리드 활성화를 생성할 때 사용한 AWS SSM 리소스 태그 값으로 바꿉니다. 태그 키와 태그 값의 조합은 하이브리드 노드 IAM 역할이 AWS SSM 하이브리드 활성화와 연결된 AWS SSM 관리형 인스턴스의 등록을 취소할 수 있도록 허용하는ssm:DeregisterManagedInstance
의 조건에서 사용됩니다.TAG_KEY
의 기본값인EKSClusterARN
을 사용하는 경우 EKS 클러스터 ARN을TAG_VALUE
로 전달합니다. EKS 클러스터 ARN의 형식은arn:aws:eks:AWS_REGION:AWS_ACCOUNT_ID:cluster/CLUSTER_NAME
입니다.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:DescribeInstanceInformation", "Resource": "*" }, { "Effect": "Allow", "Action": "ssm:DeregisterManagedInstance", "Resource": "arn:aws:ssm:AWS_REGION:AWS_ACCOUNT_ID:managed-instance/*", "Condition": { "StringEquals": { "ssm:resourceTag/TAG_KEY": "TAG_VALUE" } } } ] }
-
-
다음 명령을 사용하여 정책을 생성합니다.
aws iam create-policy \ --policy-name EKSHybridSSMPolicy \ --policy-document file://eks-hybrid-ssm-policy.json
-
eks-hybrid-ssm-trust.json
이라는 이름의 파일을 만듭니다.AWS_REGION
을 AWS SSM 하이브리드 활성화의 AWS 리전으로 바꾸고AWS_ACCOUNT_ID
를 AWS 계정 ID로 바꿉니다.{ "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":"ssm.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"AWS_ACCOUNT_ID" }, "ArnEquals":{ "aws:SourceArn":"arn:aws:ssm:AWS_REGION:AWS_ACCOUNT_ID:*" } } } ] }
-
다음 명령을 사용하여 역할을 생성합니다.
aws iam create-role \ --role-name AmazonEKSHybridNodesRole \ --assume-role-policy-document file://eks-hybrid-ssm-trust.json
-
이전 단계에서 생성한
EKSDescribeClusterPolicy
와EKSHybridSSMPolicy
를 연결합니다.AWS_ACCOUNT_ID
을 AWS 계정 ID로 바꿉니다.aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::AWS_ACCOUNT_ID:policy/EKSDescribeClusterPolicy
aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::AWS_ACCOUNT_ID:policy/EKSHybridSSMPolicy
-
AmazonEC2ContainerRegistryPullOnly
및AmazonSSMManagedInstanceCore
AWS 관리형 정책을 연결합니다.aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly
aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
AWS IAM Roles Anywhere의 단계
AWS IAM Roles Anywhere를 사용하려면 하이브리드 노드 IAM 역할을 생성하기 전에 AWS IAM Roles Anywhere 트러스트 앵커를 설정해야 합니다. 자세한 내용은 AWS IAM Roles Anywhere 설정 섹션을 참조하세요.
-
eks-hybrid-iamra-trust.json
이라는 이름의 파일을 만듭니다.TRUST_ANCHOR ARN
을 AWS IAM Roles Anywhere 설정 단계에서 생성한 트러스트 앵커의 ARN으로 바꿉니다. 이 신뢰 정책의 조건은 역할 세션 이름이 하이브리드 노드에 설치된 x509 인증서의 CN과 일치하는 경우에만 AWS IAM Roles Anywhere가 하이브리드 노드 IAM 역할을 수임하여 임시 IAM 자격 증명을 교환하는 기능을 제한합니다. 또는 다른 인증서 속성을 사용하여 노드를 고유하게 식별할 수 있습니다. 신뢰 정책에서 사용하는 인증서 속성은nodeadm
구성에서 설정한nodeName
과 일치해야 합니다. 자세한 내용은 하이브리드 노드 nodeadm 참조을 참조하세요.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rolesanywhere.amazonaws.com" }, "Action": [ "sts:TagSession", "sts:SetSourceIdentity" ], "Condition": { "ArnEquals": { "aws:SourceArn": "TRUST_ANCHOR_ARN" } } }, { "Effect": "Allow", "Principal": { "Service": "rolesanywhere.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:RoleSessionName": "${aws:PrincipalTag/x509Subject/CN}" }, "ArnEquals": { "aws:SourceArn": "TRUST_ANCHOR_ARN" } } } ] }
-
다음 명령을 사용하여 역할을 생성합니다.
aws iam create-role \ --role-name AmazonEKSHybridNodesRole \ --assume-role-policy-document file://eks-hybrid-iamra-trust.json
-
이전 단계에서 생성한
EKSDescribeClusterPolicy
를 연결합니다.AWS_ACCOUNT_ID
을 AWS 계정 ID로 바꿉니다.aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::AWS_ACCOUNT_ID:policy/EKSDescribeClusterPolicy
-
AmazonEC2ContainerRegistryPullOnly
AWS 관리형 정책을 연결합니다.aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly
AWS Management Console
EKS 설명 클러스터 정책 생성
-
Amazon IAM 콘솔
을 엽니다. -
왼쪽 탐색 창에서 정책을 선택합니다.
-
정책 페이지에서 정책 생성을 선택합니다.
-
권한 지정 페이지의 서비스 선택 패널에서 EKS를 선택합니다.
-
DescribeCluster에 대한 작업을 필터링하고 DescribeCluster 읽기 작업을 선택합니다.
-
Next(다음)를 선택합니다.
-
-
검토 및 생성 페이지에서
-
정책에 정책 이름(예:
EKSDescribeClusterPolicy
)을 입력합니다. -
정책 생성을 선택합니다.
-
AWS SSM 하이브리드 활성화 단계
-
Amazon IAM 콘솔
을 엽니다. -
왼쪽 탐색 창에서 정책을 선택합니다.
-
정책 페이지에서 정책 생성을 선택합니다.
-
권한 지정 페이지의 정책 편집기 오른쪽 상단에서 JSON을 선택합니다. 다음 조각을 붙여 넣습니다.
AWS_REGION
을 AWS SSM 하이브리드 활성화의 AWS 리전으로 바꾸고AWS_ACCOUNT_ID
를 AWS 계정 ID로 바꿉니다.TAG_KEY
및TAG_VALUE
를 AWS SSM 하이브리드 활성화를 생성할 때 사용한 AWS SSM 리소스 태그 키로 바꿉니다.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:DescribeInstanceInformation", "Resource": "*" }, { "Effect": "Allow", "Action": "ssm:DeregisterManagedInstance", "Resource": "arn:aws:ssm:AWS_REGION:AWS_ACCOUNT_ID:managed-instance/*", "Condition": { "StringEquals": { "ssm:resourceTag/TAG_KEY": "TAG_VALUE" } } } ] }
-
Next(다음)를 선택합니다.
-
-
검토 및 생성 페이지에서
-
정책에 정책 이름(예:
EKSHybridSSMPolicy
)을 입력합니다. -
정책 생성(Create Policy)을 선택합니다.
-
-
왼쪽 탐색 창에서 역할을 선택합니다.
-
역할 페이지에서 역할 생성을 선택합니다.
-
신뢰할 수 있는 엔터티 선택 페이지에서 다음을 수행합니다.
-
신뢰할 수 있는 엔터티 유형 섹션에서 사용자 지정 신뢰 정책을 선택합니다. 사용자 지정 신뢰 정책 편집기에 다음을 붙여 넣습니다.
AWS_REGION
을 AWS SSM 하이브리드 활성화의 AWS 리전으로 바꾸고AWS_ACCOUNT_ID
를 AWS 계정 ID로 바꿉니다.{ "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":"ssm.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"AWS_ACCOUNT_ID" }, "ArnEquals":{ "aws:SourceArn":"arn:aws:ssm:AWS_REGION:AWS_ACCOUNT_ID:*" } } } ] }
-
[Next]를 선택합니다.
-
-
권한 추가 페이지에서 사용자 지정 정책을 연결하거나 다음과 같이 합니다.
-
정책 필터링 상자에
EKSDescribeClusterPolicy
또는 위에서 생성한 정책의 이름을 입력합니다. 검색 결과의 정책 이름 왼쪽에 있는 확인란을 선택합니다. -
정책 필터링 상자에
EKSHybridSSMPolicy
또는 위에서 생성한 정책의 이름을 입력합니다. 검색 결과의 정책 이름 왼쪽에 있는 확인란을 선택합니다. -
필터 정책 상자에
AmazonEC2ContainerRegistryPullOnly
를 입력합니다. 검색 결과의AmazonEC2ContainerRegistryPullOnly
왼쪽에 있는 확인란을 선택합니다. -
필터 정책 상자에
AmazonSSMManagedInstanceCore
를 입력합니다. 검색 결과의AmazonSSMManagedInstanceCore
왼쪽에 있는 확인란을 선택합니다. -
Next(다음)를 선택합니다.
-
-
이름, 검토 및 생성 페이지에서 다음을 수행합니다.
-
역할 이름에 역할의 고유한 이름(예:
AmazonEKSHybridNodesRole
)을 입력합니다. -
설명(Description)에서 현재 텍스트를 설명이 포함된 텍스트(예:
Amazon EKS - Hybrid Nodes role
)로 바꿉니다. -
역할 생성을 선택합니다.
-
AWS IAM Roles Anywhere의 단계
AWS IAM Roles Anywhere를 사용하려면 하이브리드 노드 IAM 역할을 생성하기 전에 AWS IAM Roles Anywhere 트러스트 앵커를 설정해야 합니다. 자세한 내용은 AWS IAM Roles Anywhere 설정 섹션을 참조하세요.
-
Amazon IAM 콘솔
을 엽니다. -
왼쪽 탐색 창에서 역할을 선택합니다.
-
역할 페이지에서 역할 생성을 선택합니다.
-
신뢰할 수 있는 엔터티 선택 페이지에서 다음을 수행합니다.
-
신뢰할 수 있는 엔터티 유형 섹션에서 사용자 지정 신뢰 정책을 선택합니다. 사용자 지정 신뢰 정책 편집기에 다음을 붙여 넣습니다.
TRUST_ANCHOR ARN
을 AWS IAM Roles Anywhere 설정 단계에서 생성한 트러스트 앵커의 ARN으로 바꿉니다. 이 신뢰 정책의 조건은 역할 세션 이름이 하이브리드 노드에 설치된 x509 인증서의 CN과 일치하는 경우에만 AWS IAM Roles Anywhere가 하이브리드 노드 IAM 역할을 수임하여 임시 IAM 자격 증명을 교환하는 기능을 제한합니다. 또는 다른 인증서 속성을 사용하여 노드를 고유하게 식별할 수 있습니다. 신뢰 정책에서 사용하는 인증서 속성은 nodeadm 구성에서 설정한 nodeName과 일치해야 합니다. 자세한 내용은 하이브리드 노드 nodeadm 참조을 참조하세요.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rolesanywhere.amazonaws.com" }, "Action": [ "sts:TagSession", "sts:SetSourceIdentity" ], "Condition": { "ArnEquals": { "aws:SourceArn": "TRUST_ANCHOR_ARN" } } }, { "Effect": "Allow", "Principal": { "Service": "rolesanywhere.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:RoleSessionName": "${aws:PrincipalTag/x509Subject/CN}" }, "ArnEquals": { "aws:SourceArn": "TRUST_ANCHOR_ARN" } } } ] }
-
[Next]를 선택합니다.
-
-
권한 추가 페이지에서 사용자 지정 정책을 연결하거나 다음과 같이 합니다.
-
정책 필터링 상자에
EKSDescribeClusterPolicy
또는 위에서 생성한 정책의 이름을 입력합니다. 검색 결과의 정책 이름 왼쪽에 있는 확인란을 선택합니다. -
필터 정책 상자에
AmazonEC2ContainerRegistryPullOnly
를 입력합니다. 검색 결과의AmazonEC2ContainerRegistryPullOnly
왼쪽에 있는 확인란을 선택합니다. -
Next(다음)를 선택합니다.
-
-
이름, 검토 및 생성 페이지에서 다음을 수행합니다.
-
역할 이름에 역할의 고유한 이름(예:
AmazonEKSHybridNodesRole
)을 입력합니다. -
설명(Description)에서 현재 텍스트를 설명이 포함된 텍스트(예:
Amazon EKS - Hybrid Nodes role
)로 바꿉니다. -
역할 생성을 선택합니다.
-