저는 re:Invent 2019, 2021을 참석했었고, 이번이 2번째 방문이였습니다. 

2년 쉬어서 그런가 🤣 아님 다른 업무 때문에 사전에 준비를 못해서 그런지 새롭게 다가오는 것들이 많았습니다.

 

그래서 re:Invent 2022를 기대하시는 분들께 이번 re:Invent가 어땟는지, 그리고 제가 어떤 시간을 보냈는지에 대해 소개할까 합니다.

(소프트하게잉~) 

 

먼저 리인벤트 행사를 모르시는 분들이 계실 수 있으니, 

  • 리인벤트란: 보통 11월 말부터 12월 초까지 미국 라스베가스에서 개최되는 AWS 최대 연례행사 입니다. re:Invent는 재발견한다는 뜻으로 패러다임을 바꾸는 새로운 서비스나 AWS 기존 서비스를 이용해서 나오는 신규 서비스들을 소개하는 자리이며, 다채로운 행사와 세션들이 있습니다. 

 

보통 리인벤트가 시작하는 11월 초중순부터 업데이트되는 서비스가 미친듯이 쏟아지기 시작 합니다.

Slack에 AWS 업데이트 뉴스를 RSS feed 거신 분들은 알람 지옥이 시작되는 거죠.. 😂

 

행사 참여를 위해 사전 준비를 합니다.

아무래도 오랜시간 자리를 비우는것도 있고, 미국과 한국은 시간차가 있다보니 제 업무를 최대한 미리미리 해놓고 가려고 했죠..

근데 일이 너무 많아서 새벽까지 혼자 야근하다 울뻔했..

(난 ㄱ ㅏ…끔.. 눈물을 흘린ㄷ ㅏ….)

 

뭐 여튼 이게 중요한게 아니니… 

re:Invent 전체 계획은 인천에서 샌프란시스코를 경유해서 라스베가스 도착하는 일정으로 계획하였습니다.

출발지-목적지 출발시간(현지시간) 도착시간(현지시간)
ICN-SFO 11월 26일 20:20 11월 26일 13:35
SFO-LAS 11월 26일 19:50 11월 26일 21:24
LAS-SFO 12월 03일 16:30 12월 03일 18:10
SFO-ICN 12월 03일 23:30 12월 05일 05:30

 

물론 ICN-LAS 직항도 있지만, 일정과 금액 등등의 이유로 PASS

그리고, 사전에 내가 듣고 싶은 Session을 예약하는것도 잊지 않았구요!!

 

매년 re:Invent 이벤트를 위해 별도 페이지가 존재하는데요, 특히 2021년에는 온/오프라인 통합 행사로 세션을 등록하는 페이지가 달랐습니다. 

 

저는 오프라인 참석자라 이곳에서 세션 등록을 하였습니다. 

  • 참고: re:Invent 행사장 참여를 위해서는 패스를 구매하셔야 합니다. 약 2000$정도 했던것 같은데, 저는 AWS Ambassador 지원을 받아 무료로 등록하였습니다. 
  • 패스 구매 후 이벤트 페이지에 빠르게 등록하면 운이 좋다면 호텔 바우처를 받을 수 있습니다!! 

 

세션이 레벨별, 분야별, 요일별, 장소(호텔) 별 다양하게 필터해서 확인할 수 있습니다. 

듣고 싶은 세션을 예약할 수 있습니다.

 

세션을 reservation 하거나, favorite하게 되면 캘린더에 표기가 됩니다.

참고로 ‘AWS Event’ 모바일 앱과 연동되니 이를 이용하시면 엄청 편해요!! 

 

그리고, 듣고 싶은 세션이 다 찼어도 실망하지 마세요..

리인벤트에서는 Keynote 세션 때 신규 서비스를 발표함과 동시에 새로운 세션들이 막막 열리기 때문에 미리 정한 일정을 다 소화하지도 못할뿐더라 일정이 계속 바뀔 거에요..

 

만약에 정말로 이 세션은 듣고 싶은데 예약이 다 찼다! 라고 한다면, Work-out 이라고 예약자들이 세션장에 안나타났을 때를 대비해서 세션장 앞 별도의 기다리는 라인이 따로 있어요.

그러니 반드시 듣고 싶은 세션의 경우에는 세션장 앞에서 기다리시면 들을 수 있어요!! 

 

아래는 이번 re:Invent 2021에서의 제 캘린더인데요,

