お疲れ様です。satimoです。
AWSの勉強を色々初めているのですが、『CloudDesignPattern(CDP)』というサイトを見つけたので紹介していきます。
目次
CloudDesignPattern(CDP)ってなによ?
CloudDesignPattern(CDP)ってなによ?ってとこからですが、名前のとおりクラウドの環境(クラウド=AWSを指していることが多い気がします)を構築する際に「ここの、この部分は、こうするべきだよね。」っていうことを説明しているサイトになります。
具体的な説明をすると、例えば下のようなAWSの環境を構築するとします。
その際に、データベースを冗長化する際にはDB Replicationをしたほうが良いよね。その際にはこういうふうに作ったほうが良いよ(DB Replicationパターン(オンラインDBの複製))ってことを説明しています。
パターンは約60個用意してあり、それぞれのパターンを使うときの課題や説明、メリットなんかを説明しています。
ただ、構築方法は記載されていないので、自分で考えて構築する必要があります。
まぁ、参考にするサイトは用意されていますし、下の本にもヒントが書かれていたりします。
CDPのサイトを利用するのはどんな人がおすすめ?
CDPのサイトですが下記のような人にはお勧めできるサイトになっています。
- クラウドで何ができるかよくわからない人
- これからクラウドを使い始めたい人
- どちらかというとインフラ環境を構築することが多い
- 新規システムをクラウドを使って設計しようとする人
- 既存環境をクラウドに移行しようとしている人
- システム運用を楽にしたい人
- クラウドのコストを削減したい人
個人的には少し勉強した人が問題集的な位置づけで使っていくと一番良いかなと思います。
全く勉強したことが無い人には結構難しいです。
基本のパターン
- Snapshotパターン(データのバックアップ)
- Stampパターン(サーバの複製)
- Scale Upパターン(動的なサーバのスペックアップ/ダウン)
- Scale Outパターン(サーバ数の動的増減)
- Ondemand Diskパターン(動的なディスク容量の増減)
可用性を向上するパターン
- Multi-Serverパターン(サーバの冗長化)
- Multi-Datacenterパターン(データセンターレベルの冗長化)
- Floating IPパターン(IPアドレスの動的な移動)
- Deep Health Checkパターン(システムのヘルスチェック)
- Routing-Based HAパターン(ルーティングによる接続先の透過的な切り替え)
動的コンテンツを処理するパターン
- Clone Serverパターン(サーバのクローン)
- NFS Sharingパターン(共有コンテンツの利用)
- NFS Replicaパターン(共有コンテンツの複製)
- State Sharingパターン(ステート情報の共有)
- URL Rewritingパターン(静的コンテンツの退避)
- Rewrite Proxyパターン(URL書き換えプロキシの設置)
- Cache Proxyパターン(キャッシュの設置)
- Scheduled Scale Outパターン(サーバ数のスケジュールにあわせた増減)
- IP Poolingパターン(接続許可済みIPアドレスのプール)
静的コンテンツを処理するパターン
- Web Storageパターン(可用性の高いインターネットストレージ活用)
- Direct Hostingパターン(インターネットストレージで直接ホスティング)
- Private Distributionパターン(特定ユーザへのデータ配布)
- Cache Distributionパターン(ユーザに物理的に近い位置へのデータ配置)
- Rename Distributionパターン(変更遅延のない配信)
- Private Cache Distributionパターン(CDNを用いたプライベート配信)
- Latency Based Origin(地域によりオリジンサーバを変更)
データをアップロードするパターン
- Write Proxyパターン(インターネットストレージへの高速アップロード)
- Storage Indexパターン(インターネットストレージの効率化)
- Direct Object Uploadパターン(アップロード手順の簡略化)
リレーショナルデータベースのパターン
- DB Replicationパターン(オンラインDBの複製)
- Read Replicaパターン(読込専用レプリカによる負荷分散)
- Inmemory DB Cacheパターン(頻度の高いデータのキャッシュ化)
- Sharding Writeパターン(書き込みの効率化)
非同期処理/バッチ処理のパターン
- Queuing Chainパターン(システムの疎結合化)
- Priority Queueパターン(優先順位の変更)
- Job Observerパターン(ジョブの監視とサーバの追加・削除)
- Fanoutパターン(複数種類の処理を非同期かつ並列に実行)
運用保守のパターン
- Bootstrapパターン(起動設定の自動取得)
- Cloud DIパターン(変更が多い部分の外出し)
- Stack Deploymentパターン(サーバ群立ち上げのテンプレート化)
- Server Swappingパターン(サーバの移行)
- Monitoring Integrationパターン(モニタリングツールの一元化)
- Weighted Transitionパターン(重みづけラウンドロビンDNSを使った移行)
- Log Aggregation パターン(ログの集約)
- Ondemand Activationパターン(メンテナンス時の一時的な設定変更)
ネットワークのパターン
- Backnetパターン(管理用ネットワークの設置)
- Functional Firewallパターン(階層的アクセス制限)
- Operational Firewallパターン(機能別アクセス制限)
- Multi Load Balancerパターン(複数ロードバランサの設置)
- WAF Proxyパターン(高価なWeb Application Firewallの効率的な活用)
- CloudHubパターン(VPN拠点の設置)
- Sorry Pageパターン(バックアップサイトへの自動切り替え)
- Self Registrationパターン(自分の情報をデータベースに自動登録)
- RDP Proxyパターン(Windowsインスタンスへのセキュアなアクセス)
- Floating Gatewayパターン(クラウド上のネットワーク環境の切り替え)
- Shared Serviceパターン(システム共通サービスの共用化)
- High Availability NATパターン(冗長化されたNATインスタンス)
コメント