Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cloudflare Tunnelを使ってMinecraftサーバを公開する

Avatar for kiokuless kiokuless
July 11, 2025
130

Cloudflare Tunnelを使ってMinecraftサーバを公開する

Cloudflare Tunnelの導入とMinecraftサーバを公開する時にハマったことを簡単にまとめました 時間が出来たらCloudflare Zerotrustのほうもちゃんとまとめたい

Avatar for kiokuless

kiokuless

July 11, 2025
Tweet

Transcript

  1. Story: 「IT未経験の友達を助けたい」 Story: 「IT未経験の友達を助けたい」 背景: 背景: IT未経験の友達が転職活動中 IT未経験の友達が転職活動中 「未経験だとインフラ系の求人が多いんだよね...」 「未経験だとインフラ系の求人が多いんだよね...」

    Discord共通の友達「なんかchillいゲームやりたいよね〜」 Discord共通の友達「なんかchillいゲームやりたいよね〜」 僕「サーバーと余ったMacbook送るから、Minecraftサーバ建てて一石二鳥しよう!」 僕「サーバーと余ったMacbook送るから、Minecraftサーバ建てて一石二鳥しよう!」 面接で話せる実績 面接で話せる実績 「Cloudflare Tunnelを使用してセキュアなゲームサーバーを構築・運用しています」 「Cloudflare Tunnelを使用してセキュアなゲームサーバーを構築・運用しています」 2 2
  2. 第1段階:サーバー構築は順調! 第1段階:サーバー構築は順調! Docker使えば簡単だった Docker使えば簡単だった services: services: minecraft: minecraft: image: image:

    itzg/minecraft-server itzg/minecraft-server environment: environment: EULA: EULA: "TRUE" "TRUE" TYPE: TYPE: "VANILLA" "VANILLA" ローカルでは完璧に動作 ローカルでは完璧に動作 「よし!あとは公開するだけ!」 「よし!あとは公開するだけ!」 3 3
  3. Cloudflareとは? Cloudflareとは? 個人開発者・小規模プロダクトの最強の味方 個人開発者・小規模プロダクトの最強の味方 開発者体験 開発者体験 - CLIツール完備、デプロイが爆速 - CLIツール完備、デプロイが爆速

    CDN(コンテンツ配信ネットワーク) CDN(コンテンツ配信ネットワーク) - 300+拠点から世界中に配信 - 300+拠点から世界中に配信 エッジコンピューティング エッジコンピューティング - なんか接続がめっちゃ早い - なんか接続がめっちゃ早い 5 5
  4. 個人開発者に嬉しいCloudflareの無料枠 個人開発者に嬉しいCloudflareの無料枠 太っ腹すぎる無料プラン 太っ腹すぎる無料プラン Cloudflare Workers Cloudflare Workers AWSのLambda, GCPのCloud

    Run Functionsみたいなもの AWSのLambda, GCPのCloud Run Functionsみたいなもの 10万リクエスト/日 10万リクエスト/日 まで無料 まで無料 エッジでJavaScript/TypeScript実行 エッジでJavaScript/TypeScript実行 (なんか最近はReactもレンダリングできるのでSPAも同じ様に使える) (なんか最近はReactもレンダリングできるのでSPAも同じ様に使える) その他の無料サービス その他の無料サービス R2 Storage R2 Storage - 10GB/月まで無料(S3互換) - 10GB/月まで無料(S3互換) KV Storage KV Storage - Redisっぽいやつ、100万回読み取り/日まで無料 - Redisっぽいやつ、100万回読み取り/日まで無料 D1 Database D1 Database - SQLiteベースのDB(5GBまで無料) - SQLiteベースのDB(5GBまで無料) Pages Pages - 静的サイトホスティング(無制限) - 静的サイトホスティング(無制限) 6 6
  5. Cloudflare Tunnelとは? Cloudflare Tunnelとは? 自宅サーバーを安全に公開する技術 自宅サーバーを安全に公開する技術 従来の方法の問題点 従来の方法の問題点 グローバルIPアドレスが必要 グローバルIPアドレスが必要

    ルーターのポート開放が必要 ルーターのポート開放が必要 自宅IPアドレスが外部に露出 自宅IPアドレスが外部に露出 Cloudflare Tunnelの解決策 Cloudflare Tunnelの解決策 グローバルIP不要 グローバルIP不要 - 動的IPでもOK - 動的IPでもOK ポート開放不要 ポート開放不要 - ファイアウォール設定そのまま - ファイアウォール設定そのまま IPアドレス隠蔽 IPアドレス隠蔽 - Cloudflare経由でアクセス - Cloudflare経由でアクセス 無料で利用可能 無料で利用可能 - 基本機能は無料 - 基本機能は無料 7 7
  6. トンネルは複数作れる トンネルは複数作れる まずは無難な HTTP を通す -> まずは無難な HTTP を通す ->

    その次にめんどそうな Minecraft で試す -> その次にめんどそうな Minecraft で試す -> ️ 12 12
  7. 最大の落とし穴:プロトコルによる制約 最大の落とし穴:プロトコルによる制約 Cloudflare Tunnelの基本仕様 Cloudflare Tunnelの基本仕様 公式ドキュメントより 公式ドキュメントより "This method

    requires you to onboard a domain to Cloudflare and install cloudflared "This method requires you to onboard a domain to Cloudflare and install cloudflared on both the server and the user's device." on both the server and the user's device." TCP接続(SSH、RDP、Minecraft等)の場合 TCP接続(SSH、RDP、Minecraft等)の場合 "Requirements: The cloudflared daemon installed on the host and client machines" "Requirements: The cloudflared daemon installed on the host and client machines" 出典: 出典: Cloudflare Developers - Non-HTTP applications Cloudflare Developers - Non-HTTP applications 友達(client)全員にcloudflaredをインストールして毎回立ち上げてもらう必要がある 友達(client)全員にcloudflaredをインストールして毎回立ち上げてもらう必要がある 14 14