왼쪽부터 월~금요일을 의미 합니다. 보통 일정이 08:30분부터 시작되기에 준비하고, 밥먹고 하려면 보통 06:00~06:30분에는 일어나야 해요..  

(회사 출근할 때도 이렇게는 안일어났는데..)

 

AWS Event 전용 캘린더



뭐 이런 사전준비를 하다보니 출국날자가 되었어요!! 

그리고 여차저차하니 금방 도착하더라구요.. ㅎㅎ (이때 넷플릭스 지옥을 정주행 했죠.. ㅋㅋ)

(비행기에서 찍은 Golden Gate)

 

COVID-19가 일어나기전 19년 11월에 LA를 경유로한 라스베거스를 오고 첫 해외방문이라 쪼끔 설레었더랍니다.

 

그래서 잠깐 짬을내어 샌프란시스코에 있는 블루보틀 1호점을 방문했습니다. 

생각보다 외곽에 허름한(?) 지역에 너무도 작은 매장이라 놀랫던 기억이 있네요.. 

(샌프란시스코에 위치한 블루보틀 1호점)

 

거진 20시간만에 카페인이 몸 안에 들어온지라 너무 좋았…

라스베거스에 오는 방법은 다양한데, 가시는 분들보면 LA에서 차 타고 여행하면서 오시는 분들도 계시고,

시애틀에 들려서 유명한 IT HQ 방문했다 오시는 분들도 계시고 그러더라구요..

 

re:Invent를 즐기는 첫번째!! 

너무 목표를 향해서만 달릴 필요는 없는것 같아요.. 

기술쟁이들이라 이해는하지만 한번씩 둘러보는것도 reflash 되고 좋아요!! ㅎㅎ

 

잠깐의 휴식을 마치고 샌프란에서 다시 비행기를 타고 라스베가스로 갔습니다.

(슝~~ )

 



도착했을 당시에는 이미 밤이여서 빠른 시차적응을 위해 바로 잠을 청했습니다. 

이처럼 짧은 해외 일정에는 첫날, 이튿날 시차적응에 실패하면 일정 내내 힘들더라구요.. (늙어서 그런가…)



다음날…(11월 27일, 토)

re:Invent 행사는 일요일 저녁부터 시작(mid night)이라 개인일정을 계획하시는게 좋습니다. 

 

라스베가스에는 볼거리도 많은데요..

저는 그랜드캐년 헬기투어와 오쇼를 예약해서 봤었습니다. (야르~)

 

(멀리서 후버 댐도 보고~ 잠깐 내려서 주변 경치도 둘러봤슴죠..)

 

왠만한 경치에는 시큰둥한 편이라 그리 기대하지 않았는데, 그랜드캐년을 보는 순간 자연경관에 압도 당하는 느낌을 받았어요.

 

다음에는 차를 타고 찬찬히 포인트를 둘러보는 코스로 한번 가보고 싶더라구요!! 

 

밤에는 오쇼를 봤습니다. 

오쇼는 라스베가스에서하는 대표적인 쇼 중에 하나인데요, 흔히 오쇼와 카쇼를 많이 보시는것 같더라구요.

개인의 취향에 따라 오쇼가 좋다, 카쇼가 더 좋다 말들이 있지만.. 대체적으로 무대장치나 규모는 오쇼가, 스토리는 카쇼가 더 좋다는 의견이 지배적이였습니다.

 



오랜만에 나온 외출에 살인적인 일정을 잡았는데, 와안전 힘들었어요..

밤에 숙소와서 캔 와인 하나 마셨는데 넋이 나갔어요.. ㅋㅋ 

(와인 캔 하나에 정신이 혼미해지더라구요.. 🤣)

 

다음날…(11월 28일, 일)

일요일은 re:Invent 패스 등록이 시작되는 날 입니다. 😘🥳🥳🥳

물론 일요일 저녁에 Midnight Madness 행사나 월요일 세션 들으러 가기 전에 등록을 해도 되긴하지만,

그 시간 대에는 등록하려는 사람이 많아서 일요일 오전에 빠르게 등록하는 편이 속 시원 합니다.. 🤣

(패스 등록을 위해 가는 사람들..)

 

re:Invent 행사의 메인은 베네시안 호텔 컨벤션, 엑스포 행사장에서 이뤄지는데요 

이외에도 모든 호텔 행사장은 출입시 x-ray 스캔과 탐지견을 통해 스캐닝을 하는데요, 혹시 모를 총기 사고, 마약 등 사고를 대비해서 가방 검사를 하고 있습니다. 

 

