** Korean follows Japanese.(will be updated soon!)
・レジリエント:回復性がある Resillient
・フォールトトレラント:耐障害性がある Fault Tolerant
・デカップリング:疎結合 Decoupling
Agenda
①多層アーキテクチャソリューションの設計
②可用性の高いアーキテクトやフォールトトレラントなアーキテクチャの設計
③AWSのサービスを使用したデカップリングメカニズムの設計
④適切な回復力のあるストレージの選択
・ウェブサーバーとログ記録サービスを直接繋げるより、ウェブサーバーとログ記録サービスの間にElastic Load Balancing (ELB)を置き、負荷を分散させてヘルスチェックを行う。
・クラウドは、スケーラビリティと拡充性が大事。
・お客様の注文ウェブサーバーとEメールサービス・Eメールサーバーを直接連結するより、お客様の注文ウェブサーバーとEメールサービスの間に、Queue機能ができるAmazon Simple Queue Serviceを置くことで、Eメールサービス・サーバーが壊れても問題なくウェブサーバーは動くように設計する。
① Network Load Balancer
レイヤー4で実行、TCPパケットのロードバランシング、高いパフォーマンスアプリ向け
② Application Load Balancer
レイヤー7で実行、リクエストの内容に基づいてトラフィックをルーティング
アーキテクチャの設計は、障害を前提で行わないといけない。
(複数のRegion・Availability ZoneにReplicate、オートスケーリング等)
システムの疎結合化を進めると、スケーリングが容易になり、耐障害性が向上
(1) AWS CloudFormation:テンプレートでAWSリソースのデプロイと管理を行うことができるサービス
(2) AWS Lambda:Serverless、Event-driven
サーバーをLambdaで構築すると、障害発生の場合やスケーリングが必要な場合、人が触る必要なくLambdaが処理してくれる。
特定の EC2 インスタンスのみ
ブロック、インスタンスから独立した永続性
ファイル用
オブジェクト用、高速、インターネットからアクセス可能、データ暗号化も可能、様々なアクセスコントロールが可能
バックアップ・アーカイブ用のストレージ