오늘은 Elastic Beanstalk 서비스를 이용해서 간단한 웹 애플리케이션을 올려보았습니다.

솔직히 엄청 쉽지는 않았던게 저는 맥북에서 zip 할때 발생하는 문제 때문에 에러를 겪는 바람에...

하지만 여러분은 이걸 보고 따라하시면 쉽게 되기를 바라며 시작해 보겠습니다!!

 

AWS 메인 페이지에 보시면 위와 같은 탭이 보입니다. 이 중에 Build a web app 을 클릭해 줍니다

 

웹 애플리케이션 생성을 시작하기 위한 화면이 위와 같이 나오면 앱 이름과 플랫폼, 소스를 업로드해 줍니다.

저는 플랫폼으로 tomcat 을 선택했고, 앱 코드는 일단 sample application으로 선택한 뒤 별도의 설정은 하지 않고 create app 을 클릭했습니다. 

 

그랬더니 콘솔스러운 화면이 나오면서 웹 앱의 생성 과정을 보여주네요.

밑에서부터 로그가 쌓이는 형식인데 보시면 5:16부터 5:21까지 5분만에 저의 웹 앱이 생성되었습니다. 

 

웹 애플리케이션 이름을 클릭하면 아래와 같은 화면이 나오는데 초록색인 것은 정상 생성이 완료된 것을 의미합니다. (생성 중인 경우 회색, 에러가 있는 경우 빨간색)

저기 나와있는 URL 이 제 웹 앱의 URL인데요, 아까 선택한 Sample Application 소스 코드가 배포된 애플리케이션이겠죠? 뭐가 나오는지 한번 클릭해볼게요. 

 

우와 클릭 몇번 했을 뿐인데 웹사이트가 생겼어요!

근데 제거 같지가 않아요. 저기 Congratulations 에 제 이름을 넣고 싶은 욕구가 샘솟네요. 한번 해보죠 뭐.

 

이 전전 화면에서 Application Versions 탭을 클릭하면 소스코드를 업로드하고 배포할 수 있는 화면이 나오는데 

제가 처음에 Sample Application 코드를 사용하도록 선택했기 때문에 현재 Sample Application 이 배포된 것으로 보여줍니다.

Sample Application 이 파란색으로 되어있는게 클릭해보고 싶네요. 한번 클릭해 볼게요.

 

 

이게 뭐죠? 여기서 스크롤 다운을 해볼게요.

 

이제 제가 원하는 소스 코드들이 보이네요. 저는 tomcat으로 웹 앱을 생성했기 때문에 Java with Tomcat 의 소스를 다운받았습니다. 

 

소스를 열어서 구조를 보니까 이렇게 생긴 아주 간단한 앱이네요.

저는 메인 페이지의 저 큰글씨를 바꾸고 싶었기 때문에 index.jsp 를 열어 볼게요.

 

찾았습니다! 이 부분을 이제 제가 원하는 텍스트를 넣어서 바꿔 볼게요.

 

바꿔봤어요. 참 쉽죠? 이제 변경된 소스를 zip으로 압축해줍니다.

 

아까 그 화면으로 돌아가서 Upload 버튼을 클릭해 주세요.

저는 테스트 용으로 다운받은 원본 소스를 1.00으로 올리고 제가 변경한 소스를 1.01로 올렸는데 두 개 다 올릴 필요는 없습니다.

 

잘 올라간 것 같네요. 이제 해당 소스의 체크박스를 체크해주고 Deploy 버튼을 눌러주세요.

 

배포 창이 뜨는데 여기서 Environment를 앞서 생성한 웹 앱으로 선택해 주세요.

그리고 Deploy 버튼을 클릭해 주면 배포가 시작되었다며 이벤트를 볼 수 있는 버튼이 뜨는데 미처 캡처를 못했네요 ㅠㅠ 

아무튼 그 버튼을 클릭하면 다음과 같은 Events 화면이 나옵니다.

 

여기서도 밑에서부터 로그가 쌓이는건데 시간을 보시면 업데이트가 시작된 시간부터 끝난 시간까지 1분 21초밖에 안걸렸어요. 정말 빠르네요!!

이제 설레는 마음으로 다시 아까 그 URL로 웹 앱에 접속해 볼게요.

 

짜잔!! 제가 살짝 변경한 소스가 성공적으로 배포되었습니다. 

별거 아닌데 글씨가 커서 뭔가 뿌듯합니다 ㅋㅋ

아무튼 포인트는 이런 식으로 쉽게 본인만의 소스를 업데이트 할 수 있다는 거겠죠.

이렇게 에러 없이 잘 되면 정말 쉬운 Elastic Beanstalk 사용 과정이었습니다.

하지만 에러를 겪을지도 모르는 맥북 유저님들을 위해서 제가 겪은 에러를 공유 드릴게요.

 

 

Trouble Shooting - 맥북에서 소스 zip할 때 발생할 수 있는 에러

소스를 변경하고 zip 해서 올렸는데 이벤트 창에서 아래와 같은 에러가 발생했어요.

뭔가 logging.config에 문제가 있는 줄 알고 수정해서 올려봐도 같은 에러가 발생하고 삭제해서 올려보면 아예 웹 앱이 안뜨네요 ㅠㅠ

그래서 찾아보니 Mac OS에서 zip 할 때 자동으로 생성되는 __MACOS/ 때문이었어요.

이럴 때는 아래 커맨드로 요놈들을 지워 줍니다. 

zip -d 파일명.zip __MACOSX/\*

 

이렇게 결과가 나오면 잘 삭제가 된 것 같네요.

이걸 지우고 다시 zip 파일을 올리고 소스를 배포해 보니 정상적으로 배포가 되었습니다.

혹시 이런 에러를 겪으시는 분들은 참고해 주세요.

 

이상으로 AWS Elastic Beanstalk 사용기였습니다!