이렇게 패스를 등록하게 됩니다. 

 

패스를 등록할 때 은밀하게 10주년 자켓 교환 티켓도 같이 줬었는데, 

(10주년 자켓 교환 티켓)

 

이는 맞은편 SWAG 샵에서 교환할 수 있었습니다. 

(SWAG 교환해주는 장소)

 

re:Invent 행사가 열린지 벌써 10주년이되었는데🥳🥳, 이번 10주년 기념 swag로 자켓을 줬었어요!!  

(자켓 스웨그 교환 티켓과 자켓)

 

일요일 오전은 패스를 등록하는 것으로 일정을 마무리하고, 

저는 좀 쉬었어요!! 

 

혹시나 쇼핑을 좋아하시는 분들은 ‘Las Vegas North Premium Outlets’에 가거나 전자제품은 ‘Best Buy Las Vegas’에 가는 것을 추천드립니다. 

 

항상 re:Invent가 블랙 프라이데이 행사 끝자락에 열리는지라 빨리가면 싸게 좋은 물건을 구할 수도 있어요!! 

 

네네.. 다시 re:Invent 이야기로 돌아와서 일요일 밤에는 전야제 느낌으로 Midnight Madness 행사(일요일 22:00 ~ 24:00시) 를 진행합니다.

마찬가지로 베네시안 컨벤션 센터에서 진행하구요.. 

 

(행사장 들어가기 전 군악대가 있길래 한컷)

 

가시면 맥주나 칵테일 같은 마실것과 치킨 윙 등등 먹을게 많습니다.

그리고 클럽처럼 음악과 조명이 세팅되어 있는데.. 공돌이들은… 그저 멍하니… 

 

저도 잠깐 갔었는데 사람들이 워낙 많아서 바로 나왔어요.. ㅎㅎ

(이때가 21:30분쯤 있을텐데 Midnight Madness 행사장에 들어가려고 줄 서있는 사람들..)

 

다음날…(11월 29일 ~ 12월 03일, 월~금)

오늘부터 본격적으로 세션이 시작되는 날입니다!

특히 월요일부터는 행사장에서 조식을 주기 시작합니다.. 밥밥바바바바바바!!!! 

 

re:Invent 행사에는 조식과 중식이 제공되는데, 세션장이 열리는 호텔에 식사 구역이 마련되어 있습니다.

저는 베네시안 호텔을 주로 이용했었는데요, 

 

처음 식당에 들어가면 규모에 깜짝 놀라실거에요!! 

(지평선 마냥 끝도 없이 널려있는 식탁들..)

 

(뷔페식으로 음식을 담습니다.  집게를 공동으로 쓰는게 조금 아쉽더라구요.. 좀 더 코로나 방역에 힘써줬으면…)

 

(식사는 아~메리칸 블랙빠스트 스따일로..)

조식은 보통 빵류와 커피, 쥬스 등이 나오고 중식은 그때그때 달라요..

조식과 중식 모두 테이크아웃이 되니까 바쁘다면 싸서 가져가면 됩니다!! 



보통 행사 첫날에는 특별한 일정이 없이 세션을 듣습니다. 

(re:Invent의 꽃인 키노트와 expo는 화요일부터 시작.. )

 

본인이 관심있어하는 기술세션 혹은 리더쉽 세션 등등을 듣게 됩니다. 

키노트는 한국어 변역을 해주는데 나머지 모든 세션과 의사소통은 영어로 진행 합니다! 

 

(세션장에서 빼곡히 세션 들으시는 분들.. +1 )

 

세션만 들으러 돌아다닐 수도 있고, 행사장 곳곳에 마련된 다채로운 놀거리를 통해 잠시 머리를 식히셔도 됩니다.

(Deep racer 경주도 한판 해주구요..)

 

 

(지나가는 길에 로데오-블루캣(?)도 한판)

 

세션을 열심히 듣다(?)보면, 좀 출출해지는데요..

보통 15:00~16:00시쯤 모든 세션장 주변에 간단하게 먹을게 마련이 됩니다.

일반적으로 핑거푸드 음식이나 머핀, 커피, 콜라 등이 제공되요.

(세션장 앞 복도에서 음식을 받아가는 모습,, 자애로운 AWS님)

 

세션 들으려고 세션장과 세션장, 호텔과 호텔을 왔다갔다 하다보면 하루가 다 지나가 있어요.. ㅎㅎ

그리고 또 밤이 찾아오죠.. (마피아는 고개ㄹ,ㄹ..)

 

