쪼렙 as! 풀스택

Elastic Beanstalk 로 서버운영하기 - #1. 환경 만들기 본문

개발 일지/AWS

Elastic Beanstalk 로 서버운영하기 - #1. 환경 만들기

코코앱 2017. 5. 16. 16:43

AWS 이용하면서 가장 먼저 접근하게 되보는게 EC2 서버 일것이다. EC2 Instance 를 생성하고, ssh 로 접속해서 가상서버를 다루는것은 얼마나 즐거운지(?) 시간가는줄 모르고, 삽질하는데 시간을 많이 보내게 된다. 물론 리눅스를 잘 다루고 서버 운용을 잘 하시는 고수님들께는 어려운일이 아닐지 모르나, 나같은 쪼렙 개발자는, 리눅스 세팅하는 것마저 벅차며, 실제로 상용서비스를 운용해야하는데, 보안은 문제 없는지, 이게 잘하고 있는건지 조차 모르겠더라. 그러면 결국 서버 운영에 경험이 풍부하신 비싼(?) 개발자님을 모셔와야 한단 얘긴데, 중소기업엔 그런 개발자느님을 모시기란 참으로 어렵다. 


  이런 상황에 Elastic Beanstalk (EB) 는, 참 탁월한 선택이 될것이다. 직접 서버에 접근할필요도 없이, 몇번의 클릭으로 서버가 바로 돌아갈 수 있도록 모든 환경을 꾸며준다. EB에서 지원되는 환경도  JAVA, PHP, Node, Python, Ruby, Tomcat 등, 왠만한 환경은 다 되는것 같다. 역시 AWS는 정말... 고급 개발자느님을 모시는것보다는 훨씬 저렴한 가격으로 서버 환경을 꾸밀 수 있다.(돈만 내면 다되는구나ㅋ), (그렇다고 AWS 자체가 엄청 싸다는 얘기는 아니다 ㅋ)



1. Elastic Beanstalk 를 선택한다.

 



2. 상단에 Create New Application 을 선택하고, 이름과 설명을 입력하고 Next를 클릭.





3. Create Web Server 선택.






4. 서버 환경을 선택한다. 필자는 PHP 서버를 선택했다.

 Environment Type 은, LoadBalancing AutoScaling 을 선택한다. 그냥 Single Instance 를 선택할 수 도 있는데, 

ACM 에서 등록한 HTTPS 통신을 연결하려고 한다면, Load Balancing 을 꼭 선택해줘야 한다.

서비스가 너무 잘나가서 인스턴스가 마구 생성되는게 걱정이 된다 하더라도 Auto Scaling 인스턴스 갯수의 제한을 둘 수 있으므로 상관없다. 그보다 서비스가 잘나가면 장땡 아닌가ㅋ...

 




5. 일단은 샘플페이지로 연결해두자. 하단엔 소스 배포를 할 때, 어떤식으로 처리할지 옵션인데, 일단 다 기본값으로 두자. 나중에 변경 다 가능하다.

 






6. Environment URL 체크 눌러서, 리전 안에 중복된게 없는지 확인하고 Next 를 누른다.

 





7. RDS 를 생성할건지 옵션을 두는데, 필자는 기존에 사용하는 RDS 를 연결할 것이기 때문에 RDS 를 새로 생성하지는 않겠다. 이 역시, 나중에 Configuration 에서 RDS 를 생성할 수 있다.

 





8. 여러가지 옵션들 체크들을 확인해볼 수 있는데, 필요한만큼 선택하고, 모르겠으면 그냥 다 기본값으로 두고 끝날 때까지 Next, Next, Next... 나중에 Configuration 에서 다 설정 가능한것들이다.

 




9. 옵션들을 검토하고, 끝까지 완료했다면, Health 상태가 Pending 으로 돌다가, OK 로 변한다. (처음에는 몇분 꽤 많이 걸린다). 우측 상단에, 이 서버의 고유 URL이 생성되는데, 저게 지금 만든 서버의 URL 이다. 

 





10. 생성된 URL 을 접속해봐서, 이런 샘플페이지가 보인다면 성공! (Health 상태가 OK 상태여도, 요 샘플페이지가 뜨는데는 몇분이 더 소요되는 경우도 있더라... 침착하게 시간을 두고 확인해보자)





11. 방금 만든 환경의 좌측에 보면 Configuration 이라는 메뉴가 있는데 (9번상태 에서 좌측 메뉴 목록이 있다) 이 Configuration 을 통해서, 아까 계속 Next 해서 넘어왔던 옵션들을 언제든 변경할 수 있다. 서버환경 뿐 아니라, 소프트웨어 설정도 가능하다. 필자는 PHP 환경을 선택했는데, 이 PHP의 설정값도 Software Configuration 으로 설정할 수 있다.




Comments