Amazon EKS Connector IAM 역할
Kubernetes 클러스터를 연결하여 AWS Management Console에서 볼 수 있습니다. Kubernetes 클러스터에 연결하려면 IAM 역할을 생성합니다.
기존 EKS 커넥터 역할 확인
다음 절차를 사용하여 계정에 이미 Amazon EKS Connector 역할이 있는지 확인할 수 있습니다.
-
https://console.aws.amazon.com/iam/
에서 IAM 콘솔을 엽니다. -
왼쪽 탐색 창에서 역할을 선택합니다.
-
역할 목록에서
AmazonEKSConnectorAgentRole
을 검색합니다.AmazonEKSConnectorAgentRole
을 포함하는 역할이 존재하지 않을 경우 Amazon EKS Connector 에이전트 역할 생성 섹션을 참조하여 역할을 생성합니다.AmazonEKSConnectorAgentRole
을 포함하는 역할이 존재하지 않을 경우, 연결된 정책을 볼 역할을 선택합니다. -
권한을 선택합니다.
-
AmazonEKSConnectorAgentPolicy 관리형 정책이 역할에 연결되었는지 확인합니다. 정책이 연결된 경우 Amazon EKS 커넥터 역할이 적절히 구성된 것입니다.
-
신뢰 관계(Trust relationships)를 선택한 후 신뢰 정책 편집(Edit trust policy)을 선택합니다.
-
신뢰 관계에 다음 정책이 포함되어 있는지 확인합니다. 신뢰 관계가 다음 정책과 일치하는 경우, 취소를 선택합니다. 신뢰 관계가 일치하지 않으면 정책을 신뢰 정책 편집 창에 복사하고 정책 업데이트를 선택합니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "ssm.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Amazon EKS Connector 에이전트 역할 생성
AWS Management Console 또는 AWS CloudFormation을 사용하여 커넥터 에이전트 역할을 생성할 수 있습니다.
- AWS CLI
-
-
IAM 역할에 사용할 다음과 같은 JSON이 포함된
eks-connector-agent-trust-policy.json
이라는 이름의 파일을 생성합니다.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "ssm.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
-
IAM 역할에 사용할 다음과 같은 JSON이 포함된
eks-connector-agent-policy.json
이라는 이름의 파일을 생성합니다.{ "Version": "2012-10-17", "Statement": [ { "Sid": "SsmControlChannel", "Effect": "Allow", "Action": [ "ssmmessages:CreateControlChannel" ], "Resource": "arn:aws:eks:*:*:cluster/*" }, { "Sid": "ssmDataplaneOperations", "Effect": "Allow", "Action": [ "ssmmessages:CreateDataChannel", "ssmmessages:OpenDataChannel", "ssmmessages:OpenControlChannel" ], "Resource": "*" } ] }
-
이전 목록 항목에서 생성한 신뢰 정책 및 정책을 사용하여 Amazon EKS Connector 에이전트 역할을 생성합니다.
aws iam create-role \ --role-name AmazonEKSConnectorAgentRole \ --assume-role-policy-document file://eks-connector-agent-trust-policy.json
-
Amazon EKS Connector 에이전트 역할에 정책을 연결합니다.
aws iam put-role-policy \ --role-name AmazonEKSConnectorAgentRole \ --policy-name AmazonEKSConnectorAgentPolicy \ --policy-document file://eks-connector-agent-policy.json
-
- AWS CloudFormation
-
-
다음 AWS CloudFormation 템플릿을 로컬 시스템의 텍스트 파일에 저장합니다.
참고
이 템플릿은 또한
registerCluster
API가 호출될 때 생성되는 서비스 링크 역할도 생성합니다. 세부 정보는 역할을 사용하여 Amazon EKS에 Kubernetes 클러스터 연결 섹션을 참조하세요.--- AWSTemplateFormatVersion: '2010-09-09' Description: 'Provisions necessary resources needed to register clusters in EKS' Parameters: {} Resources: EKSConnectorSLR: Type: AWS::IAM::ServiceLinkedRole Properties: AWSServiceName: eks-connector.amazonaws.com EKSConnectorAgentRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Action: [ 'sts:AssumeRole' ] Principal: Service: 'ssm.amazonaws.com' EKSConnectorAgentPolicy: Type: AWS::IAM::Policy Properties: PolicyName: EKSConnectorAgentPolicy Roles: - {Ref: 'EKSConnectorAgentRole'} PolicyDocument: Version: '2012-10-17' Statement: - Effect: 'Allow' Action: [ 'ssmmessages:CreateControlChannel' ] Resource: - Fn::Sub: 'arn:${AWS::Partition}:eks:*:*:cluster/*' - Effect: 'Allow' Action: [ 'ssmmessages:CreateDataChannel', 'ssmmessages:OpenDataChannel', 'ssmmessages:OpenControlChannel' ] Resource: "*" Outputs: EKSConnectorAgentRoleArn: Description: The agent role that EKS connector uses to communicate with AWS services. Value: !GetAtt EKSConnectorAgentRole.Arn
-
AWSCloudFormation 콘솔
을 엽니다. -
새 리소스를 사용한 스택 생성을 선택합니다(표준).
-
템플릿 지정(Specify template)에서 템플릿 파일 업로드(Upload a template file)를 선택한 다음 파일 선택(Choose file)을 선택합니다.
-
이전에 생성한 파일을 선택한 후 다음(Next)을 선택합니다.
-
스택 이름(Stack name)에
eksConnectorAgentRole
과 같은 역할 이름을 입력하고 다음(Next)을 선택합니다. -
스택 옵션 구성 페이지에서 다음(Next)을 선택합니다.
-
검토 페이지에서 정보를 검토하고, 스택이 IAM 리소스를 생성할 수 있음을 확인한 다음 스택 생성(Create stack)을 선택합니다.
-