BLOG

AWS Systems Manager Run Command 신규 기능 소개… 쉽고 편리한 배포 및 테스트 자동화
작성일: 2020-04-23

AWS Systems Manager는 대규모 인프라 관리 작업을 단순화할 수 있는 훌륭한 플랫폼입니다. 이 플랫폼의 주요 기능 중 하나는 일반적인 관리 작업을 자동화하고 규모에 따라 구성 변경을 수행할 수 있는 Run Command입니다.

 

Run Command의 작동 방식에 대해 간단히 설명해 드리면, 대상 인스턴스에서 작업을 수행하는 AWS Systems Manager Documents를 실행할 수 있으며 실행된 자동화를 제어할 수 있습니다. AWS Systems Manager는 프로세스를 강력하고 간단하게 만드는 로깅 및 감사 기능도 제공합니다. 해당 프로세스의 작동 방식에 대해 자세히 알아보고 싶으시면 Run Command 설명서를 참고해 주시기 바랍니다.

 

최근 이 AWS Systems Manager Run Command에는 구성 관리 자동화를 훨씬 간단하게 할 수 있는 기능이 추가되었는데요. 오늘은 그 3가지 신규 기능을 설명해 드리도록 하겠습니다.

 

새로 추가된 기능

  • Copy To New
  • Re-Run
  • CloudWatch Metrics for Run Command

 

자, 그럼 이제 각 기능들로 무엇을 할 수 있는지 알아보겠습니다.

 

Copy To New

이 기능을 사용하면 Run Command 실행을 선택하고 모든 매개 변수 및 옵션을 포함하여 실행에 대한 모든 세부 정보를 새 실행에 복사할 수 있습니다. 복사 후 대상 인스턴스에서 실행할 명령을 제출하기 전에 옵션을 수정할 수 있습니다.

 

Re-Run

이 기능을 사용하면 명령 목록 또는 명령 기록에서 Run Command 실행을 선택하고 수정 없이 같은 명령을 실행할 수 있습니다. 실행을 확인하라는 메시지가 표시됩니다.

 

CloudWatch Metrics for Run Command

이 기능은 Run Command 실행 상태 정보를 지표 데이터 포인트로 CloudWatch에 게시합니다. 이를 통해 명령 실행의 성공 및 실패를 추적할 수 있습니다. 또한, 장애를 기반으로 알람을 설정할 수 있습니다.

 

이러한 모든 기능의 작동 방식을 보여주는 시나리오를 살펴보겠습니다. 이 예제를 위한 개발 환경을 설정하기 위해 새로운 자동화 스크립트를 개발 중입니다. 실행 중인 대규모 EC2 인스턴스 세트에 Apache를 설치하고 구성해야 합니다. 몇 가지 조사 후 모든 대상 인스턴스에서 다음 셸 명령을 실행하기만 하면 됩니다.

 

sudo yum update -y

sudo yum install -y httpd

sudo systemctl start httpd

sudo systemctl enable httpd

 

AWS Systems Manager를 사용하여 이 작업을 수행하기 위해 AWS-RunShellScript Document를 사용하여 이 명령을 실행할 수 있습니다. 그러나 본 게시글에서는 이 방법의 모든 단계를 다루지는 않습니다. 이 단계를 완료하는 방법은 Remotely Run Commands on an EC2 Instance에서 확인해 주시기 바랍니다.

 

일반적으로 Run Command를 위한 새 자동화를 생성할 때 먼저 단일 테스트 인스턴스에서 실행을 대상으로 하여 모든 것이 예상대로 작동하는지 확인합니다. 한 인스턴스에서 명령을 실행하면 명령 실행 결과 목록에 해당 실행 결과가 표시됩니다. 이 목록에 액세스하려면 서비스를 클릭하여 AWS Management Console을 연 다음 Systems Manager로 이동하십시오. 왼쪽 창에서 Run Command를 클릭한 다음 오른쪽 창에서 Command History를 클릭할 수 있습니다. 이 화면에서 계정에서 실행된 모든 실행 명령 목록을 볼 수 있습니다.

 

하나의 대상 인스턴스에서의 테스트가 성공적으로 실행이 되면, 나머지 인스턴스에서 작업을 실행할 수 있습니다. Copy To New 기능을 릴리스하기 전에 새로운 Run Command 실행을 시작하고 새로운 대상 인스턴스 세트를 포함하여 모든 매개 변수를 지정해야 합니다. 매개 변수가 거의 없는 간단한 스크립트에는 큰 문제가 되지 않을 수 있습니다. 그러나 복잡한 매개 변수 집합이 있으면 더 어려워집니다. 이제 Copy To New 기능을 사용하면 모든 매개 변수가 미리 채워져 있기 때문에 시간을 절약할 수 있습니다.

 

