1 AWS EC2 설정

R 병렬 프로그래밍 - 왜 GLM인가?를 통해 GLM 모형을 활용하여 타이타닉 생존 예측모형을 만들어서 로컬 컴퓨터에서 테스트를 마쳤다면 AWS와 같은 클라우드 서비스에 올리도록한다.

1.1 WinSCP FTP 프로그램

WinSCP와 같은 FTP 도구를 활용해서 타이타닉 생존확률 API가 들어있는 파일과 plumber를 실행시킬 수 있는 코드르 함께 AWS EC2로 올리고 나서

1.2 plumber API 서비스 실행 1

로컬 컴퓨터에서는 host를 특별히 지정할 필요는 없으나, AWS EC2로 올릴 경우 host = "xxx.xx.xx.xxx"와 같이 지정을 해줘야 한다. 간혹 host = 0.0.0.0와 같이 설정하면… 보안에 큰 문제가 있을 수 있으니 주의한다. 호스트 IP는 “프라이빗 IP”를 찾아 적어줘야 한다.

library(plumber)

r <- plumb("code/glm_restful/03-plumber-model.R") 

# r$run(port=8000)

r$run(host = "xxx.xx.xx.xxx", port=8000)

1.3 plumber API 서비스 활용

1.3.1 건강 체크

plumber API 서비스가 제대로 올라갔는지 가장 먼저 건강체크를 한다.

  • http://ec2-xx-xxx-118-xxx.ap-northeast-2.compute.amazonaws.com:8000/healthcheck

건강체크

1.3.2 API 문서

plumber API 서비스에 대해서 기술한 문서를 html 파일로 올린다.

  • http://ec2-xx-xxx-118-xxx.ap-northeast-2.compute.amazonaws.com:8000/

건강체크

1.3.3 API 생존확률

plumber API 서비스는 결국 생존확률을 파악하고자 하는 것이니 생존확률 API를 호출하여 생존확률을 산출해낸다.

  • http://ec2-xx-xxx-118-xxx.ap-northeast-2.compute.amazonaws.com:8000/survival?pclass2=0&pclass3=0&sexmale=0&sib_sp=1

생존 확률