web-dev-qa-db-ja.com

クラウドサーバーを動的にスケーリングして、オンデマンドのホスティングサービスを提供するにはどうすればよいですか?

Rackspace Cloud Servers APIを使用して、動的にスケーラブルなホスティングサービスを構築することに興味があります。 Cloud Servers APIを使用すると、サーバーインスタンスをプログラムで追加および削除できます。

システム要求

ほとんどの場合、単一の共有サーバーが存在しますが、専用サーバーである場合もあり、帯域幅が特定のターゲットを超えると、新しいサーバーがプロビジョニングされ、Webディレクトリがどこかから複製または復元されます(クラウドファイルを使用するか、 svn、gitなど)。設定ファイルにpuppetまたはカスタムスクリプトを使用できます。

理想的には、各ドメインまたはドメインのグループに帯域幅の割り当てがあり、それを超えると、そのドメインのファイルのみを含む新しいサーバーの展開が1時間トリガーされます。その目標を超えても帯域幅を超えている場合、サーバーはさらに1時間有効なままになり、必要がなくなるまでサーバーはサービスから削除されます。


誰かがすでにそのようなシステムを展開している、またはそうすることで何らかの支援を提供できるなら、それは非常にありがたいです!

重要な質問:

1。複数のインスタンスにわたる帯域幅の使用量を確認するにはどうすればよいですか?

2。特定のサーバーが1時間しか稼働していないときに、DNSキャッシュの問題が発生しないようにするにはどうすればよいですか(ここでプロキシサーバーを使用できますか)

。新しくデプロイされた各サーバーにファイルを迅速にデプロイするための最良の方法は何ですか?

4。このような動的クラスターを使用して、FTPをサポートするにはどうすればよいですか(FTPを使用したくないのですが、プロジェクトによってはFTPが必要になる場合があります)

2
FilmJ

私はAmazonEC2を使用していますが、この推奨事項はRackspaceまたは他のプロバイダーに適用できます。

  1. 複数のインスタンスにわたる帯域幅の使用状況を確認するにはどうすればよいですか?指標、帯域幅、CPU、メモリなどを測定するために、Cacti、Ganglia、Nagiosを使用して監視サーバーをセットアップすることをお勧めします。

  2. 特定のサーバーが1時間しか稼働していないときに、DNSキャッシュの問題が発生しないようにするにはどうすればよいですか(ここでプロキシサーバーを使用できますか)。プロキシサーバーの背後に負荷分散を配置します。プロバイダーが独自のソリューションを持っていない場合は、HAproxyまたはnginxを使用して負荷分散を行うことができます。

  3. 新しくデプロイされた各サーバーにファイルを迅速にデプロイするための最良の方法は何ですか?私はrsyncを使用していて正常に動作していますが、それでも他の解決策を探しています。

  4. このような動的クラスターを使用して、FTPをサポートするにはどうすればよいですか(FTPを使用したくないのですが、プロジェクトによってはFTPが必要になる場合があります)。プロバイダーは、IPアドレスとポートのアクセスリストを作成する方法を提供する必要があります(AmazonではAPIを介してACLを作成できます)。

1
hdanniel

同様の問題についての私の見解は次のとおりです。 クラウドのスケーラビリティと信頼性に一致するVPSソリューション

0
Trident Splash