0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【個人用】AWS Solution Architect Associate対策ノート(コンピューティング編)

Last updated at Posted at 2025-01-06

扱う内容

・Lambda
・API Gateway
・ECS
・Fargate
・EKS

【Lambda】

Lambdaの基礎知識

・サーバーレスである
・マルチAZ構成のため可用性が高い
・リクエスト数に応じて自動スケーリングされる
・不定期なリクエストを処理するのに向いている。常時リクエストをLambdaで処理しようとすると、EC2インスタンスで処理するより無駄に金がかかるので注意

Lambdaのスタート

Lambda関数が初めて実行される場合や、久しぶりに実行される場合は、関数実行環境の準備に時間がかかるため、処理開始までの時間が長くなる。これをコールドスタートという。
逆に、同じLambda関数に対するリクエストが継続的に発生する場合は、実行環境が再利用されるので、処理開始までの時間が短くなる。これをウォームスタートという

リクスト数が多くなると、コールドスタートが頻発しやすい
そのため、この遅延を抑えるために、プロビジョニングされた同時実行の設定を行うとよい
設定で指定された数の実行環境を事前に用意してくれる

VPCアクセスの設定をしたLambda

Lamnda関数は、作成後にLambda専用のセキュアなVPCに配置される
VPC パブリックサブネット内のリソースにはインターネット経由でアクセスできるが、プライベートサブネット内のAWSリソースには直接アクセスできない
プライベートサブネット内のAWSリソースへアクセスするには、VPCアクセスの設定を行う
ただし、この設定を行うと、インターネットへのアクセスはできなくなる
もし、VPCアクセスを設定したLambdaからインターネットへアクセスしたい場合は、NATゲートウェイまたはNATインスタンスを経由する

【API Gateway】

作成できるAPIの種類

REST API

クライアントからのリクエストに対して、レスポンスを返す形式のAPI

HTTP API

ほぼREST APIと同じだが、低遅延かつ低コスト
ただし、APIキャッシュを利用できない

WebSocket API

クライアントとサーバーの間でリアルタイムな双方向通信するためのAPI
継続的にデータ送受信をしたい場合はこれ(チャットとか)

VPCリンク

API Gatewayで作成したAPIは、VPC パブリックサブネット内のリソースにはインターネット経由でアクセスできるが、プライベートサブネット内のAWSリソースには直接アクセスできない
これをアクセスさせたい場合は、VPCリンクを使う
これにより、プライベートサブネット内のAWSリソースとAPIの間で、インターネットを経由しないセキュアな通信が可能になる

APIキャッシュ

API Gatewayには、クライアントへ送信したデータを保存するAPIキャッシュの機能がある
これにより、同一リクエストに対する応答速度が上昇する

【ECS】

ECSの主要要素

クラスター

1つ以上のタスクまたはサービスで構成される論理グループ
コンテナを動かすためのVPCやサブネットを設定する

タスク

ECSの基本的な実行単位
コンテナ実行環境のCPUやスペック、コンテナイメージ、タスクロールなどを定義する
タスクロールとは、コンテナが他AWSサービスを利用する際に設定するアクセス権限(IAMロール)のことである

サービス

タスクをどのように管理し、運用するかを決める仕組み
必要なタスク数を設定する

ECSのコンテナ起動タイプ

ECSで実行・管理するコンテナの起動タイプは、FargateEC2起動タイプがある

Fargateは、サーバーレスでコンテナを実行できる
タスクを実行していなければ、料金は発生しない
使用したリソース量によって、料金が決まる

EC2起動タイプは、ユーザーが管理するEC2インスタンス上でコンテナを実行する
タスクを実行していなくても、料金は発生する
インスタンスタイプと起動時間によって料金が決まる
OSやミドルウェアなどのセットアップはユーザー自身で行う

【EKS】

EKSとは

Kubernetesを使用して、コンテナを管理、実行するサービス
Kubernetesとは、コンテナの運用管理と自動化を目的に設計されたオープンソースのシステムのこと
使っているのがKubernetesかそうでないかというのがECSとの違いで、コンテナを管理、実行できるという大元の機能は同じ

EKSのリソース

ポッド

EKS内で、アプリケーションを実行するための単位

なお、EKSでは、実行しているアプリケーションの負荷状況に応じて、ポッドの数を自動的にスケーリングする機能であるHorizontal Pod Autoscalerがついている
注意点として、Horizontal Pod Autoscalerを動作させるためには、CPU使用率やメモリ使用率などのメトリクスが必要となる。そのため、これらのメトリクスデータを収集するMetrics Srrverというコンポーネントが必要になる

ノード

EKS内で、アプリを実行するための環境(サーバーのようなもの)

なお、EKSでは、実行しているアプリケーションの負荷状況に応じて、ノードの数を自動的にスケーリングする機能であるCluster Autoscalerがついている

Load Balancer Controller

EKS上で動作する、ロードバランサー用のコントローラー
こいつを使うことで、ALBやNLBを自動的にプロビジョニングできる

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?