前回から村設定がまったくなくなりました
もう水曜どうでしょうの話もそんなにありませんが
HBCの社屋のとなりにあったあの坂
を生で見たときは嬉しかったですね
受験生諸君(自分)!!
これ↓をもとに勉強しています
第4夜はこれを覚えよう!
AWSにおける運用サービス
- Amazon CloudWatchは、定期的に 状態を取得し、問題があれば知らせる仕組み
- AWS CloudTrailは、 の作成や、 へのログインを監視する
CloudWatch
- 定期的にAWSリソースを取得している状態を と呼ぶ
- あらかじめ定義している を標準 と呼ぶ
- 独自の定義は と呼ぶ
CloudWatch Logs
-
ログや ログをモニタリングするサービス
- CloudWatch Logsを利用するには、独自の をインストールする必要がある
- CloudWatch Logsを使うことで の監視もできる
CloudWatch Events
- 独自のトリガーを と呼ぶ
- 後続アクションを と呼ぶ
- この2つの組み合わせを定義するサービスがCloudWatch Events
CloudTrail
- AWSに関するログを に取得するサービス
CloudTrailで取得できるログの種類
- :マネジメントコンソールへのログインなど、デフォルトで
- :S3バケットデータ操作、Lamda関数の実行など、デフォルトで
CloudTrailにおける、CloudWatch Logsとの連携
- 何か問題が発生したときに を追跡することができる
- との連携機能
- 事前に を登録しておけば検知することができる
ついつい本の中身をそのまま書き写したくなりますが
それだと、せっかく書いていただいた著者に申し訳ない(権利的に問題)ので
これからはざっくりと書いていこうと思います
問題を出すという行為って結構面白いんですね
答えを書いていくと前回の問題に誤字脱字があるのがわかりました
第4夜の答えは第5夜で!!
第3夜の答えはこちら!
AWSにおけるコンピューティングサービスとは
- EC2は仮想サーバを提供する
- ECSはDockerコンテナの実行環境を提供する
- Lamdaはサーバなしでプログラムを実行する環境を提供する
EC2
- EC2を使うとサーバインスタンスの個数や性能を柔軟に変更できるため、コスト削減や時間短縮が実現できる
EC2における性能の考え方
-インスタンスサイズが倍になるとスペックも倍になる
- インスタンスの性能を決める重要な要因として、ディスク機能であるEBSがある
- EBS最適化オプションを有効にするとEBS用の帯域が確保されます
費用の考え方
- EC2はインスタンスを使っただけ課金される従量課金のサービス
- インスタンスには起動中、停止中、削除済みの3つの状態がある
- 停止中のインスタンスでもEBSの費用はかかる
スポットインスタンスとリザーブドインスタンス
- EC2の価格には、オンデマンドインスタンスという通常の利用形態がある
- EC2には、AWSが余らせているEC2リソースを入札形式で安く利用するスポットインスタンスと
- 長時間の利用を約束することで割引を受けられるリザーブドインスタンスがある
- スポットインスタンスは一時利用したいときに検討すると良い
- リザーブドインスタンスはシステムが安定したしたときなどに検討すると良い
ELB
- 垂直にスペックを上げる対応をスケールアップと呼びます
- ある特定の部分が止まると全体が止まる箇所のことを単一障害点と呼ぶ
- EC2インスタンスを水平にならべるスケールアウトがベストプラクティス
- ロードバランサーのマネージドサービスでもあるELBを利用するのが良い
ELBの種類
- CLBはL4/L7レイヤーでの負荷分散を行う
- ALBはL7レイヤーでの負荷分散を行う。CLBよりもあとにでた機能豊富なやつ
- NLBはL4レイヤーでの負荷分散を行う。HTTP(S)以外のプロトコル通信で負荷分散を行う
ELBの特徴
- ELBは負荷に応じて自動的にスケールする設計になっている
- 急激な負荷や段階的なスケールには間に合わないことがあるので事前にELBプレウォーミング申請を行う
- ELBの大きな利点としてヘルスチェック機能がある
Auto Scaling
- システムの利用状況に応じて自動的にELBに紐づくインスタンスの台数を増減する機能
- 起動時間が最も古いインスタンスから削除という設定もある
- 耐障害性を上げることができるのもメリット
- インスタンスの数は最小、最大とも2台に設定する
- 常に最小台数をキープしているので、正常なインスタンスが減って障害につながるのを防ぐ
ELBとAuto Scalingを利用する際の設計ポイント
- サーバをステートレスに、つまり状態を保持しないように設計すること
- AZをまたがってインスタンスを配置する設計にすること
- つまりいかに単一障害点をなくすか、部分部分の障害は起こり得ることを前提とする
ECS
- ECSはDockerコンテナ環境を提供するサービス
ECSの特徴
- EC2インスタンス上で実行されるコンテナのことをTaskと呼ぶ
- EC2インスタンスのことをここではClusterと呼ぶ
- 1つのCluster上で複数のTaskを実行できる
- ELBに紐付けるときに使うのがServiceという
AWSにおけるその他のコンテナサービス
- AWS Fargateは、Cluster用のEC2を使わずにコンテナを動かすことができる
- Kubernetesは、コンテナ管理の自動化するオープンソースプラットフォーム
- ECRはレジストリ管理をECRに任せることができる
Lamda
- サーバレスアーキテクチャの中核をにない、利用者はソースコードだけを用意すればすぐにプログラムを実行できる
Lamdaがサポートしているイベントと、よく使われるアーキテクチャパターン
- Lamdaを利用するにはLamda関数という単位でプログラムとイベントを事前に定義する
Lamdaがサポートしているプログラミング言語
- Node.js,Python,Java,Ruby,C#,Go,PowerShell
- Pythonは初回のLamda起動が短くなる傾向がある
- Javaは初回の起動までの時間がかかるが処理は早いという傾向がある
Lamdaの料金体制
- Lamdaの課金体系は、リクエストの数と処理時間によって決まる
- Lamdaから他のAWSサービスに接続する場合はLamda関数に適切なIAMロールを割り当てる必要がある