0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWSのSAAの学習としてアーキテクトを手で動かす

0
Posted at

こんばんは

現在、 AWS Certified Solutions Architect – Associate (SAA) の勉強をしています。
サービスやアーキテクチャについての理解は進んできたのですが、実際に手を動かして構築する経験がまだ足りていないと感じました。

そこで今回は、AWSの基本的なWebアプリケーション構成を自分で設計し、実際に構築してみました。

この記事では、構築したアーキテクチャと各サービスの役割について整理していきます。

構成概要

今回作成した構成は以下の通りです。

image.png

いわゆる AWSの典型的な3層Webアーキテクチャを意識した構成にしています。

Route53

DNSサービスで、ユーザーがドメインにアクセスすると、Route53がDNS解決を行い、CloudFrontのエンドポイントへルーティングします。

今回はすでにドメインを所有していたため、ホストゾーンの管理で使用しました。

【役割】

  • ドメイン管理
  • DNS解決
  • ルーティング

image.png

Aレコードでは、CloudFrontのドメインをエイリアスとして設定しています。

CloudFront

CDN(Content Delivery Network)サービスです。

【主な役割】

  • コンテンツキャッシュ
  • レイテンシー削減
  • オリジンサーバの負荷軽減

また、CloudFrontには WAF を関連付けることができます。
今回の構成では、オリジンとしてALBを指定しています。

image.png

WAF

Webアプリケーションファイアウォールです。
主にWebアプリケーションに対する攻撃を防ぐことができます。

【防げる攻撃の例】

  • SQLインジェクション
  • XSS(クロスサイトスクリプティング)
  • Botアクセス
  • 悪意のあるトラフィック

今回はCloudFrontに関連付ける形で設定しました。

image.png

ACM

SSL/TLS証明書を管理するサービスです。
ALBに証明書をアタッチすることで、HTTPS通信を実現します。

image.png

ALB

Application Load Balancerです。

【役割】

  • トラフィックの分散
  • Auto Scalingとの連携
  • 高可用性の確保

ALBは Public Subnet に配置しています。
また、ターゲットグループを作成し、EC2インスタンスを登録しています。

image.png

EC2(Auto Scaling)

WebアプリケーションサーバとしてEC2を利用しています。
Auto Scalingを利用することで、以下のようなメリットがあります。

  • トラフィック増加時に自動スケール
  • インスタンス障害時の自動復旧

image.png

image.png

EC2は Private Subnet に配置しています。

RDS

マネージド型のデータベースサービスです。
今回は Multi-AZ構成 を採用しています。

AZ1 : Primary
AZ2 : Standby

【特徴】

  • 同期レプリケーション
  • 自動フェイルオーバー
  • 高可用性

これにより、AZ障害が発生した場合でもサービス継続が可能になります。

image.png

S3

オブジェクトストレージサービスです。

【用途例】

  • 画像保存
  • 静的ファイル
  • バックアップ

S3は VPCの外に存在するリージョンサービスであり、EC2からはAPI経由でアクセスします。

image.png

構築してみて

今回の構築では、以下のようなAWSの基本的なインフラ構成について理解を深めることができました。

  • VPCの作成
  • サブネット(Public / Private)の分離
  • Internet Gatewayの設定
  • ALBとAuto Scalingの連携
  • RDSのMulti-AZ構成

実際に手を動かして構築してみることで、
SAAの学習内容の理解がかなり深まったと感じています。

まとめ

AWSのサービスは個別に学習していると理解しにくい部分もありますが、実際に構成を作ってみることで、サービス同士の関係性が理解しやすくなりました。

しかし、まだまだ学習中の身ではありますが、誤っている点や改善点などありましたら、ぜひご指摘いただけますと幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?