Koyebを使ってWebサービスをコマンドラインから立ち上げる(そして失敗)
はじめに
Heroku を使おうと思った矢先、有料になったということを知りました。
代替えサービスがないか探したところ、Gin という Go 言語のフレームワークのドキュメントページで Koyeb について紹介されていました。
インスタンスタイプ nano ( CPUx1、MEMOx256GB ) が 2 インスタンスまで無料ということで、AWS EC2 の毎月の無料枠を使い切っている現状を解決してくれそうだったので早速使ってみます。
検証環境
Koyeb のアカウント作成
アカウントの開設についてはここでは説明しません。
一般的な Web サービス同様の手順でアカウントの作成は完了します。
"koyeb-cli" のインストール
Koyeb のサービスはコマンドラインから操作可能なようです。
koyeb/koyeb-cli: Koyeb cli というツールを見つけたので早速試してみます。
ただし、macOS 版の Homebrew モジュールを使うとどうもコマンド実行のたびに以下のようなエラーが発生してしまう。
バージョンの問題の可能性もあるが深堀りせず、 go install
で導入してみました。
こちらを使えば先のエラーが発生しなくなった。
"koyeb-cli" の補完
Zsh 上で、 koyeb
と入力後にタブを押してサブコマンドの候補が表示されると便利なので、オートコンプリートが効くように設定。
上記の一行を ~/.zshrc
の末尾に追記します。
追記が終わったら zsh
を立ち上げ直すか . ~/.zshrc
などすれば反映されます。
"koyeb-cli" の使い方
help
Login
まずはセットアップを始めます。koyeb login
コマンドを実行して認証を完了させます。
これを実行しないと始まりません。
トークンの入力を求められますが、書かれているリンクページからかんたんに生成可能となっています。
設定ファイルが作成されていれば準備は完了です。
サービスの起動
サービスを作成、起動してみます。
サービス作成用のコマンドは koyeb apps create
のようです。
ヘルプを見てみます。
設定項目が少ないです。
名前とフラグを与えるだけとなっています。
実行してみます。
いきなりなにか作成された模様。
成功しました。
ドメインも表示されているので起動しているのかもしれないです。https://hello-world-genzouw.koyeb.app
にアクセスしてみます。
エラーは出ているが、インターネット経由で先方のネットワークまで到達できた模様。
何某かアプリをデプロイしなければこのエラーは解消しないようなのでデプロイしてみることにしました。
Docker イメージをデプロイできるようなので、nginx
イメージをデプロイしてみます。
app という器の中に service を作って初めて外部にサービスを公開できるというのが Koyeb の概念のようなので、 service を作ります。
現在選択中の app を切り替えます。
service を作成してみます。
エラーとなってしまいました。
サービスの一覧を確認するコマンドを実行してみても、やはりエラーです。
まだコマンドラインから操作するためのインターフェイスは安定していないのかなと感じます。
ひとこと
結果的に Web Console にログインしてポチポチと設定していったほうが早そうです。
しばらくすれば安定してくるかもしれないので、また後日チャレンジしてみようと思います。
ディスカッション
コメント一覧
まだ、コメントがありません