Elasticbeans CLI 를 활용한 비용 절감 노력
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
Elasticbeans CLI 를 활용한 비용 절감 노력
Django 물개발자입니다.
이전 글에서 EB(Elasticbeanstalk) 환경에 Django 를 배포하면서 겪었던 내용을 여기서 공유했습니다. 이번에는 EB에 환경을 생성하는 과정을 CLI 를 이용해 보려고 합니다.
AWS web console 을 이용하면 각 단계별로 필요한 과정과 의미를 이해하는데 도움이 됩니다. 다만 이런 과정을 자주 반복해야 하는 상황에 마주친다면 좀더 나은 방법에 대해서 생각하게 될 것입니다. 같은 작업을 반복하는 것은 시간이 걸린다는 것은 의미하고 또 사람이 손으로 각 단계를 밟다보면 의도하지 않게 실수를 할 수 있기 때문입니다.
Create a web server environment
위 그림은 EB 에 environment을 생성하는 시작단계입니다. default configuration 과 다른 환경을 갖추기 위해서는 그후에 많은 단계가 기다리고 있습니다.
스스로가 구축하고자하는 환경의 instance type, elb 설정, 환경 변수에 대한 내용을 모두 알고 있다면 아래와 같이 명령어 덩어리로 한번에 마칠 수 있습니다. 좀더 많은 옵션이 있으니 궁금하신 분들은 여기를 참조 하시면 됩니다.
생성
eb create staging -i t2.small -c staging \ --envvars DB_PW="very secret",DB_USER="waterman",DB_NAME="dev",DB_HOST="staging.ce6uph5ztrl3.ap-northeast-2.rds.amazonaws.com",GOOGLE_APPLICATION_CREDENTIALS="/tmp/tmp.json",REDIS_HOST="hoodpub.frhwt7.0001.apn2.cache.amazonaws.com",ENV='staging',SENTRY_DSN="https://4ac6134c3f84fffa58595f4540859e3@sentry.io/2591210",BOT_TOKEN="xoxb-425766697814-966124446196-F10tFxEFrkLwKNBCNqr0RQ2W",EMAIL_HOST_PASSWORD="water" \ --vpc.id vpc-042054ff5a9c077e9 \ --vpc.publicip \ --elb-type application \ --vpc.elbpublic \ --vpc.elbsubnets subnet-02985fea2c1abcdb,subnet-0abd784b2edb13ac7,subnet-0b729945228bf4fa \ --vpc.ec2subnets subnet-0b729945228bf4fa
* 위에서 노출되는 각각의 값들은 사용예를 위한 임임의 값들이니 의미가 없습니다.
삭제
eb terminate staging
이렇게 간단한 명령어로 eb 환경을 생성/삭제를 할수 있습니다. 저 같은 경우 회사에 staging, prod 두 개의 환경을 가지고 있습니다. prod 는 일반 사용자들, staging은 내부 사용자가 사용하는 자원입니다. 업무시간 외에는 staging을 사용하지 않으므로 굳이 비용을 낭비할 필요가 없겠지요.
그래서 crontab 을 구성해 둡니다. 출근 오전 9시에는 생성 명령어, 퇴근 6시에는 삭제 명령어를 실행하게끔 구성합니다.
AWS cloud 환경덕분에 시간과 비용을 절약할 수 있게 되었습니다. 비용을 효과적으로 사용하는 스타트업 이라면 이런 작은 노력이 비용 절감에 노력이 될 것입니다.
from http://pointer81.tistory.com/80 by ccl(A) rewrite - 2020-03-18 21:54:13
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
댓글
댓글 쓰기