

# OPS05-BP05 패치 관리 수행
<a name="ops_dev_integ_patch_mgmt"></a>

 패치 관리를 수행하면 기능을 확인하고, 문제를 해결하며, 거버넌스 규정 준수 상태를 유지할 수 있습니다. 그리고 패치 관리를 자동화하면 수동 프로세스에서 발생하는 오류, 규모 조정과 패치를 위한 작업량을 줄일 수 있습니다.

 패치 및 취약성 관리는 이점 및 위험 관리 활동의 일부입니다. 변경이 불가능한 인프라를 보유하고 검증된 정상 상태의 워크로드를 배포하는 것이 좋습니다. 이 방식을 실현할 수 없으면 남은 방법은 패치를 적용하는 것입니다.

 [AWS Health](https://aws.amazon.com/premiumsupport/technology/aws-health/)는 계획된 수명 주기 이벤트 및 AWS 클라우드 리소스 상태에 영향을 미치는 기타 조치가 필요한 이벤트에 대한 신뢰할 수 있는 정보 소스입니다. 수행해야 할 예정된 변경 사항 및 업데이트를 알고 있어야 합니다. 계획된 주요 수명 주기 이벤트는 최소 6개월 전에 전송됩니다.

 [Amazon EC2 Image Builder](https://aws.amazon.com/image-builder/)는 머신 이미지를 업데이트하기 위한 파이프라인을 제공합니다. 패치 관리의 일환으로 [AMI 이미지 파이프라인](https://docs.aws.amazon.com/imagebuilder/latest/userguide/start-build-image-pipeline.html)을 사용하는 [Amazon Machine Image](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html       )(AMI) 또는 [Docker 이미지 파이프라인](https://docs.aws.amazon.com/imagebuilder/latest/userguide/start-build-container-pipeline.html)에서 컨테이너 이미지를 고려합니다. 한편, AWS Lambda에서는 취약성을 제거하기 위해 [사용자 지정 런타임 및 추가 라이브러리](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-custom.html)에 대한 패턴을 제공합니다.

 [Amazon EC2 Image Builder](https://aws.amazon.com/image-builder/)를 사용하여 Linux 또는 Windows Server 이미지용 [Amazon Machine Images](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html)에 대한 업데이트를 관리해야 합니다. 기존 파이프라인과 함께 [Amazon Elastic Container Registry(Amazon ECR)](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html)를 사용하여 Amazon ECS 이미지 및 Amazon EKS 이미지를 관리할 수 있습니다. Lambda에는 [버전 관리 기능](https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html)이 포함되어 있습니다.

 패치는 먼저 안전한 환경에서 테스트를 거치지 않고는 프로덕션 시스템에서 수행해서는 안 됩니다. 패치는 운영 또는 비즈니스 성과를 지원하는 경우에만 적용해야 합니다. AWS에서는 [AWS Systems Manager Patch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html)와 같은 도구를 사용하여 관리형 시스템에 패치를 적용하는 프로세스를 자동화하고 [Systems Manager Maintenance Windows](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-maintenance.html)를 사용하여 이 활동을 예약할 수 있습니다.

 **원하는 성과:** AMI 및 컨테이너 이미지는 패치가 적용되고 최신 상태이며 시작할 준비가 되었습니다. 배포된 모든 이미지의 상태를 추적하고 패치 규정 준수 여부를 알 수 있습니다. 현재 상태를 보고하고 규정 준수 요구 사항을 충족하는 프로세스를 마련할 수 있습니다.

 **일반적인 안티 패턴**: 
+  2시간 내에 최신 보안 패치를 모두 적용해야 하는데 애플리케이션과 패치가 호환되지 않아 여러 번 중단될 수 있습니다.
+  패치가 적용되지 않은 라이브러리는 알 수 없는 당사자가 워크로드에 액세스하기 위해 해당 라이브러리의 취약성을 이용하므로 의도하지 않은 결과를 초래합니다.
+  개발자에게 알리지 않고 개발자 환경에 자동으로 패치를 적용합니다. 개발자가 환경이 예상대로 작동하지 않는다는 불만을 여러 번 제기합니다.
+  영구 인스턴스에 상용 소프트웨어(기성품)를 패치하지 않았습니다. 소프트웨어에 문제가 있어서 공급자에게 문의하면 해당 버전이 지원되지 않으며 지원을 받으려면 특정 수준으로 패치해야 한다는 답을 듣습니다.
+  사용한 암호화 소프트웨어에 대해 최근에 릴리스된 패치의 성능이 크게 향상되었습니다. 패치가 적용되지 않은 시스템에 성능 문제가 있습니다.
+  긴급 수정이 필요한 제로데이 취약성에 대한 알림을 받게 되며 모든 환경을 수동으로 패치해야 합니다.
+  예정된 계획된 수명 주기 이벤트 및 기타 정보를 검토하지 않아 필수 버전 업데이트와 같이 리소스를 유지하는 데 필요한 중요한 조치를 알지 못합니다. 계획 및 실행에 중요한 시간을 놓쳐 팀의 긴급 변경과 잠재적 영향 또는 예상치 못한 가동 중지 시간이 발생합니다.

 **이 모범 사례 확립의 이점:** 패치 적용 기준 및 환경 전체에 배포를 위한 방법론을 포함하여 패치 관리 프로세스를 설정하면 패치 수준을 조정하고 보고할 수 있습니다. 이를 통해 보안 패치를 보장하고 알려진 수정 사항의 상태를 명확하게 파악할 수 있습니다. 이를 통해 원하는 기능을 도입하고, 문제를 신속히 제거하며, 거버넌스를 지속적으로 준수할 수 있습니다. 패치 관리 시스템 및 자동화를 구현하여 패치 배포를 위한 작업량을 줄이고 수동 프로세스로 인한 오류를 제한합니다.

 **이 모범 사례가 확립되지 않을 경우 노출되는 위험 수준:** 중간 

## 구현 지침
<a name="implementation-guidance"></a>

 원하는 기능을 생성하고 거버넌스 정책과 공급업체 지원 요구 사항을 준수하는 상태를 유지할 수 있도록 시스템에 패치를 적용하여 문제를 해결합니다. 변경 불가능한 시스템에서는 원하는 성과를 달성할 수 있도록 설정된 적절한 패치를 배포합니다. 패치 관리 메커니즘을 자동화하면 패치에 걸리는 시간, 수동 프로세스에서 발생하는 오류 및 패치를 위한 작업량을 줄일 수 있습니다.

### 구현 단계
<a name="implementation-steps"></a>

 Amazon EC2 Image Builder의 경우: 

1.  Amazon EC2 Image Builder를 사용하여 파이프라인 세부 정보를 지정합니다.

   1.  이미지 파이프라인 생성 및 이름 지정 

   1.  파이프라인 일정 및 시간대 정의 

   1.  모든 종속성 구성 

1.  레시피 선택: 

   1.  기존 레시피 선택 또는 새 레시피 생성 

   1.  이미지 유형 선택 

   1.  레시피 이름 및 버전 지정 

   1.  기본 이미지 선택 

   1.  빌드 구성 요소 추가 및 대상 레지스트리에 추가 

1.  선택 사항 - 인프라 구성을 정의합니다.

1.  선택 사항 - 구성 설정을 정의합니다.

1.  설정을 검토합니다.

1.  레시피 상태를 정기적으로 유지 관리합니다.

 Systems Manager Patch Manager의 경우: 

1.  패치 기준선을 생성합니다.

1.  패치 작업 방법을 선택합니다.

1.  규정 준수 보고 및 스캔을 활성화합니다.

## 리소스
<a name="resources"></a>

 **관련 모범 사례:** 
+  [OPS06-BP04 테스트 및 롤백 자동화](ops_mit_deploy_risks_auto_testing_and_rollback.md) 

 **관련 문서**: 
+ [ What is Amazon EC2 Image Builder ](https://docs.aws.amazon.com/imagebuilder/latest/userguide/what-is-image-builder.html)
+ [ Create an image pipeline using the Amazon EC2 Image Builder ](https://docs.aws.amazon.com/imagebuilder/latest/userguide/start-build-image-pipeline.html)
+ [ Create a container image pipeline ](https://docs.aws.amazon.com/imagebuilder/latest/userguide/start-build-container-pipeline.html)
+  [AWS Systems Manager Patch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html) 
+ [ Patch Manager 작업 ](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-console.html)
+ [ 패치 규정 준수 보고서 작업 ](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-compliance-reports.html)
+ [AWS 개발자 도구 ](https://aws.amazon.com/products/developer-tools)

 **관련 비디오:** 
+  [CI/CD for Serverless Applications on AWS](https://www.youtube.com/watch?v=tEpx5VaW4WE) 
+  [Design with Ops in Mind](https://youtu.be/uh19jfW7hw4) 

   **관련 예제:** 
+ [AWS Systems Manager Patch Manager 자습서 ](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-tutorials.html)