LoginSignup
3

More than 5 years have passed since last update.

AWS の Web まわりをシーケンス図で表現してみた

Last updated at Posted at 2016-12-03

はじめに

  • PlantUML の復習中(IntelliJ IDEAで書いてる)
  • UML 自体の復習中ともいう
  • AWS を利用した場合の素敵構成をシーケンス図にしてみた
  • 構成自体は出来てるけど本番運用されていないのでコストがいまいち見えてない(開発機しか走っていない)
  • サーバレスとかマイクロサービスとか言ってる時代に今更モノリシックかよとか言わないでw

シーケンス図

sequence_aws_front.png

説明(ちまちま追記予定。メリデメを特に。。。)

サービス説明(AWSの)

  • Route 53 : Amazon Route 53
    • DNSサービス。
    • ドメイン取得、SSL証明書取得、運用までACMとセットで大変便利
    • AWS上のリソースに向ける場合、Aliasレコードを使うことで高速化
  • Client
    • これはサービスじゃなくてリクエストする人(PCとかスマホとか)
  • CloudFront : Amazon CloudFront
    • CDN サービス
  • ACM : AWS Certificate Manager
    • SSL/TLS 証明書の管理
  • WAF : AWS Web Application Firewall
    • ウェブアプリケーションファイアウォール
  • S3 : Amazon Simple Storage Service
    • ストレージ
  • ELB : Elastic Load Balancing
    • ロードバランサー
  • EC2 : Amazon Elastic Compute Cloud
    • 仮想サーバ

メリット

  • やってみれば驚くほど簡単
  • なるほどインフラエンジニアじゃなくてもできそう(できる)
  • 特に新規案件等でドメイン取得から始める場合のワンストップ感は楽すぎてやばい
    • それをロックインと呼ぶならまぁそうね、としか。。。
  • 組み換え、スモールスタートが容易
    • R53+S3 (静的コンテンツ配信)
    • R53+EC2(動的コンテンツ配信)
    • R53+ELB+EC2(サーバスケール。ASG)
    • R53+ELB+ACM+EC2(SSL対応)
    • R53+CloudFront+ACM+ELB+EC2(CDN対応)
    • R53+CloudFront+ACM+S3+ELB+EC2(静的コンテンツをEC2が処理しない)
    • R53+CloudFront+ACM+WAF+S3+ELB+EC2(セキュリティ対応)
    • 実際こんな感じで差し込んで作っていけるので、常に動作確認しながら進められる
      • 初心者にはとてもありがたい
      • あまりおすすめではないけど外形監視で静的コンテンツと動的コンテンツをチェックしたままにするとTDDっぽいw
  • 使った分だけ払い
    • コスト増とは相反するけど、同等の機能をオンプレで用意とか考えたくない
    • ざっと作ってテストして終わったら削除して、ってできれば、びっくりするほど安く遊べる
  • ほとんど全部クラスメソッドさんをはじめとするAPN企業さんのブログ等で簡単に学べる
    • 学習コストが低いのは大きなメリット
    • もっとも個人でならって話で、企業レベルで使い物になるレベルにするには結構かかる気がする
  • CloudFront を使って http/2 対応が簡単
  • CloudFront と ACM を使って https 対応が簡単かつ永続的

デメリット

  • ベンダーロックインが嫌な人には嫌な感じに映るかもしれない
    • ちゃんと理解してれば大きな誤解だとわかるはずだけど
    • AWS(というかクラウド)はサービスを組み合わせて環境構築するものなので、サービスを他のものに変えるのは簡単にできる
    • ただAWSにおいてはサービス間連携が容易になるようにできてるので組み合わせが便利すぎて他を差し込む余地があまりないだけ
  • コスト増?
    • CloudFrontは高いとよく聞くので(まだ別の本番システムほど通信が発生していないのでよくわからない)
    • WAFも処理量によってはまずいことになるかも?
  • ここには挙げていないこともいろいろ理解していないときつい(というかできない)
  • CloudFront のディストリビューションの反映が遅い(1変更15分くらい?)ので変更をテストするときにどうしても時間がかかる

お願い

  • (UML的な)図自体の改善提案
  • (AWS的な)サービスの組み合わせ改善提案
  • (構成的な)サーバレスやマイクロサービスでの構成案
  • (別クラウド的な)GCP,Azure その他クラウドサービスでの代替案と構成
  • 建設的な意見が欲しいです

最後に

  • 今やってる案件が終わったら次こそサーバレス考えたいw

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3