type
status
date
slug
summary
tags
category
icon
password
 

理論

1. 3層アーキテクチャ

  • フロントエンド:ユーザーインターフェース(UI)や静的コンテンツ(HTML, CSS, JS)を提供。
  • ミドルティア:ビジネスロジックやAPI、アプリケーションサーバーなど。
  • ストレージ層:データベース、ファイルストレージ、キャッシュシステム。

2. AWSでのスケーラビリティの向上方法

  • Amazon EC2のAuto Scaling:トラフィックに応じて自動的にインスタンス数を増減。アプリケーションの負荷に合わせてスケールする。
  • Amazon Elastic Load Balancer (ELB):複数のインスタンスにトラフィックを分散し、高可用性を提供。
  • Amazon CloudFront:CDN(コンテンツ配信ネットワーク)を利用して静的コンテンツをキャッシュし、ユーザーに迅速に配信。

3. コンテナとサーバーレス

  • AWS Fargate:サーバーレスでコンテナを管理でき、インフラの管理から解放される。スケーラブルで高可用性を提供。
  • Elastic Beanstalk:アプリケーションのデプロイや管理を簡素化するマネージドサービス。オートスケーリング機能を内蔵。

4. データベースのスケーラビリティ

  • Amazon Aurora:高性能なリレーショナルデータベース。Auto Scaling機能を使って、読み取りリクエストに応じてリードレプリカを自動でスケール。
  • AWS Database Migration Service (DMS):データベースの移行や再プラットフォームに使用。オンプレミスからAWSへのデータ移行をサポート。

5. 運用負荷の軽減

  • マネージドサービスの活用:Amazon AuroraやElastic Beanstalkなど、インフラ管理の負担を軽減するマネージドサービスを活用する。
  • オートスケーリング:アプリケーションやデータベースの負荷に合わせて自動的にリソースを調整する機能。

6. データベースのパフォーマンス向上

  • リードレプリカ:読み取り負荷を分散させ、パフォーマンスを向上させる。
  • キャッシュの活用:頻繁にアクセスされるデータをキャッシュすることで、データベースへの負荷を軽減。
これらの知識を組み合わせることで、アプリケーションのスケーラビリティとパフォーマンスを最適化できます。

実践

一問道場

質問 #477
ある企業は、オンプレミスのデータセンターで3層ウェブアプリケーションを運用しています。フロントエンドはApacheウェブサーバーで提供され、ミドルティアはモノリシックなJavaアプリケーション、ストレージ層はPostgreSQLデータベースです。
最近のマーケティングプロモーション中に、顧客はアプリケーションを通じて注文を行うことができませんでした。原因の分析の結果、すべての層が過負荷となり、アプリケーションが応答しなくなり、データベースは読み取り操作のために容量制限に達していたことが分かりました。この企業には、今後も似たようなプロモーションが予定されています。
ソリューションアーキテクトは、AWSへの移行計画を立て、この問題を解決する必要があります。このソリューションは、スケーラビリティを最大化し、運用負荷を最小化する必要があります。
どの組み合わせのステップがこの要件を満たしますか?(3つ選択してください。)
A. フロントエンドをリファクタリングして、静的アセットをAmazon S3にホストします。Amazon CloudFrontを使用して、フロントエンドを顧客に提供します。フロントエンドをJavaアプリケーションに接続します。
B. フロントエンドのApacheウェブサーバーをAmazon EC2インスタンスにリホストし、Auto Scalingグループに配置します。Auto Scalingグループの前にロードバランサーを使用します。Amazon Elastic File System(Amazon EFS)を使用して、Apacheウェブサーバーが必要とする静的アセットをホストします。
C. JavaアプリケーションをAWS Elastic Beanstalk環境にリホストし、オートスケーリングを含めます。
D. Javaアプリケーションをリファクタリングし、Dockerコンテナを開発してJavaアプリケーションを実行します。AWS Fargateを使用してコンテナをホストします。
E. AWS Database Migration Service(AWS DMS)を使用して、PostgreSQLデータベースをAmazon Aurora PostgreSQLデータベースに再プラットフォームし、Aurora Auto Scalingを使用してリードレプリカを作成します。
F. PostgreSQLデータベースをAmazon EC2インスタンスにリホストし、オンプレミスのサーバーの2倍のメモリを搭載します。

解説

この問題では、企業のウェブアプリケーションのパフォーマンスの問題を解決するために、AWS への移行を計画する方法を選択することが求められています。アプリケーションが過負荷によりクラッシュし、データベースの読み取り操作が容量制限に達していることがわかっており、これらの問題を解決するためにスケーラビリティを最大化し、運用負荷を最小化する必要があります。

解決策のステップごとに解説します:


A. フロントエンドをリファクタリングして、静的アセットをAmazon S3にホストします。Amazon CloudFrontを使用して、フロントエンドを顧客に提供します。フロントエンドをJavaアプリケーションに接続します。

  • 解説
    • スケーラビリティの向上:静的コンテンツ(画像、CSS、JavaScriptなど)を Amazon S3 にホストし、Amazon CloudFront を使用してコンテンツをキャッシュすることで、アプリケーションの負荷を軽減できます。
    • 運用負荷の最小化:S3 と CloudFront はフルマネージドサービスであり、これによりインフラストラクチャの管理負担が減少します。

