LoginSignup
15

More than 1 year has passed since last update.

AWS App RunnerにLaravelアプリをデプロイする

Last updated at Posted at 2021-05-29

先日リリースのあったAWS App Runnerがこれだよこれという感じの内容だったのでやってみました。

使い方

1.コンテナイメージの準備

スクリーンショット 2021-05-29 12.46.19.png

ソースとしてコンテナかリポジトリを選べます。
リポジトリだとruntimeがpythonとnodeの2つのみ対応されています。(21.05.29時点)
ここではLaravel実行環境のイメージをプッシュしてそれをソースとします。

FROM phppm/nginx:latest
COPY . /var/www
CMD ["--bootstrap=laravel","--static-directory=public/", "--app-env=prod" ,"--debug=0", "--logging=0"]
$ docker build -t ta9to:1.0 .
$ docker run -p 80:80 -d ta9to:1.0
$ curl 0.0.0.0/hello
hello!%

作成したイメージをecrへプッシュします。

$ export AWS_PROFILE=ta9to
$ aws ecr create-repository --repository-name ta9to
{
    "repository": {
        ...
        "repositoryUri": "****.dkr.ecr.ap-northeast-1.amazonaws.com/ta9to",
        ...
$ aws ecr get-login-password --region ap-northeast-1 | docker login --username AWS --password-stdin ****.dkr.ecr.ap-northeast-1.amazonaws.com/ta9to
Login Succeeded
$ docker tag ta9to:1.0 ****.dkr.ecr.ap-northeast-1.amazonaws.com/ta9to:1.0
$ docker push ****.dkr.ecr.ap-northeast-1.amazonaws.com/ta9to:1.0
The push refers to repository [****.dkr.ecr.ap-northeast-1.amazonaws.com/ta9to]
$ aws ecr list-images --repository-name ta9to
{
    "imageIds": [
        {
            "imageDigest": "sha256:ff374d71a2c7488c26928a6b6e2ad08d808f1c69d04cbb850c8f5dd879dc1080",
            "imageTag": "1.0"
        }
    ]
}

2.ソースおよびデプロイ

スクリーンショット 2021-05-29 13.25.47.png

コンテナイメージのURIを設定します。
参照ボタンから探せます。

スクリーンショット 2021-05-29 13.27.16.png

デプロイトリガー自動に設定し、プッシュしたらデプロイされるようにしました。

3.サービスを設定

サービス設定

スクリーンショット 2021-05-29 13.33.33.png

Auto Scaling

スクリーンショット 2021-05-29 13.34.06.png

ヘルスチェック

スクリーンショット 2021-05-29 13.34.32.png

セキュリティ、タグ

スクリーンショット 2021-05-29 13.35.05.png

確認および作成

スクリーンショット_2021-05-29_13_36_31.png

スクリーンショット_2021-05-29_13_41_52.png

$ curl https://zdggfapa7h.ap-northeast-1.awsapprunner.com/hello
hello!%

4.カスタムドメイン

スクリーンショット_2021-05-29_19_11_18.png

指定されたレコードを追加する。

$ curl https://www.ta9to.com/hello
hello!%

スクリーンショット 2021-05-29 20.01.23.png

完成!

コードを(コンテナイメージを)プッシュするだけでオートスケールとか一切設定を気にせず実行環境が出来上がりました。
これこれ。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15