今日のインタビューを見ましたが、私が直面した質問の1つは次のとおりです。
私のアプリケーションは、EC2インスタンス(AWS Linux 64ビット)のDockerコンテナで実行されます。アプリケーション用のドッカーコンテナ(コンテナごとに1つのアプリケーション)がRDSインスタンスに接続されており、コンテナを自動サイズ変更するように設定しました。この設定についてどう思いますか?
私は彼にAWSのスケーラビリティ機能を使用して必要に応じて自動的に拡張できるので、顧客の規模に応じてEC2インスタンスを使用する方が良いアプローチになると提案しました。これを試しましたが、Auto-Scalingを行うと、顧客のネットワークが遅くなったと言いました。
私の質問は:アーキテクチャの観点からRDSに接続されているDockerの拡張可能なEC2インスタンスを実行する方が効率的ですか?それとも現在の設定が良いですか?
私がEC2スケーラビリティを使用する理由は、彼が自動スケーラブルコンテナを実行し、EC2に最終的にリソースが不足し、潜在的に多くのコンテナを自動スケーリングすることでCPU使用率が高くなる可能性があるためです。
この情報がこの質問に役立つ場合、彼はTomcatをWeb /アプリケーションサーバーとして使用しています。
ベストアンサー1
自動拡張すると、顧客のネットワーク速度が遅くなります。
この言葉はやや混乱しています。しかし、コンテナ拡張と比較してEC2インスタンスを使用すると、拡張イベントが遅くなることを意味すると仮定します。
EC2 インスタンスの起動は Docker コンテナの起動よりも高速であるため、オペレーティング システム自体内でコンテナを拡張する方が EC2 インスタンスを拡張するよりも高速です。 EC2インスタンスを拡張する必要がある場合は、新しいインスタンスを起動する必要があり、システムの起動プロセスによっては時間がかかります。
ただし、Dockerコンテナを拡張する場合は、拡張が必要な場合は同じインスタンスで新しいDockerコンテナを起動することを意味し、これは新しいEC2インスタンスを起動するよりもはるかに高速です。これにより、アプリケーションは拡張イベントにすばやく応答できます。
コンテナを拡張する場合は、インスタンスのリソース不足に関する懸念を理解してください。しかし... EC2インスタンスの拡張を妨げる方法はありません。興味のある方はぜひご確認くださいAmazonクラウドサーバーそしてそれがどのように処理されるか自動サイズ変更