기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS Resilience Hub 를 사용하면 필요한 권한을 구성한 경우 Amazon EKS 클러스터에 있는 리소스에 액세스할 수 있습니다.
Amazon EKS 클러스터 내에서 리소스를 검색하고 평가하는 데 필요한 권한을 AWS Resilience Hub 에 부여하려면
-
Amazon EKS 클러스터에 액세스할 수 있도록 IAM 역할을 구성합니다.
역할 기반 액세스를 사용하여 애플리케이션을 구성한 경우 이 단계를 건너뛰고 2단계로 진행하여 애플리케이션을 생성하는 데 사용한 역할을 사용할 수 있습니다. AWS Resilience Hub 이 IAM roles 역할을 사용하는 방법에 대한 자세한 내용은 AWS Resilience Hub와 IAM의 작동 방식 단원을 참조하세요.
현재 IAM 사용자 권한을 사용하여 애플리케이션을 구성한 경우 Amazon EKS 클러스터와 동일한 계정에
AwsResilienceHubAssessmentEKSAccessRole
IAM 역할을 생성해야 합니다. 그러면 Amazon EKS 클러스터에 액세스하는 동안 이 IAM 역할이 사용됩니다.애플리케이션을 가져오고 평가하는 동안는 IAM 역할을 AWS Resilience Hub 사용하여 Amazon EKS 클러스터의 리소스에 액세스합니다. 이 역할은 Amazon EKS 클러스터와 동일한 계정에 생성되어야 하며 Amazon EKS 클러스터를 평가하는 AWS Resilience Hub 데에 필요한 권한이 포함된 Kubernetes 그룹과 매핑됩니다.
Amazon EKS 클러스터가 AWS Resilience Hub 호출 계정과 동일한 계정에 있는 경우 다음 IAM 신뢰 정책을 사용하여 역할을 생성해야 합니다. 이 IAM 신뢰 정책에서
caller_IAM_role
는 현재 계정에서 APIs를 호출하는 데 사용됩니다 AWS Resilience Hub.참고
caller_IAM_role
는 AWS 사용자 계정과 연결된 역할입니다.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::eks_cluster_account_id:role/caller_IAM_role" }, "Action": "sts:AssumeRole" } ] }
Amazon EKS 클러스터가 교차 계정( AWS Resilience Hub 호출 계정과 다른 계정)에 있는 경우 다음
AwsResilienceHubAssessmentEKSAccessRole
IAM 신뢰 정책을 사용하여 IAM 역할을 생성해야 합니다.참고
사전 조건으로 AWS Resilience Hub 사용자 계정과 다른 계정에 배포된 Amazon EKS 클러스터에 액세스하려면 다중 계정 액세스를 구성해야 합니다. 자세한 내용은 단원을 참조하세요.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::eks_cluster_account_id:role/AwsResilienceHubExecutorRole" }, "Action": "sts:AssumeRole" } ] }
-
AWS Resilience Hub 애플리케이션에 대한
ClusterRole
및ClusterRoleBinding
(또는RoleBinding
) 역할을 생성합니다.ClusterRole
및를 생성ClusterRoleBinding
하면가 Amazon EKS 클러스터의 특정 네임스페이스에 속하는 리소스를 분석하고 평가하는 AWS Resilience Hub 데 필요한 읽기 전용 권한을 부여합니다.AWS Resilience Hub 를 사용하면 다음 중 하나를 완료하여 복원력 평가를 생성하기 위해 네임스페이스에 대한 액세스를 제한할 수 있습니다.
-
모든 네임스페이스에 대한 읽기 액세스 권한을 AWS Resilience Hub 애플리케이션에 부여합니다.
가 Amazon EKS 클러스터 내의 모든 네임스페이스에서 리소스의 복원력을 평가 AWS Resilience Hub 하려면 및
ClusterRole
를 생성해야 합니다ClusterRoleBinding
.-
resilience-hub-eks-access-cluster-role
(ClusterRole
) -가 Amazon EKS 클러스터를 평가하는 AWS Resilience Hub 데 필요한 권한을 정의합니다. -
resilience-hub-eks-access-cluster-role-binding
(ClusterRoleBinding
) — Amazon EKS 클러스터에서resilience-hub-eks-access-group
이름이 지정된 그룹을 정의하여 AWS Resilience Hub에서 사용자에세 복원력 평가를 실행하기 위해 필요한 권한을 부여합니다.
모든 네임스페이스에 대한 읽기 액세스 권한을 AWS Resilience Hub 애플리케이션에 부여하는 템플릿은 다음과 같습니다.
cat << EOF | kubectl apply -f - apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: resilience-hub-eks-access-cluster-role rules: - apiGroups: - "" resources: - pods - replicationcontrollers - nodes verbs: - get - list - apiGroups: - apps resources: - deployments - replicasets verbs: - get - list - apiGroups: - policy resources: - poddisruptionbudgets verbs: - get - list - apiGroups: - autoscaling.k8s.io resources: - verticalpodautoscalers verbs: - get - list - apiGroups: - autoscaling resources: - horizontalpodautoscalers verbs: - get - list - apiGroups: - karpenter.sh resources: - provisioners - nodepools verbs: - get - list - apiGroups: - karpenter.k8s.aws resources: - awsnodetemplates - ec2nodeclasses verbs: - get - list --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: resilience-hub-eks-access-cluster-role-binding subjects: - kind: Group name: resilience-hub-eks-access-group apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: resilience-hub-eks-access-cluster-role apiGroup: rbac.authorization.k8s.io --- EOF
-
-
특정 네임스페이스 AWS Resilience Hub 를 읽을 수 있는 액세스 권한을 부여합니다.
를 사용하여 특정 네임스페이스 세트 내의 리소스에 액세스 AWS Resilience Hub 하도록를 제한할 수 있습니다
RoleBinding
. 이를 위해서는 다음 역할을 생성해야 합니다.-
ClusterRole
- Amazon EKS 클러스터 내의 특정 네임스페이스에 있는 리소스에 액세스하고 복원력을 평가 AWS Resilience Hub 하려면 다음ClusterRole
역할을 생성해야 합니다.-
resilience-hub-eks-access-cluster-role
— 특정 네임스페이스 내의 리소스를 평가하는 데 필요한 권한을 지정합니다. -
resilience-hub-eks-access-global-cluster-role
- Amazon EKS 클러스터 내에서 특정 네임스페이스와 연결되지 않은 클러스터 범위 리소스를 평가하는 데 필요한 권한을 지정합니다. 에는 애플리케이션의 복원력을 평가하기 위해 Amazon EKS 클러스터의 클러스터 범위 리소스(예: 노드)에 액세스할 수 있는 권한이 AWS Resilience Hub 필요합니다.
ClusterRole
역할을 생성하기 위한 템플릿은 다음과 같습니다.cat << EOF | kubectl apply -f - apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: resilience-hub-eks-access-cluster-role rules: - apiGroups: - "" resources: - pods - replicationcontrollers verbs: - get - list - apiGroups: - apps resources: - deployments - replicasets verbs: - get - list - apiGroups: - policy resources: - poddisruptionbudgets verbs: - get - list - apiGroups: - autoscaling.k8s.io resources: - verticalpodautoscalers verbs: - get - list - apiGroups: - autoscaling resources: - horizontalpodautoscalers verbs: - get - list --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: resilience-hub-eks-access-global-cluster-role rules: - apiGroups: - "" resources: - nodes verbs: - get - list - apiGroups: - karpenter.sh resources: - provisioners - nodepools verbs: - get - list - apiGroups: - karpenter.k8s.aws resources: - awsnodetemplates - ec2nodeclasses verbs: - get - list --- EOF
-
-
RoleBinding
역할 -이 역할은가 특정 네임스페이스 내의 리소스에 액세스하는 AWS Resilience Hub 데 필요한 권한을 부여합니다. 즉, 각 네임스페이스에RoleBinding
역할을 생성하여가 지정된 네임스페이스 내의 리소스 AWS Resilience Hub 에 액세스할 수 있도록 해야 합니다.참고
ClusterAutoscaler
을 자동 스케일링에 사용하는 경우kube-system
에서 추가로RoleBinding
를 생성해야 합니다. 이는kube-system
네임스페이스의 일부인ClusterAutoscaler
을 평가하는 데 필요합니다.이렇게 하면 Amazon EKS 클러스터 AWS Resilience Hub 를 평가하는 동안
kube-system
네임스페이스 내의 리소스를 평가하는 데 필요한 권한을 부여할 수 있습니다.RoleBinding
역할을 생성하기 위한 템플릿은 다음과 같습니다.cat << EOF | kubectl apply -f - apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: resilience-hub-eks-access-cluster-role-binding namespace: <namespace> subjects: - kind: Group name: resilience-hub-eks-access-group apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: resilience-hub-eks-access-cluster-role apiGroup: rbac.authorization.k8s.io --- EOF
-
ClusterRoleBinding
역할 -이 역할은가 클러스터 범위 리소스에 액세스하는 AWS Resilience Hub 데 필요한 권한을 부여합니다.ClusterRoleBinding
역할을 생성하기 위한 템플릿은 다음과 같습니다.cat << EOF | kubectl apply -f - --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: resilience-hub-eks-access-global-cluster-role-binding subjects: - kind: Group name: resilience-hub-eks-access-group apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: resilience-hub-eks-access-global-cluster-role apiGroup: rbac.authorization.k8s.io --- EOF
-
-
-
resilience-hub-eks-access-group
를 Amazon EKS 클러스터에 액세스하는 데 사용되는 IAM 역할과 매핑하도록aws-auth ConfigMap
을 업데이트하세요.이 단계는 1단계에서 사용한 IAM 역할과 2단계에서 생성된 Kubernetes 그룹 간의 매핑을 생성합니다. 이 매핑은 Amazon EKS 클러스터 내의 리소스에 액세스할 수 있는 권한을 IAM 역할에 부여합니다.
참고
-
ROLE-NAME
은 Amazon EKS 클러스터에 액세스하는 데 사용되는 IAM 역할을 나타냅니다.-
애플리케이션이 역할 기반 액세스를 사용하도록 구성된 경우 역할은 애플리케이션을 생성하는 AWS Resilience Hub 동안 전달되는 호출자 역할 또는 보조 계정 역할이어야 합니다.
-
현재 IAM 사용자를 사용하여 리소스에 액세스하도록 애플리케이션을 구성한 경우 해당 사용자는 반드시
AwsResilienceHubAssessmentEKSAccessRole
이어야 합니다.
-
-
ACCOUNT-ID
는 Amazon EKS 클러스터의 AWS 계정 ID여야 합니다.
다음 방법 중 하나를 사용하여
aws-auth
ConfigMap
를 설치할 수 있습니다.-
eksctl
사용하기다음 명령을 실행하여
aws-auth
ConfigMap
를 업데이트합니다.eksctl create iamidentitymapping \ --cluster <cluster-name> \ --region=<region-code> \ --arn arn:aws:iam::<ACCOUNT-ID>:role/<ROLE-NAME>\ --group resilience-hub-eks-access-group \ --username AwsResilienceHubAssessmentEKSAccessRole
-
ConfigMap
언더 데이터mapRoles
섹션에 IAM 역할 세부 정보를 추가하여aws-auth
ConfigMap
를 수동으로 편집할 수 있습니다.aws-auth
ConfigMap
를 편집하려면 다음 명령을 입력합니다.kubectl edit -n kube-system configmap/aws-auth
mapRoles
섹션에는 다음 파라미터가 포함될 수 있습니다.-
rolearn
— 추가될 IAM 역할의 Amazon 리소스 이름(ARN)입니다.-
ARN 구문 —
arn:aws:iam::<ACCOUNT-ID>:role/<ROLE-NAME>
.
-
-
username
— Kubernetes 내에서 IAM 역할에 매핑할 사용자 이름(AwsResilienceHubAssessmentEKSAccessRole
) -
groups
— 그룹 이름은 2단계 (resilience-hub-eks-access-group
) 에서 만든 그룹 이름과 일치해야 합니다.
참고
mapRoles
섹션이 없는 경우 이 섹션을 수동으로 추가해야 합니다.다음 템플릿을 사용하여
ConfigMap
언더 데이터mapRoles
섹션에 IAM 역할 세부 정보를 추가합니다.- groups: - resilience-hub-eks-access-group rolearn: arn:aws:iam::<ACCOUNT-ID>:role/<ROLE-NAME> username: AwsResilienceHubAssessmentEKSAccessRole
-
-