EC2 인스턴스에서 원격으로 명령 실행
AWS Systems Manager 사용
이 실습 자습서에서는 Amazon EC2 인스턴스에서 AWS Systems Manager를 사용하여 원격으로 명령을 실행하는 방법에 대해 알아봅니다. Systems Manager는 운영 통찰력을 확보하고, 안전하게 대규모로 AWS 리소스에 대한 조치를 취할 수 있는 관리 도구입니다. Systems Manager의 자동화 기능 중 하나인 실행 명령을 사용하면 배스천 호스트, SSH 또는 원격 PowerShell을 사용할 필요가 없어지므로 관리 태스크를 간소화할 수 있습니다.
예시 시나리오에서 시스템 관리자는 EC2 인스턴스에서 패키지를 업데이트해야 합니다. 일반적으로 간단한 이 관리 태스크를 복잡하게 만들기 위해, 보안 팀은 시스템 관리자가 SSH를 통해 프로덕션 서버에 직접 액세스하거나 배스천 호스트를 사용하는 것을 허용하지 않습니다. 다행히도 Systems Manager를 사용하면 EC2 인스턴스에서 패키지 업데이트 같은 명령을 원격으로 실행할 수 있습니다.
이 까다로운 시나리오를 해결하려면 인스턴스의 에이전트가 Systems Manager와 통신하도록 지원하는 Identity and Access Management(IAM) 역할을 생성한 다음, AWS-UpdateSSMAgent 문서를 실행하여 모범 사례에 따라 Systems Manager 에이전트를 업그레이드합니다. 그리고 마지막으로, Systems Manager를 사용하여 인스턴스에서 명령을 실행합니다.
AWS Systems Manager는 항상 프리 티어 제품입니다. 이 자습서에서 생성하는 EC2 인스턴스는 프리 티어에 해당합니다.
AWS Management Console을 엽니다. 이 단계별 안내서는 계속 열어 놓을 수 있습니다. 이 화면이 로드되면 먼저 사용자 이름 및 암호를 입력하여 시작합니다.
1단계. Identity and Access Management(IAM) 역할 생성
이 단계에서는 Systems Manager 권한을 제공하여 인스턴스에서 작업을 수행하는 데 사용되는 IAM 역할을 생성합니다.
a. https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.
2단계. EC2 인스턴스 생성
이 단계에서는 EnablesEC2ToAccessSystemsManagerRole 역할을 사용하여 EC2 인스턴스를 생성해보겠습니다. 이렇게 하면 Systems Manager로 EC2 인스턴스를 관리할 수 있습니다.
a. Amazon EC2 콘솔을 엽니다. EC2 콘솔에서 원하는 리전을 선택합니다. Systems Manager는 모든 AWS 리전에서 지원됩니다. 이제 [Launch Instance]를 선택합니다.
3단계. Systems Manager 에이전트 업데이트
이제 EC2 인스턴스가 Systems Manager 에이전트를 실행하므로, 관리 태스크를 자동화하고 인스턴스를 관리할 수 있습니다. 이 단계에서는 사전에 패키징된 명령을 실행합니다. 이를 문서라고 하며, 에이전트를 업그레이드합니다. 새 인스턴스를 생성할 때는 System Manager 에이전트를 업데이트하는 것이 가장 좋습니다.
4단계. 원격 셸 스크립트 실행
이제 EC2 인스턴스에 Systems Manager 에이전트가 있으므로, EC2 인스턴스에서 패키지를 업그레이드할 수 있습니다. 이 단계에서는 Run Command를 통해 셸 스크립트를 실행해보겠습니다.
5단계. 리소스 종료
이 단계에서는 Systems Manager 및 EC2 관련 리소스를 종료합니다. 중요: 현재 사용되지 않는 리소스를 종료하면 비용이 절감되므로 권장됩니다. 리소스를 종료하지 않으면 요금이 부과될 수 있습니다.
a. Amazon EC2 콘솔의 왼쪽 탐색 창에 있는 [Instances] 헤딩 아래에서 [Instances]를 선택합니다.
축하합니다!
축하합니다. AWS Systems Manager를 사용하여 관리형 인스턴스를 성공적으로 생성하고 원격으로 명령을 실행했습니다. 우선 IAM을 통해 올바른 권한을 설정했습니다. 그 다음 Systems Manager 에이전트를 사용하여 사전 설치된 Amazon Linux 인스턴스를 시작했습니다. 마지막으로, Run Command를 사용하여 에이전트를 업데이트하고 yum 업데이트를 원격으로 수행했습니다.
Systems Manager는 리소스 그룹의 운영 데이터를 확인하고, 운영 작업을 자동화하고, 리소스의 현재 상태를 파악 및 제어하고, 하이브리드 환경을 관리하고, 보안 및 규정 준수를 유지 관리해야 할 때 사용하기에 적합합니다.