サイトアイコン 協栄情報ブログ

AWS設計・構築の記録

お世話になっております、クラウド事業部の稲村です。
社内プロジェクトの一環で、マルチAZのアーキテクチャを構築する機会がございました。
非常に勉強になりましたので、その構築の流れと学びを備忘録としてまとめたいと思います。


構成図


使用技術

AWSサービス

OS

DB

Webサーバ


VPCとサブネットの作成

パラメータ

VPC_CIDRブロック
10.0.0.0/16
AZ 種類 CIDR
ap-northeast-3a public subnet 10.0.0.0/20
ap-northeast-3a private subnet 10.0.48.0/20
ap-northeast-3a protect subnet 10.0.96.0/20
ap-northeast-3b public subnet 10.0.16.0/20
ap-northeast-3b private subnet 10.0.64.0/20
ap-northeast-3b protect subnet 10.0.112.0/20

構築手順

作成画面 → VPC > VPCを作成
※以降の構築手順で明記していない設定項目についてはデフォルトの状態で設定しています。

設定項目

セキュリティグループの作成

パラメータ

ルール タイプ プロトコル ポート範囲 送信先
Inbound HTTP TCP 80 0.0.0.0/0
Outbound すべてのトラフィック すべて すべて 0.0.0.0/0
ルール タイプ プロトコル ポート範囲 送信先
Inbound HTTPS TCP 443 0.0.0.0/0
Inbound HTTP TCP 80 0.0.0.0/0
Outbound すべてのトラフィック すべて すべて 0.0.0.0/0
ルール タイプ プロトコル ポート範囲 送信先
Inbound MySQL TCP 3306 EC2用SG
Outbound すべてのトラフィック すべて すべて 0.0.0.0/0
ルール タイプ プロトコル ポート範囲 送信先
Inbound NFS TCP 2049 EC2用SG
Outbound すべてのトラフィック すべて すべて 0.0.0.0/0
ルール タイプ プロトコル ポート範囲 送信先
Inbound HTTPS TCP 443 EC2用SG
Outbound すべてのトラフィック すべて すべて 0.0.0.0/0

構築手順

作成画面 → VPC > セキュリティグループ > セキュリティグループを作成

設定項目

手順に沿ってそれぞれのセキュリティグループを作成。


IAMロール作成

構築手順

作成画面 IAM > ロール > ロールを作成


EC2構築

構築手順

作成画面 :EC2 > インスタンス > インスタンスを起動

設定項目


RDS構築

構築手順

サブネットグループの作成

作成画面 :RDS > サブネットグループ > DBサブネットグループを作成

設定項目

RDSの作成

設定項目

作成画面 :データベース > データベースの作成


SSM接続設定

パラメータ

構築手順

作成画面 :VPC > エンドポイント > エンドポイントの作成
※まとめてサービスを選択できないので、一つずつエンドポイントを作成

設定項目


ALB構築

ターゲットグループの作成

作成画面 :EC2 > ターゲットグループ > ターゲットグループの作成

設定項目

ALBの作成

作成画面 :EC2 > ロードバランサー > ロードバランサーの作成

設定項目


Route53(DNSレコードの作成)

構築手順

※今回は既存のホストゾーンを使用
作成画面 :Route53 > ホストゾーン > ホストゾーンを選択 > レコードを作成

設定項目


証明書の取得(ACM)

構築手順

作成画面 :Certificate Manager > リクエスト

設定項目

リクエスト後「Route53でレコードを作成」を押下し、Route53へレコードを作成


ALBリスナー、HTTP→HTTPSへのリダイレクト設定

HTTPSリスナーの作成

構築手順

作成画面 :EC2 > ロードバランサー > albを選択 > リスナーとルール > リスナーの追加

設定項目

HTTP→HTTPSへのリダイレクト設定

構築手順

作成画面 :EC2 > ロードバランサー > albを選択 > リスナーとルール > リスナーの追加

設定項目


S3構築、ALBアクセスログの取得

S3構築

構築手順

作成画面 :S3 > 汎用バケット > バケットを作成

設定項目

ALBのアクセスログ取得

構築手順

作成画面 :EC2 > ロードバランサー > albを選択 > アクション > ロードバランサー属性を編集

設定項目


SNSトピック作成

トピックの作成

構築手順

作成画面 :Simple Notification Service > トピック > トピックの作成

設定項目

サブスクリプションの作成

設定項目

送信先メールアドレス宛に送られたメールで認証を行う


CloudWatch監視設定

CWAgentインストール、設定

構築手順

  1. CWAgentを各EC2にインストール
  2. Wizardを起動し、設定ファイルを編集
  3. CWAgentを起動

HealthyHostCount(ALB)

構築手順

作成画面 :CloudWatch > すべてのアラーム > アラームの作成 > ApplicationELB > HealthyHostCountを選択

設定項目

CPUUtilization(EC2)

構築手順

作成画面 :CloudWatch > すべてのアラーム > アラームの作成 > EC2 > CPUUtilizationを選択
※閾値が80%と90%の場合で監視を設定

設定項目

mem_used_percent(EC2)

構築手順

CWAgentのインストール・起動が完了後に実施
作成画面 :CloudWatch > すべてのアラーム > アラームの作成 > CWAgent > mem_used_percentを選択
※閾値が80%と90%の場合で監視を設定

設定項目


感想

AWSの仕組みやインフラの可用性、耐久性の実現方法等、今回のプロジェクトでは非常に学びが多かったです。
本格的なインフラ環境を構築できた経験はとても大きなものだと感じており、今後も様々なアーキテクチャの構築に取り組んでいきたいと思いました。現在は、同様のアーキテクチャをAWS CLIを用いて構築しております。不慣れなためエラーが何度も発生し時折大変ですが、コンソールで作成した時と比べミスが減り、再現性や作業効率も格段に向上してとても感動しました。
今回のプロジェクトでAWSの様々な技術に興味が湧き、AWSエンジニアとして良い一歩を踏み出せたと思います。
今後は、毎日技術力を磨き続け一日でも早く、お客様に貢献できるエンジニアに成長したいです。
今後ともぜひ、よろしくお願いいたします。

モバイルバージョンを終了