CLIによる高可用性アーキテクトの構築【目次・概要】


この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。

皆様こんにちは。
今回はCLIを利用して高可用性アーキテクトの構築をしていきます。

前提条件

・CLIについての概要はこちらを参照ください。
・筆者は自身のwindowsPCにAWS CLI v2をインストールし、PowerShellを利用して構築します。
・ソウルリージョンで今回の構築をするのでaws configureのデフォルトのリージョンはap-northeast-2に設定しています。
・IDの表記は伏字にしています。

構成図と目標

今回の高可用性アーキテクトを構築していくにあたっての構成図です。

構築する上での目標は

  1. ACMを利用して暗号化された通信を使ってドメイン名でアクセスできること
  2. マルチAZ構成でWebサーバーを稼働し、高可用性を実現すること。
  3. マルチAZ構成でデータベースサーバーを稼働し、高可用性を用意すること
  4. KMSを利用してストレージやデータベースのデータに不正にアクセスされても、解読できないように暗号化されていること
  5. EC2に障害が起きた時は通知をだし、自動的に復旧すること
  6. EBSの使用率や、ALBとEC2の死活監視をおこない、閾値を超えた時は通知を出すこと
  7. WordPressの画像をS3にアップロードすること
  8. DLMを利用し、EBSのスナップショットを自動作成すること

になります。

利用するサービス

今回利用するAWSサービスを目的とともにまとめました。

サービス名 利用目的
EC2 (Elastic Compute Cloud) Webサーバーとして使用するため
RDS (Relational Database Service) DBサーバーとして使用するため
EFS (Elastic File System) WordPressのインストールファイルをEC2間でファイル共有を行うため
S3 (Simple Storage Service) WordPressの画像をアップロードするため
IAM (Identity and Access Management) ・EC2にCWAgent用の権限を与えるため
・EC2にS3用の権限を与えるため
KMS (Key Management Service) RDS、EBSなどの暗号化のために暗号化鍵の作成と管理を行うため
ALB (Application Load Balancer) 二つのEC2にヘルスチェックを行いながらリクエストを振り分け、高可用性を実現するため
Route53 名前解決のため
ACM(AWS Certificate Manager) https通信を行うための証明書の作成/利用のため
CloudWatchAgent ディスク使用率の監視メトリクスをCWAlarmに発行するため
SNS (Simple Notification Service) アラーム発生時のメール送信先トピックを作成するため
CloudWatchAlarm ・システムエラー、EC2とALBの死活状態、ディスク使用率の監視を行うため
・閾値を超えればメールで通知し、システムエラーが起きた時にオートリカバリーをするため
DLM(Data Lifecycle Manager) EBSのスナップショット自動作成で使用するため

今回利用するサービスは以上となります。

高可用性アーキテクト構築目次

今回はそれぞれのサービスの関係性を考慮して、

1.概要

  1. CLIによるAWSサービスの利用【目次・概要】←現在地

2.VPCなど基盤構築

  1. CLIによる「VPC」構築
  2. CLIによる「セキュリティグループ」構築
  3. CLIによる「IAM」構築

3.データベース・ファイルシステム・インスタンス構築

  1. CLIによる「KMS」構築
  2. CLIによる「RDS」構築
  3. CLIによる「EFS」構築
  4. CLIによる「EC2」構築

4.ネットワーク構築

  1. CLIによる「ALB」構築
  2. CLIによる「Route53」構築

5.WordPress設定とhttps設定

  1. CLIによる「ACM」構築

6.監視システム構築

  1. CLIによる「SNS」構築
  2. CLIによる「CWAlarm」構築

7.スナップショットの自動作成

  1. CLIによる「DLM」構築

8.S3の利用

  1. CLIによる「S3」構築

以上の手順で構築を進めていきます。

これで高可用性アーキテクトの構築の目次と概要の説明を終わります。

Last modified: 2022-06-09

Author