Elastic Load Balancing(ELB)
- 同じ構成を持ったEC2インスタンスを、別のAZに配置することができるサービス。
マルチAZ構成にすることで、インスタンスでなくAZ単位で障害が発生してもシステム継続が可能。主に四種類に分けられる。
ロードバランシングタイプ
- Application Load Balancer(ALB)・・・HTTPまたはHTTPSの負荷分散に使用する。
- Network Load Balancer(NLB)・・・HTTP,HTTPS以外に使用する。静的IPアドレスを利用できる。
- Classic Load Balancer(CLB)・・・古いタイプのロードバランサー
- Gateway Load Balancer(GLB)・・・仮想アプライアンスのデプロイ、スケーリング、管理
ヘルスチェック
- 指定されたパスへの接続施行により、インスタンスが正常かどうかを確認する
内部にも組み込み可能
- インターネット向けELBのDNSにはパブリックIPアドレス、内向けにはプライベートIPアドレスが付与される。
ELB自体が単一障害点とならないのか
- 他AZに変えたところで、ELB自身が単一障害点にならないのかと考えられるが、ELB自体が高可用性の持つマネージドサービスのため問題ない。
API Gateway
- Lamdaと一緒によく使うサービス。外部からリクエストを受け付けるためのRESTAPIを構築できる。APIにリクエストがあった後に、Lamda関数を呼び出す。という流れでよく使われる。
lamdaと併用することでAPI作成を簡単に行うことができる。
Simple Notification Service(SNS)
- メッセージ通知サービス。SNSトピックに送信(パブリッシュ)したメッセージは、あらかじめ設定しておいたサブスクリプションに送信される。サブスクリプションが複数ある場合は並列的にそれぞれにメッセージが送信される。Eメール送信などのメッセージ通知にはSNSが使用できる。
Simple Queue Service(SQS)
- メッセージキューサービス。メッセージを送るサービスと、メッセージを受け取るサービスの間で行われるメッセージのために、一時保存するサービス。送信元、送信先ともに状態を確認する必要がないので、都合の良いタイミングで処理できるので、非同期的な設計が可能になる。非同期的処理などでキューが必要な場合はSQSを使用できる。
Step Functions
- 複数のサービスを組み合わせるワークフロー、フロー制御を伴うワークフローを簡単に作成するサービス。