会社に入ってもうすぐ1年が経とうとしています。
弊社ではAWSを使っていますが、理解を深めるためにAWS JumpStart 2023(https://aws.amazon.com/jp/blogs/news/aws-jumpstart-202302/) に申し込みました。
参加するにあたって事前に勉強するための動画が用意されていたので、そちらを元にAWSのサービスの説明を書いていきます。
今回はコンピュートサービス編です。
EC2
EC2とはAWSの仮想サーバー
特徴
- 数分で起動、1秒ごとに従量課金(例:1秒使ったら1円の場合、1時間使ったら3600円)
- さまざまなOSをサポート、ライセンス費用込みで従量課金
Amazon Linux、CentOS、Debian、Kali、Red Hat、SUSE、Ubuntuなどが使えます。
-
自由にソフトウェアのインストールが可能
-
スケールアップ/ダウン、アウト/インが容易に可能
スケールアップ/ダウンは垂直スケーリングとも言われており、インスタンスのスペックを変えることを言います。
スケールアウト/インは水平スケーリングとも言われており、インスタンスの数を変えることを言います。
購入オプション
-
オンデマンドインスタンス
初期費用なし、従量課金
利用していない時間帯は停止しておくことで節約できる -
リザーブドインスタンス
1年、3年単位の契約で、オンデマンドインスタンスと比べて最大75%割引
Savings Planという購入オプションもあり、インスタンスファミリーやサイズの変更がある可能性がある場合はこちらの方が良いです。 -
スポットインスタンス
未使用のインスタンスを利用、オンデマンドインスタンスと比べて最大90%割引
空きリソースが少なくなると2分前に通知が来た後終了させる
AMI
EC2インスタンスを起動する際に必要な情報が格納されたマシンイメージ
AMIを利用することでセットアップ済みのサーバを容易に準備可能
オートスケール
サービスの需要に合わせてサーバー等の台数を自動で変化させる仕組み
また、指定した時間だけ50台に増やすなども可能
インフラコストを最適化し、インフラ管理・需要予測の手間を削減可能
CloudWatch
オートスケールに関して必要なサービス
AWSの各種リソースを監視するサービス
リソース状態、性能、ログ監視やそれらをメトリクスのグラフ化をして可視化できる
メトリクスをベースにアラーム、アクションの設定が可能
オートスケーリングとの組み合わせ
例として、Auto Scaling Groupの設定でCPU使用率を常に50%程度を維持するといった設定をします。
CloudWatchがCPU使用率の監視を行い、50%を超えると通知されてAuto Scaling Groupが自動でインスタンスを追加するといったことをします。
そして、またCPU使用率が50%以下になるとインスタンスを減らしていくといった動作をします。
Lambda
サーバーレスのサービス
EC2と比べて自由度が低い代わりに、管理の手間は少ない
特徴
- サーバーのプロビジョニング/管理なしでプログラムを実行できるサービス
- 開発者はコードを書くことに集中できる
- リクエストベースの料金体系