kanachi-blog

notionでの公開記事をastro-notion-blogを使って公開するよ

AWS 鉄板構成まとめ

参考資料

事例1. 動的 Web サイト

目的・用途

恒常的にトラフィック増が見込まれる動的な Web サイトを AWS クラウドを使うことで高度な運用を実現したい

この構成での料金試算例

760 ドル(月額)

メモ
  • AWS CertificateManager
    • SSL/TLS証明書の購入、アップロード、および更新の自動化
  • Elastic Load Barancing
    • アプリケーションへのトラフィックを複数のAZ 内の複数のターゲットに自動的に分散
  • NATゲートウェイ
    • private subnetのEC2が外部と通信するためにAZ毎に必要


事例2. スマートデバイス向けゲームアプリ

「マリオカートツアー」DeNA

目的・用途

大量のアクセスが発生しても快適に遊べるスケーラビリティ、ユーザー体験を損なわないパフォーマンス、サーバーとオペレーションコストの最適化をしたい。

「これまでは Amazon EC2 上に MySQL を構築して運用していましたが、スケールアウトやスケールインには人手による対応が必要で、エンジニアの工数が必要だった

メモ
  • CloudFront
    • 世界中に配信するアプリなのでCloudFrontを利用
    • 世界中に配置されたエッジロケーションがあり、最も近いエッジロケーションからコンテンツが配信されるため、レイテンシーが低くなる
    • regionとエッジロケーションは高速なネットワーク接続が繋がっているため、直接regionに接続するより素早い応答ができる
    • キャッシュされたコンテンツは、エッジロケーション内のキャッシュサーバーから直接配信される
  • EC2
    • Proxy
      • クライアントからのリクエストを受け取り、アプリケーションサーバーにルーティングする
    • API
      • アプリケーションサーバーから提供されるWeb APIで、クライアントからのリクエストに応答して、必要なデータを返す。APIは、Webサービスのバックエンドとして使用され、データベースやその他のシステムとの通信を担当することができます。
    • Memcached Elasticsearch
      • データのキャッシュをして頻繁にアクセスされるデータの高速化
      • データのインデックス作成や複雑な検索クエリの実行が可能で、高速なデータ検索や集計を行う
    • Batch Daemon
      • 後処理を担当するプログラムで、ジョブの実行やファイルの圧縮、データベースのバックアップなどのバッチ処理を自動化する
  • Aurora
    • プライマリーとレプリカを複数のAZに置くことで高可用性と高耐久性を実現


事例3. コンテナを利用した Web サービス

https://aws.amazon.com/jp/cdp/ec-container/

目的・用途

負荷の変動幅が大きな動的 Web サイトを検討・運営されており、コンテナを利用した AWS 上での構成例について知りたい

この構成での料金試算例

1,231 ドル(月額)

メモ
  • Amazon Elastic Container Repository
    • コンテナのイメージを保存するdocker hub的なもの
    • ここにWebサーバとしてNginx コンテナ、AppサーバとしてPHPコンテナを保存
  • Amazon ECS
    • コンテナオーケストレーションサービス
  • AWS Fargate
    • コンピューティングリソース
  • Amazon CloudWatch Logs
    • 各コンテナのLogを保持する
    • CloudWatch Container Insightsでコンテナ、タスクやサービス等のメトリクスを収集して可視化
  • RDS・ElastiCache
    • それぞれマルチAZで冗長化して可用性・耐久性を実現

随時更新予定