Azure VPSでマイクラサーバー構築完全ガイド
B1sプラン・NSG・IOPS最適化・自動バックアップ対応
最終更新: 2025年8月5日 | バージョン1.21.8対応
2025年8月最新情報
Microsoft Azureでマイクラサーバーを運用したいけれど、複雑な設定に戸惑っていませんか?Azure VPSは世界レベルのインフラを提供する一方で、Network Security GroupやIOPS設定など、独特の仕様があります。この記事では、B1sプランでの小規模運用から、本格的な大規模サーバーまで、Azure特有の設定を完全解説します!
1. Azure VPSの基礎知識とメリット

出典: Microsoft Learn
Azure Virtual Machinesの特徴
Azure VPSの強み
-
世界規模のインフラ: 60+リージョンでの展開 -
エンタープライズグレード: 99.95%のSLA保証 -
柔軟なスケーリング: 需要に応じた自動拡張 -
豊富なセキュリティ機能: 多層防御システム -
統合管理: Azure Portalでの一元管理
マイクラサーバーでのメリット
技術的優位性
- 低遅延ネットワーク: Azure Accelerated Networking
- 高速ストレージ: Premium SSD with IOPS
- 自動化: ARM テンプレートでの構築
- 監視: Azure Monitor による24時間監視
- 災害復旧: Azure Site Recovery
コスト効率
- 従量課金制による柔軟な課金
- リザーブドインスタンスで最大72%割引
- ハイブリッド特典による既存ライセンス活用
2. B1sプランでの小規模サーバー構築
B1sプランの仕様と制限
B1sプランスペック
適用範囲
-
2-5人の小規模サーバー -
バニラサーバー(MODなし) -
テスト・開発環境 -
学習目的
Azure Portalでの VM作成
ステップ1:仮想マシンの作成
ステップ2:認証設定
ステップ3:ディスク設定
初期セットアップスクリプト
自動セットアップ用 cloud-init
#cloud-config package_update: true packages: - openjdk-21-jre-headless - screen - htop - unzip write_files: - path: /opt/minecraft/start.sh content: | #!/bin/bash cd /opt/minecraft screen -dmS minecraft java -Xms512M -Xmx896M -jar server.jar nogui permissions: '0755' - path: /opt/minecraft/server.properties content: | server-port=25565 gamemode=survival difficulty=normal max-players=5 view-distance=6 simulation-distance=4 enable-command-block=false white-list=false motd=Azure Minecraft Server runcmd: - mkdir -p /opt/minecraft - cd /opt/minecraft - wget https://piston-data.mojang.com/v1/objects/4707d00eb834b446575d89a61a11b5d548d8c001/server.jar - echo "eula=true" > eula.txt - chown -R azureuser:azureuser /opt/minecraft
3. Network Security Group設定詳解

