sttsのソースコードMemoブログ

色々やってみた結果のMemo

AWS App Runnerを試してみる

AWS App Runnerを試した時の記録です

AWS CLI2をインストール

いつのまにかAWS CLI2が出来ていました。インストールにpipを使わなくなった

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
$ unzip awscliv2.zip
$ sudo ./aws/install

$ aws configure

アクセスキー、シークレット、デフォルトリージョン(安そうなのでus-west-2派)、json

ECRにDockerイメージを登録

AWSコンソールからリポジトリを作成

"プッシュコマンドの表示"ボタンを押して表示されたコマンドを入力。↓のコマンドが表示された。

dockerコマンドにログイン情報を付ける

$ aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin <数字>.dkr.ecr.us-west-2.amazonaws.com

タグをつける

$ docker tag my-image-name:v3 <数字>.dkr.ecr.us-west-2.amazonaws.com/my-image-name:v3

pushする

$ docker push <数字>.dkr.ecr.us-west-2.amazonaws.com/my-image-name:v3

App Runner作成

ダイアログに従う。

  • リポジトリタイプ: コンテナレジストリ
  • プロバイダー: ECR
  • デプロイトリガー: 手動(自動にすると$1取られるので)
  • ECR アクセスロール: 適当に作成

次ページも適切に入力

  • ポートは、コンテナ上のプログラムが待ち受けているポート
  • セキュリティは、AppRunnerで実行するイメージが必要とするIAMロールを設定する

IAMロールは下記の信頼関係で事前作成した。どこかの見真似です。

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

App Runnerにカスタムドメインを付ける

ドメイン追加」ボタンを押しドメイン名を入力。

「関連付け指示を表示」に入力すべきCNAMEレコードが表示される。

指示に従いDNSレコードを登録。(Route53である必要はなかった)

半日ぐらい待つと検証が成功して利用できるようになった。

(半日はツライ。。。)