タイトルは昔の記事をパクりました。以下の記事でプロニチをGCP(Cloud Run)からAWS(App Runner)に移行するにあたりApp Runner周りをまとめてみました。所々、固有名詞でpronichiとなっていますが私のプロジェクト名になるので参考にする方は任意で変更してください。
事前準備
- AWS Command Line 導入
- DockerイメージとFlask作成
AWS Command Line 導入
既に導入済だと思いますが念の為記載
AWS Command Line をインストール・更新
$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
$ sudo installer -pkg AWSCLIV2.pkg -target /
AWS Command Line 初期設定
予めIAMでユーザー作成しキーを取得してください。
$ aws configure --profile pronichi
AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]: ap-northeast-1
Default output format [None]: json
Dockerfileイメージ作成、起動
DockerfileとFlask関連は以下を参照くださいませ。
$ docker build -t pronichi .
$ docker run --name pronichi -p 8080:8080 -v ~/Sites/pronichi/:/app -it --rm pronichi
Amazon ECR リポジトリ作成、プッシュ
ECRリポジトリ作成
$ aws ecr create-repository \
--repository-name pronichi \
--image-scanning-configuration scanOnPush=true \
--region ap-northeast-1 \
--profile pronichi
認証
$ aws ecr get-login-password --region ap-northeast-1 --profile pronichi | docker login --username AWS --password-stdin 758610380088.dkr.ecr.ap-northeast-1.amazonaws.com
Login Succeeded
リポジトリにイメージをプッシュ
$ docker tag pronichi:latest 758610380088.dkr.ecr.ap-northeast-1.amazonaws.com/pronichi:latest
$ docker push 758610380088.dkr.ecr.ap-northeast-1.amazonaws.com/pronichi:latest
AppRunner作成・デプロイ
本当はCUIでやりたかったが、GUIで一旦
アップロードしたコンテナイメージ選択、他はデフォルト
確認画面にて「作成とデプロイ」ボタンを押すと初回のデプロイが開始
デプロイ完了はログで確認
デプロイは初回は6分程度、2回目は5分程度かかっていた
GCPのCloud Runだともっと早い気がしたが正確に測っていないのでまた計測したいと思う。
デフォルトドメインにアクセスするとページが表示されることを確認
$ curl https://p6drxqx7ku.ap-northeast-1.awsapprunner.com/
TEST
以上