내용으로 건너뛰기

AWS Systems Manager Automation을 사용하여 보안 패치를 업데이트하고 Amazon EKS 워커 노드 AMI에 적용하려면 어떻게 해야 합니까?

3분 분량
0

AWS Systems Manager Automation을 사용하여 Amazon Elastic Kubernetes Service(Amazon EKS) 워커 노드 Amazon Machine Image(AMI)에 보안 패치를 적용하려고 합니다.

해결 방법

AWS Systems Manager Automation 런북을 사용하여 Amazon EKS 워커 노드에 보안 패치를 적용합니다. 런북을 사용하여 새 버전을 적용하고 관리형 노드 그룹 또는 자체 관리형 노드에 대한 보안 패치 적용 및 버전 업그레이드를 자동화합니다.

관리형 노드 그룹에 AWS Systems Manager Automation 사용

AWS-UpdateEKSManagedNodeGroup 런북을 실행하려면 다음 단계를 완료하십시오.

  1. AWS Management Console을 엽니다.
  2. Amazon EKS 클러스터가 위치한 AWS 리전을 선택합니다.
  3. AWS Systems Manager 콘솔을 엽니다.
  4. 탐색 창에서 자동화를 선택합니다.
  5. 런북 실행을 선택합니다.
  6. 자동화 런북 검색 필드에 AWS-UpdateEKSManagedNodeGroup을 입력한 다음 AWS-UpdateEKSManagedNodeGroup 런북을 선택합니다.
    참고: 런북 세부 정보 탭이 새 브라우저 창에 열립니다.
  7. 자동화 실행을 선택합니다.
    참고: 자동화 런북 실행 탭이 새 브라우저 창에 열립니다.
  8. 입력 파라미터에서 다음 파라미터를 입력합니다.
    ClusterName에서 노드 그룹을 포함하는 Amazon EKS 클러스터의 이름을 입력합니다.
    NodeGroupName에서 업데이트하려는 노드 그룹의 이름을 입력합니다.
    UpdateType에서 노드 그룹 버전 업데이트를 선택합니다.
    ForceUpdate에서 포드 중단 예산 문제로 인해 기존 노드 그룹의 포드를 드레이닝할 수 없는 경우 True를 선택합니다. 그렇지 않으면 False를 선택합니다.
    (선택 사항) AutomationAssumeRole에서 사용자를 대신하여 작업을 수행할 Systems Manager Automation의 AWS Identity and Access Management(IAM) 역할 Amazon 리소스 이름(ARN)을 입력합니다. 역할이 지정되지 않은 경우, Systems Manager Automation이 런북을 시작하는 사용자의 권한을 사용합니다.
  9. 시작 템플릿에서 노드 그룹을 만들지 않은 경우 다음 파라미터를 지정하십시오.
    (선택 사항) KubernetesVersion에서 노드 그룹을 무슨 Kubernetes 버전으로 업데이트할지 입력합니다. 예를 들어 1.30을 입력합니다.
    (선택 사항) AMIReleaseVersion에서 사용하려는 Amazon EKS 최적화 AMI의 버전을 입력합니다. 예를 들어 1.30.2-20240828을 입력합니다. 시스템은 기본적으로 최신 버전을 사용합니다.
  10. 시작 템플릿에서 노드 그룹을 만든 경우 다음 파라미터를 지정할 수 있습니다.
    (선택 사항) LaunchTemplateId에 시작 템플릿의 ID를 입력합니다.
    (선택 사항) LaunchTemplateName에 시작 템플릿의 이름을 입력합니다.
  11. 실행을 선택합니다.

자체 관리형 노드 그룹에 AWS Systems Manager Automation 사용

중요: 클러스터에서 오토 스케일링을 사용하는 경우 런북을 실행하기 전에 cluster-autoscaler 배포를 복제본 2개로 스케일 다운해야 합니다. cluster-autoscaler 배포를 스케일 다운하려면 다음 명령을 실행합니다.

kubectl scale deployments/cluster-autoscaler --replicas=2 -n kube-system

AWS-UpdateEKSSelfManagedLinuxNodeGroups 런북을 실행하려면 다음 단계를 완료하십시오.

  1. AWS Management Console을 엽니다.
  2. Amazon EKS 클러스터가 위치한 AWS 리전을 선택합니다.
  3. AWS Systems Manager 콘솔을 엽니다.
  4. 탐색 창에서 자동화를 선택합니다.
  5. 런북 실행을 선택합니다.
  6. 자동화 런북 검색 필드에 AWS-UpdateEKSSelfManagedLinuxNodeGroups를 입력한 다음 AWS-UpdateEKSSelfManagedLinuxNodeGroups 런북을 선택합니다.
    참고: 런북 세부 정보 탭이 새 브라우저 창에 열립니다.
  7. 자동화 실행을 선택합니다.
    참고: 자동화 런북 실행 탭이 새 브라우저 창에 열립니다.
  8. 입력 파라미터에서 다음 파라미터를 입력합니다.
    (선택 사항) AutomationAssumeRole에서 사용자를 대신하여 작업을 수행하는 Systems Manager Automation의 IAM 역할 ARN을 입력합니다. 역할이 지정되지 않은 경우, Systems Manager Automation이 런북을 시작하는 사용자의 권한을 사용합니다.
    StackName에 자체 관리형 노드의 AWS CloudFormation 스택 이름을 입력합니다.
    NodeAutoScalingGroupDesiredCapacity에 노드 그룹이 유지 관리하는 노드 수를 입력합니다.
    NodeAutoScalingGroupMaxSize에 노드 Auto Scaling 그룹의 최대 노드 수를 입력합니다.
    NodeInstanceType에 노드 그룹에 사용할 인스턴스 유형을 입력합니다.
    NodeImageIdSSMParam에 노드 그룹 AMI의 Parameter Store 경로를 입력합니다.
    (선택 사항) NodeImageId에 노드 그룹의 AMI ID를 입력하여 NodeImageIdSSMParam에 지정된 값을 재정의합니다.
    DisableIMDSv1에서 IMDSv1을 끄지 않을지 여부를 선택합니다.
    WaitForStackUpdateProgress에서 스택 상태를 평가하기 전에 시작 템플릿 스택 업데이트 및 롤링 업데이트가 시작될 때까지 자동화가 대기하는 기간을 초 단위로 입력합니다.
  9. 실행을 선택합니다.
  10. 업데이트가 완료된 후 cluster-autoscaler 배포를 원하는 복제본 수로 다시 조정하려면 다음 명령을 실행합니다.
kubectl scale deployments/cluster-autoscaler --replicas=number -n kube-system

참고: number를 사용하려는 복제본 수로 바꾸십시오.

관련 정보

클러스터의 관리형 노드 그룹 업데이트

클러스터의 자체 관리형 노드 업데이트

나만의 런북 만들기

AWS 공식업데이트됨 4달 전