Copy to New를 사용하려면 성공적으로 실행된 왼쪽 Command ID의 라디오 버튼을 클릭 한 다음 Copy to new 버튼을 클릭하세요. 그러면 동일한 매개 변수가 모두 채워진 Run Command 화면이 표시됩니다. 다음 단계에서는 명령을 실행할 대상 인스턴스만 변경하면 됩니다.

 

본 예제에서는 모든 인스턴스에 키-값 쌍 Environment = Development로 태그가 지정되어 있습니다. 이제 나머지 모든 인스턴스를 대상으로 지정하려고 하므로 Copy to New를 클릭한 후 대상 섹션에서 “Specify instance tags”옵션을 선택하여 Run Command execution에서 대상을 정의하겠습니다. 그런 다음 “실행”을 클릭하여 프로세스를 완료하십시오. Copy To New 기능을 사용하여 자동화를 대규모로 실행하는 프로세스를 단순화했습니다.

 

Re-Run 작동 방식을 설명하기 위해 샘플 시나리오를 계속 진행해보겠습니다. 모든 EC2 인스턴스가 있는 환경이 재구축되었고 이제 30개의 새로운 인스턴스가 있으며 동일한 방식으로 태그가 지정되었다고 가정해 보겠습니다. 이제 같은 명령 세트를 실행하여 Apache를 다시 설치해야 합니다. 이를 위해 새 Run Command execution을 작성하고 모든 매개 변수를 정의하는 프로세스를 진행할 수 있습니다. Copy To New기능을 사용하여 프로세스를 간소화할 수도 있습니다. 그러나 태그로 지정된 대상을 포함하여 모든 것이 동일하므로 새로운 Re-Run기능을 사용할 수 있습니다.

 

재실행을 사용하려면 AWS Systems Manager 콘솔의 왼쪽 창에서 Run Command 실행을 클릭한 뒤 이전 실행을 찾고 Command History를 클릭해 거기에 배치합니다. 그런 다음 명령 항목 왼쪽의 방사형 버튼을 클릭하여 선택합니다.

 

다음으로 “Rerun”버튼을 클릭하여 동일한 자동화를 실행할 수 있습니다. “Rerun”버튼을 클릭하면 명령을 다시 실행할 것인지 묻는 메시지가 나타납니다. 태그가 정의한 모든 같은 매개 변수와 동일한 대상을 사용하여 실행을 트리거합니다. 보시다시피, 이 새로운 접근 방식은 새로 만들어진 환경 타겟팅을 크게 간소화합니다.

 

마지막으로 CloudWatch Metrics for Run Command 기능에 대해 다루어 보겠습니다. 이 기능은 특히 대규모 인스턴스 세트에서 Run Command를 실행할 때 실행 실패를 감지하는 용도로 유용하게 사용됩니다. 예를 들어, 많은 실패가 자동화 또는 대상 인스턴스에 문제가 있음을 나타낼 수 있습니다. 또한 Run Command 실행의 성공 또는 실패를 추적하고 관리 지표 및 로깅 서비스인 CloudWatch에 결과를 지표 데이터로 보냅니다. 데이터가 있으면 Run Command (실행 명령) 메트릭을 사용하여 대시 보드를 생성,알람 생성, 이상 감지,알람을 기반으로 자동화를 트리거를 할 수 있습니다.

 

Run Command에 의해 노출된 메트릭을 보려면 다음을 진행하십시오. Amazon CloudWatch 콘솔로 이동하여 왼쪽 창에서 “Metrics”를 클릭한 다음 오른쪽 창에서 “SSM Run Command” 링크를 찾아 클릭하십시오. 그런 다음 “Across All Commands”를 클릭합니다. 이제 다음의 메트릭 중 하나를 선택하여 사용할 수 있습니다.

  • CommandsDeliveryTimedOut
  • CommandsFailed
  • CommandsSucceeded

 

본 예제에서는 CommandsFailed 지표가 1을 초과하면 경고하는 알람을 생성할 수 있습니다. 그런 다음 해당 경보를 사용하여 이메일을 보내거나 자동화를 트리거하여 근본적인 장애를 해결할 수 있습니다. 알람 생성 방법에 대한 자세한 내용은 Amazon CloudWatch 설명서를 참고해 주시기 바랍니다.

 

이렇게 오늘은 대규모 배포를 단순화하는 AWS Systems Manager의 새로운 3가지 기능을 소개해 드렸습니다. 이를 통해 자동화를 빠르고 쉽게 실행할 수 있으며 자동화 실행의 성공도 추적할 수 있습니다.  Run Command documentation에서 자세한 사용법을 확인하시고 새로운 Run Command 기능을 시작해 보시기 바랍니다.

 

 

 

원문 URL: https://aws.amazon.com/ko/blogs/mt/new-features-of-run-command-copy-to-new-rerun-and-cloudwatch-metrics/

** 메가존클라우드 TechBlog는 AWS BLOG 영문 게재 글 중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 개제하고 있습니다. 추가로 번역 및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS 페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달 드리도록 하겠습니다.