はじめに
EC2が理解できず恐怖を感じているので、調べたことをまとめてみました。
IT、AWS初心者が初心を忘れないために書いています。
この記事はEC2に苦手意識を持っているAWS初学者の方向けの内容です。
EC2について整理前の認識
- サーバーを借りられる
- OSを選べる
- インスタンスを選んで用途にあったスペックにできる
- AutoScalingで負荷に合わせて数の増減をできる
- 複数AZ,複数リージョンに設定するのが良い
- s3と違う点①RDSとかとの接続ができそう
- 違う点②料金が高そう
- 違う点③s3がストレージでec2はパソコン(だから何?)
- なんか怖い
調べたこと
EC2とは
EC2のインスタンスはサーバーのこと
サーバーなのでIPアドレスがつく(?)
インスタンスタイプを選んで用途に合ったスペックにできる
通信制御ができるセキュリティグループをつけられる
OSを選ぶ≒AmazonMachineImageを選ぶ(?)
構築の時間を短縮したり、同じインスタンスを作成できる
EC2ImageBuilderを使ってAMI化を自動化できる
可用性・スケーリング
同じAZ内にインスタンスがあったとしても、その中でホストOSを分けることもできる
プレイスメントグループでインスタンスを分散したり、遅延しないために近づけたりする
インスタンスを複数立てて、リクエストを分散させるのがベストプラクティス
↑をやるのがElasticLoadBalancing
インスタンスの数を変えるのがAutoScaling
(インスタンスが複数あったり数が増減したりするので、データはDBに、ファイルはS3に預けるとかしようってことらしい)
料金
料金は起動中のインスタンスに対してかかる(オンデマンドインスタンスっていう利用形態)
起動時間、インスタンスタイプ、AMI、リージョンで計算される
スポットインスタンスとリザーブドインスタンスがある
SavingsPlansで最低限の利用料を指定し、それに対して割引を受けることができる(コストダウンでまず考えるのはこれらしい)
整理後の認識
- サーバーを借りられる
- OSを選べる
→これはそう - インスタンスを選んで用途にあったスペックにできる
→インスタンスは借りてるサーバーのことで、
「インスタンスタイプを選ぶ」が正しい気がする - AutoScalingで負荷に合わせて数の増減をできる
→これはそう リクエストを分散させてるのがELB - 複数AZ,複数リージョンに設定するのが良い
→これもそう
でもテキストはマルチAZにしなさい、としか書いてなかった(なんで?) - s3と違う点①RDSとかとの接続ができそう
→DBは分けるべきなのでそうしてるらしい - 違う点②料金が高そう
→結局どっちが高いとかはそんなにわからないが、
やっぱりEC2は「ちゃんとしたアプリ」をつくるもののイメージなので
色々踏まえて高そうだと思った
(S3はデータの量とリクエストとかに応じて課金される) - 違う点③s3がストレージでec2はパソコン(だから何?)
→だから何??EC2触ってみたらわかるかも - なんか怖い
→なんか怖い
おわりに
まとめてみたら暗記してた部分は若干腑に落ちた気がしましたが、疑問点と恐怖はなくなりませんでした。でも進歩したのでいいと思います!
恐怖から苦手くらいになるようにちゃんとEC2を触ってみようと思います。