AWSはいろいろなサービスあるので、仮にAWS環境でLAMPな環境のシステムを構築する場合は選択肢が数え切れないほど考えられる。
思いつく限り列挙してみる。
クラウドは組み合わせ方いっぱいあって、自作PC組んでるみたいな楽しさがある。
Webサーバー、DBサーバー、ストレージを別サービスに分ける場合
3つの要素について自由に組み合わせられる。
Webサーバー
- EC2のサーバー
- Lambda+API Gateway
- ECS(Docker)
- Fargate(ECSのサーバーレス版とでも言うべきもの)
コンテナ型サービスではコンテナの管理方法にCockpitやEKS(k8s)なども使えるようで、構成自体には関係ないが関わるサービスのバリエーションは更に多い。
DBサーバー
- AWS RDS
- MariaDB
- MySQL
- OracleDB
- SQLServer
- PostgreSQL
- Aurora
- Postgres互換
- 通常
- Serverless版
- MySQL互換
- 通常
- Serverless版
- Postgres互換
LAMPの趣旨とは違うが、DBとしてNoSQLを使うなら以下の選択肢もある。
- DynamoDB
- Redshift
- DocumentDB
ストレージ
Lambdaを使う場合はストレージはS3に限定されるなど制限があるが、以下が使えそう。
- S3・・・オブジェクトストレージ
- EFS・・・NFS的なもの(LAMP用途ではまず使わないかもだが)
- EBS・・・ブロックストレージ
- FSx・・・HDFSとかCeph的な感じの高速ストレージだと思う
単一サービスで構成する場合
EC2(+EBS)のみ
普通にEC2のサーバーにWebサーバー、DBサーバーを立てる方法。ただ、EC2にDBサーバーを立てるのはEBSのデータ保証がない都合上、クリティカルな用途では推奨されないらしい。
AWS Lightsail
VPSとして使えるLightsailを使う。使用するサービス意外は上記と同じ
その他
- AWS Amplify
コメント