LoginSignup
2
1

AWS App Runnerを使用して15分でHTTPSアクセス可能なWEBページを作成しよう

Posted at

AWS App Runnerとは

AWS App Runnerはフルマネージド型のコンテナアプリケーションサービスです。
インフラストラクチャやコンテナの経験がなくても、ウェブアプリケーションやAPIサービスを簡単に構築、デプロイ、実行が可能です。
端的に説明しますと、色んなAWSサービスを組み合わせなくても、AWS App Runnerとリポジトリがあれば、HTTPSアクセス可能でスケーラブルなWEBページが作成できます。

AWS App Runnerのメリット

  • ELBを作成しなくても自動的に負荷分散が可能
  • オートスケーリングが簡単に設定可能
  • Codeシリーズを使わなくもアプリケーションをECRやGitにプッシュすれば、自動でデプロイされる
  • サブネット、ルートテーブル、セキュリティグループ、ELBなど機能として盛り込まれているので意識する必要がない
  • プライベートサブネット上のDBや、Secrets Managerなどとも連携可能

AWS App Runnerのデメリット

  • オートスケーリングの条件が同時実行数のみ(CPU使用率などでスケーリングはできません)
  • サイドカーコンテナに対応していない
  • セキュリティグループによるIP制限付加(WAFを使用すれば可能です)

15分で構築してみる

ECRのリポジトリを作成する(1分)

ECRのページへ遷移し、「リポジトリを作成」ボタンを押下します
image.png


リポジトリ名を適当に入力し、後はデフォルトで「リポジトリを作成」ボタンを押下します
image.png


リポジトリが作成されたことを確認します
※URIは後ほど使用するので、メモしておいてください
image.png

CloudShellからECRにイメージをプッシュする(4分)

CloudShellを起動します
image.png


ファイルのアップロードからDockerFileとindex.htmlをアップロードします
image.png


アップロードするDockerFileとindex.htmlの中身は下記になります。

DockerFile
FROM nginx:alpine
COPY ./index.html /usr/share/nginx/html
index.html
<html lang="ja">
  <head>
    <meta charset="UTF-8">
  </head>
  <body>こんにちは </body>
</html>


ECRのページに戻り、「プッシュコマンドを表示」を押下します

image.png


4つのコマンドが表示されるので、全てCloudShellに入力してください

image.png


問題なくイメージがプッシュできると、ECRのリポジトリ内にlatestタグでイメージが作成されます

image.png

App Runnerを起動する(10分)

App Runnerのページに遷移し、「App Runnerサービスを作成」を押下します
image.png


先程メモしておいたECRのURIを入力します
ロールは「新しいサービスロールの作成」を選択し、「次へ」ボタンを押下します
image.png


サービス名は適当に入力して、ポートは80番へ変更しましょう
後の設定はデフォルトのままでOKで、「次へ」ボタンを押下します
image.png


デプロイが開始されます
image.png


数分経過するとデプロイが完了し、表示されているデフォルトドメインからWebページをHTTPSアクセスで表示することができます

image.png


「こんにちは」と表示されていればOKです

image.png


App Runner上からアプリケーションのログを簡単に確認することができます
※CloudWatchにも自動的に転送されるので、CloudWatch上での確認も可能です

image.png


メトリクスもApp Runner上から簡単に確認することができます
image.png

最後に

  • AWS App Runnerを使用することで、15分でHTTPSアクセス可能なWEBページを作成することができました
  • デフォルトで払い出されるURLのドメインはApp Runnerになっていますが、自分で購入したドメインを付与することも可能です
  • Secrets ManagerやParameter Storeにも対応し、プライベートサブネット上のRDSとも連携できるので、業務でも十分活用できるレベルだと思います
2
1
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
2
1