만약 리인벤트에 참석했는데 밤에 뭐해야될지 모르겠다 라고 할때에는 찾아보면 링크 처럼 밤마다 하는 행사를 정리해 놓은 사이트가 있어요. (이 행사장에 들어가서 저녁을 해결)

매년 누군가가 리인벤트 전에 정리해서 각종 커뮤니티에 돌아다니는데, 저는 AWSKRUG를 통해서 정보를 얻는 편이에요.

 

(저녁 행사 스케줄)

 

이처럼 아침부터 밤까지 정신없이 흘러갑니다.. ㅎㅎ 

매년 반복되는 리인벤트에 주요 스케줄은 아래와 같습니다.

구분 일요일 월요일 화요일 수요일  목요일 금요일
오전
일정
패스 등록 조식 시작,
세션 오픈
AWS CEO Keynote **
Expo 오픈 **
Keynote
(이번엔 AI/ML 집중) 
PhD Werner vogels  Keynote ** 세션 듣기,
Expo 종료
오후
일정
Midnight Madness  Global partner summit Keynote 세션 듣기 세션 듣기 re:Play party 마무리

개인적으로 re:Invent 행사의 꽃이라 생각되는 Keynote에서는 신규 서비스들 소개와 더불어 지금까지 AWS에서 어떤 일들을 하고 있는지 설명해주는데요.

 

유일하게(?) 한국어 번역을 지원하는 세션입니다. 🤣

이번 re:Invent에서는 APN ambassador 자격으로 간거라 자리도 예약되어 있더라구요.. 

(키노트 자리 예약)

 

( PhD Werner vogels  Keynote, 개인적으로 제일 좋아하는 키노트 세션 입니다.)

Keynote의 묘미는 새롭게 발표되는 신규 서비스와 발표에 맞춰서 신규 서비스를 소개하는 세션들이 열리는데요.

행사장을 보시면 키노트를 들으면서 핸드폰에 ‘AWS Event’ 앱을 새로고침 하고 있다면, 신규 서비스의 자세한 소개 세션을 들으시려는 분들일 거에요!! 🤣

(앱에서 ‘JUST ADDED ONLY’ 필터걸면 바로 나온 신규 세션들만 필터 걸 수 있습니다.)

신규 서비스는 키노트때 잠깐만 소개하고, 세부 내용은 세션장에서 설명을 들어야 이해가 되기 때문에 인기가 높은 편이에요

추가로 과거에는 deep series를 세션장에서 공짜로 풀었더랫죠 ㅎㅎ

 

그러고 보니 엑스포에 대해 소개를 안시켜드렸네요!! 

엑스포는 각 세션장이 있는 호텔에 있으며, 각기 다른 업체들이 자사 제품을 소개 하는 자리에요!! 

 

Cloud 환경 위에서 일어나는 다양한 IT 생태계를 확인할 수 있는 곳이죠!! 에헴!!

국내 세미나 장에도 있는지라.. 자세한 설명은 생략하겠습니다.

다만 re:Invent는 규모가 조금 더 클 뿐이라 생각됩니다. 

(re:invent Venetian expo center)

 

엑스포에서는 자사 제품을 홍보하기 위해 다양한 굿즈(SWAG)를 주는데요. 

다양한 서비스를 확인하면서 돌아다니다 보면 어느새 굿즈가 많이 모이는걸 확인할 수 있습니다. 

(받은 굿즈의 일부,,,)

 

주로 텀블러, 스티커, 티셔츠, 후디, 노트북 악세서리 같은걸 주는데

운이 좋다면 닌텐도나 오큘러스 등등 고가의 제품을 노려볼 수도 있습니다. 😈



어느새 re:Invent의 마지막 저녁 시간이 되었는데요.

re:Invent 시작전 파티가 Midnight madness 라면, 마지막날 파티는 re:Play 입니다!! 

 

re:Play는 베네시안 행사장에서 하진 않고, 각 호텔에 정차하는 셔틀을 타고 20여분 정도 떨어진 공터에 무대를 설치해서 진행합니다. 

(AWS re:Play 전경, 건물이 3개동 + 가 있습니다.)

 

참여할때 주의할 점이 있다면 총기 등의 이유로 가방을 못들고 갑니다.

가지고 가더라도 앞에서 맡겨야 해요.. (여성분들의 작은 핸드백 정도는 허용하는데 들어가기에 앞서 수색합니다.) 

 

가면 맥주, 칵테일, 각종 먹을 주전부리(피쉬앤칩스, 피자 등등등)가 널려있습니다. 

