web-dev-qa-db-ja.com

Amazon EC2 + EBS、小規模なスタートアップにとっては経済的に賢いですか?

私は自分のウェブサイトをどこでホストするかを考えようとしています。私は実際にアマゾンウェブサービスで販売されていますが、価格設定のため、これが私が受講したいコースであるかどうかを本当に判断できません。一つには、適切な見積もりを得るためにコスト計算機にどの設定を配置するべきかわかりません。

Apacheサーバーを実行し、MySQLデータベースと対話するWebサービスをホストするJavaアプリケーションを実行するため、EC2インスタンスが必要になります。( Amazon RDSを使用する必要があるかどうかはわかりません)

非常に大まかな見積もり(楽観的な絶対上限)を行う必要がある場合、1秒あたり5つのWeb要求と、MySQLでほぼ同じ量の要求をサポートする必要があると言えます。たぶん、ユーザーに50GBの帯域幅を提供します。

スモールEC2インスタンスは次のとおりです。 'スモールインスタンス(デフォルト)1.7 GBのメモリ、1つのEC2コンピューティングユニット(1つの仮想コアと1つのEC2コンピューティングユニット)、160 GBのローカルインスタンスストレージ、32ビットプラットフォーム'

大規模なEC2インスタンスは次のとおりです。「大規模インスタンス7.5GBのメモリ、4つのEC2コンピューティングユニット(それぞれ2つのEC2コンピューティングユニットを備えた2つの仮想コア)、850 GBのローカルインスタンスストレージ、64ビットプラットフォーム」

だから、小さいものを選ぶと、200ドルくらいの請求書と350ドルくらいの大きいものを期待できると思います。 Amazon EC2から離れて、小規模なホスティング会社を検討するだけですか?

どうもありがとう

2
s0hungry1

お気づきのように、EC2にはインスタンスの実行コスト以外にも多くのコストがありますが、質問で言及されている「インスタンスストレージ」はこれらの1つではありません。

各EC2インスタンス(t1.microsを除く)にはエフェメラルストレージが付属しており、追加費用なしで(I/Oにもストレージにも)含まれていません。ただし、このストレージは永続化されません。インスタンスが停止または終了するとすぐに、エフェメラルストレージの内容が消去されます。一時的な目的(一時ファイル、一部の種類のキャッシュ、ビルドプロセスの中間ファイルなど)にのみ役立ちます。

したがって、コアソフトウェアとWebアプリケーションの両方で、ファイルを保存するためにEBSボリュームが必要になります。私は通常、少なくとも2つのEBSボリュームを使用することを好みます。1つは最小限の変更が期待されるルートボリューム用で、もう1つはその他すべて(データベース、ログ、メール、アプリケーション+ユーザーデータなど)用です。

EBSストレージ

ストレージのニーズを判断することはできませんが、ソフトウェア(オペレーティングシステム+ LAMPスタック+メールなど)は2GB未満になる可能性があります。あなたのアプリケーションはかなり小さいと思います-つまり、未知のものはユーザーデータ(データベース、ファイルなど)です-ほとんどの場合、10GBで十分だと思います。

  • EBSボリューム#1-ルートボリューム-4GB(拡張が可能で、ドライブに余分なスペースがあります)
  • EBSボリューム#2:10GB
  • T1.microを使用する場合は、EBSボリューム#3-スワップスペース-1GBを追加します

合計:15GB = $ 1.50 /月($ 0.10/GB /月)

EBS推定IOPS:

  • ルートEBS-2-5IOPS
  • データEBS-10-30IOPS
  • スワップEBS- <1IOPS

合計:13-36 IOPS-コスト:$ 3.42- $ 9.46 /月(〜$ 0.2628 /月/ IOPS)

帯域幅出力

50GB /月(見積もり)= $ 0.120 * 49 = $ 5.88 /月(最初のGBは無料)

Elastic IP

エラスティックIPは、実行中のインスタンスに接続されている限り無料です

バックアップ-EBSスナップショット

保存されているデータの合計とほぼ同じ使用スペースを見積もっています(データは圧縮されており、各スナップショットは異なりますが、時間の経過とともに合計されます)。したがって、ルートドライブに8GBのデータ+ 2GBのみで開始すると仮定します。 = 10GB(明らかに、スワップはスナップショットされません);

