こんにちは。虎の穴ラボDXエンジニアのHoshiです。
現在私は主にRubyを使用して開発しているのですが、虎の穴ラボに入社する前はPHPでLaravelを触っていました。
そんな中技術ニュースなどでLaravelCloudなるものがリリースされたと知り、プロジェクトのデプロイまで実践してみました。
この記事を通じてデプロイまでの流れを紹介ができればと思います。
※執筆時点(2025/03/20時点)での情報です。最新の情報は更新される可能性があるため、公式サイトも参照ください。
cloud.laravel.com
対象読者
- Laravel Cloudのリソース設定やデプロイ方法を知りたい方
- リソース設定の設定項目を知りたい方
アカウント作成の手順は割愛しますが、Sandbox使用でも従量課金が発生するためクレジットカード登録が必須です。
リソース以外の機能などは、別途紹介できればと思います。
LaravelCloudとは
LaravelCloudは、Laravelの開発環境をクラウド上で提供するサービスです。LaravelCloudを利用することで、Laravelの開発環境を手軽に構築することができます。
Laravelの開発環境を提供するだけでなく、Laravelのプロジェクトをデプロイする機能も提供しています。
特徴として、以下の点が挙げられます。
- Laravelのプロジェクトをデプロイ(本記事で紹介)
- データベースの構築(本記事で紹介)
- キャッシュの構築(本記事で紹介)
- ファイルストレージの構築(本記事で紹介)
- メトリクスの表示
- php artisanコマンドの実行
- .envファイルの編集
etc...
これらがWebUI上で簡単に操作できるのが特徴です。
他にもVercel等のホスティングサービスは存在しますが、Laravelに特化したのがLaravelCloudなようです。
LaravelCloudの価格
LaravelCloudはSandboxとして使うだけであれば無料で利用できます。 Sandboxプランの場合、以下の形式での利用になります。
- Laravelアプリケーションの作成(無制限)
- 環境設定の追加(無制限)
- ビルドの実行(無制限)
- タスクスケジューリング
- SSL
- ログの保存(1日/50MB)
- Applicationの実行環境スペックはFlexのみ
- その他、使用したリソースによって従量課金が発生
価格の詳細は下記URLに記載があります。 cloud.laravel.com
LaravelCloudの主な機能
Laravelのプロジェクトをデプロイ
Laravelのプロジェクトをデプロイする場合、GitHubリポジトリからプロジェクトを取得してデプロイすることになります。
LaravelCloudでは、WebUI上で単純な手順でプロジェクトをデプロイすることができます。
前提
上記で記載した通り、GitHubリポジトリからプロジェクトを取得してデプロイすることになります。
そのため、事前にGitHubリポジトリを作成してLaravelプロジェクトをpushしておく必要があります。
Applicationの作成
- LaravelCloudにログインします
- ダッシュボード画面が表示されますので、Overviewタブの「New application」をクリックします
- Applicationの作成モーダルが表示されますので、以下の項目を入力します
- Source control provider: GitHubリポジトリのアカウントを設定します。GitHubの認証が行われますので認証します
- Repository: Applicationを作成するリポジトリを選択します
- Application Name: アプリケーション名を入力します
- Region: リソースを配置するリージョンを選択します
- 配置するRegionによって従量課金の価格が変わりますので、上記の価格ページを確認してください
- 配置するRegionによって従量課金の価格が変わりますので、上記の価格ページを確認してください
- 入力が完了したら「New Application」をクリックします 上記手順でApplicationが作成されます。
実際にApllicatonが作成された様子
デプロイ
- ダッシュボード画面が表示されますので、Overviewタブから作成したApplicationを選択します
- Applicationの詳細画面が表示されますので、デプロイする環境を選択します
- 最初はデフォルトでmainが作成されています
- 環境を追加する場合は「New environment」をクリックします(デプロイするブランチ、環境名を設定できます)
- 環境の詳細画面が表示されますので、Deployボタンをクリックします
上記手順でデプロイが実行されます。
デプロイが完了するとWebUI上でデプロイされた環境の詳細を確認することができ、画面右上のVisitでデプロイされたアプリケーションへアクセスすることができます。
実際にデプロイが完了した様子
これだけでデプロイが完了します。
環境詳細画面からデプロイが完了し、Edge networkとDomainsがActiveになったことが確認できます。
Domainsの下にCustom Domainsとあるように独自のカスタムドメインも設定ができますが、それは有料版の機能になります。
Domainsから実際に発行されたドメインが表示されています。これをクリックすることでもデプロイされたアプリケーションにアクセスすることができます。
自分はデフォルトのダッシュボード作成を行いデプロイしたので、画面は以下のものが表示されました。
データベースの構築
LaravelCloudでは、データベースの構築も簡単に行うことができます。データベースの構築は、WebUI上で簡単に操作することができます。
- デプロイした環境詳細画面から「Add database」をクリックします
- まだデータベースが作成されていないので、表示されたモーダルから「Create a database」をクリックします
データベースクラスターの作成モーダルが表示されますので、以下の項目を入力します
- Database cluster type: データベースクラスターの種類を選択します
- 執筆時点では、MySQL8、PostgreSQL16、PostgreSQL17が選択可能でした
- Database cluster name: データベースクラスター名を入力します
- Database name: データベース名を入力します
- Database cluster settings: データベースクラスターの設定を選択します(Editから編集できます)
- この設定項目は選択した種類によって異なります
- PostgreSQL
- Server Region: 配置するリージョンを選択します
- Hibernate after: アイドル状態になった後に自動的に停止するまでの時間を設定します
- Compute Units: コンピューティングリソースを選択します
- コンピューティングリソースの詳細はこちらを参照ください
- MySQL
- Server Region: 配置するリージョンを選択します
- Size: コンピューティングリソースを選択します
- Storage: ストレージサイズを選択します
- Database cluster type: データベースクラスターの種類を選択します
入力が完了したら「Create database cluster」をクリックします
- 環境詳細画面の下部に表示されるポップアップで「Unsaved changes」と表示されますので、Saveから「Save and deploy」をクリックします
「Unsaved changes」と表示されているように、その他のものも同様ですが変更した内容をデプロイしないと反映されませんので注意してください。
設定を保存だけしてデプロイを後でまとめて行うこともできます。その場合はSaveから「Save only」をクリックしましょう
上記手順でデータベースの構築が完了します。
データベースの接続情報
作成されたデータベースはローカルのデータベースクライアントからも接続することができます。
作成されたデータベースクラスターをクリックすると、設定メニューが表示されます。
その中の「Enable public endpoint」をONにすると、外部からの接続が可能になります。
セキュリティ上の問題があるためできればOFFにしておくことをお勧めしますが、開発上ローカルのDBクライアントからアクセスしたい場合もあるでしょう。
「Enable public endpoint」をONにした状態でデータベースクラスターの「・・・」をクリックすると「View Credentials」が表示されます。
クリックすることで外部からのデータベースアクセスに必要な情報が表示されます。
この情報を元にデータベースクライアントで接続することができます。
ちなみにデータベースクラスターを作成した時点で、Laravelの.envファイルに接続情報が自動で設定されていますので特に.envファイルを編集する必要はありません。
キャッシュの構築
データベースができたら次はキャッシュです。 キャッシュもデータベースと同様にWebUI上で簡単に操作することができます。
データベースを作成したUIの下にある「Add cache」をクリックします。
データベースと同じく「New cache」をからキャッシュの作成が可能です。
この辺のUIが統一されているのはなんとくなく操作がしやすいですね。
キャッシュクラスターの作成モーダルが表示されますので、以下の項目を入力します。
- Cache type: キャッシュクラスターの種類を選択します
- が、執筆時点では「Laravel KV Store」のみ選択可能でした
- モーダルにも記載がありますが、RedisAPIと互換性があるようです
- Name: キャッシュ名を入力します
- Size: キャッシュのサイズを選択します
- Region: キャッシュを配置するリージョンを選択します
作成されてからもデータベースとUIはほぼ同じです。
「View Credentials」から接続情報の確認等もできます。
こちらもデータベースと同様、.envファイルに自動で接続情報が設定されるためファイルを書き換える必要はありません。
ファイルストレージの構築
データベース、キャッシュがあるなら当然ファイルストレージも存在します。
ファイルストレージもWebUIがデータベース、キャッシュとほぼ同じです。設定項目は下記があります。
- Bucket type: バケットの種類を選択します
- ここは「Laravel Object Storage」のみ選択可能でした
- Bucket name: バケット名を入力します
- Visibility: バケットの可視性を選択します
- PrivateとPublicが選択可能です。ここはそのまま外部公開するかどうかですね。
ここまでLaravelを構成するリソースの説明をしましたが、リソースの設定項目などを変更すると、保存してもデプロイしないと反映されませんので注意してください。
データベースの項でも記載しましたが、設定を保存だけしてデプロイを後でまとめて行うこともできます。
デプロイ履歴もバッチリ確認できます。
他にも機能は存在しますが、リソースの設定ができれば大体動かすことはできるでしょう。
色々な機能をWebUIから簡単に選択するだけで自動設定され、サービスが稼働するのは非常にお手軽で便利です。
まとめ
今回は2025年2月末にリリースされたLaravelCloudの主な機能を解説しました。
Laravelで開発を行っている方にとっては、LaravelCloudは非常に簡単にサービス公開ができるサービスとなっています。
ここでは紹介していない細かい機能も多くありますので、詳細が気になる方は公式Documentも参照ください。
本ブログでも詳細な機能を掘り下げる記事を今後も書ければと思います。
LaravelCloudを利用することで、手軽に開発環境を構築できますのでぜひお試しください。
補足
Laravel Cloud Document:https://cloud.laravel.com/docs/intro
採用情報
虎の穴ラボでは一緒に働く仲間を募集中です!
この記事を読んで、興味を持っていただけた方はぜひ弊社の採用情報をご覧ください。
toranoana-lab.co.jp