AWSのApp Runnerことはじめ

今回、AWSのApp Runnerを試してみることとなりました
GCPの「Cloud Run」とどちらを試してみようかと検討したんですが、Bedrockを使いたく、こちらになりました。
BedrockといえばAI。AIといえばPythonなんですが、そこはへそ曲り的にNodejsでの実装を試してみることにしました。
手順としては
1)nodejsでのサンプルを作成します。
2)githubでプライベートのリポジトリを作成します。
3)pushします。
4)AWSのアカウントを作成します。
  ここは、もともとあったので、記載はパスします(^^;
5)AWS App Runnerのサービスを作成します。

目次

nodejsのサンプルを作成します。

express –views=ejs sappで、スケルトンを作成しました。
ただ、これがえらい目にあう前兆とは知らずに。。。

githubのプライベートのリポジトリを作成します。

作成します。
リポジトリ名は、app_runtestってしました。

pushします。

git init
git add -A
git commit -m “1st”
ほんで持って、
git pushします。

AWSのアカウントを作成します

作成しましょう!
持ってたんで、ここはパス!

AWS App Runnerのサービスを作成します

どこかと探したところ、「コンピューティング」のところにありました。

「AWS App Runner」をクリックします。
以下のボタンをクリックします。

リポジトリタイプを選択します。
今回はgithubを利用するので「ソースコードリポジトリ」を選択します。

この時
「App Runner は、アカウントに「AWS Connector for GitHub」というアプリをインストールすることで、ソースコードをデプロイします。このアプリは、メインの GitHub アカウントまたは GitHub 組織にインストールできます。」
と表示されています。
「新規追加」をクリックして追加してください。

接続名:run_apptest — 適当です。
Github アプリケーション:初めてなんで、「別のアプリケーションをインストールする」を選択

今回は「Only select repositories」を選択し、今回のリポジトリ名を指定しました。
ほんでもって、「Install」しました。パスワード聞かれます。

うまいこといったらGitHubアプリケーションに、ログイン名が表示されます。

「次へ」でようやく、App Runnerの画面に戻ってきます(^^)

デプロイ設定なんですが、せっかくなんで自動でやってみます(^^)

構築の設定をします

2つの方法が提示されています。
1)ここで全ての設定を構成する
App Runner コンソールで、サービスのすべての設定を指定します。
2)設定ファイルを使用
App Runner がコードリポジトリのソースディレクトリにある apprunner.yaml ファイルから設定を読み取るようにします。前のステップでソースディレクトリが指定されていない場合、App Runner はデフォルトでルートディレクトリになります。

今回は1)でやります。

「次へ」

サービスを設定

環境変数は今回はセットしていません。
実際には、本番・テストなんかの動作モード、API関連などいっぱいあるんでしょうね。
仮想CPUと仮想メモリですが、仮想CPUによって選択できるメモリ容量が変わってきます。
今回は両方とも最小を指定しています。

そのほかの設定としては、

「次へ」で設定内容の確認画面が表示されます。
OKであれば「作成とデプロイ」をクリックします。

”AppRunner-Test にデプロイしています。これには数分かかることがあります。”とクルクルしています。
で、5分ほど経ったところで”作成に失敗”との表示が。。
理由としては、コンテなど接続ができない???
とりあえず、再構築してみます。

何が原因だった?

express –views=ejs sapp
で、いつものスケルトンを作成して今回のテストに挑みました。
この場合、package.jsonのスタートコマンドが「”start”: “node .bin/www”」となります。
エラーとしては、/app/bin/wwwが見つけられなかったのが原因でした

app.jsを編集して
app.listen(3000, () => { console.log(‘Example app listening on port 3000!’) });
こんな感じにして、bin/wwwを利用しないようにしたうえで、package.jsonも
“start”: “node app.js”
な感じにしたら動いてくれました。

このあたりのこと、イベントログに出てくれないんですよね。
単に”04-23-2024 04:07:46 PM [AppRunner] Failed to deploy your application source code.”って出るだけで。
アプリケーションログに出ていまし
実行時エラーだからわかるっちゃわかるんですがね。。(^^;

あとがき。。。

デフォルトドメインとして定義されているのが「〜.awspapprunner.com」なんですよね。
独自ドメインにするってどうすんだろ?
プロキシ???
さてさて。。。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

メモ

前の記事

ChatUXでボタンに色付け