Elastic BeanstalkとTravis CI連携を試す


MLOpsを仕事で扱っていきたいので、その周辺の技術を学んでいくシリーズです。
本記事は、少し戻ってDocker Composeのことを書いていきたいと思います。

 

Elastic Beanstalkとは

AWS上で、コード以外のAWSサービスをいい感じに用意してくれるサービスです。
コードさえ渡してしまえば、S3EC2 などを勝手に用意してくれます。
なので複数のAWSサービスを一つのアプリケーションとして管理することができます
本当に便利です。

AWS Elastic Beanstalk とは?

 

どのように使用するのか?

環境の作成

①ウェブサーバー環境を選択する
Image from Gyazo

②名前をつけて、プラットフォームを「Docker」にして作成する
Image from Gyazo

アプリケーションの作成

Image from Gyazo

少し時間が経った後、アプリケーションが作成できているはずです。
そして、これと同時にS3などが作成されています。

 

Travis CIを使ってのデプロイ

Travis CIとの連携

事前に対象のgithubとTravis CIを連携させておきます。

IAMの作成

AWSのIAMにて、ユーザーを作成します。
その際に自動的に付与される、ACCESS_KEYとSECRET_KEYをTravis CIで設定します。
設定した環境変数名を.travis.ymlに私用します。

.travis.yml実装

deployの実装だけ記載します。
before_install, scriptなどは記載しません。

.travis.yml

これが終わった段階で、masterにpushされたものがテストされ、
テストがパスしたら、Elastic Beanstalkに反映されているはずです。

 

Elastic Beanstalk 削除

使い終わったら、削除をお忘れなく

右側のアクションボタンからアプリケーンの削除を選択します。
私は最初間違って環境の削除を押してしまい、環境を削除してしまったので、お気をつけください。
Image from Gyazo