Mit Kyoto

AWSまとめ

AWSでサービスを構築する流れというか大枠について、全然知らなかったので、papi_tokei さんに教えていただきました。
話を聞きながらメモをしていたので、箇条書きすぎて意味不明な箇所もあるかと思いますが、ここにのせておきます。

・EC2
Netlifyみたいなものと思っていたら、VPSみたいなもの。Linuxなどが動いていて、SSHでアクセスして使う

・Lightsail
WordPressを簡単に使うなどの用途で使う、従量課金制ではない
LightsailでできることはEC2でもできる

・VPC
EC2やデータベースなどをひとまとめにしたもの。この中ではEC2などのインスタンス同士がローカルネットワーク的につながっている。
サービスごとにこのVPCをわける。

・ELB
ロードバランサー、VPCの入り口
アクセスを各インスタンスにふりわけてくれる
「AWS ELB」で検索すると、このメモに書かれているサービスの構成の、きれいな図がでてきて全体を掴みやすい

データベースはアプリ本体と分けて設置した方がよい(ユーザーの操作などで変わらないもの、変わるものを分ける) → 分けないと、サーバー増強が必要な際にスケールアップしか手段がなくなる

・スケールアップ・スケールアウト
サーバー一台を増強するのがスケールアップ、サーバーの数を増やして対応するのがスケールアウト

・リードレプリカ
AWSでデータベースを作る際、読み込み専用のDBとして、マスターDBと同期された、複数のDBにアクセスをふりわけることができる。そのような設定がある。

・Aurora(データベースサービス、利用料金がちょっと高い)

・マルチマスター(読み込み用だけでなく、書き込み用のデータベースを複数用意したい場合は、このワードで検索するとよい)

・VPC内のサーバーには直接つなげない、踏み台サーバーをつかうことが多い(そのサーバーもEC2でつくる)
セキュリティグループ
踏み台サーバーにアウトバウンドを、操作したいサーバーにインバウンドを、それぞれ設定してつなぐ
最近はSystems Managerで接続する方法もあり、AWSのコンソールにアクセスできればWeb上でSSHログインできる

・IAM
ユーザーアクセスの管理

・AWS料金計算
1時間ごとの利用料 x 24時間 x 365日 + データトラフィックの値段
プロダクション利用不可のプランもある
EC2は停止していてもお金がかかる

事前にあるていど予測したい時は・・
・Cost Explorer

・AWS Budget
設定した予算の何%に達した場合、メールなどでアラートを送るよう設定ができる。思わぬ高額請求になる前に知ることができる。

・CloudWatch
メトリクス(サービスの状態を数値化したもの)
ダッシュボードをつくることで、サービスの状態を確認できる
アラームで、設定した状態を超えた場合はAuto Scaleするなどの設定ができる

・Beanstalk
EC2で難しかった、アプリのデプロイの自動化を簡単にできるようにしたサービス(EC2を便利に使うためのもの)
ここで作られたEC2インスタンスは、EC2の管理ページにならぶ
アプライするとURLが作られる (Netlifyみたいな)
GitHubとも連携できる
(ブルーグリーンデプロイ)