さくらクラウドのAppRun βを利用してみる
概要
さくらクラウドからコンテナベースで利用できるAppRunがβ版で利用できるようになっています。
Zenn上で全然記事になっていないこともあり、自分で試してみた内容をまとめてみました。
事前準備
アカウント登録
登録してください。
登録した電話番号の認証が音声通話だったのが珍しいなと思いましたが、ほかは普通だと思います。
Registryの登録
AppRunを利用するにあたって、コンテナイメージをレジストリに登録する必要があるので、事前に設定を行います。
基本的に、マニュアルにある通りです。
追加より、新しいコンテナを追加します。
適切に値を入力して、作成します。
非公開にしている場合、作成したユーザー情報の入力が必要になります。
imageの登録
コンテナイメージの登録を行います。
今回は動作を確認したいだけなので、nginxのlatestをpushします。
docker pull nginx:latest
docker tag nginx:latest merutin.sakuracr.jp/nginx:latest
docker login merutin.sakuracr.jp
# user, passwordを入力
docker push merutin.sakuracr.jp/nginx:latest
これで、事前準備は完了です。
AppRun設定
作成
アプリケーションの作成より作成を進めていきます。
各項目を入力していきます。
コンテナイメージはsakuracr.jp以外を入れるとエラーになります。
そのため、必要なイメージは自分で作成したリポジトリを作成する必要がありそうです。
vCPUは0.1 - 1までで、0.1刻みで指定ができます。
メモリは256Mib、512Mib、1GiB、2Gibの4択です。
β版なこともあり、サイズは小さいもののみですね。
環境変数やパケットフィルターを必要に応じて入力して作成をします。
環境変数は50個までです。本番のアプリケーションだと50個以上ある環境も定期的に見るので、まとめて登録するなど何かしらの工夫が必要になりそうです。
区分がないのでセキュアな文字列であってもそのまま表示されてしまいます。
作成後
作成後はステータスで現在の状況がわかります。
バージョン情報より、デプロイしたバージョンの詳細の確認や、トラフィックの割合の管理ができます。
CloudRunっぽい画面ですね。
リクエスト
最小スケール数: 0のままで利用する場合、nginxのみのコンテナであっても20秒近く起動にかかりました。
※ 現状ではコンソールからは最小スケール数を変更する手段はありません
コールドスタートでの運用は現時点ではきびしそうです。
また、2025年2月21日時点では、数分アクセスがないと、コールドスタートになるようです。
CloudRunは15分くらいidleの時間があるので、それと比較すると短いですね。
また、原因はわかりませんが、複数続けてアクセスすると100ms以下でレスポンスが返ってきたのですが、数秒間隔をあけると、200ms - 4秒程度にレスポンスが変化しました。
コールドスタートにも何段階かあるのかもしれません。
エラーの発生時について
トラブルシューティングができない
間違ったパスワードを入力して起動してみました。
処理としてはすぐに失敗になるものの、エラーの情報は見えないので、推測する必要があります。
もうちょっとエラーの詳細は見えるようになって欲しいです。。
エラーの場合でもトラフィックが移動する
このバージョンをすぐに利用する にチェックが入っている場合、エラーになっていてもトラフィックが移動してしまいました。
なので、現実的にはすぐに利用するのチェックは入れずに該当のコンテナが起動したことを確認してから、トラフィックを変える必要がありそうです。
まとめ
AppRun βをいったん動かしてみました。
まだまだスタートしたばかりのサービスなのでできないこと、不便なことも多いのですが、これからに期待していきたいです。
参考
Discussion