[AWS]LambdaとEventBridgeを使用してECSサービスを更新する予定
3647 ワード
⏰ 計画タスク
予め定められたの十分な予見可能な負荷を繰り上げるために、ジョブ予約機能が追加された. 大学のポータルサイトは6ヵ月ごとに受講申請を行い、この時期に負荷がかかるものとみられる. したがって、負荷に備えてECSを一定の時点で更新するように構成されている. の既存アーキテクチャでは、WEBとWASのECSクラスタ内にそれぞれ2つのコンテナがある.選択期間中は,クラスタごとのコンテナ数を5個に変更し,接続率が高くても選択に負担をかけない構成とした.
🐑 AWS Lambda AWS Ramdaは、サーバを設定せずに直接コードを実行してアプリケーションを実行できるサーバリースサービスです. AWS Ramdaはコードを記述し,ECSサービスを更新することでクラスタ内のタスク数を増やす.
🌉 EventBridge EventBridgeはAWSのサーバリースサービスであり、イベント駆動アーキテクチャの構成を支援します.AWSサービスだけでなく、SaaSサービス、パーソナルアプリケーションから送信されたイベント/データも受信し、必要なSNSやLambdaなどのターゲットに送信します. このプロジェクトはEventBridgeを使用してLambdaで設定をトリガした時間にLambdaコードを実行し、ECSを更新するように構成されています. は6ヶ月ごとにUTC 00:00(韓国時間09:00)にトリガーされます
予め定められた
🐑 AWS Lambda
import boto3
import json
def lambda_handler(event, context):
springClusterName = event['springCluster']
springServiceName = event['springService']
nginxClusterName = event['nginxCluster']
nginxServiceName = event['nginxService']
client = boto3.client('ecs')
response1 = client.update_service(
cluster=springClusterName,
service=springServiceName,
desiredCount = 5)
response2 = client.update_service(
cluster=nginxClusterName,
service=nginxServiceName,
desiredCount = 5)
response = response1 + response2
print(response)
🌉 EventBridge
cron(0 0 20 2/6 ? *)
Reference
この問題について([AWS]LambdaとEventBridgeを使用してECSサービスを更新する予定), 我々は、より多くの情報をここで見つけました https://velog.io/@ynsoo1225/AWS-Lambda와-EventBridge를-이용한-ECS-Service-업데이트-예약テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol