さくらインターネットからAppRunなる新サービスが登場
コンテナ基盤らしくβ期間中は無料とのことでしたので少し触ってみました
まとめ
- 良い点
- シンプルで使いやすい
- 起動が速い
- 気になる点
- Docker Hubのイメージが直接使用できない
- ログやモニタリング機能がない
- Hacobune、Arukas (サービス終了)
- AWS LambdaのFunction URLsに近い印象
- コンテナイメージを指定するだけ
- 発行されるURLにアクセスして利用
- インフラ側は気にする必要がない
目次
- コンテナレジストリの準備
- イメージをレジストリにプッシュ
- AppRunアプリケーションの作成
1. コンテナレジストリの準備
AppRunで使えるイメージは「さくらのクラウド」に格納したイメージだけです。
そのためまずは格納先となる「さくらのクラウド」のレジストリを作成します。
Docker Hubも使えませんがイメージを Pull & Push することで利用可能です。
さくらクラウドにログインして「AppRun β」を選択
「コンテナレジストリ」を選択
「追加」を選択
レジストリの名前や公開範囲を選択してレジストリを作成
公開範囲は「非公開」を選びました。
が、毎回の認証が面倒だったのでパブリックイメージなら「Push&Pull」のほうが楽です。
認証情報を作成するため「名前」をクリックして詳細に飛びます。
「ユーザ」タブを選択
「追加」を選択
ユーザ名とパスワードを入力して認証情報を作成します。
2. イメージをレジストリにプッシュ
AppRunで使用するイメージを用意
ログ機能がなくデバッグが難しいため確実に動作するイメージを選びます。
今回はNGINX-Demosのイメージを使用しました。
アクセスするとServer nameなどを返すシンプルなデモアプリです。
ローカル端末にDockerをインストールしていないためAWS CloudShellでコマンド操作を行いました。
(さくらのクラウドシェルもDockerほしい)
NGINX-DemosイメージはDocker Hubで公開されているのでプル
docker pull nginxdemos/hello
さくらのレジストリにログイン。
ユーザ名とパスワードを聞かれるのでさっき作ったものを入力
(Login Succeeded
と表示されるはず)
docker login cloudremix.sakuracr.jp
タブを付け替えてプッシュ
docker tag nginxdemos/hello cloudremix.sakuracr.jp/nginxdemos:latest
docker push cloudremix.sakuracr.jp/nginxdemos:latest
3. AppRunアプリケーションの作成
本題のアプリケーションを作成します。
とはいっても、イメージ指定以外は特に変更する必要ありませんが
AppRunのページから「アプリケーションを作成」を選択
ポートやイメージ情報を入力してアプリケーションを作成
アプリケーションが作成され、正常に起動するとステータスが「正常」になります。
エラーになった場合は「失敗」とだけ表示されます。(エラー理由などは見れない)
作成した段階でアクセス用の「公開URL」も作成されます。
次のようなURLで独自ドメインは使用できないようです。
https://app-example.ingress.apprun.sakura.ne.jp
公開URLにアクセスするとデモアプリが表示されます。
かんたん
ちなみに作成直後はこんな感じ。
バージョンタブはこんな感じ
トラフィックの割合を指定できるためカナリアリリースも可能です。
パケットフィルタタブはIPアドレス制限のこと。
プレフィックス長は「1~32」を自由に選択可能です。
他に設定項目や表示項目はないようです。
更新する際は作成と同じように設定します。
(レジストリのパスワードは毎回入力が必要)
別で気なったこと
「さくらのクラウド」のレジストリって消しても消えない?
(管理コンソールから消しても普通にPullできる)