ビデオソース: Station B「AWS 認定ソリューションアーキテクト アシスタント レベル SAA-C03」
学習中に先生の授業内容やテストノートを整理してみんなで共有してください。違反しているものは削除されます。よろしくお願いします。
要約投稿を添付します: AWS アシスタントアーキテクト認定トレーニング | 概要
ソリューション アーキテクチャのディスカッションの概要
セクションの紹介
- これらのソリューション アーキテクチャは、このコースの最も重要な部分です
- これまで見てきたすべてのテクノロジーがどのように連携して機能するかを理解しましょう
- これは 100% 慣れておく必要があるセクションです
- 多くのサンプル ケース スタディを通じて、ソリューションのアーキテクトの考え方の進歩を見ていきます。http://WhatIsTheTime.Com http://MyClothes.ComMyWordPress.Com アプリケーションの迅速なインスタンス化 Beanstalk
http://WhatIsTheTime.com
ステートレス WebApp: http://WhatIsTheTime.com
- http://WhatlsTheTime.com を 使用すると、今何時かを知ることができます
- データベースは必要ありません
- 小規模から始めたいので、ダウンタイムを許容できる
- ダウンタイムなしで垂直方向と水平方向に完全に拡張したい
- このアプリのソリューションアーキテクトの旅を見てみましょう
- どのように進めるかを見てみましょう!
ステートレス Web アプリ: 今何時ですか? シンプルに始める
ステートレス Web アプリ: 今何時ですか? 垂直方向の拡大縮小
ステートレス Web アプリ: 今何時ですか? 水平方向の拡大縮小
ステートレス Web アプリ: 今何時ですか? 水平方向のスケーリング、インスタンスの追加と削除
ステートレス Web アプリ: 今何時ですか? ロードバランサーを使用した水平方向のスケーリング
ステートレス Web アプリ: 今何時ですか? 自動スケーリング グループを使用した水平方向のスケーリング
ステートレス Web アプリ: 今何時ですか? アプリをマルチ AZ にする
最低 2 AZ => 容量を確保しましょう
この講義では...
- パブリック IP とプライベート IP および EC2 インスタンス
- Elastic IP 対 Route 53 対 ロードバランサー
- Route 53 TTL、A レコード、およびエイリアス レコード
- EC2 インスタンスの手動保守と Auto Scaling グループの比較
- 災害を乗り越えるマルチAZ
- ELB ヘルスチェック
- セキュリティグループルール
- 可能な場合はコスト削減のための容量の予約
- 私たちは、適切に設計されたアプリケーションの 5 つの柱、つまりコスト、パフォーマンス、信頼性、セキュリティ、オペレーショナル エクセレンスを検討しています。
http://MyClothes.com
ステートフル WebApp: http://MyClothes.com
- http://MyClothes.com を 使用すると、オンラインで衣類を購入できます。
- ショッピングカートがあります
- 私たちのウェブサイトには同時に数百人のユーザーがいます
- スケーリングし、水平方向のスケーラビリティを維持し、Web アプリケーションを可能な限りステートレスに保つ必要があります
- ユーザーはショッピングカートを紛失してはなりません
- ユーザーは自分の詳細(住所など)をデータベースに保存する必要があります
- どのように進めるかを見てみましょう!
ステートフル Web アプリ: http://MyClothes.com
ステートフル Web アプリ: http://MyClothes.com スティッキー性 (セッション アフィニティ) の導入
ステートフル Web アプリ: http://MyClothes.com ユーザー Cookie の導入
ステートフル Web アプリ: http://MyClothes.com サーバー セッションの導入
ステートフル Web アプリ: http://MyClothes.com データベースへのユーザー データの保存
ステートフル Web アプリ: http://MyClothes.com 読み取りのスケーリング
ステートフル Web アプリ: http://MyClothes.com 読み取りのスケーリング (代替) - ライトスルー
ステートフル Web アプリ: http://MyClothes.com Multi AZ - 災害から生き残る
ステートフル Web アプリ: http://MyClothes.com セキュリティ グループ
この講義では、Web アプリケーションの 3 層アーキテクチャについて説明しました。
- ELB スティッキー セッション
- Cookie を保存し、Web アプリをステートレスにするための Web クライアント
- ElastiCacheセッションの保存用 (代替: DynamoDB)RDS マルチ AZ からのデータのキャッシュ用
- RDSユーザーデータの保存用リードレプリカ読み取りのスケーリング用マルチAZ災害復旧用
- セキュリティグループが相互参照する強固なセキュリティ
http://MyWordPress.com
ステートフル WebApp: http://MyWordPress.com
- 私たちは完全にスケーラブルな WordPress ウェブサイトを作成しようとしています
- Web サイトが SS にアクセスし、アップロードされた画像を正しく表示できるようにしたい
- ユーザー データとブログ コンテンツは MySQL データベースに保存する必要があります。
- どうすればこれを達成できるか見てみましょう!
ステートフル WebApp: http://MyWordPress.com RDS レイヤー
ステートフル WebApp: http://MyWordPress.com Aurora によるスケーリング: マルチ AZ とリードレプリカ
ステートフル WebApp: http://MyWordPress.com EBS を使用した画像の保存
ステートフル WebApp: http://MyWordPress.com EFS を使用した画像の保存
この講義では...
- Aurora データベースで簡単なマルチ AZ とリードレプリカを実現
- EBS (シングル インスタンス アプリケーション) へのデータの保存
- vs EFS (分散アプリケーション) へのデータの保存
アプリケーションを迅速にインスタンス化する
アプリケーションの迅速なインスタンス化
- フルスタック (EC2、EBS、RDS) を起動する場合、次の作業に時間がかかることがあります。 アプリケーションのインストール 初期 (またはリカバリ) データの挿入 すべての設定 アプリケーションの起動
- クラウドを活用すれば、それをスピードアップできます。
- EC2 インスタンス:ゴールデン AMI を使用する: アプリケーション、OS の依存関係などを事前にインストールし、UserData を使用してゴールデン AMl ブートストラップから EC2 インスタンスを起動します。 動的構成の場合は、ユーザー データ スクリプトを使用します。 ハイブリッド: Golden AMl とユーザー データ (エラスティック) を混合します。豆の木)
- RDS データベース:スナップショットから復元: データベースにはスキーマとデータが準備されています。
- EBS ボリューム:スナップショットから復元: ディスクはすでにフォーマットされており、データが含まれています。
豆の木の概要
一般的なアーキテクチャ: Web アプリ 3 層
AWS における開発者の問題
- インフラストラクチャの管理
- コードのデプロイ
- すべてのデータベース、ロードバランサーなどの構成
- スケーリングに関する懸念
- ほとんどの Web アプリは同じアーキテクチャ (ALB+ASG) を持っています
- 開発者が望んでいるのは、コードが実行されることだけです。
- 場合によっては、さまざまなアプリケーションや環境にわたって一貫して
Elastic Beanstalk - 概要
- Elastic Beanstalk は、AWS にアプリケーションをデプロイする開発者中心のビューです
- EC2、ASG、ELB、RDS など、これまでに見たすべてのコンポーネントが使用されています。
- マネージド サービス容量のプロビジョニング、ロード バランシング、スケーリング、アプリケーションの健全性の監視、インスタンスの構成などを自動的に処理します...アプリケーション コードのみが開発者の責任です
- 構成を完全に制御できます
- Beanstalk は無料ですが、基盤となるインスタンスには料金がかかります
Elastic Beanstalk - コンポーネント
- アプリケーション: Elastic Beanstalk コンポーネントのコレクション (環境、バージョン、設定など)
- アプリケーション バージョン: アプリケーション コードの反復
- 環境アプリケーション バージョンを実行する AWS リソースのコレクション (一度に 1 つのアプリケーション バージョンのみ) 層: Web サーバー環境層とワーカー環境層 複数の環境 (dev、test、prod など) を作成できます。
Elastic Beanstalk - サポートされているプラットフォーム
- 行く
- Java SE
- Java と Tomcat
- Linux 上の .NET Core
- Windowsサーバー上の.NET
- Node.js
- PHP
- パイソン
- ルビー
- パッカービルダー
- 単一コンテナのドッカー
- マルチコンテナDocker
- 事前構成された Docker
- サポートされていない場合は、カスタム プラットフォームを作成できます (上級)
Web サーバー層とワーカー層
- SQS メッセージの数に基づいてスケールする
- 別の Web サーバー層から SQS キューにメッセージをプッシュできます