環境
- AWS CodeStar
- Python: 3.6
- pipenv: 2018.7.1
- pip: 18.0.0
- Django: 1.11.18
執筆したきっかけ
- 研究で開発する実験用システムをデプロイするため
- AWSに(ちゃんと)初挑戦する!
- 開発するシステムをそれなりな環境で動かす必要があるため,herokuじゃ厳しそう
- 毎度手作業でデプロイするのがしんどい
CodeStarとは
AWS CodeStar を使用すると、アプリケーションを迅速に開発および構築して AWS にデプロイできます。
AWS CodeStar
とのこと.
つまり,「CI/CDも含めたWEBアプリの開発環境を,お手軽に構築するよ!」というサービスです.
対応する言語やフレームワークがたくさんあり,困ることはなさそうです.
ちなみに,2019-05-22時点では,
- Go
- Node.js
- Python, (FlaskやDjangoを含む)
- Ruby on Rails
- Lalavel
- Java
などがありました.
さらに,
AWS CodeStar に対する追加料金はありません。CodeStar プロジェクトでプロビジョニングした AWS リソース (例: Amazon EC2 インスタンス、AWS Lambda の実行、Amazon EBS ボリューム、Amazon S3 バケット) に対してのみ料金を支払います。実際に使用した分に対してのみ料金が発生します。最低料金や前払いの義務はありません。
AWS CodeStar の料金
嬉しい限りです.
Djangoのテンプレート
テンプレートは2種類ありました.
- EC2で実行する
- Elastic Beanstalkを介して実行する
つまり,Dockerを使うかどうかが大きく違うところでしょうか(間違っていたらすみません)
私の場合,大規模開発でもないので,1でやってみました.
プロジェクトを作成する

AWSのコンソールから,CodeStarを選択します

テンプレートから,Djangoを選択します.

プロジェクト名や,ソースコードのリポジトリを選択します.
私は,GitHubを選択しました.GitHubを選択すると,リポジトリ名やリポジトリをprivateかpublicに選択できます.

続いて,AWSCodeStarに権限を付与することを許可します.その他,Amazon ECの設定を編集
から,使用するEC2,VPC,サブネットを変更することもできます.

ご丁寧に,作成したリポジトリも案内してくれます.
後はデプロイが完了するまで待機です.

これで,デプロイ完了です.

アプリ自体は,アプリケーションのエンドポイント
よりアクセスできます.
今後はGitHub上のmasterへpushすると,CodeStarがそれを検知してデプロイまでやってくれます.
感想
すごい...ただし,現状はCIが回っていません.また,DBはSqliteのままです.これから,頑張ります!!
iOS以外の領域にうとい私でもできました.AWS様々です.
補足
CodeStarが作成したリポジトリのREADMEを見ると,各ファイルの説明や,ローカル環境下でDjango製のアプリを起動するまで書かれていました.また,READMEにはvirtualenvを使用した方法を紹介していましたが,私はpipenvを使用しました.
追記(2019-05-23)
提供された buildspec.yml
には,マイグレーションに関わる記述がありません.したがって,追記する必要があります.記述内容に自身はありません
phases:
install:
commands:
# Install dependencies needed for running tests
- pip install -r requirements.txt
# Migrations
- python manage.py makemigrations # 追記
- python manage.py migrate # 追記