맥주를 홀짝 거리면서 공연을 보거나 춤을 춰도 되구요. 

(re:Play VIP만 들어갈 수 있는 2층 라운지)

re:Play에서 제공하는 여러 놀거리를 체험해도 됩니다. 

(사무용 의자를 2인 1조로 밀어서 누가 빨리 도착하는지 겨루는 게임)

미친 스피드를 카메라가 못따라가서.. 🤣 잘 안보이지만 레이싱 헬멧을 쓰고 경주하더라구요 🤣

(점핑 트램플린 앞에서 줄서 있는 모습)

 

세션장에서 세션을 듣는것 외에도 이처럼 다양한 볼거리와 놀거리가 있는데요..

(세션을 듣는 이야기는 거의 없는데... 일부러 하지 않은거에여... 진짜여..) 

즐거웠던 re:Invent를 뒤로하고 이제 다시 일상으로 돌아갈 시간 입니다.. 

(공항에서 잠깐 대기하는 동안 노트북 펴고 일하는 중)

 

(re:Invent 있을 때 마다 찍는 photo spot)

 

re:Invent 2021이 즐거웠던만큼 2022년의 re:Invent가 더욱 더 기다려지네요!! 😍😍



















1. SSH Key 생성 방법

- Git Bash.exe 파일을 실행합니다.

- ssh-keygen 을 입력합니다.

- 해당 위치에서 Public 및 Private Key 를 확인 할 수 있습니다.

- Private Key(id_rsa)​ 는 복제하여서 따로 보관하고, Public Key (id_rsa.pub) 를 Gitlab 서버에 제공합니다.

2. Gitlab 서버에 키 값을 등록 합니다. 

Settings -> SSH Keys 

 

 

Terraform 윈도우에 설치하기

  • 설치 방법은 간단하며 환경변수를 지정하여 바로 실행이 가능하다.

[다운로드]

 

Download Terraform - Terraform by HashiCorp

Download Terraform

www.terraform.io

 

[설치]

  • terraform.exe 파일 다운로드 후 C:\terraform 디렉토리 저장

 

  • 환경변수 등록 (내컴퓨터 > 고급시스템속성 > 고급)

 

  • 시스템 변수 > Path 편집

 

  • terraform 환경변수 등록 (C:\terraform)

 

  • CMD 실행하여 Terraform 실행

 

  • terraform 초기화
    - 테라폼 본체에 프로바이더들이 포함되어 있었지만 0.10 버전 부터
    프로바이더가 플러그인으로 분리되었고 이에 따라 테라폼 프로젝트를 별도로 초기화할 필요가 있다.
    테라폼은 테라폼 프로젝트를 초기화할 때 프로바이더 설정을 보고 필요한 플러그인을 설치 한다.

  • [TIP] 환경변수 잡지 않고 사용할 때
    - CMD 관리자 권한 실행
    - set PATH=%PATH%;C:\terraform

 

  • terraform 명령어 실행 시 아래와 같이 나와야 한다

 

출처: https://practice.hooniworld.io/entry/Terraform-With-Windows-설치 [practice makes perfect]

본 문서는 Directory Service 를 관리하기 위해 Windows bastion 서버를 구성하고, 
수동으로 Domain join  하고, AD managed 와 관련된 서비스를 설치하는 것 까지 가이드 한다.
(seamless join은 문 서 명 : AWS 환경에서 Seamless Domain join 참고)



AWS EC2, Active Directory, AWS AD, AWS Directory Service, Directory, 디렉토리


본 문서는 WorkSpace 이용 간 Client <-> WorkSpace region 간의 네트워크 속도에 관련된 내용을 기술한다.



Amazon WorkSpaces 사용자는 지원되는 디바이스 또는 웹 브라우저의 클라이언트 애플리케이션을 사용하여 WorkSpaces에 액세스합니다. 
WorkSpaces에 대한 좋은 경험을 사용자에게 제공하려면 클라이언트 디바이스가 다음 네트워크 요구 사항을 충족하는지 확인합니다. 


• 클라이언트 디바이스에 광대역 인터넷 연결이 있어야 합니다. 

• 클라이언트 디바이스가 연결되는 네트워크와 클라이언트 디바이스의 방화벽에서 다양한 AWS 서비스를 위한 IP 주소 범위에 대해 특정 포트가 개방되어 있어야 합니다. 
   자세한 내용은 Amazon WorkSpaces 포트 요구 사항 (p. 12) 단원을 참조하십시오. 

