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 명령어 옵션
# 결과를 지정한 이름으로 파일에 저장 $ curl -o response.txt https://www.example.net # 결과를 파일이름으로 저장, index.html 이 저장됨 $ curl -O https://www.example.net/index.html # SSL증명서 에러 무시 $ curl -k https://www.example.net # 진척상황을 표시 하지 않기, 에러도 표시되지 않음 $ curl -s -o response.txt http://www.example.net # 에러메시지는 보고 싶을때 $ curl -sS -o response.txt http://www.example.net # progress bar로 진척상황표시 $ curl -# -O http://www.example.net/index.html # proxy이용시 $ curl -x <proxyip>:<port> --proxy-user <username>:<password> http://www.example.net $ curl -x <username>:<password>@<proxyip>:<port> http://www.example.net # 301/302등의 redirect를 자동인식 $ curl -L http://www.example.net # http의 메소드를 지정 $ curl -X [PUT|GET|POST] http://www.example.net # parameter를 POST로 송신 $ curl -w '\n' 'http://www.example.net/posturl' -X POST --data 'name=myname&mode=create' # status code만 출력 $ curl -sS -w '%{http_code}\n' http://www.example.net # http의 response header를 확인
CISCO 2960s 초기화 후 기본 설정
이전 포스팅을 이전한 내용. 굴러다니던 스위치로 새로운 세그먼트 설정을 할 필요가 생겼기에 이리저리 조사해보고 초기화+기본설정을 했다. 초기화 부터 작업한 적은 처음이므로 메모 로서 남겨둔다. 스위치 초기화 sw> en sw # ter len 0 sw # show run sw # show flash: sw # erase startup-config sw # delete flash:vlan.dat sw # reload ‘ter len0’ 명령어와 show 명령어들은 현재 상태를 확인 하는 차원에서 입력한 명령어다. 필요하다면 출력결과를 백업 해놓는 편이 좋을 수도 있다. 스위치는 전원을 넣은 후 부팅 하면서 ‘startup-config’ 라는 파일로부터 설정을 읽어들인다. 그러므로 ‘erase startup-config’ 명령어로 설정파일을 지워버리면 다음 부팅시에 파일이 없으니 초기화 화면을 표시해 준다. 마지막으로 ‘flash:vlan.dat’ 명령어 인데 vlan 설정들은 스위치 설정과 별도로 vlan.dat 파일에 들어 있으니 이 파일을 지워두지 않으면 스위치 재설정 후 vlan 정보는 초기화 이전의 데이터가 그대로 남아 있는 현상이 발생한다. 초기설정 스위치를 초기화 하고 재부팅을 시키면 아래와 같은 초기설정 화면이 나온다. 호스트명, 관리IP어드레스 등을 입력해준다. Would you like to enter the initial configuration dialog? [yes/no]:yes Would you like to enter basic management setup? [yes/no]:yes Enter host name [Switch]: 2960 S-My-SW Enter enable secret: Enter enable password: Enter virtual terminal password: Configure SNMP Network Management? [no]:no Enter interface na
AWS에서 zabbix를 이용한 autoscaling ec2 자동등록/자동삭제
zabbix가 오픈소스로서 참 많은 기능을 제공 하고 있는데, jira와 마찬가지로 되는건 많은데 가려온 곳은 아슬아슬하게 피해가는 재주를 가지고 있는 듯 하다. 필요한 기능은 거의 다 있는데 될듯 하면서도 안되는데 jira와 zabbix. 특히 AWS에서 제공하는 AutoScaling Group을 이용한 EC2의 scale out/in 을 이용하면 zabbix에서 기본으로 제공되는 기능으로는 EC2를 제대로 모니터링 할 수가 없다. 어찌어찌 Host 등록은 한다 하더라도, EC2가 scale in 되어 terminated되었을 경우엔, 그냥 그대로 zabbix agent 와 통신할 수 없다는 에러를 내뿜으며 방치되어 버린다. 인터넷을 뒤져보아도 깔끔하게 처리할 수 있는 방법이 없고, 스크립트와 다른 기능들을 이용하여 scale out/in 에 의한 EC2의 자동등록/자동삭제를 구현하고 있었다. 그러나 이마저도 실제로 해보니 메뉴가 틀리거나 옵션이 없거나, 실제로 동작하지 않는 경우도 많았다. 최종적으로는 여러가지 정보를 취합하여 실제로 동작하는 방법을 찾아 냈으니 참고 삼아 이곳에 남기도록 한다. 시행착오 auto discovery 기능을 시도 해보았지만, 24bit 네트웍에 대해 15분 이내로 처리가 끝나지 않아, 다음 discovery가 계속하여 지연되는 현상이 발생했다. 15분 이면 terminated된 인스턴스에대해 agent 통신 에러가 발생하는 타이밍이기 때문에 유효한 방법이 아니라고 생각되어 포기하였다. ※ zabbix version : 4.0TLS ※ 특별한 설정내용이 없는 항목은 디폴트값이나 환경에 맞추어 적절히 설정할 것 zabbix_agentd.conf 먼저 ec2의 zabbix_agentd.conf 파일을 수정해 줄 필요가 있다. //ec2의 instance id를 얻기위해 ec2에서 meta-data를 조회한다. //meta-data조회를 위한 curl명령어 실행을 위해 지정 EnableRemoteC
댓글
댓글 쓰기