10GB = $ 1.25 /月($ 0.125/GB /月)

EC2インスタンスのコストを除く合計:

Elastic IP- $ 0.00EBSストレージ-$ 1.50 EBS I/O- $ 5.00(範囲の中央の数値)EBSスナップショット-$ 1.25帯域幅-出力-$ 5.88合計:$ 13.63 /月

インスタンスコスト

ここで、実際のインスタンスコストが必要です。マシンを継続的に実行する場合(Webサーバーに必要)-予約済みのインスタンスをお勧めします。 (平均730時間/月)

t1.micro:

  • オンデマンド= $ 0.02 /時間= $ 14.6 /月
  • 1年間の期間(使用率が高い):$ 62 + 0.005/hr = $ 8.82/mo((0.005 * 24 * 365 + 62)/ 12)
  • 3年間の期間(使用率が高い):$ 100 + 0.005/hr = $ 6.43/mo

m1.small:

  • オンデマンド:0.085 /時間= $ 62.05 /月
  • 1年間の期間(使用率が高い):276.25ドル+ 0.02 /時間= 37.62ドル/月
  • 3年間の期間(使用率が高い):425ドル+ 0.02 /時間= 26.41ドル/月

選択に応じて、コストは月額20ドル(3年間の予約済みt1.micro)から月額80ドル(オンデマンドm1.small)の間のどこかになります。

注:

1秒あたり5リクエストはかなり少量です。t1.microでもそれを処理できるはずです。最初にそのインスタンスタイプでアプリケーションを試すことをお勧めします(AWSは新規顧客に1年間の無料のt1.micro使用を提供します)-より大きなインスタンスタイプが必要な場合は、インスタンスを停止する(終了しない)だけです。インスタンス属性を変更すると、新しいインスタンスを実行して5分以内にオンラインに戻ることができます。

私はJava人ではありません-しかし、Apacheの代わりに軽量のWebサーバー(nginx、lighttpd)を使用できる場合は、EC2インスタンスからはるかに優れたパフォーマンスが得られます(Apacheの主な問題)特にt1.microでのメモリ使用量です。

T1.microを使用する場合は、64ビットオペレーティングシステムを使用しないことをお勧めします。メモリの量は限られており、64ビットレジスタは必要なメモリを大幅に増やしますが、具体的なゲインはありません。

また、オペレーティングシステムを特に優先しない場合は、AmazonのLinuxAMIをお勧めします。これはRHEL/CentOSに基づいており、不要な部分がすべて削除されており、公式にサポートされています(リポジトリは最大日付!)。

Amazon RDSを気にしないでください-ほとんどの人は、そのパフォーマンスはそれほど優れていないと感じており、「自動」機能ではあまり提供されていません(たとえば、レプリケーションを手動でセットアップする必要があり、通常の制限が適用されます)。

T1.microsに関する注意事項(パフォーマンスは大きく変動します)。CPU使用率を低く抑えることができれば問題ありませんが、スパイクが発生するとパフォーマンスが低下します。他のインスタンスのパフォーマンスははるかに安定しています。

最後に、いくらかかるかについての良いアイデアが必要ですが、過大評価しないでください。アプリケーションを実行するには巨大なサーバーが必要になると推測するのは簡単ですが、それが実現した場合は、後でいつでも別のプロバイダーを見つけるか、別のインスタンスタイプに移行することができます。クラウドモデルでは、スケーリングがかなり簡単であるため、将来のスケールをそれほど考慮する必要はありません。

AWS Cost Calculator を試して、数値を試すことができます(ただし、個人的には、手動で行う方が好きです)。

13
cyberx86

月額$ 15のマイクロインスタンスから1秒あたり5つのApacheリクエストを簡単にサポートできるはずです。小さなインスタンスは月額60ドル程度で実行され、マイクロインスタンスと同様にMySQL + Apacheは問題なく実行されるはずなので、200ドルがどこから来ているのかわかりません。

また、そのインスタンスタイプで1年または3年の期間を約束できれば、物事は大幅に安くなります(半額)。

3
ceejayoz