出典: Microsoft Learning
NSGの作成と基本設定
NSG作成手順
マイクラサーバー用セキュリティルール
1. Minecraft サーバーアクセス
2. SSH アクセス(管理用)
3. Query ポート
高度なセキュリティ設定
地域制限ルール(推奨)
# PowerShell スクリプト例 $nsg = Get-AzNetworkSecurityGroup -ResourceGroupName "minecraft-rg" -Name "minecraft-nsg" # 日本国内のみアクセス許可 $rule = New-AzNetworkSecurityRuleConfig ` -Name "Allow-Japan-Only" ` -Protocol TCP ` -Direction Inbound ` -Priority 90 ` -SourceAddressPrefix "223.252.0.0/16,210.251.0.0/16" ` -SourcePortRange * ` -DestinationAddressPrefix * ` -DestinationPortRange 25565 ` -Access Allow $nsg.SecurityRules.Add($rule) Set-AzNetworkSecurityGroup -NetworkSecurityGroup $nsg
時間制限アクセス
Application Security Group 作成
時間ベースのアクセス制御
自動化スクリプトによるルール更新
4. 自動バックアップシステム構築
Azure Backupの設定
Recovery Services コンテナー作成
VMバックアップポリシー設定
毎日午前3時に自動バックアップ
日次: 30日間保持
週次: 12週間保持
カスタム バックアップスクリプト
Minecraft データ専用バックアップ
#!/bin/bash # minecraft_backup.sh # Azure CLI認証 az login --identity # 設定 STORAGE_ACCOUNT="minecraftbackup" CONTAINER_NAME="world-backups" MINECRAFT_DIR="/opt/minecraft" DATE=$(date +%Y%m%d_%H%M%S) # Minecraft サーバー停止 echo "Stopping Minecraft server..." screen -S minecraft -X stuff "save-all$(echo -ne '\r')" sleep 10 screen -S minecraft -X stuff "stop$(echo -ne '\r')" sleep 30 # ワールドデータの圧縮 echo "Creating backup archive..." tar -czf "/tmp/world_backup_$DATE.tar.gz" -C $MINECRAFT_DIR world # Azure Blob Storage にアップロード echo "Uploading to Azure Storage..." az storage blob upload \ --account-name $STORAGE_ACCOUNT \ --container-name $CONTAINER_NAME \ --name "world_backup_$DATE.tar.gz" \ --file "/tmp/world_backup_$DATE.tar.gz" # 古いバックアップ削除(30日以上前) OLD_DATE=$(date -d '30 days ago' +%Y%m%d) az storage blob list \ --account-name $STORAGE_ACCOUNT \ --container-name $CONTAINER_NAME \ --query "[?properties.lastModified < '$OLD_DATE'].name" \ --output tsv | \ xargs -I {} az storage blob delete \ --account-name $STORAGE_ACCOUNT \ --container-name $CONTAINER_NAME \ --name {} # Minecraft サーバー再起動 echo "Restarting Minecraft server..." cd $MINECRAFT_DIR screen -dmS minecraft java -Xms512M -Xmx896M -jar server.jar nogui # 一時ファイル削除 rm "/tmp/world_backup_$DATE.tar.gz" echo "Backup completed: world_backup_$DATE.tar.gz"
5. SSD IOPS最適化テクニック
Azure Diskの種類と性能
ディスクタイプ | IOPS | スループット | 価格/月 | 推奨用途 |
---|---|---|---|---|
Standard HDD | 500 | 60 MB/s | ¥500 | テスト環境 |
Standard SSD | 6,000 | 750 MB/s | ¥1,500 | 小規模サーバー |
Premium SSD | 20,000 | 900 MB/s | ¥3,000 | 中規模サーバー |
Ultra SSD | 160,000 | 4,000 MB/s | ¥10,000+ | 大規模サーバー |
Premium SSD 最適化設定
ディスク設定最適化
{ "diskSizeGB": 128, "diskIOPSReadWrite": 500, "diskMBpsReadWrite": 100, "caching": "ReadWrite", "writeAcceleratorEnabled": false, "tier": "P10" }
Linux ファイルシステム最適化
# /etc/fstab 最適化 /dev/sdc1 /opt/minecraft ext4 defaults,noatime,discard 0 2 # I/O スケジューラー最適化 echo mq-deadline > /sys/block/sdc/queue/scheduler # Read-ahead 設定 blockdev --setra 4096 /dev/sdc1
Ultra SSD 構成(大規模サーバー用)
Ultra SSD 作成スクリプト
# Ultra SSD ディスク作成 $diskConfig = New-AzDiskConfig ` -Location "Japan East" ` -DiskSizeGB 1024 ` -DiskIOPSReadWrite 10000 ` -DiskMBpsReadWrite 500 ` -AccountType "UltraSSD_LRS" ` -CreateOption "Empty" $disk = New-AzDisk ` -ResourceGroupName "minecraft-rg" ` -DiskName "minecraft-ultra-disk" ` -Disk $diskConfig # VM にアタッチ $vm = Get-AzVM -ResourceGroupName "minecraft-rg" -Name "minecraft-server" $vm = Add-AzVMDataDisk -VM $vm -Name "minecraft-ultra-disk" -CreateOption "Attach" -ManagedDiskId $disk.Id -Lun 1 Update-AzVM -ResourceGroupName "minecraft-rg" -VM $vm
6. Azure独特の運用ベストプラクティス
Azure Monitorによる監視
カスタムメトリクス設定
#!/bin/bash # azure_metrics.sh # Azure Monitor エージェント設定 curl -sL https://aka.ms/InstallAzureMonitoringAgent | bash # カスタムメトリクス送信 TPS=$(screen -S minecraft -p 0 -X stuff "forge tps$(echo -ne '\r')" | grep "TPS" | awk '{print $2}') PLAYERS=$(screen -S minecraft -p 0 -X stuff "list$(echo -ne '\r')" | grep "players online" | awk '{print $3}') # メトリクス送信 curl -X POST https://dc.services.visualstudio.com/v2/track \ -H "Content-Type: application/json" \ -d '{ "name": "Microsoft.ApplicationInsights.Event", "time": "'$(date -u +%Y-%m-%dT%H:%M:%S.%3NZ)'", "data": { "baseType": "EventData", "baseData": { "name": "MinecraftMetrics", "properties": { "TPS": "'$TPS'", "Players": "'$PLAYERS'" } } } }'
ダッシュボード設定
TPS Trend
5分間隔でのTPS推移監視
Player Count
1時間ごとの最大プレイヤー数
Resource Usage
CPU・メモリ・ディスク使用率
Azure DevOpsによるCI/CD
パイプライン設定例
# azure-pipelines.yml trigger: - main pool: vmImage: 'ubuntu-latest' variables: resourceGroup: 'minecraft-rg' vmName: 'minecraft-server' stages: - stage: Deploy jobs: - job: UpdateServer steps: - task: AzureCLI@2 inputs: azureSubscription: 'minecraft-service-connection' scriptType: 'bash' scriptLocation: 'inlineScript' inlineScript: | # サーバー停止 az vm run-command invoke \ --resource-group $(resourceGroup) \ --name $(vmName) \ --command-id RunShellScript \ --scripts "screen -S minecraft -X stuff 'stop'" # サーバーファイル更新 az vm run-command invoke \ --resource-group $(resourceGroup) \ --name $(vmName) \ --command-id RunShellScript \ --scripts "cd /opt/minecraft && wget -O server.jar https://piston-data.mojang.com/v1/objects/latest/server.jar" # サーバー起動 az vm run-command invoke \ --resource-group $(resourceGroup) \ --name $(vmName) \ --command-id RunShellScript \ --scripts "cd /opt/minecraft && screen -dmS minecraft java -Xms512M -Xmx896M -jar server.jar nogui"
7. コスト最適化戦略
Azure Cost Managementの活用
コスト予算アラート設定
¥5,000
¥4,000
¥4,500
スケジュールベース自動停止
プレイヤー0人時の自動停止
深夜時間帯の自動停止
平日昼間の自動停止
Reserved InstancesとSpot Instances
契約タイプ | B1s年額 | 割引率 | 適用シナリオ | リスク |
---|---|---|---|---|
従量課金 | ¥14,400 | - | 不定期使用 | 高コスト |
1年Reserved | ¥10,080 | 30% | 定期使用 | 中途解約不可 |
3年Reserved | ¥7,200 | 50% | 長期運用 | 長期拘束 |
Spot Instance | ¥2,880-7,200 | 50-80% | 開発・テスト | 強制停止リスク |
コスト最適化のベストプラクティス
基本戦略
-
使用時間の最適化 -
適切なサイズ選択 -
ストレージ最適化
高度な戦略
-
ハイブリッド特典活用 -
リザーブドインスタンス -
自動スケーリング
8. Azure vs 他社VPS比較
包括的比較
項目 | Azure B1s | XServer VPS | ConoHa VPS | カゴヤ VPS |
---|---|---|---|---|
月額料金 | ¥1,200 | ¥830 | ¥682 | ¥550 |
CPU | 1コア | 2コア | 1コア | 1コア |
メモリ | 1GB | 2GB | 1GB | 1GB |
ストレージ | Premium SSD | NVMe SSD | SSD | SSD |
ネットワーク | 制限あり | 無制限 | 無制限 | 無制限 |
SLA | 99.95% | 99.99% | 99.99% | 99.95% |
グローバル展開 | ✅ | ❌ | ❌ | ❌ |
エンタープライズ機能 | ✅ | △ | △ | △ |
推奨シナリオ
Azure推奨シナリオ
-
海外プレイヤーが多い -
エンタープライズ級の可用性が必要 -
他のAzureサービスとの連携 -
高度な監視・分析が必要 -
コンプライアンス要件が厳しい
他社VPS推奨シナリオ
-
国内プレイヤーのみ -
シンプルな構成で十分 -
コスト最優先 -
技術サポートを重視
推奨構成まとめ
小規模サーバー(2-5人)
中規模サーバー(5-15人)
大規模サーバー(15人以上)
まとめ
Azure VPSは世界レベルのインフラと豊富な機能を提供しますが、設定の複雑さとコストが課題となる場合があります。Network Security Groupによる高度なセキュリティ、Azure Backupによる企業レベルの災害復旧、Premium SSDによる高性能ストレージなど、エンタープライズ級の機能が魅力です。
Azure VPS選択のポイント
- グローバル展開: 海外プレイヤーとの低遅延通信
- エンタープライズ機能: 高度な監視・バックアップ・セキュリティ
- スケーラビリティ: 需要に応じた柔軟な拡張
- 統合性: 他のAzureサービスとのシームレス連携
- コンプライアンス: 厳格なデータ保護要件への対応
ただし、国内での小中規模運用では、エックスサーバー VPS for Game、ConoHa for GAME、カゴヤ CLOUD VPSの方がコストパフォーマンスに優れる場合が多いのも事実です。
2025年のマイクラサーバー運用では、要件に応じた適切なプラットフォーム選択が成功の鍵となります。この記事を参考に、最適なインフラを選択してください!
免責事項
※本記事は2025年8月5日時点の情報に基づいて執筆されています。Azureの料金体系やサービス内容は変更される可能性があるため、最新情報は公式サイトをご確認ください。
重要: Azure VPSの設定は複雑で、誤った設定により予期しない料金が発生する可能性があります。必ず料金アラートを設定し、テスト環境で十分検証してから本番環境に適用してください。重要なデータは複数の場所にバックアップを取ってください。