7K Views
February 26, 25
スライド概要
リリースされたばかりの Laravel Cloudを触ってみた PHP勉強会@東京#173 デロ (@dero1to)
■ 所属 株式会社キュービック Webエンジニア 新卒3年目 ■ 技術 Ruby、Rails、PHP、Laravel ■ 趣味 ドライブ、ダーツ、アニメ、自宅鯖 カンファレンスのスタッフ、イベントの配信 ■ 自称 カンファレンスジャンキー デロ ■ 運営 ■ 所属 @dero1to 2
2/24 3
Laravel関連のアップデート ● Laravel 12 ● Laravel Cloud ● Starter Kits ● VS Code Extension 4
Laravel Cloud 5
Laravel Cloudとは Laravel 用の 新しいホスティング&デプロイサービス ● Laracon US 2024で発表 ● 一昨日(2/24)に無事サービスリリース ● Laravel版Vercel 6
Laravel Cloudのできること ● サーバーを管理せずに Laravel アプリケーションをデプロイ ● ワンクリックの自動スケーリング ● データベース、キャッシュ、ストレージ、セキュリティ ● ログ、メトリクスの確認やコマンドの実行も可能 ● 複数の環境に対応 ● エッジネットワーク 7
Laravel Forge、Laravel Vaporは? Laravel Forge サーバーを完全に制御して構成したい場合 ● ● サーバー管理 Application Deploy Service Laravel Vapor トラフィックが急激に変化し無制限なスケール ● ● Laravel 用の自動スケーリング Serverless Deploy Platform 8
Laravel Cloudとは We’ve spent more than a decade listening to what developers want, and it’s simple: they just want to ship. 私たちは 10 年以上にわたって開発者の要望に耳を傾けてきましたが、 答えはシンプルです。 開発者はただ出荷したいだけなのです。 https://web.archive.org/web/20241229124534/https://cloud.laravel.com/ 9
実際にLaravelをホストしてみる 10
Laravelのリポジトリの用意 今回はリリースされたばかりのLaravel12を使います 11
アカウント作成 https://laravel.cloud からアカウント作成してログイン 12
アプリケーションの作成 「New application」を押してアプリケーションを作る 13
アプリケーションの作成 リポジトリをどこから持ってくるかを選ぶ。今回はGitHubを選択 14
アプリケーションの作成 今回の使いたい「laravel12-app」のリポジトリを選択 15
アプリケーションの作成 現在はリージョンを4つから1つ選択 16
アプリケーションの作成 この画面ができたら完成 ただしデプロイはされていない 17
アプリケーションの作成 Edge networkとして ● DDoS protection ● CDN ● Edge caching これらは Cloudflare上で構築されている 18
アプリケーションの作成 コンピューティングリソースの設定 ● インスタンスサイズ ● オートスケーリング ● 休眠 ● スケジューラー ● バックグラウンド Job 19
アプリケーションの作成 コンピューティングリソースの裏 AWS Graviton EC2 ● Graviton 4 (オハイオ、フランクフルト) ● Graviton 3 (ロンドン、シンガポール) 20
アプリケーションの作成 コンピューティングリソースの裏 AWS Graviton EC2 ● Graviton 4 (オハイオ、フランクフルト) ● Graviton 3 (ロンドン、シンガポール) 21
アプリケーションの作成 ● データベース => Postgresはneon => MySQLは不明(プレビュー版) ● KV Store Redis互換のupstash ● オブジェクトストレージ S3互換のCloudflare R2 22
アプリケーションの作成 環境設定 ● PHP、Nodeバージョンの設定 ○ PHP ≧ 8.0 ○ Laravel ≧ 9.0 ● タイムアウト ● 環境変数の設定 23
アプリケーションの作成 環境設定 ● PHP、Nodeバージョンの設定 ○ PHP ≧ 8.0 ○ Laravel ≧ 9.0 ● タイムアウト ● 環境変数の設定 なぜか、PHP 8.2以降しか選べない😕 24
Active Support終わってるし仕方ないよね アプリケーションの作成 環境設定 ● PHP、Nodeバージョンの設定 ○ PHP ≧ 8.0 ○ Laravel ≧ 9.0 ● タイムアウト ● 環境変数の設定 なぜか、PHP 8.2以降しか選べない😕 25
アプリケーションの作成 ビルドコマンドやデプロイコマンドも設定できる 26
アプリケーションの作成 dero1to.laravel.cloudのように、自分でlaravel.cloudより前のサブドメ インを指定できる。自分のほしいサブドメを抑えるなら今がチャンス! 27
デプロイ ワンボタンでデプロイ ※転送料などは別課金なのでクレジットの登録が必要 28
デプロイ 29
デプロイ 30
デプロイ 31
デプロイ 32
デプロイ 33
デプロイ ちゃんとデプロイしようとすると100分でも終わらない 34
デプロイ 爆速でいいですね 35
デプロイ 36
注意点 37
お金 ● プラン + リソース代 + 転送量 ○ リージョンごとに単価が異なる ● 転送量等にはプラン毎の基本枠があるが超過分は別途課金 ● リソースには休眠(hibernation)が用意されているので、 アクセスが少ないときには自動で停止できる ● Laravel Cloud には明示的な支出上限はない ○ 近日中に支出アラートが提供されるそう 38
リソース削除 ● アプリケーションの削除と環境の削除の2種類がある ● 環境を削除する際、デフォルトのリソースは削除ができない 別の環境を用意してデフォルトを切り替えた後に削除が行える ● またデータベース、KV Store、オブジェクトストレージは他アプリ ケーションと共有する可能性もあるため、アプリケーションを削除 しても自動で削除されないことに注意が必要 39
まとめ 40
まとめ ● 初めての人でも手軽にサービスをリリースできる ● 初めての人でも爆速にサービスをリリースできる 41
まとめ ● 初めての人でも手軽にサービスをリリースできる ● 初めての人でも爆速にサービスをリリースできる さあ! 今すぐLaravel Cloudを初めて 自分のIDを抑えよう! 42