B. フロントエンドのApacheウェブサーバーをAmazon EC2インスタンスにリホストし、Auto Scalingグループに配置します。Auto Scalingグループの前にロードバランサーを使用します。Amazon Elastic File System(Amazon EFS)を使用して、Apacheウェブサーバーが必要とする静的アセットをホストします。

  • 解説
    • EC2によるリホスティング:既存のApacheウェブサーバーを Amazon EC2 上にリホストし、Auto Scaling を使用してトラフィックに応じて自動でインスタンス数をスケーリングします。
    • Elastic File System (EFS):静的アセットを EFS にホストすることで、複数の EC2 インスタンスから共有可能にし、可用性とパフォーマンスを向上させます。
    • 負荷分散Elastic Load Balancer (ELB) を使うことで、トラフィックの分散と高可用性を実現できます。

C. JavaアプリケーションをAWS Elastic Beanstalk環境にリホストし、オートスケーリングを含めます。

  • 解説
    • Elastic Beanstalk は、Javaアプリケーションを簡単にデプロイし、スケーリング、監視、管理を自動化するフルマネージドサービスです。
    • オートスケーリング:トラフィックの増加に応じて、自動でアプリケーションインスタンスをスケーリングします。
    • 運用負荷の最小化:Elastic Beanstalk ではアプリケーションのデプロイと管理が簡素化され、インフラストラクチャの管理が不要になります。

D. Javaアプリケーションをリファクタリングし、Dockerコンテナを開発してJavaアプリケーションを実行します。AWS Fargateを使用してコンテナをホストします。

  • 解説
    • コンテナ化:アプリケーションを Docker コンテナとしてデプロイすることで、移植性が向上し、さまざまな環境で簡単に実行できます。
    • AWS Fargate:Fargate は、サーバーレスコンテナサービスで、インフラ管理なしでコンテナを実行できます。これにより、スケーラビリティと運用負荷が大幅に軽減されます。
    • リファクタリングの必要性:Java アプリケーションをコンテナ化するためには、アプリケーションのコードや構成を変更する必要があるため、この選択肢はやや高コストな場合があります。

E. AWS Database Migration Service(AWS DMS)を使用して、PostgreSQLデータベースをAmazon Aurora PostgreSQLデータベースに再プラットフォームし、Aurora Auto Scalingを使用してリードレプリカを作成します。

  • 解説
    • Aurora PostgreSQL は高可用性と高スケーラビリティを提供するデータベースサービスです。これを使うことで、データベースのパフォーマンスを向上させ、スケーラビリティを確保できます。
    • Aurora Auto Scaling:読み取りリクエストの増加に応じて、自動でリードレプリカをスケーリングすることができ、データベースのパフォーマンスを最適化できます。
    • AWS DMS を使用して、オンプレミスの PostgreSQL データベースを Aurora に移行することが可能です。

F. PostgreSQLデータベースをAmazon EC2インスタンスにリホストし、オンプレミスのサーバーの2倍のメモリを搭載します。

  • 解説
    • EC2によるリホスティング:データベースを EC2 インスタンスにリホストして、メモリを増やすことでパフォーマンスを向上させる方法です。しかし、この方法ではスケーラビリティが限られており、長期的な解決策としては不十分です。
    • 運用負荷の増加:EC2 インスタンス上でのデータベース管理が必要であり、スケーリングの柔軟性が低く、運用負荷が高くなります。

最適な選択肢

  • A, C, E が最も適切な解決策です。
    • AC はフロントエンドとアプリケーション層のスケーリングに対応し、負荷分散とオートスケーリングを提供します。
    • E はデータベースのスケーリングとパフォーマンス向上に貢献し、AuroraAuto Scaling を使用して読み取りのスケーラビリティを確保します。

まとめ

  • A: 静的アセットのホスティングとCDNの利用
  • C: アプリケーションのリホスティングとオートスケーリング
  • E: 高性能なデータベースに移行し、スケーラビリティを確保
これにより、スケーラビリティが向上し、運用負荷が最小化され、プロモーション中のパフォーマンス問題を解決できます。
相关文章
クラウド技術の共有 | AWS Site-to-Site
Lazy loaded image
EKSでのWordPressデプロイ:KCNA-JP試験対策 (Kubernetes実践編)
Lazy loaded image
初心者向け!コンテナ化WordPressサイト構築ガイド(超詳細版)
Lazy loaded image
EFSを活用!AWS EC2でDockerを使ったWordPressサイト構築
Lazy loaded image
529-AWS SAP AWS 「理論・実践・一問道場」VPCエンドポイント
Lazy loaded image
528-AWS SAP AWS 「理論・実践・一問道場」Migration Evaluator
Lazy loaded image
478-AWS SAP AWS 「理論・実践・一問道場」Amazon Inspector 476-AWS SAP AWS 「理論・実践・一問道場」AD Connector
Loading...
目录
0%
みなみ
みなみ
一个普通的干饭人🍚
最新发布
02-生成AIパスポート試験対策:第2章「生成AI」
2025-2-1
01-生成AIパスポート試験対策:第1章「人口知能」
2025-2-1
究極のAWS認定 AI 実践者 AIF-C01 - 学習メモ
2025-1-27
不要再傻傻的直接买NISA啦
2025-1-27
Kubernetes、仮想マシンとコンテナの概念を超簡単に解説!
2025-1-24
529-AWS SAP AWS 「理論・実践・一問道場」VPCエンドポイント
2025-1-22
公告
🎉欢迎访问我的博客🎉
- 感谢您的支持 --
本站点于2024/09/01建立
👏主要分享IT相关主题👏
系统管理:
Redhat…
容器和编排:
Kubernetes、Openshift…
云计算:
AWS、IBM…
AI入门
以及技术笔记和考证经验
定期更新,欢迎互动。
感谢访问!
快速浏览相关标签
 
目录
0%