「さくらのクラウド」を勉強するためのアウトプットを目的に、ドキュメントなどを参照し作成しておりますが、記載の誤りなどが含まれる場合がございます。
最新の情報については、公式ドキュメントをご参照ください。
さくらのクラウド検定アドバンスド試験
https://www.sakura.ad.jp/certification/advanced/
このページのデザインパターンは随時追加します!
代表的なデザインパターン
- 可用性・拡張性を高める構成
- ロードバランサアプライアンスを使った高可用性構成
- エンハンスドロードバランサまたはマーケットプレイスのネットワークサービス
- コストパフォーマンスを意識した構成
- 画像などの静的ファイルは「さくらのウェブアクセラレータ」
- バックエンドにはオブジェクトストレージ
- DR(Disaster Recoery)を実現する構成
- GSLBを活用し、メインサイト障害時にDRサイトへ切り替え
- DR戦略
- マルチサイト
- メインと同じインフラ構成
- ウォームスタンバイ
- 少ないキャパシティで稼働
- パイロットライト
- 最低限のインフラのみ稼働(DBや重要なものだけ)
- バックアップリストア
- 定期的なバックアップを使いリストアで復旧
- マルチサイト
- DR戦略
- GSLBを活用し、メインサイト障害時にDRサイトへ切り替え
- インターネットVPNを使用したユーザー拠点との接続
- VPNルータと拠点側VPNルータを接続
- VPNルータをマーケットプレイスのネットワークサービスを利用
- さくらインターネットのサービスでハイブリッド構成
- さくらのクラウド + さくらの専用サーバPHY
- 専用サーバPHYではバックアップサービスがない
- マーケットプレイスのバックアップサービスを利用
- さくらのクラウド + さくらの専用サーバPHY
構成例
マニュアルにも構成例はあるが、構成例1~5まで。
https://manual.sakura.ad.jp/cloud/design-pattern/example.html
公式には10パターンの構成例が紹介されています。
1. 共有セグメントにサーバーを配置したベーシックな構成
- 初期投資を抑えてサービスを開始したい・まずクラウドを試したい場合の入門構成
- 静的コンテンツを提供するWebサーバー・ファイルサーバーに向く構成
- 共有セグメントにサーバを配置してネットワーク追加費用をゼロ
- DNSサーバアプライアンスによるDNSラウンドロビンの単純な負荷分散方式
example.com. A 203.0.113.77- サーバの追加削除でメンテナンスが必要
- 単純な分散なのでサーバが稼働していないとエラー
- 今後、ロードバランサ(L4)/GSLB(DNS)/エンハンスドロードバランサ(L7)を追加できる
- スケールアウトとスケールアップは、1台目のサーバをアーカイブにコピーすることで複製する
- 別のゾーンで起動させるには、アーカイブをゾーン転送間機能を使う
- 参考記事:冗長化構成を考える(1)|WEBサーバの冗長化構成 – ロードバランシング
2. 複数のリージョンを使った冗長構成
- 石狩と東京リージョンの冗長構成
- GSLB(広域負荷分散)がヘルスチェックを行い、障害リージョンを自動除外 → 低コストDR対応
- ゾーン間のプライベート通信にはブリッジ接続(L2)×1 とスイッチ×2
- DBサーバー間のレプリケーションはブリッジ接続(リージョン間L2)経由
3. 負荷に応じてサーバーが増減するオートスケール構成
- ロードバランサまたはエンハンスドロードバランサを配置
- オートスケール機能でスケールアウト
- マニュアルのほうでは「オートスケール用監視サーバ」を構築している
- 参考
- さくらのクラウドでAuto Scaling
- GitHub>AutoScaler
4. 大量のアクセスを高速処理するWebサイト構成
- さくらのウェブアクセラレータを使用した構成
- キャッシュサーバーにより突発的なアクセス増に対応
- オリジンサーバーがダウンしてもキャッシュから配信継続できるため、可用性向上にも寄与
5. クラウドと専用サーバのハイブリッド構成
- フロント(Webサーバー)はクラウドでオンデマンドにスケールアウト
- バックエンド(DBサーバー)は専用サーバで高速ディスクI/O・安定性能を確保
- DB負荷が高く、スケールアウト可能なWebフロントと高性能DBを組み合わせたい場合
- クラウドと専用サーバの役割分担の思想を明示:フロントエンドはクラウドの柔軟性、バックエンドは専用サーバの安定性能
6. サーバーメンテナンスを配慮したセキュアな環境構成
- VPNルータにより管理者・開発者のみがVPN経由でDBや内部サーバーにアクセス可能
- DBはプライベートネットワーク(スイッチ)経由のみアクセス。インターネット直接露出なし
- DBアプライアンスの冗長化はオプション機能で追加可能
7. ファイルサーバーをクラウド環境にする最小構成
- オンプレミスのファイルサーバーをクラウドに移行するための最小構成
- VPNルータで社内ルータとVPN接続することで、社内LANと同等のファイルアクセス環境を実現
8. 社内システムにVPNで繋ぐ安全なサーバー構成
- 業務システムゾーン(東京)と監視・運用ゾーン(石狩)を別リージョンに分離
- ブリッジ接続でリージョン間を接続し、業務システムを別拠点から監視
- VPN接続により従業員が社外から安全にアクセス可能
9. シンプルなバックアップの構成
- 週次・世代間バックアップを低コストで簡単に実現したい場合。ファイル単位での復元は不要な場合
- ディスク単位のフルバックアップをアーカイブとして保存
- 注意: バックアップはディスク単位のため、ファイル単位の選択的リストアには対応しない
10. 高機能なバックアップの構成
- ファイル単位での選択的リストアが必要・差分/増分バックアップでストレージコストを抑えたい・バックアップデータを自社管理ストレージに保管したい場合
- バックアップ種別: フルバックアップ・差分バックアップ・増分バックアップの3種に対応
- Acronis Hosted: Acronis管理のクラウドストレージへバックアップ。インフラ管理不要
- Acronis VM/Server ワークロード: 自社管理のストレージサーバー(NFS/SMB等)にバックアップデータを保管
- バックアップ種別: フルバックアップ・差分バックアップ・増分バックアップの3種に対応
- バックアップ対象: サーバー単位・ディスク単位・ファイル単位の3粒度に対応(構成例9より高機能)
- 時間指定スケジュールが可能
- Acronis Advanced Pack オプションでセキュリティ機能・管理機能を追加可能
- Workloadプランは自社ストレージを使うため、Hostedより初期コストは高いが長期的に安くなる可能性あり
独自検討構成例
独自構成例A: 3層アーキテクチャ(React + SpringBoot + DB)
前提・要件
- フロントエンド: React(SPAとしてビルドした静的ファイル)
- APIサーバー: SpringBoot(コンテナ化)
- データベース: RDB(PostgreSQL or MariaDB)
- セキュリティ: APIサーバー↔DB間はプライベートネットワーク経由必須
パターンA-1: 推奨構成(AppRun専有型 + DBアプライアンス)
使用サービス
| サービス | 役割 |
|---|---|
| ウェブアクセラレータ | React静的ファイルのCDN配信・オリジン負荷軽減 |
| AppRun専有型(ロードバランサ) | SpringBootコンテナへのリクエスト分散 |
| AppRun専有型(ワーカーノード) | SpringBootコンテナ実行・オートスケール |
| コンテナレジストリ | SpringBootコンテナイメージの保管 |
| スイッチ | AppRun専有型↔DBアプライアンス間のプライベートネットワーク |
| DBアプライアンス(冗長化オプションあり) | PostgreSQL or MariaDB。障害時に数秒で自動フェイルオーバー |
設計ポイント
- AppRun専有型を選択することでスイッチ接続が可能になり、SpringBoot→DBの通信をプライベートネットワーク内に閉じられる
- Reactはビルド済み静的ファイルをCDN(ウェブアクセラレータ)で配信することでオリジンサーバーの負荷をゼロに近づける
- AppRun専有型のオートスケールでAPIサーバーの負荷増加に自動対応
パターンA-2: シンプル構成(仮想サーバーのみ)
使用サービス
| サービス | 役割 |
|---|---|
| エンハンスドロードバランサ | フロントサーバーへのリクエスト分散 |
| 仮想サーバー(フロント) | nginx + Reactビルド成果物配信 + SpringBootへのリバースプロキシ |
| 仮想サーバー(API) | SpringBoot実行 |
| スイッチ | フロント↔API↔DB間のプライベートネットワーク |
| DBアプライアンス | PostgreSQL or MariaDB |
設計ポイント
- 全層がスイッチ経由のプライベートネットワーク内に収まりセキュア
- インフラ管理はすべて手動(OSパッチ、JVM管理、デプロイ作業)
- オートスケールは自前実装が必要