• 클라이언트 네트워크에서 WorkSpaces가 속한 리전까지의 왕복 시간(RTT)이 100ms보다 짧아야 합니다. 
  RTT가 100ms~250ms일 경우 사용자가 WorkSpaces에 액세스할 수 있지만 성능이 저하됩니다. 

• 사용자가 가상 사설 네트워크(VPN)를 통해 WorkSpaces에 액세스하는 경우 연결에서 1,200바이트 이상 의 최대 전송 단위(MTU)를 지원해야 합니다.

테스트를 해보진 않았는데, WorkSpace의 사용자 경험을 올리기 위해서는 PCoIP 프로토콜을 통해 
좀 더 부드러운 화면 전환 등 할 수 있을 것으로 보입니다.



  1. 현 위치(PC)에서 적절한 리전을 확인하는 방법








  1. WorkSpace Client 설치 후 Client에서 확인



AWS, WorkSpace, 워크스페이스, 워크스페이스 네트워크, 네트워크, workspace network


본 문서는 Amazon Linux 에서 custom metric 을 활성화 하는 방법에 대해 기술한다.

기본적인 메커니즘은 아래와 같다.
1. IAM 계정을 Programmatic access 계정 생성
2. AWS에서 제작한 mon-put-instance-data.pl 파일과 Linux crontab 을 통해 리소스의 값을 CloudWatch 로 전송한다.
3. 기록된 CloudWatch metric을 확인한다.



[root@ip-10-100-0-98 ~]#  sudo yum install perl-Switch perl-DateTime perl-Sys-Syslog perl-LWP-Protocol-https  <-- Amazon Linux 2014.03 이상 버전을 사용 중인 경우 perl 모듈을 추가로 설치하여야 한다.
=========================================================================================================================================================================
 Package                                               Arch                         Version                                        Repository                       Size
=========================================================================================================================================================================
Installing:
 perl-DateTime                                         x86_64                       2:1.04-5.9.amzn1                               amzn-main                       117 k
 perl-LWP-Protocol-https                               noarch                       6.04-2.7.amzn1                                 amzn-main                        11 k
 perl-Switch                                           noarch                       2.16-7.5.amzn1                                 amzn-main                        23 k
 perl-Sys-Syslog                                       x86_64                       0.33-3.6.amzn1                                 amzn-main                        43 k
