はじめに
今回はマルチAZを全部手動で作りたいので、下記のAWS構成図のように作っていきます
※全て東京リージョンで行っております
EC2インスタンスへSSH接続して作業する際はパブリックサブネット(NATゲートウェイからインターネットゲートウェイ接続)へ切り替えてください。
RDSはコストの関係で1個しか今回は設定しないです
こちらのページは下記のサイトの続きとなっております。
手順1:EC2のセキュリティグループ作成
基本的な詳細
| 設定項目 | 入力内容 |
|---|---|
| セキュリティグループ名 | sample-ec2-security-group |
| 説明 | 適当に入力(例:First Security Group for sample-ec2) |
| VPC | sample-vpc |
インバウンドルール
インバウンドルール1
| 設定項目 | 入力内容 |
|---|---|
| タイプ | HTTP |
| リソースタイプ | マイ IP |
インバウンドルール2(EC2にSSH接続する場合に入力してください)
| 設定項目 | 入力内容 |
|---|---|
| タイプ | SSH |
| リソースタイプ | マイ IP |
入力が完了しましたら、セキュリティグループを作成をクリックします
手順2:EC2インスタンスを作成
インスタンスを起動をクリック
名前とタグ
| 設定項目 | 入力内容 |
|---|---|
| 名前 | sample-ec2-1a |
アプリケーションおよびOSイメージ(Amazon マシンイメージ)
| 設定項目 | 入力内容 |
|---|---|
| Amazon マシンイメージ(AMI) | Amazon LinuxのAmazon Linux 2023 AMI |
インスタンスタイプ
| 設定項目 | 入力内容 |
|---|---|
| インスタンスタイプ | t2.micro |
キーペア (ログイン)
新しいキーペアの作成をクリック
| 設定項目 | 入力内容 |
|---|---|
| キーペア名 | sample-ec2 |
| キーペアのタイプ | ED25519 |
| プライベートキーファイル形式 | .pem |
入力が完了しましたら、キーペアを作成をクリックします
ネットワーク設定
| 設定項目 | 入力内容 |
|---|---|
| VPC | sample-vpc |
| サブネット | sample-vpc-private-1a-ec2 |
| パブリックIPの自動割り当て | 有効化(SSH接続しない場合は無効化) |
| ファイアウォール(セキュリティグループ) | 既存のセキュリティグループを選択する |
| 共通のセキュリティグループ | sample-ec2-security-group |
パブリックIPの自動割り当てを解除したい場合、インスタンスを停止してからアクション→ネットワーキング→IPアドレスの管理のページで解除できます
ストレージを設定
8GiB, gp2を設定
入力が完了しましたら、インスタンスを起動をクリックします
作成したインスタンスが「実行中」と表示されていれば、起動は成功です
手順3:DBサブネットグループを作成
サブネットグループの詳細
| 設定項目 | 入力内容 |
|---|---|
| 名前 | sample-db-subnet-group |
| 説明 | 適当に入力 |
| VPC | sample-vpc |
サブネットを追加
| 設定項目 | 入力内容 |
|---|---|
| アベイラビリティーゾーン | ap-northeast-1a |
| サブネット |
sample-vpc-private-1a-rds, sample-vpc-private-1c-rds
|
入力が完了しましたら、作成をクリックします
手順4:RDSを作成
- Aurora and RDSの
データベースの作成をクリック - 「データベースの作成方法を選択」を「標準作成」を選択
エンジンのオプション
| 設定項目 | 入力内容 |
|---|---|
| エンジンのタイプ | MySQL |
| エディション | MySQL Community |
| エンジンバージョン | MySQL 8.0.41 |
テンプレート
「無料利用枠」を選択
可用性と耐久性
「シングル AZ DB インスタンスデプロイ (1 インスタンス)」を選択
設定
| 設定項目 | 入力内容 |
|---|---|
| DB インスタンス識別子 | sample-db |
| マスターユーザー名 | sample_mysql |
| 認証情報管理 | セルフマネージド |
| マスターパスワード | 自由に入力 |
| マスターパスワードを確認 | マスターパスワードと同じものを入力 |
インスタンスの設定
| 設定項目 | 入力内容 |
|---|---|
| インスタンス | db.t4g.micro |
ストレージ
| 設定項目 | 入力内容 |
|---|---|
| ストレージタイプ | 汎用 SSD(gp2) |
| ストレージ割り当て | 20GiB |
| ストレージの自動スケーリング | 有効にする |
| 最大ストレージしきい値 | 1000GiB |
接続
| 設定項目 | 入力内容 |
|---|---|
| コンピューティングリソース | EC2 コンピューティングリソースに接続しない |
| ネットワークタイプ | IPv4 |
| Virtual Private Cloud (VPC) | sample-vpc |
| DB サブネットグループ | sample-db-subnet-group |
| パブリックアクセス | なし |
| VPC セキュリティグループ (ファイアウォール) | 新規作成 |
| 新しい VPC セキュリティグループ名 | sample-rds-vpc-security-group |
| アベイラビリティーゾーン | ap-northeast-1a |
| RDS Proxy | 設定しない |
| 認証機関 - 任意 | デフォルト |
| データベースポート | 3306 |
データベース認証
| 設定項目 | 入力内容 |
|---|---|
| データベース認証オプション | パスワード認証 |
モニタリング
「データベースインサイト - スタンダード」を選択
追加設定
| 設定項目 | 入力内容 |
|---|---|
| 最初のデータベース名 | sample |
入力が完了しましたら、データベースの作成をクリックします
手順5:RDS作成後の設定
EC2接続のセットアップ
-
sample-dbをクリック - 「アクション」をクリックし、EC2接続のセットアップをクリック
- EC2インスタンスの選択で作成したEC2(
sample-ec2-1a)を選択し、続行をクリック - 「見直しと確認」ページで、特に問題がなければ、
セットアップをクリック
手順6:ALBのセキュリティグループ作成
基本的な詳細
| 設定項目 | 入力内容 |
|---|---|
| セキュリティグループ名 | sample-alb-security-group |
| VPC | sample-vpc |
インバウンドルール
パブリックサブネットにあるEC2で作業する場合
コストの関係上、パブリックサブネットにあるEC2で作業する場合、セキュリティリスクを低くするため、自身のパブリックIPでしか接続できないようにする
パブリックサブネットにあるEC2で作業する場合
| 設定項目 | 入力内容 |
|---|---|
| タイプ | HTTPS |
| リソースタイプ | マイ IP |
プライベートサブネットにあるEC2で作業する場合
| 設定項目 | 入力内容 |
|---|---|
| タイプ | HTTPS |
| リソースタイプ | Anywhere-IPv4 |
入力が完了しましたら、セキュリティグループを作成をクリックします
手順7:ALBを作成
- EC2のロードバランサーの
ロードバランサーの作成をクリック - Application Load Balancerの
作成をクリック
基本的な設定
| 設定項目 | 入力内容 |
|---|---|
| ロードバランサー名 | sample-alb |
| スキーム | インターネット向け |
| ロードバランサーのIPアドレスタイプ | IPv4 |
ネットワークマッピング
| 設定項目 | 入力内容 |
|---|---|
| VPC | sample-vpc |
| アベイラビリティーゾーンとサブネット |
ap-northeast-1aのsample-vpc-public-1a, ap-northeast-1cのsample-vpc-public-1c
|
セキュリティグループ
| 設定項目 | 入力内容 |
|---|---|
| セキュリティグループ | sample-alb-security-group |
リスナーとルーティング
ターゲットグループの作成をクリック
ターゲットグループの作成
基本的な設定
| 設定項目 | 入力内容 |
|---|---|
| ターゲットタイプの選択 | インスタンス |
| ターゲットグループ名 | sample-alb-target-group |
| プロトコル : ポート | アプリがリッスンしているポート(例:HTTPの80) |
| IPアドレスタイプ | IPv4 |
| VPC | sample-vpc |
| プロトコルバージョン | HTTP1 |
ヘルスチェック
| 設定項目 | 入力内容 |
|---|---|
| ヘルスチェックプロトコル | HTTP |
| ヘルスチェックパス | /healthz |
入力が完了しましたら、次へをクリックします
ターゲットを登録
sample-ec2-1aを選択し、保留中として以下を含める、保留中のターゲットの登録をクリックし、ターゲットグループの作成をクリックします
ALB作成画面に戻って、下記を入力します
SSL証明書を取得している場合
| 設定項目 | 入力内容 |
|---|---|
| プロトコル | HTTPS |
| ポート | 443 |
| デフォルトアクション | sample-alb-target-group |
SSL証明書を取得していない場合
| 設定項目 | 入力内容 |
|---|---|
| プロトコル | HTTP |
| ポート | 80 |
| デフォルトアクション | sample-alb-target-group |
セキュアリスナーの設定
| 設定項目 | 入力内容 |
|---|---|
| セキュリティカテゴリ | すべてのセキュリティポリシー |
| ポリシー名 | 推奨されているものを選択 |
| 証明書の取得先 | ACM |
| 証明書 (ACM から) | 取得したドメイン名を選択 |
入力が完了しましたら、ロードバランサーの作成をクリックします
手順8:EC2のセキュリティグループのインバウンドルールを修正
インバウンドルール1を下記に変更
| 設定項目 | 入力内容 |
|---|---|
| タイプ | HTTP |
| リソースタイプ | カスタム |
| ソース | sample-alb-security-group |
またインバウンドルール2にあるSSH接続するためのルールは使わなくなった場合削除してください
おまけ:EC2のパブリックIPを解除方法
対象のEC2インスタンスを停止 → 「アクション」→「ネットワーキング」→「IPアドレスの管理」 → パブリック IP の自動割り当てをOFF
まとめ
マルチAZ構成のAWSインフラを手動で構築する手順を、EC2・RDS・ALBなどの設定とともに詳しく解説しました

