구름

AWS CLI로 Run-Command 사용하기 [Auto Scaling 자동 동기화-3] 본문

Cloud/Auto Scaling Instance 자동 동기화

AWS CLI로 Run-Command 사용하기 [Auto Scaling 자동 동기화-3]

Cloudest 2021. 1. 4. 16:03
 

Cloudest - 블로그 이사했습니다

노션으로 블로그를 옮겼습니다.

흥미로운 포스팅이 올라옵니다!

cloudest.oopy.io

🛠
준비물 : 이전 포스팅의 결과로 생성된 결과물, SSH 접속 프로그램

시작 전

  • 목적 : System Manager의 Run-Command 기능을 통해 인스턴스의 원격 관리 or 원하는 인스턴스들에게 일괄 명령을 수행하기
  • 이 포스팅은 Run-Command 기능 확인을 위한 최소한의 환경만 구성하였다.

 

Run-Command

  • Commander 인스턴스 생성
    1. Commander 인스턴스의 AWS CLI명령을 통해 모든 AutoScaling Instance에 명령을 원격-일괄 실행한다.
    1. 공인 IP를 허용해주고 생성한 후에 SSH접속
    1. AWS cofigure 정보 입력
  • AutoScaling 인스턴스 웹서버 페이지 구성
    1. 현재 로드밸런서로 Auto Scaling 인스턴스 웹페이지에 접속하면 나오는 페이지(/var/www/html/index.html)
    1. /var/www/html/index.html2 의 내용을 다음과 같이 작성
      서버1의 index.html2 내용
      서버2의 index.html2 내용
    1. Run Command 명령 이후에 동일한 DNS로 접속했을 때 'Hello Test World!!!!!'에서 'Change test nn'이 출력되는지 확인해야한다.
  • Run-Command (AWS CLI)
    1. Run Command 사용을 위한 IAM Role 생성
    1. IAM 역할을 Commander 인스턴스에 연결
    1. Commander 인스턴스에 접속 후 다음 명령 입력
      aws ssm send-command --targets Key=tag:'Name',Values='AS-EC2' --document-name "AWS-RunShellScript" --comment "COPY" --parameters commands='sudo cp -f /var/www/html/index.html2 /var/www/html/index.html' --output text
    1. 동일한 DNS로 접속했을 때 다음과 같이 기본페이지의 내용이 변경된 것을 확인할 수 있다.
      • 아래 명령을 통해 다시 Hello World로 페이지를 변경할 수도 있다.
        aws ssm send-command --targets Key=tag:'Name',Values='AS-EC2' --document-name "AWS-RunShellScript" --comment "COPY" --parameters commands='echo Hello World | sudo tee /var/www/html/index.html' --output text
    1. Run-Command 동작 확인완료
  • Run-Command (AWS 콘솔)
    1. AWS 콘솔의 Systems Manager에서 Run Command를 직접 실행하는 방법도 있다.
    1. Systems Manager → Run Command → 명령 실행
    1. RunShellScript 정책을 적용한 후 원하는 명령 입력
    1. Run Command의 대상 Tag 지정 후 명령 실행
    1. 현재 실행중인 Auto Scaling 인스턴스가 모두 대상이 되었고 실행되었다면 정상동작 완료

결론

  • Run-Command를 통해 EC2 인스턴스들에 대한 명령을 일괄적용, 원격적용할 수 있다.
  • Auto Scaling 인스턴스가 몇개인지 상관없이 Tag값을 기반으로 Command를 입력하여 모든 인스턴스들에게 동일한 명령을 적용할 수 있다.

 

Comments