본문 바로가기
[AWS]/AWS 활용

[AWS][활용] Slack을 통해 AWS CLI 명령어 사용하기

by METAVERSE STORY 2022. 6. 5.
반응형
728x170

1. AWS Chatbot 이란?

 

 

2. 챗봇 구성

채팅 클라이언트 구성에서 채팅 클라이언트를 Slack으로 놓은 후 클라이언트 구성 클릭

 

워크 스페이스 권한을 허용을 클릭 하면 워크 스페이스가 생성이 된다.

 

3. IAM 구성

먼저 AWS 챗봇이 할 수 있는 채널의 역할에 대해서 생성해야 한다. 

IAM에 들어가서 역할 생성을 클릭한 후 사용 사례 선택에서 AWS Chatbot을 찾아서 선택해 준다. 

 

여기서는 EC2에 대한 권한을 사용할 것이기 때문에 EC2 FullAccess를 부여해 준다. 그 후 태그를 적당히 선택하고 역할 이름을 생성한 후 생성을 완료 해 준다.

두번째는 정책을 만들어야 한다.(가드레일을 위한 정책이 필요하다) 정책 생성을 클릭한다.

정책생성에서 우리는 EC2에 대한 정책이 필요하므로 서비스는 EC2를 선택해준 후 작업을 선택해 준다. 작업의 개수가 많은데 우리는 인스턴스의 시작과 중지에 대한 작업을 사용할 것이기 때문에 두가지를 선택한 후 리소스는 모든 리소스를 선택한 후 태그를 작성하고 생성해 준다.

 

3. 챗봇 새채널 구성

정책과 역할을 만들었으니 아까 만들어 둔 챗봇에 들어가 새 채널 구성을 클릭한다.

채널의 이름을 작성한 후 Cloud Watch Logs에 로그 게시를 할 지 선택해주면 된다. 선택사항이므로 안해도 괜찮다. 그 후 Slack 채널에서 퍼블릭과 프라이빗을 통해서 채널 유형을 설정해준 후 자신이 속한 슬랙 채널의 채널 ID를 입력한다.

채널 세부정보 보기에서 채널 ID 살필 수 있다. 

 

그 후 채널 IAM 역할을 아까 만들어 둔 역할을 선택 하고 채널 가드레일 역시 아까 생성했던 정책을 넣어주면 된다.

알림은 선택사항이므로 만약 슬랙이나 메일을 통해서 알림을 받고 싶으면 SNS 주제를 선택해 주면 된다.

 

4. 슬랙에서 실행

그 이후 슬랙에 들어가서 인스턴스를 정지하는 CLI 명령어를 작성한다. 작성해서 엔터를 누르면 한번 더 이 명령을 실행 할 것인지 아니면 파라미터를 추가할 것인지 아니면 명령을 취소할 것인지에 대해서 물어본다. 이 가드레일을 통해서 명령어를 입력하더라도 한번 더 확인 후 안전하고 꼼꼼한 작업이 가능하다.

 

5. 사용자 역할로 변경 후 실행

방금은 채널 역할로 진행했었다. 채널 역할의 경우 만약 그 채널 안에 있기만 하면 누구든지 수정할 수 있으므로 보안상 문제가 생길 수 있다. 사용자 역할로 변경한다면 그 사용자만 CLI 명령어를 통해 제어할 수 있다. 

편집에 들어가서 권한을 채널 IAM 역할에서 사용자 역할로 수정한다.

사용자 역할로 수정한 이후 사용자에게 역할을 줘야 한다.

사용자 역할 편집 클릭 후 아까 만들어 뒀던 역할을 준 후 저장을 클릭한다. 

 

그 후 다른 슬랙 아이디로 같은 명령어를 입력하지만 명령어가 실행되지 않는다. 왜냐하면 이건 사용자 권한이기 때문에 아까 지정해 두었던 사용자가 아니라면 권한이 없기 때문에 명령어를 실행할 수 없다.

 

만약 다시 채널 역할로 바꾼 후 Spark라는 이용자가 CLI 명령어를 입력한다면 

아래와 같이 아까처럼 가이드라인이 한번 더 명령을 실행할 것인지를 묻고 명령을 실행할 수 있게 된다.

만약 개발자가 수십명이 모여 모두 EC2 제어가 필요하다고 하다면 채널을 통해서 권한을 줘야 하고 같은 채널에 있다고 하더라도 만약 나만 제어 권한이 필요하다고 하면 사용자 권한을 통해서 제어할 수 있다.

 

 

출처: https://www.youtube.com/watch?v=-Jku6JQtrqQ&ab_channel=AWS%EA%B0%95%EC%9D%98%EC%8B%A4

반응형
그리드형

댓글