Installing for dependencies:
 perl-Business-ISBN                                    noarch                       2.06-2.7.amzn1                                 amzn-main                        25 k
 perl-Business-ISBN-Data                               noarch                       20120719.001-2.7.amzn1                         amzn-main                        26 k
 perl-Class-Load                                       noarch                       0.20-3.6.amzn1                                 amzn-main                        27 k
 perl-Class-Singleton                                  noarch                       1.4-14.7.amzn1                                 amzn-main                        18 k
 perl-Compress-Raw-Bzip2                               x86_64                       2.061-3.11.amzn1                               amzn-main                        33 k
 perl-Compress-Raw-Zlib                                x86_64                       1:2.061-4.1.amzn1                              amzn-main                        61 k
 perl-Data-Dumper                                      x86_64                       2.145-3.5.amzn1                                amzn-main                        49 k
 perl-Data-OptList                                     noarch                       0.107-9.7.amzn1                                amzn-main                        23 k
 perl-DateTime-Locale                                  noarch                       0.45-6.5.amzn1                                 amzn-main                       1.9 M
 perl-DateTime-TimeZone                                noarch                       1.63-2.9.amzn1                                 amzn-main                       892 k
 perl-Encode-Locale                                    noarch                       1.03-5.8.amzn1                                 amzn-main                        16 k
 perl-File-Listing                                     noarch                       6.04-7.11.amzn1                                amzn-main                        13 k
 perl-HTML-Parser                                      x86_64                       3.71-4.7.amzn1                                 amzn-main                       119 k
 perl-HTML-Tagset                                      noarch                       3.20-15.7.amzn1                                amzn-main                        18 k
 perl-HTTP-Cookies                                     noarch                       6.01-5.12.amzn1                                amzn-main                        27 k
 perl-HTTP-Daemon                                      noarch                       6.01-5.11.amzn1                                amzn-main                        21 k
 perl-HTTP-Date                                        noarch                       6.02-8.8.amzn1                                 amzn-main                        14 k
 perl-HTTP-Message                                     noarch                       6.06-6.10.amzn1                                amzn-main                        84 k
 perl-HTTP-Negotiate                                   noarch                       6.01-5.12.amzn1                                amzn-main                        17 k
 perl-IO-Compress                                      noarch                       2.061-2.12.amzn1                               amzn-main                       298 k
 perl-IO-HTML                                          noarch                       1.00-2.5.amzn1                                 amzn-main                        24 k
 perl-IO-Socket-IP                                     noarch                       0.21-4.5.amzn1                                 amzn-main                        38 k
 perl-IO-Socket-SSL                                    noarch                       1.94-3.13.amzn1                                amzn-main                       118 k
 perl-LWP-MediaTypes                                   noarch                       6.02-2.9.amzn1                                 amzn-main                        25 k
 perl-List-MoreUtils                                   x86_64                       0.33-9.9.amzn1                                 amzn-main                        66 k
 perl-Module-Implementation                            noarch                       0.06-6.6.amzn1                                 amzn-main                        17 k
 perl-Module-Runtime                                   noarch                       0.013-4.5.amzn1                                amzn-main                        19 k
 perl-Mozilla-CA                                       noarch                       20110914-2.6.amzn1                             amzn-main                       9.0 k
 perl-Net-HTTP                                         noarch                       6.06-2.11.amzn1                                amzn-main                        29 k
 perl-Net-LibIDN                                       x86_64                       0.12-15.6.amzn1                                amzn-main                        29 k
 perl-Net-SSLeay                                       x86_64                       1.65-2.10.amzn1                                amzn-main                       361 k
 perl-Package-DeprecationManager                       noarch                       0.13-7.6.amzn1                                 amzn-main                        19 k
 perl-Package-Stash                                    noarch                       0.34-2.6.amzn1                                 amzn-main                        35 k
 perl-Package-Stash-XS                                 x86_64                       0.26-3.7.amzn1                                 amzn-main                        32 k
 perl-Params-Util                                      x86_64                       1.07-6.8.amzn1                                 amzn-main                        38 k
 perl-Params-Validate                                  x86_64                       1.08-4.10.amzn1                                amzn-main                        72 k
 perl-Sub-Install                                      noarch                       0.926-6.8.amzn1                                amzn-main                        22 k
 perl-TimeDate                                         noarch                       1:2.30-2.7.amzn1                               amzn-main                        53 k
 perl-Try-Tiny                                         noarch                       0.12-2.5.amzn1                                 amzn-main                        24 k
 perl-URI                                              noarch                       1.60-9.8.amzn1                                 amzn-main                       109 k
 perl-WWW-RobotRules                                   noarch                       6.02-5.12.amzn1                                amzn-main                        18 k
 perl-libwww-perl                                      noarch                       6.05-2.17.amzn1                                amzn-main                       215 k

Transaction Summary
=========================================================================================================================================================================
Install  4 Packages (+42 Dependent packages)

Total download size: 5.2 M
Installed size: 18 M
Is this ok [y/d/N]: y
Downloading packages:

Complete!


참고 CentOS 7버전의 경우 설치하는 파일이 틀리다.
# sudo yum install perl-Switch perl-DateTime perl-Sys-Syslog perl-LWP-Protocol-https perl-Digest-SHA -y


[root@ip-10-100-0-98 ~]# cd /usr/local/src/  <-- CloudWatch Monitoring script 를 저장할 위치에 이동한다.

[root@ip-10-100-0-98 src]# curl http://aws-cloudwatch.s3.amazonaws.com/downloads/CloudWatchMonitoringScripts-1.2.1.zip -O   <-- 모니터링 스크립트 설치
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0 100 24089  100 24089    0     0  40845      0 --:--:-- --:--:-- --:--:-- 40898

[root@ip-10-100-0-98 src]# ls -al
....
-rw-r--r--  1 root root 24089 Jul  4 08:39 CloudWatchMonitoringScripts-1.2.1.zip
...


[root@ip-10-100-0-98 src]# unzip CloudWatchMonitoringScripts-1.2.1.zip  <-- 압축 해제
Archive:  CloudWatchMonitoringScripts-1.2.1.zip
 extracting: aws-scripts-mon/awscreds.template 
  inflating: aws-scripts-mon/AwsSignatureV4.pm 
  inflating: aws-scripts-mon/CloudWatchClient.pm 
  inflating: aws-scripts-mon/LICENSE.txt 
  inflating: aws-scripts-mon/mon-get-instance-stats.pl 
  inflating: aws-scripts-mon/mon-put-instance-data.pl 
  inflating: aws-scripts-mon/NOTICE.txt 

