Amazon Web Services 한국 블로그

EC2 Run Command – 대규모 원격 인스턴스 관리

지속적인 운영이 되는 일반적인 서버(또는 Amazon Elastic Compute Cloud (EC2) 의 용어로 인스턴스)로 이루어진 정적인 컴퓨팅 환경에서 대규모의 역동적이고 이질적인 환경에 마이그레이션 할 때 인스턴스를 새로운 방식으로 관리하고 제어 할 필요가 있습니다.

신규 EC2 Run Command

이를 위해 오늘 EC2 Run Command 신규 기능을 소개합니다. 이 기능은 인스턴스 (숫자와 관계 없이) 관리를 쉽고 안전한 방법으로 할 수 있습니다. 소프트웨어 설치, 특별한 스크립트 또는 Microsoft PowerShell 명령 실행, Windows Update 구성 등 다양한 엔터프라이즈 시나리오를 지원하도록 설계되어 있습니다. AWS Management Console, AWS Command Line Interface (CLI) , AWS Tools for Windows PowerShell , 그리고 AWS SDKs 에서 접근할 수 있습니다. 만약 현재 개별 인스턴스를 PS1 스크립트 또는 개별 PowerShell 명령에서 관리하고 있으시다면, 이를 하나 이상의 인스턴스에서 수행 할 수 있습니다.

이 기능은 많은 사용자와 고객들께서 요청해 주셨고, 아래 내용은 그 내용 중 일부입니다.

  • 인스턴스에 대한 구성 변경을 일관성을 가지면서 임시(ad-hot) 구현할 필요성
  • 여러 인스턴스에 걸쳐 신뢰성과 일관성있는 결과의 필요성
  • 변경을 실시 할 수있는 사람과 할 수 있는 권한 제어의 필요성
  • 어떤 조치가 이루어 졌는지의 명확한 감사(Auditing)의 경로
  • 전체 원격 데스크톱 (RDP) 접근의 필요 없이 위의 사항을 하고자 하는 필요성

명령어 실행 방식은 안전하고, 신뢰할 수 있는 방법이며 편리할 뿐만 아니라 확장성이 높습니다. 자신의 명령어을 작성한 후, AWS Identity and Access Management (IAM)를 사용한 세밀한 권한 제어를 수행 할 수 있습니다. 예를 들어, 신뢰할 수 있는 사용자 그룹에 의해 엄격하게 통제된 특정 세트의 인스턴스에서 실행할 수 있는 관리 명령을 지정할 수 있습니다. 모든 명령어는 감사를 위해 AWS CloudTrail를 통해 중앙에서 기록 및 감사 할 수 있게 됩니다.

명령어 실행의 이점
새로운 Run Command의 기능은 다음과 같은 이점을 제공하도록 설계되어 있습니다 :

  • 제어 및 보안: IAM 정책과 규칙(Rule)을 사용하여 명령어와 인스턴스에 대한 접근 통제를 할 수 있습니다. 따라서 인스턴스에 직접 접근하는 사용자의 수를 줄일 수 있습니다.
  • 신뢰성: 구성 변경 템플릿을 생성하여 시스템의 신뢰성을 향상 시킬 수 있습니다. 이를 통해 예측 가능성을 높이면서 구성 불일치를 줄이기 위한 제어가 가능합니다.
  • 가시성: Run Command을 통해 명령어 추적을 지원하여 CloudTrail 와 통합을 통한 구성 변경 사항에 대한 시각화가 가능합니다.
  • 용이성: 미리 정의 된 명령어 세트를 선택하여 실행하고, 관리 콘솔, CLI 또는 API를 통해 진행 상황 추적을 할 수 있습니다.
  • 사용자 정의: Run Command를 자신의 조직의 요구에 맞춘 사용자 정의 명령어로 만들 수 있습니다.

EC2 콘솔에서 Run Command 실행
Run Command는 모든 윈도우 인스턴스에서 동작하고 인스턴스 기존 EC2Config 에이전트를 사용합니다. 콘솔을 열고 Commands를 선택하고 Run Command를 사용하기 위한 조건을 확인하십시오 :

Run a command를 클릭하여 메인 Run Command 화면으로 이동합니다. 기존의 실행 결과(있는 경우)와 Run a command 버튼이 보입니다

디스플레이의 각 열은 인스턴스에서 실행 된 명령어을 나타내고 있습니다. Run a command를 클릭하여 새로운 명령을 시작합니다.

Command document 메뉴에는 7개의 미리 정의 된 명령어 및 계정에서 만든 사용자 정의 명령이 있습니다.

사용자 활용 사례에 맞춘 적절한 기술 문서와 대상 인스턴스에 대해 원하는 변경 사항을 적용할 수 있습니다. 각 문서에는 적절한 것을 선택할 수 있는 몇 가지 설명이 있습니다. 일반적인 관리 작업을 위해서는 AWS-RunPowerShellScript문서를 사용합니다. 이를 통해 모든 PowerShell 명령어을 실행하거나 기존 PowerShell 스크립트를 호출할 수 있습니다.

문서를 선택한 후, 명령어(ipconfig를 사용)를 입력하여 관심 있는 인스턴스를(속성, 태그 또는 키워드 필터링 가능) 선택합니다.

명령어 또는 스크립트를 실행하면 표준 출력에 많은 결과가 생성되고, S3 버킷 및 주요 접두어를 지정하여 결과를 저장할 수 있습니다. 그렇지 않으면, Run Command는 콘솔 출력의 처음 2500문자를 캡처하고 표시합니다.

준비가 되면 Run을 클릭합니다. 콘솔에 확인 메시지가 표시됩니다.

명령어 기록으로 돌아가서 그 결과를 확인해 봅니다.

원하는 명령어를 골라서 Output 탭을 선택합니다.

그리고 View Output을 선택합니다.

실제 환경에서 실행하기
자신의 AWS 환경에서 Run Command를 사용하는 몇 가지 방법입니다 :

  • 타사 에이전트 및 소프트웨어 설치 및 구성
  • 로컬 그룹 및 사용자 관리
  • 설치된 소프트웨어 또는 패치 확인 및 결과 수행
  • 윈도 서비스 다시 시작
  • 예약 된 작업 업데이트

정식 출시
Run Command 기능은 오늘 부터 US East (Northern Virginia), US West (Oregon), and Europe (Ireland) 리전에서 사용 가능합니다. Run Command Console을 열거나 최신 AWS Tools for Windows PowerShell, AWS Command Line Interface (CLI)를 사용하시기 바랍니다. 이 서비스는 AWS 자원 사용 요금을 제외하고 무료로 제공됩니다.

Jeff;

PS – Linux를 실행하는 인스턴스에도 같은 기능을 제공하는 것을 계획하고 있습니다. 추가 정보도 곧 알려드리겠습니다.

이 글은 New EC2 Run Command – Remote Instance Management at Scale의 한국어 번역입니다.