Fargatetech初めに生産技術部で製品の検査工程を担当しているエンジニアです。AWSに構築したシステムの負荷試験を行うために、AWS上に負荷試験環境を構築しました。AWS上で立ち上げることで十分に負荷をかけることができ、低コストで実現できますが、設定ファイルを準備するのは少し手間です。Fargateにクラスタを構築する方法を紹介します。負荷試験については無知なため、以下の本を参考にさせていただき、Locustを導入してみました。composeでの立ち上げ方が詳しく記載されています。composeでの立ち上げを試しています。https://aws.amazon.com/jp/blogs/news/automated-software-delivery-using-docker-compose-and-amazon-ecs/https://aws.amazon.com/jp/blogs/news/migrating-from-docker-swarm-to-amazon-ecs-with-docker-compose/設定ファイルの準備まずは、Dockerfileを準備します。/mnt/locustLocustで実行するPythonファイルを準備します。CLIを用いてECRにイメージをプッシュします。${ECR_URI}:${SERVICE}donedocker-compose.yamlファイルにLocustを設定します。x-aws-*を設定することで、VPCやClusterを指定でき、さまざまな環境に合わせて柔軟に対応できます。設定できる内容はDockerのドキュメントに記載されています。FargateへのデプロイECS用のコンテキストを作成します。demo_ecs_context作成したコンテキストに切り替えます。demo_ecs_context切り替えたコンテキストで起動すると、CloudFormationの実行が開始します。CloudFormationのコンソールから起動状態が確認できます。ECSだけで無くCloudMap、ELB、SecurityGroupなども自動で生成されるため、細かい設定が不要です。upうまく立ち上がらない時この方法は、パブリックサブネットが2つ以上必要であることや、同じアベイラビリティゾーンに複数のサブネットがあることなどの制約があり、うまく立ち上げることができない場合があります。composeにはconvertコマンドが用意されており、エラーがなければ生成されるCloudFormationファイルを出力することができます。別のVPCなどで立ち上げてみて正常に立ち上がれば、convertコマンドでCloudFormationファイルを生成し、生成されたCloudFormationファイルを編集してCloudFormationで直接立ち上げてみることが簡単に調整できる方法です。Fargate上にLocustを作成することができました。GitHubで編集を提案ツイートtomoyuki生産技術の仕事をしながら、AWS上でインフラ構築しています。バッジを贈って著者を応援しようバッジを受け取った著者にはZennから現金やAmazonギフト券が還元されます。約3,300字tomoyuki生産技術の仕事をしながら、AWS上でインフラ構築しています。最後にZennエンジニアのための情報共有コミュニティAboutZennについて運営会社お知らせ・リリースGuides使い方Publicationよくある質問LinksTwitterGitHubメディアキットLegal利用規約プライバシーポリシ。