[root@ip-10-100-0-98 src]# rm ./CloudWatchMonitoringScripts-1.2.1.zip   <-- .zip 삭제, /usr/loca/src 에 남겨두려면 삭제 하지 않아도 무방함
rm: remove regular file ‘./CloudWatchMonitoringScripts-1.2.1.zip’? y

[root@ip-10-100-0-98 src]# mv ./aws-scripts-mon/ /root/  <-- 압축해제한 디렉터리를 /root 디렉터리 하위로 이동
[root@ip-10-100-0-98 src]# cd /root/aws-scripts-mon/

스크립트 파일 구성
- CloudWatchClient.pm – 다른 스크립트에서 Amazon CloudWatch 호출을 간소화하는 공유 Perl 모듈입니다.
- mon-put-instance-data.pl – Amazon EC2 인스턴스에 대한 시스템 메트릭(메모리, 스왑, 디스크 사용률)에 대한 시스템 측정치를 수집하여 Amazon CloudWatch에 전송합니다.
- mon-get-instance-stats.pl – Queries Amazon CloudWatch에 쿼리하여 이 스크립트가 실행된 EC2 인스턴스에 대한 최신 사용률 통계를 표시합니다.
- awscreds.template – 액세스 키 ID 및 보안 액세스 키를 저장하는 AWS 자격 증명의 파일 템플릿입니다.
- LICENSE.txt – Apache 2.0 라이선스가 들어 있는 텍스트 파일입니다.
- NOTICE.txt – 저작권 통지입니다.

[root@ip-10-100-0-98 aws-scripts-mo]# cp awscreds.template awscreds.conf  <-- AccessKeyID, SecretKy 적용을 위해 템플릿 복사


[root@ip-10-100-0-98 aws-scripts-mo]# vi ./awscreds.conf  <-- 키를 정의
AWSAccessKeyId=.....
AWSSecretKey=......

위 AccessKeyID 와 Secretket 의 경우 AWS CloudWatchFullAccess 권한이 있는 계정의 키 값을 입력해 준다.

* 사실 권한을 더 작게 줄 수도 있는데.....ㅠㅠ


[root@ip-172-31-31-177 aws-scripts-mon]# ./mon-put-instance-data.pl --mem-util --verify --verbose  <-- Cloudwatch에 데이터를 넣지 않고, 간단한 테스트를 수행
MemoryUtilization: 8.62159133358237 (Percent)
Using AWS credentials file <./awscreds.conf>
Endpoint: https://monitoring.ap-northeast-1.amazonaws.com
Payload: {"MetricData":[{"Timestamp":1499065590,"Dimensions":[{"Value":"i-005d4065b54f21a5d","Name":"InstanceId"}],"Value":8.62159133358237,"Unit":"Percent","MetricName":"MemoryUtilization"}],"Namespace":"System/Linux","__type":"com.amazonaws.cloudwatch.v2010_08_01#PutMetricDataInput"}
Verification completed successfully. No actual metrics sent to CloudWatch.
[root@ip-172-31-31-177 aws-scripts-mon]#


[root@ip-172-31-31-177 aws-scripts-mon]# ./mon-put-instance-data.pl --mem-util --mem-used-incl-cache-buff --mem-used --mem-avail  <-- 사용 가능한 ㅁ든 메모리 측정치를 수집한 다음 CloudWatch에 전송
Successfully reported metrics to CloudWatch. Reference Id: 2f8c7b6a-5fbe-11e7-9db5-55cf07411f21
[root@ip-172-31-31-177 aws-scripts-mon]#



[root@ip-172-31-31-177 src]# crontab -e   <-- crontab 에 지정하여 5분 단위로 메모리와 디스크 데이터를 Cloudwatch로 전송
*/5 * * * * ~/aws-scripts-mon/mon-put-instance-data.pl --mem-used-incl-cache-buff --mem-util --mem-used --mem-avail --disk-space-util --disk-path=/ --from-cron

만약 / 디바이스 외에 다른 디바이스까지 수집하려면 --disk-path=[PATH] 옵션을 추가해주면 된다.


mon-put-instance-data.pl 의 여러 옵션값을 통해 각종 데이터를 CloudWatch에 전송할 수 있다.
기타 Custom metric의 옵션은 아래의 AWS 공식 manual 에서 확인할 수 있다.

https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/mon-scripts.html


Custome metric, Linux memory, Linux Disk, 커스텀 메트릭, AWS, AWS EC2

+ Recent posts