1. VPCの作成
- VPCコンソールから「VPCの作成」をクリックします。
- IPv4 CIDR ブロックを入力し(例: 10.0.0.0/16)、VPCを作成します。
- サブネットの作成で、「パブリックサブネット」と「プライベートサブネット」を2つずつ作成します。異なるアベイラビリティーゾーンに割り当てます。
- インターネットゲートウェイを作成し、VPCにアタッチします。
- パブリックサブネットのルートテーブルにインターネットゲートウェイへのルートを追加します。
- NATゲートウェイを作成し、プライベートサブネットのルートテーブルにNATゲートウェイへのルートを追加します。
2. セキュリティグループの作成
例えば、以下のようなセキュリティグループを作成します。
Copy code# ALBのセキュリティグループ
aws ec2 create-security-group --group-name alb-sg --description "Allow HTTP/HTTPS" --vpc-id vpc-0123abcd
# HTTPアクセスを許可
aws ec2 authorize-security-group-ingress --group-id sg-0123abcd --protocol tcp --port 80 --cidr 0.0.0.0/0
# HTTPSアクセスを許可
aws ec2 authorize-security-group-ingress --group-id sg-0123abcd --protocol tcp --port 443 --cidr 0.0.0.0/0
# アプリサーバーのセキュリティグループ
aws ec2 create-security-group --group-name app-sg --description "Allow from ALB" --vpc-id vpc-0123abcd
# ALBからのアクセスを許可
aws ec2 authorize-security-group-ingress --group-id sg-0123efgh --protocol tcp --port 8080 --source-group sg-0123abcd
3. ALBの作成
- ALBコンソールから「ロードバランサーの作成」をクリックします。
- ALBの名前とSchemeをInternet-facing(パブリック)かInternal(プライベート)かを選択します。
- 作成したパブリックサブネットを2つ以上選択してマッピングします。
- セキュリティグループは、先ほど作成したALBのセキュリティグループを選択します。
- リスナーを設定し、ターゲットグループを定義します(ポート8080など)。
- SSL証明書があればリスナーに設定します(Certificate Managerから取得)。
4. Auto Scalingの設定
- EC2コンソールから起動テンプレートを作成します。
- AMIを指定し、インスタンスタイプ(t3.microなど)を選択します。
- 作成したアプリサーバーのセキュリティグループを設定します。
- Auto Scalingコンソールから「Auto Scalingの設定」をクリックします。
- 先ほどの起動テンプレートを選択し、Auto Scalingの名前を付けます。
- VPCとプライベートサブネットを選択します。
- ロードバランサーの設定で、ALBとターゲットグループを関連付けます。
- 必要に応じてスケーリングポリシーを設定します。
5. RDSの作成
- RDSコンソールから「データベースの作成」をクリックします。
- エンジンオプションでPostgreSQLなどを選択します。
- デプロイするAZ、マルチAZオプションを設定します。
- インスタンスクラスとストレージを設定します。
- セキュリティグループにRDSアクセス用のグループを作成・選択します。
- データベース名、ユーザー名、パスワードを設定します。
6. その他
- ElastiCacheの作成は、ElastiCacheコンソールから同様の手順で行います。
- EFSの作成は、EFSコンソールから行い、マウントターゲットをプライベートサブネットに関連付けます。
- S3バケットの作成は、S3コンソールから行います。バケットポリシーで公開/非公開を設定できます。
- CloudFrontの設定は、CloudFrontコンソールから行い、S3やALBをオリジンに設定できます。
- CloudWatchでは、ログ収集やメトリクスの設定を行えます。
以上のように、AWS CLIやコンソール上での操作手順を追って、SaaSアプリケーション向けのインフラを構築できます。環境に合わせて適宜設定を変更する必要があります。またIaCツールを使ってインフラをコード化することもできます。
コメント