11
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

新サービス AWS App Runner を使ってみた

Last updated at Posted at 2021-05-21

初めに

AWSの新サービスApp Runnerがローンチされました。どんな手順でWebアプリをデプロイできるのか確認してみました。ECSよりも格段にデプロイが簡単でした。

App Runner

  • コンテナネイティブのフルマネージドサービス
  • オーケストレーターの設定、ビルドパイプラインの準備、ロードバランサーの調整、 TLS 証明書のローテートなどは必要ない
  • サーバーレス
  • ECR または GitHub をプロバイダーとして利用可能

デプロイ手順

事前準備

今回はECRを使います。事前にECRにイメージをプッシュしておきます。

1 イメージを選択

「参照」をクリックし使用するイメージを選択します。

image.png

2 ロールの選択

App Runner が ECR からイメージをプッシュできるように権限を付与します。

image.png

こちらのポリシーがアタッチされたロールが作成されました。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage",
                "ecr:DescribeImages",
                "ecr:GetAuthorizationToken",
                "ecr:BatchCheckLayerAvailability"
            ],
            "Resource": "*"
        }
    ]
}

信頼されたエンティティ

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "build.apprunner.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

ロール名
AppRunnerECRAccessRole

ポリシー名
AWSAppRunnerServicePolicyForECRAccess

3 サービス設定

3.1 サービス設定

サービス名、CPU・メモリ、ポートを設定します。

image.png

最初、イメージでエクスポートするポートをここで設定するポートと異なるポート番号を指定したために、失敗しました。失敗例にこのことを記載しました。

3.2 スケーリング設定

デフォルト

image.png

カスタム

「新規追加」をクリックします。

image.png

設定名、スケーリングのしきい値などを設定し、保存をクリックします。

image.png

3.3 ヘルスチェックの設定

ロードバランサーによるヘルスチェックの設定をします。

image.png

3.4 セキュリティ設定

他のサービスへアクセスしたい場合はここでロールを選択します。

image.png

4 確認画面

「作成とデプロイ」をクリックします。
注意
「新しいロールの作成」で App Runner のサービスを作成を行ったところ、ロールに関するエラーが発生しました。しかし少し時間をおいて(1~2分)、再度「作成とデプロイ」をクリックしたところ、問題なくデプロイが開始されました。

image.png

5 デプロイ

サービスを作成している状態です。

image.png

成功すればステータスがRunningに切り替わります。

image.png

失敗例

コンテナのポートと App Runner のポートが異なっていた場合、デプロイに失敗しました。

EXPOSE 80

上はDockerfile、下の画像はApp Runnerで設定するポートです。

image.png

image.png

再デプロイ

デプロイ設定を手動にしている状態でイメージを編集した場合、自動ではその編集内容は反映されません。以下の「デプロイ」をクリックすると反映されます。

image.png

デプロイ設定の変更

デプロイ方法を変更したい場合、設定タブで「編集」をクリックします。

image.png

「自動」を選択し、「変更を保存」をクリックします。

image.png

この状態でイメージをプッシュし直すと自動でデプロイされます。

参考記事

11
3
0

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
11
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?