간만의 휴식에 한일들

 3월 1일부터 새로운 회사에 입사하게 되어서 2월은 약 한달 정도 쉬게 되었다. 쉬기 전 까지는 이것도 하고 저것도 하고 계획도 많았지만 막상 쉬게 되면 이런 저런 제약 때문에 생각대로 되지 않는다. 특히 꼬맹이 학교에서 돌아오는 시간이 있으니 그에 맞춰 집에 있으려면 할 수 있는 것도 그렇게 많지 않은 것 같다. 그나마 한 것 들이라고는 영화본 것 밖에 없는 듯. 슬램덩크, 아바타2, 앤트맨&와스프 퀀텀 매니아. 요렇게 3개의 영화를 보고 왔다. 슬램덩크 추억의 만화책을 애니화 한 만화 영화. 뭐 나쁘지 않은 영화 였다. 전체적으로는 약간 루즈한 느낌이 들지만 마지막 클라이막스 부분에서는 음악과 함께 좋은 연출을 본 듯 한 느낌이다. 두번 본 사람도 있다고 하는데 그 정도 까지는 아닌 듯. 아바타2 볼까 말까 고민한 영화. 이미 뒷편 들까지 어느정도 촬영이 끝났다는 이야기를 듣고 보기로 결정. 처음으로 4dx 영화관에서 보았는데 의자의 흔들림 등 그 외 효과들이 그렇게 효과가 있다고는 생각을 못하겠다. 가~끔씩 타이밍이 딱 맞을 때도 있지만 오히려 신경이 쓰여서 영화에 집중 못하는 경우도 꽤 있었던 듯 하다.  화면에 집중하고 싶어서 더빙판으로 관람 했는데 더빙 판은 4dx밖에 없드라.. 내용도 괜찮고 그래픽도 괜찮고 눈도 즐거웠다. 다음 편이 나오면 또 보러 가고 싶다. 앤트맨&와스프 퀀텀 매니아 인터넷의 평가는 좋은편이 아닌 듯 하다. 이것도 4dx로 관람 하고 왔는데 나쁘지는 않은 듯 하다. 딱 거기까지. 양자 세계에 또하나의 우주가 존재한다는 가설은 이전부터 있었던 이야기. 결국 우리가 살고 있는 지구도 누군가의 양자 세계 일 수도 있다는 것.  하지만 양자 세계의 묘사가 뭐랄까 스타워즈 짝퉁이라는 느낌이 강하게 든다. 스타워즈를 본 적 없는 사람에게는 신선한 충격으로 다가 올지도 모르겠다. 영화를 볼때는 개연성같은걸 신경 쓰면 지는 거다. 그냥 무지성으로 생각하지 말고 시간 때우기로만 본다면 나쁘진 않은 듯 하지만 하나씩 따지기 시작

aws ec2 접속시 개인유저를 할당

 aws 는 기본적으로 amazon linux 가 시작될떄 ec2-user 가 설정되고, 지정한 keypair 의 public key를 cloud-init가 ec2-user의 .ssh 디렉토리에 배치한다. 이로서 ec2-user 의 private key를 가지고 있는 모든 유저가 ec2-user로서 ssh 접속이 가능해진다.

하지만 ISMS나 PCI DSS등 여러 시큐리티 규약에서 공용계정을 배제해야 한다는 요구사항이 들어 있다. 여러 솔루션을 조사 했지만 비용이 많이 들어가거나 유지보수가 어려운 등 적절한 게 없어서 고민하다가 aws-ec2-ssh 라는 패키지를 이용해서 스크립트를 조금 수정하는 것으로 어느정도 원하는 유저관리 시스템을 구축 할 수 있게 되었기 때문에 여기에 메모형식으로 남긴다.

aws-ec2-ssh

https://github.com/widdix/aws-ec2-ssh

  • IAM user를 추가하여 그룹을 지정
  • IAM user는 code commit 용 public key를 upload
  • sshd_config를 수정하여 지정한 유저의 public key로 인증
  • import_user.sh 를 실행하면 지정한 IAM group의 유저리스트를 이용하여 user를 추가
특별한 문제 없이 잘 작동하는 것 까지 확인은 했지만 문제는 한 유저에 지정가능한 그룹수에 제한이 있기 때문에 한 유저에 대해 지정가능한 어카운트 지정이 한계가 있다는 거다. 확인해 본 결과 iam user를 등록할 수 있는 group수는 변경할 수 없는 항목이니 이걸로는 좀 부족하다 느꼈다.

import_user.sh 를 뜯어 보니 아래와 같이 그냥 group의 유저리스트를 확인 하는 것 뿐이다.


for group in $(echo ${IAM_AUTHORIZED_GROUPS} | tr "," " "); do 
 aws iam get-group \ 
 --group-name "${group}" \ 
 --query "Users[].[UserName]" \ 
 --output text \ 
 | sed "s/\r//g" done


그래서 생각해 낸 방법이 해당 ec2에 접속을 허가할 iam user 리스트를 파일로 작성하여 s3에서 다운로드 하도록 하는 방법이다. 그리고 s3는 bitbucket 이나 github, gitlab 등을 이용하여 리뷰 및 승인 플로우를 넣어 놓으면 문제 없을 듯.

스크립트를 아래와 같이 수정한 후 정상적으로 작동하는 것을 확인하였다.


108: for group in $(echo ${IAM_AUTHORIZED_GROUPS} | tr "," " "); do 
109:  #aws iam get-group \ 
110:  #--group-name "${group}" \ 
111:  #--query "Users[].[UserName]" \ 
112:  #--output text \ 
113:  #| sed "s/\r//g" 
      aws s3 cp s3://bucketname/listfile -|cat
      echo ""
114: done 


152: #aws iam get-group \ 
153: # --group-name "${group}" \ 
154: # --query "Users[].[UserName]" \ 
155: # --output text
      aws s3 cp s3://bucketname/listfile -|cat
      echo ""

스크립트를 일부 수정하면 /etc/aws-ec2-ssh.conf 에 bucket name을 지정하는 것도 가능하다. 그외 ssm document 를 이용한 운영도 하고 있지만 개인 메모용이니 여기까지만.

댓글

이 블로그의 인기 게시물

curl 명령어 옵션

CISCO 2960s 초기화 후 기본 설정

AWS에서 zabbix를 이용한 autoscaling ec2 자동등록/자동삭제