{"id":883,"date":"2025-06-25T17:10:10","date_gmt":"2025-06-25T08:10:10","guid":{"rendered":"https:\/\/baresupport.jp\/blog\/?p=883"},"modified":"2025-06-25T17:10:11","modified_gmt":"2025-06-25T08:10:11","slug":"terraform%e3%81%a7ecs-fargate%e7%92%b0%e5%a2%83%e3%82%92%e6%a7%8b%e7%af%89%e3%81%99%e3%82%8b%e6%89%8b%e9%a0%86%e3%81%a8%e6%a7%8b%e6%88%90%e3%83%9d%e3%82%a4%e3%83%b3%e3%83%88%e8%a7%a3%e8%aa%ac","status":"publish","type":"post","link":"https:\/\/baresupport.jp\/blog\/2025\/06\/25\/883\/","title":{"rendered":"Terraform\u3067ECS Fargate\u74b0\u5883\u3092\u69cb\u7bc9\u3059\u308b\u624b\u9806\u3068\u69cb\u6210\u30dd\u30a4\u30f3\u30c8\u89e3\u8aac"},"content":{"rendered":"\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_76 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\"><p class=\"ez-toc-title\" style=\"cursor:inherit\">\u3053\u306e\u8a18\u4e8b\u306e\u76ee\u6b21<\/p>\n<\/div><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/baresupport.jp\/blog\/2025\/06\/25\/883\/#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB\" >\u306f\u3058\u3081\u306b<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/baresupport.jp\/blog\/2025\/06\/25\/883\/#Terraform%E3%81%AB%E3%82%88%E3%82%8BFargate%E6%A7%8B%E7%AF%89%E3%81%AE%E6%A6%82%E8%A6%81\" >Terraform\u306b\u3088\u308bFargate\u69cb\u7bc9\u306e\u6982\u8981<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/baresupport.jp\/blog\/2025\/06\/25\/883\/#Terraform%E3%81%A8CDK%E3%81%AE%E9%81%95%E3%81%84\" >Terraform\u3068CDK\u306e\u9055\u3044<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/baresupport.jp\/blog\/2025\/06\/25\/883\/#%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E5%85%AC%E5%BC%8F%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%81%A8%E6%A7%8B%E6%88%90%E3%81%AE%E7%89%B9%E5%BE%B4\" >\u4f7f\u7528\u3059\u308b\u516c\u5f0f\u30e2\u30b8\u30e5\u30fc\u30eb\u3068\u69cb\u6210\u306e\u7279\u5fb4<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/baresupport.jp\/blog\/2025\/06\/25\/883\/#%E4%BB%8A%E5%9B%9E%E3%81%AE%E6%A7%8B%E6%88%90%E3%81%A7%E6%A7%8B%E7%AF%89%E3%81%95%E3%82%8C%E3%82%8B%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%E4%B8%80%E8%A6%A7\" >\u4eca\u56de\u306e\u69cb\u6210\u3067\u69cb\u7bc9\u3055\u308c\u308b\u30ea\u30bd\u30fc\u30b9\u4e00\u89a7<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/baresupport.jp\/blog\/2025\/06\/25\/883\/#%E6%A7%8B%E7%AF%89%E3%81%AB%E5%BF%85%E8%A6%81%E3%81%AA%E6%BA%96%E5%82%99%EF%BC%88%E5%89%8D%E6%8F%90%E6%9D%A1%E4%BB%B6%EF%BC%89\" >\u69cb\u7bc9\u306b\u5fc5\u8981\u306a\u6e96\u5099\uff08\u524d\u63d0\u6761\u4ef6\uff09<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/baresupport.jp\/blog\/2025\/06\/25\/883\/#%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%AA%E3%83%84%E3%83%BC%E3%83%AB\" >\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u5fc5\u8981\u306a\u30c4\u30fc\u30eb<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/baresupport.jp\/blog\/2025\/06\/25\/883\/#AWS_CLI%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%81%A8%E8%AA%8D%E8%A8%BC%E6%96%B9%E6%B3%95\" >AWS CLI\u306e\u8a2d\u5b9a\u3068\u8a8d\u8a3c\u65b9\u6cd5<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/baresupport.jp\/blog\/2025\/06\/25\/883\/#Terraform%E3%81%AB%E3%82%88%E3%82%8BFargate%E6%A7%8B%E7%AF%89%E3%81%AE%E6%89%8B%E9%A0%86\" >Terraform\u306b\u3088\u308bFargate\u69cb\u7bc9\u306e\u624b\u9806<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/baresupport.jp\/blog\/2025\/06\/25\/883\/#Step1_%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%AE%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%B3%E3%81%A8%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E7%A7%BB%E5%8B%95\" >Step1. \u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u30af\u30ed\u30fc\u30f3\u3068\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u79fb\u52d5<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/baresupport.jp\/blog\/2025\/06\/25\/883\/#Step2_Terraform%E3%81%AE%E5%88%9D%E6%9C%9F%E5%8C%96\" >Step2. Terraform\u306e\u521d\u671f\u5316<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/baresupport.jp\/blog\/2025\/06\/25\/883\/#Step3_%E5%AE%9F%E8%A1%8C%E8%A8%88%E7%94%BB%E3%81%AE%E7%A2%BA%E8%AA%8D\" >Step3. \u5b9f\u884c\u8a08\u753b\u306e\u78ba\u8a8d<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/baresupport.jp\/blog\/2025\/06\/25\/883\/#Step4_ALB%E3%81%AEIP%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E5%88%B6%E9%99%90%EF%BC%88%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%EF%BC%89\" >Step4. ALB\u306eIP\u30a2\u30c9\u30ec\u30b9\u5236\u9650\uff08\u30aa\u30d7\u30b7\u30e7\u30f3\uff09<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/baresupport.jp\/blog\/2025\/06\/25\/883\/#Step5_%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4\" >Step5. \u30c7\u30d7\u30ed\u30a4<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/baresupport.jp\/blog\/2025\/06\/25\/883\/#Terraform%E6%A7%8B%E6%88%90%E3%81%AE%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%E8%A7%A3%E8%AA%AC\" >Terraform\u69cb\u6210\u306e\u30dd\u30a4\u30f3\u30c8\u89e3\u8aac<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/baresupport.jp\/blog\/2025\/06\/25\/883\/#Fargate_Spot%E3%81%A8%E3%81%AE%E3%83%8F%E3%82%A4%E3%83%96%E3%83%AA%E3%83%83%E3%83%89%E6%A7%8B%E6%88%90\" >Fargate Spot\u3068\u306e\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9\u69cb\u6210<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/baresupport.jp\/blog\/2025\/06\/25\/883\/#%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E5%AE%9A%E7%BE%A9\" >\u30b3\u30f3\u30c6\u30ca\u5b9a\u7fa9<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/baresupport.jp\/blog\/2025\/06\/25\/883\/#ECS_Exec%E3%81%AB%E3%82%88%E3%82%8B%E3%83%87%E3%83%90%E3%83%83%E3%82%B0%E5%AF%BE%E5%BF%9C\" >ECS Exec\u306b\u3088\u308b\u30c7\u30d0\u30c3\u30b0\u5bfe\u5fdc<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/baresupport.jp\/blog\/2025\/06\/25\/883\/#%E8%A3%9C%E8%B6%B3%EF%BC%9A%E9%81%8B%E7%94%A8%E6%99%82%E3%81%AE%E4%BE%BF%E5%88%A9%E3%81%AA%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89\" >\u88dc\u8db3\uff1a\u904b\u7528\u6642\u306e\u4fbf\u5229\u306a\u30b3\u30de\u30f3\u30c9<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/baresupport.jp\/blog\/2025\/06\/25\/883\/#%E3%82%BF%E3%82%B9%E3%82%AF%E3%81%AE%E6%89%8B%E5%8B%95%E5%AE%9F%E8%A1%8C\" >\u30bf\u30b9\u30af\u306e\u624b\u52d5\u5b9f\u884c<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/baresupport.jp\/blog\/2025\/06\/25\/883\/#%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%E3%81%AE%E5%89%8A%E9%99%A4%EF%BC%88Terraform_destroy%EF%BC%89\" >\u30ea\u30bd\u30fc\u30b9\u306e\u524a\u9664\uff08Terraform destroy\uff09<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/baresupport.jp\/blog\/2025\/06\/25\/883\/#%E3%81%BE%E3%81%A8%E3%82%81\" >\u307e\u3068\u3081<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB\"><\/span>\u306f\u3058\u3081\u306b<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u524d\u56de\u306e\u8a18\u4e8b\u3067\u306f\u3001AWS CDK\uff08Cloud Development Kit\uff09 \u3092\u4f7f\u3063\u3066\u3001\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u3067\u30a4\u30f3\u30d5\u30e9\u3092\u5b9a\u7fa9\u3057\u306a\u304c\u3089 ECS Fargate \u74b0\u5883\u3092\u69cb\u7bc9\u3059\u308b\u65b9\u6cd5\u3092\u7d39\u4ecb\u3057\u307e\u3057\u305f\u3002<br>\u30b3\u30fc\u30c9\u306b\u3088\u308b\u30a4\u30f3\u30d5\u30e9\u5b9a\u7fa9\uff08IaC\uff09\u306e\u4fbf\u5229\u3055\u3092\u5b9f\u611f\u3055\u308c\u305f\u65b9\u3082\u591a\u3044\u306e\u3067\u306f\u306a\u3044\u3067\u3057\u3087\u3046\u304b\u3002<\/p>\n\n\n\n<p>\u4eca\u56de\u306f\u305d\u306e\u7d9a\u7de8\u3068\u3057\u3066\u3001Terraform \u3092\u4f7f\u3063\u3066\u540c\u69d8\u306e ECS Fargate \u74b0\u5883\u3092\u69cb\u7bc9\u3057\u3066\u307f\u307e\u3059\u3002Terraform\u306f HCL\uff08HashiCorp Configuration Language\uff09 \u3068\u3044\u3046\u5c02\u7528\u306e\u8a18\u8ff0\u8a00\u8a9e\u3092\u4f7f\u3063\u3066\u30a4\u30f3\u30d5\u30e9\u3092\u5b9a\u7fa9\u3059\u308b\u30c4\u30fc\u30eb\u3067\u3001\u30b7\u30f3\u30d7\u30eb\u306a\u69cb\u6587\u3067\u8996\u899a\u7684\u306b\u308f\u304b\u308a\u3084\u3059\u3044\u306e\u304c\u7279\u9577\u3067\u3059\u3002<\/p>\n\n\n\n<p>CDK\u3068\u306e\u9055\u3044\u3084\u3001Terraform\u306a\u3089\u3067\u306f\u306e\u69cb\u6210\u306e\u8003\u3048\u65b9\u306b\u3082\u89e6\u308c\u306a\u304c\u3089\u3001\u6700\u77ed\u30b9\u30c6\u30c3\u30d7\u3067\u300cALB\u4ed8\u304d\u306eFargate\u74b0\u5883\u300d\u3092\u69cb\u7bc9\u3059\u308b\u65b9\u6cd5\u3092\u4e01\u5be7\u306b\u89e3\u8aac\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Terraform%E3%81%AB%E3%82%88%E3%82%8BFargate%E6%A7%8B%E7%AF%89%E3%81%AE%E6%A6%82%E8%A6%81\"><\/span>Terraform\u306b\u3088\u308bFargate\u69cb\u7bc9\u306e\u6982\u8981<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Terraform%E3%81%A8CDK%E3%81%AE%E9%81%95%E3%81%84\"><\/span>Terraform\u3068CDK\u306e\u9055\u3044<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Terraform\u306f\u3001\u5c02\u7528\u8a00\u8a9e HCL\uff08HashiCorp Configuration Language\uff09 \u3092\u4f7f\u3063\u3066\u30a4\u30f3\u30d5\u30e9\u69cb\u6210\u3092\u5b9a\u7fa9\u3059\u308b\u30c4\u30fc\u30eb\u3067\u3059\u3002TypeScript\u306a\u3069\u306e\u6c4e\u7528\u8a00\u8a9e\u3092\u4f7f\u3046CDK\u3068\u306f\u7570\u306a\u308a\u3001\u69cb\u6587\u304c\u30b7\u30f3\u30d7\u30eb\u3067\u8996\u899a\u7684\u306b\u3082\u5206\u304b\u308a\u3084\u3059\u304f\u3001\u30a4\u30f3\u30d5\u30e9\u69cb\u7bc9\u306e\u521d\u5b66\u8005\u306b\u3082\u9069\u3057\u305f\u30c4\u30fc\u30eb\u3068\u3057\u3066\u4eba\u6c17\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>\u9805\u76ee<\/strong><\/td><td><strong>CDK<\/strong><\/td><td><strong>Terraform<\/strong><\/td><\/tr><tr><td>\u8a18\u8ff0\u8a00\u8a9e<\/td><td>TypeScript \/ Python \u306a\u3069<\/td><td>HCL\uff08\u5c02\u7528DSL\uff09<\/td><\/tr><tr><td>\u30e1\u30ea\u30c3\u30c8<\/td><td>\u30a2\u30d7\u30ea\u958b\u767a\u3068\u7d71\u5408\u3057\u3084\u3059\u3044<\/td><td>\u5ba3\u8a00\u7684\u3067\u69cb\u6587\u304c\u7c21\u6f54<\/td><\/tr><tr><td>\u5411\u3044\u3066\u3044\u308b\u4eba<\/td><td>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a8\u30f3\u30b8\u30cb\u30a2<\/td><td>\u30a4\u30f3\u30d5\u30e9\u30a8\u30f3\u30b8\u30cb\u30a2\u3001IaC\u672a\u7d4c\u9a13\u8005<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Terraform\u306f\u300c\u30b3\u30fc\u30c9\u306f\u66f8\u3051\u306a\u3044\u304cIaC\u306b\u6311\u6226\u3057\u305f\u3044\u300d\u30a4\u30f3\u30d5\u30e9\u30a8\u30f3\u30b8\u30cb\u30a2\u306b\u3068\u3063\u3066\u3001\u826f\u3044\u5165\u308a\u53e3\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E5%85%AC%E5%BC%8F%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%81%A8%E6%A7%8B%E6%88%90%E3%81%AE%E7%89%B9%E5%BE%B4\"><\/span>\u4f7f\u7528\u3059\u308b\u516c\u5f0f\u30e2\u30b8\u30e5\u30fc\u30eb\u3068\u69cb\u6210\u306e\u7279\u5fb4<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>\u672c\u8a18\u4e8b\u3067\u306f\u3001Terraform\u516c\u5f0f\u306e terraform-aws-modules\/terraform-aws-ecs \u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u4f7f\u3063\u3066\u3001Fargate\u74b0\u5883\u3092\u69cb\u7bc9\u3057\u307e\u3059\u3002<br>\u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u3001ECS\u69cb\u7bc9\u306b\u5fc5\u8981\u306a\u8907\u6570\u306e\u30ea\u30bd\u30fc\u30b9\u3092\u5305\u62ec\u7684\u306b\u7ba1\u7406\u3067\u304d\u3001<strong>\u6700\u5c0f\u9650\u306e\u30b3\u30fc\u30c9\u3067Fargate\u74b0\u5883\u3092\u7528\u610f\u3067\u304d\u308b<\/strong>\u4fbf\u5229\u306a\u30c4\u30fc\u30eb\u3067\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>AWS\u516c\u5f0f\u63d0\u4f9b\u306eCDK\u3068\u306f\u7570\u306a\u308a\u3001Terraform\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u304c\u6574\u5099\u3057\u305f\u9ad8\u6a5f\u80fd\u306a\u30e2\u30b8\u30e5\u30fc\u30eb\u3002<\/li><li>\u524d\u56de\u306eCDK\u30b5\u30f3\u30d7\u30eb\u3068\u306f\u69cb\u6210\u8981\u7d20\u304c\u7570\u306a\u308a\u3001\u4eca\u56de\u306f <strong>Fargate Spot\u3068\u306e\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9\u69cb\u6210<\/strong> \u306b\u3082\u5bfe\u5fdc\u3002<\/li><li>\u30c7\u30d5\u30a9\u30eb\u30c8\u3067 ALB + \u30b5\u30a4\u30c9\u30ab\u30fc\u69cb\u6210 + \u30ed\u30b0\u51fa\u529b + \u30de\u30eb\u30c1AZ\u5bfe\u5fdc \u306a\u3069\u304c\u542b\u307e\u308c\u3066\u3044\u308b\u3002<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E4%BB%8A%E5%9B%9E%E3%81%AE%E6%A7%8B%E6%88%90%E3%81%A7%E6%A7%8B%E7%AF%89%E3%81%95%E3%82%8C%E3%82%8B%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%E4%B8%80%E8%A6%A7\"><\/span>\u4eca\u56de\u306e\u69cb\u6210\u3067\u69cb\u7bc9\u3055\u308c\u308b\u30ea\u30bd\u30fc\u30b9\u4e00\u89a7<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Terraform\u3067\u69cb\u7bc9\u3055\u308c\u308b\u4e3b\u306a\u30ea\u30bd\u30fc\u30b9\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>ECS Fargate\u30af\u30e9\u30b9\u30bf\u30fc\uff1a\u30aa\u30f3\u30c7\u30de\u30f3\u30c9\u3068Spot\u306e\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9\u69cb\u6210<\/li><li>ALB\uff08Application Load Balancer\uff09\uff1a\u5916\u90e8\u304b\u3089\u306e\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u7ba1\u7406<\/li><li>\u30d5\u30ed\u30f3\u30c8\u30a8\u30f3\u30c9\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\uff1a3000\u756a\u30dd\u30fc\u30c8\u3067\u30ea\u30c3\u30b9\u30f3<\/li><li>FluentBit\u30b5\u30a4\u30c9\u30ab\u30fc\uff1a\u30ed\u30b0\u53ce\u96c6\u7528<\/li><li>VPC\u3068\u95a2\u9023\u3059\u308b\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30ea\u30bd\u30fc\u30b9\uff1a\u30de\u30eb\u30c1AZ\u69cb\u6210<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1014\" height=\"560\" src=\"https:\/\/baresupport.jp\/blog\/wp-content\/uploads\/2025\/06\/image-12.png\" alt=\"AWS\u69cb\u6210\u56f3\" class=\"wp-image-885\" srcset=\"https:\/\/baresupport.jp\/blog\/wp-content\/uploads\/2025\/06\/image-12.png 1014w, https:\/\/baresupport.jp\/blog\/wp-content\/uploads\/2025\/06\/image-12-300x166.png 300w, https:\/\/baresupport.jp\/blog\/wp-content\/uploads\/2025\/06\/image-12-768x424.png 768w\" sizes=\"auto, (max-width: 1014px) 100vw, 1014px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E6%A7%8B%E7%AF%89%E3%81%AB%E5%BF%85%E8%A6%81%E3%81%AA%E6%BA%96%E5%82%99%EF%BC%88%E5%89%8D%E6%8F%90%E6%9D%A1%E4%BB%B6%EF%BC%89\"><\/span>\u69cb\u7bc9\u306b\u5fc5\u8981\u306a\u6e96\u5099\uff08\u524d\u63d0\u6761\u4ef6\uff09<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Terraform\u3092\u4f7f\u3063\u3066AWS\u4e0a\u306b\u74b0\u5883\u3092\u69cb\u7bc9\u3059\u308b\u305f\u3081\u306b\u306f\u3001\u4ee5\u4e0b\u306e\u30c4\u30fc\u30eb\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3068\u8a2d\u5b9a\u304c\u5fc5\u8981\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u74b0\u5883\u69cb\u7bc9\u524d\u306b\u3001\u5fc5\u305a\u3053\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%AA%E3%83%84%E3%83%BC%E3%83%AB\"><\/span>\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u5fc5\u8981\u306a\u30c4\u30fc\u30eb<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Terraform\u3067\u30a4\u30f3\u30d5\u30e9\u3092\u69cb\u7bc9\u3059\u308b\u306b\u306f\u3001\u4ee5\u4e0b\u306e\u30c4\u30fc\u30eb\u3092\u30ed\u30fc\u30ab\u30ebPC\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Terraform v1.0\u4ee5\u4e0a<br><a href=\"https:\/\/developer.hashicorp.com\/terraform\/downloads\">https:\/\/developer.hashicorp.com\/terraform\/downloads<\/a><\/li><\/ul>\n\n\n\n<p>\u203bMac\/Linux\/Windows\u305d\u308c\u305e\u308c\u306e\u624b\u9806\u306b\u6cbf\u3063\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>AWS CLI\uff08v2\u63a8\u5968\uff09<br><a href=\"https:\/\/docs.aws.amazon.com\/ja_jp\/cli\/latest\/userguide\/install-cliv2.html\">https:\/\/docs.aws.amazon.com\/ja_jp\/cli\/latest\/userguide\/install-cliv2.html<\/a><\/li><\/ul>\n\n\n\n<p>\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u304b\u3089AWS\u74b0\u5883\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u305f\u3081\u306eCLI\u30c4\u30fc\u30eb\u3067\u3059\u3002\u3053\u308c\u3089\u304c\u3059\u3067\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u6e08\u307f\u306e\u5834\u5408\u306f\u3001\u3053\u306e\u624b\u9806\u306f\u30b9\u30ad\u30c3\u30d7\u3057\u3066\u554f\u984c\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"AWS_CLI%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%81%A8%E8%AA%8D%E8%A8%BC%E6%96%B9%E6%B3%95\"><\/span>AWS CLI\u306e\u8a2d\u5b9a\u3068\u8a8d\u8a3c\u65b9\u6cd5<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Terraform\u306fAWS\u306b\u30ea\u30bd\u30fc\u30b9\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u3001AWS\u306e\u8a8d\u8a3c\u60c5\u5831\uff08\u30a2\u30af\u30bb\u30b9\u8a31\u53ef\uff09\u3092\u8a2d\u5b9a\u3057\u3066\u304a\u304f\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u8a8d\u8a3c\u65b9\u6cd5\u306f\u3044\u304f\u3064\u304b\u3042\u308a\u307e\u3059\u304c\u3001\u672c\u8a18\u4e8b\u3067\u306f\u4ee5\u4e0b\u306e2\u3064\u306e\u65b9\u6cd5\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u500b\u4eba\u691c\u8a3c\u5411\u3051\u306e<strong>IAM\u30e6\u30fc\u30b6\u30fc\u3068\u30a2\u30af\u30bb\u30b9\u30ad\u30fc<\/strong>\u306b\u3088\u308b\u8a2d\u5b9a\uff08\u521d\u5fc3\u8005\u5411\u3051\uff09<\/li><li>\u7d44\u7e54\u5229\u7528\u5411\u3051\u306eIAM Identity Center\uff08\u65e7AWS SSO\uff09\u306b\u3088\u308b\u8a8d\u8a3c\uff08\u63a8\u5968\uff09<\/li><\/ul>\n\n\n\n<p>\u3069\u3061\u3089\u3082\u3001AWS CLI\u306b\u5bfe\u3057\u3066\u300c\u3053\u306e\u4eba\u304c\u3053\u306e\u64cd\u4f5c\u3092\u3057\u3066\u3082\u3044\u3044\u300d\u3068\u5224\u65ad\u3055\u305b\u308b\u305f\u3081\u306e\u8a2d\u5b9a\u3067\u3059\u3002<\/p>\n\n\n\n<p><strong>\u65b9\u6cd5\u2460\uff1aIAM\u30e6\u30fc\u30b6\u30fc\u306e\u30a2\u30af\u30bb\u30b9\u30ad\u30fc\u3067\u8a2d\u5b9a\uff08\u521d\u5fc3\u8005\u5411\u3051\uff09<\/strong>\u203b\u672c\u756a\u74b0\u5883\u3067\u306fIAM\u30e6\u30fc\u30b6\u30fc\u306e\u30a2\u30af\u30bb\u30b9\u30ad\u30fc\u5229\u7528\u306f\u63a8\u5968\u3055\u308c\u307e\u305b\u3093\u304c\u3001\u500b\u4eba\u5b66\u7fd2\u30fb\u691c\u8a3c\u7528\u9014\u3067\u306f\u554f\u984c\u3042\u308a\u307e\u305b\u3093\u3002<strong><br><\/strong>\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067\u8a8d\u8a3c\u60c5\u5831\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>aws configure<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>AWS Access Key ID\uff1aIAM\u30e6\u30fc\u30b6\u30fc\u3067\u767a\u884c\u3057\u305f\u30a2\u30af\u30bb\u30b9\u30ad\u30fc<\/li><li>AWS Secret Access Key\uff1a\u540c\u4e0a<\/li><li>Default region name\uff1a\u4f8b\uff09ap-northeast-1\uff08\u6771\u4eac\uff09<\/li><li>Default output format\uff1ajson\uff08\u63a8\u5968\uff09<\/li><\/ul>\n\n\n\n<p><strong>\u65b9\u6cd5\u2461\uff1aIAM Identity Center\uff08\u65e7SSO\uff09\u306b\u3088\u308b\u8a2d\u5b9a\uff08\u63a8\u5968\uff09<\/strong><\/p>\n\n\n\n<p>AWS CLI v2\u4ee5\u964d\u3067\u306f\u3001IAM Identity Center\u3092\u4f7f\u3063\u3066\u5b89\u5168\u306b\u8a8d\u8a3c\u8a2d\u5b9a\u3067\u304d\u307e\u3059\u3002\u8a2d\u5b9a\u624b\u9806\u306f\u4ee5\u4e0b\u306e\u516c\u5f0f\u30ac\u30a4\u30c9\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/docs.aws.amazon.com\/ja_jp\/singlesignon\/latest\/userguide\/cli-configure-sso.html\">IAM Identity Center\u3067\u306e\u8a8d\u8a3c\u8a2d\u5b9a\u65b9\u6cd5\uff08\u65e5\u672c\u8a9e\uff09<\/a><\/li><\/ul>\n\n\n\n<p>AWS Organizations\u74b0\u5883\u4e0b\u3067\u904b\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u3084\u3001\u4f01\u696d\u30a2\u30ab\u30a6\u30f3\u30c8\u3067\u306e\u5229\u7528\u6642\u306f\u3053\u3061\u3089\u306e\u65b9\u6cd5\u304c\u63a8\u5968\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Terraform%E3%81%AB%E3%82%88%E3%82%8BFargate%E6%A7%8B%E7%AF%89%E3%81%AE%E6%89%8B%E9%A0%86\"><\/span>Terraform\u306b\u3088\u308bFargate\u69cb\u7bc9\u306e\u624b\u9806<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Step1_%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%AE%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%B3%E3%81%A8%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E7%A7%BB%E5%8B%95\"><\/span>Step1. \u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u30af\u30ed\u30fc\u30f3\u3068\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u79fb\u52d5<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>\u307e\u305a\u3001terraform-aws-modules\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u30af\u30ed\u30fc\u30f3\u3057\u3001Fargate\u306e\u4f8b\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u79fb\u52d5\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u4eca\u56de\u306f examples\/fargate \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u69cb\u6210\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git clone https:\/\/github.com\/terraform-aws-modules\/terraform-aws-ecs.git\ncd terraform-aws-ecs\/examples\/fargate<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Step2_Terraform%E3%81%AE%E5%88%9D%E6%9C%9F%E5%8C%96\"><\/span>Step2. Terraform\u306e\u521d\u671f\u5316<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>\u5fc5\u8981\u306a\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u3068\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u307e\u3059\u3002\u7279\u5b9a\u306eAWS\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u3092\u4f7f\u7528\u3059\u308b\u5834\u5408\u306f\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u30ed\u30fc\u30ab\u30eb\u7aef\u672b\u3067\u4f7f\u7528\u3059\u308b\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u3092\u74b0\u5883\u5909\u6570\u3067\u8a2d\u5b9a\nexport AWS_PROFILE=&lt;\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u540d&gt;\nterraform init<\/code><\/pre>\n\n\n\n<p>\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u3092\u6307\u5b9a\u3057\u306a\u3044\u5834\u5408\u306f\u3001aws configure \u3067\u8a2d\u5b9a\u3057\u305f\u30c7\u30d5\u30a9\u30eb\u30c8\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\uff08[default]\uff09\u306e\u8a8d\u8a3c\u60c5\u5831\u304c\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002AWS_PROFILE \u74b0\u5883\u5909\u6570\u3092\u4f7f\u3063\u3066\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u3092\u660e\u793a\u7684\u306b\u6307\u5b9a\u3059\u308b\u5834\u5408\u306f\u3001aws configure \u3067\u8a2d\u5b9a\u3057\u305f\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u540d\u3068\u4e00\u81f4\u3055\u305b\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Step3_%E5%AE%9F%E8%A1%8C%E8%A8%88%E7%94%BB%E3%81%AE%E7%A2%BA%E8%AA%8D\"><\/span>Step3. \u5b9f\u884c\u8a08\u753b\u306e\u78ba\u8a8d<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>\u30c7\u30d7\u30ed\u30a4\u524d\u306b\u3001\u3069\u306e\u3088\u3046\u306a\u30ea\u30bd\u30fc\u30b9\u304c\u4f5c\u6210\u3055\u308c\u308b\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>terraform plan<\/code><\/pre>\n\n\n\n<p>\u4eca\u56de\u306f\u958b\u767a\/\u672c\u756a\u306e\u8a2d\u5b9a\u5206\u96e2\u306e\u8a2d\u5b9a\u306f\u7528\u610f\u3057\u3066\u3044\u307e\u305b\u3093\u304c\u3001terraform \u3067\u74b0\u5883\u5206\u96e2\u3092\u7528\u610f\u3057\u305f\u3044\u5834\u5408\u3001<a href=\"about:blank\">Input Variables<\/a>\u3068\u3044\u3046\u6a5f\u80fd\u3092\u4f7f\u3044\u3001-var-file \u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4f7f\u3063\u3066\u74b0\u5883\u3054\u3068\u306b\u5206\u3051\u305f\u3044\u5909\u6570\u3092\u8a18\u8ff0\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Step4_ALB%E3%81%AEIP%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E5%88%B6%E9%99%90%EF%BC%88%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%EF%BC%89\"><\/span>Step4. ALB\u306eIP\u30a2\u30c9\u30ec\u30b9\u5236\u9650\uff08\u30aa\u30d7\u30b7\u30e7\u30f3\uff09<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4e0a\u3001ALB\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u7279\u5b9a\u306eIP\u30a2\u30c9\u30ec\u30b9\u306b\u5236\u9650\u3059\u308b\u3053\u3068\u304c\u63a8\u5968\u3055\u308c\u307e\u3059\u3002\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># main.tf\u306b\u8ffd\u8a18\nmodule \"alb\" {\n  # ... \u65e2\u5b58\u306e\u8a2d\u5b9a ...\n\n  security_group_rules = {\n    \/\/\u5143\u3005\u3042\u3063\u305f all_http \u3092\u4e0b\u8a18\u306b\u5909\u66f4\n    ingress_allowed_ips = {\n      type        = \"ingress\"\n      from_port   = 80\n      to_port     = 80\n      protocol    = \"tcp\"\n      cidr_ipv4 = \"YOUR_IP_ADDRESS\/32\"  # \u8a31\u53ef\u3059\u308bIP\u30a2\u30c9\u30ec\u30b9\u3092\u6307\u5b9a\n      description = \"Allow access from specific IP\"\n    }\n  }\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Step5_%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4\"><\/span>Step5. \u30c7\u30d7\u30ed\u30a4<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>\u6e96\u5099\u304c\u3067\u304d\u305f\u3089\u3001\u30ea\u30bd\u30fc\u30b9\u3092\u30c7\u30d7\u30ed\u30a4\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>terraform apply<\/code><\/pre>\n\n\n\n<p>\u30c7\u30d7\u30ed\u30a4\u304c\u5b8c\u4e86\u3059\u308b\u3068\u3001ALB\u306eDNS\u540d\u3092\u30de\u30cd\u30b3\u30f3\u304b\u3089\u78ba\u8a8d\u3067\u304d\u308b\u306e\u3067\u3001\u305d\u308c\u3092\u4f7f\u3063\u3066\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u203b \u30b5\u30f3\u30d7\u30eb\u306e\u307e\u307e\u3060\u3068eu-west-1\u306b\u30c7\u30d7\u30ed\u30a4\u3055\u308c\u308b\u306e\u3067\u3001\u30de\u30cd\u30b3\u30f3\u3067\u307f\u308b\u3068\u304d\u3082eu-west-1\u3092\u78ba\u8a8d\u3057\u307e\u3057\u3087\u3046\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Terraform%E6%A7%8B%E6%88%90%E3%81%AE%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%E8%A7%A3%E8%AA%AC\"><\/span>Terraform\u69cb\u6210\u306e\u30dd\u30a4\u30f3\u30c8\u89e3\u8aac<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u3053\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u524d\u56de\u306eCDK\u69cb\u6210\u3067\u306f\u89e6\u308c\u3066\u3044\u306a\u304b\u3063\u305f\u3001ECS Fargate\u306b\u7279\u6709\u306e\u5b9f\u8df5\u7684\u306a\u69cb\u6210\u30dd\u30a4\u30f3\u30c8\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u307e\u3059\u3002Terraform\u306e\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u306b\u306f\u3001\u53ef\u7528\u6027\u3084\u904b\u7528\u6027\u3092\u9ad8\u3081\u308b\u305f\u3081\u306e\u5de5\u592b\u304c\u591a\u6570\u76db\u308a\u8fbc\u307e\u308c\u3066\u304a\u308a\u3001\u305d\u308c\u305e\u308c\u306e\u610f\u5473\u3092\u7406\u89e3\u3059\u308b\u3053\u3068\u3067\u3001\u3088\u308a\u52b9\u679c\u7684\u306aIaC\u69cb\u7bc9\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Fargate_Spot%E3%81%A8%E3%81%AE%E3%83%8F%E3%82%A4%E3%83%96%E3%83%AA%E3%83%83%E3%83%89%E6%A7%8B%E6%88%90\"><\/span>Fargate Spot\u3068\u306e\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9\u69cb\u6210<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>\u4eca\u56de\u306e\u69cb\u6210\u3067\u306f\u3001ECS Fargate\u306b\u304a\u3044\u3066\u300c\u30aa\u30f3\u30c7\u30de\u30f3\u30c9\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\uff08FARGATE\uff09\u300d\u3068\u300c\u30b9\u30dd\u30c3\u30c8\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\uff08FARGATE_SPOT\uff09\u300d\u3092\u4f75\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u30b3\u30b9\u30c8\u3068\u53ef\u7528\u6027\u306e\u30d0\u30e9\u30f3\u30b9\u3092\u6700\u9069\u5316\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u4f7f\u7528\u3057\u3066\u3044\u308b\u8a2d\u5b9a\u306f\u4ee5\u4e0b\u306e\u3068\u304a\u308a\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>fargate_capacity_providers = {\n  FARGATE = {\n    default_capacity_provider_strategy = {\n      weight = 50\n      base   = 20\n    }\n  }\n  FARGATE_SPOT = {\n    default_capacity_provider_strategy = {\n      weight = 50\n    }\n  }\n}<\/code><\/pre>\n\n\n\n<p>\u3053\u306e\u8a2d\u5b9a\u306e\u52d5\u4f5c\u306f\u6b21\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\u5fc5\u8981\u306b\u5fdc\u3058\u3066\u3001base \u3084 weight \u3092\u8abf\u6574\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u30d9\u30fc\u30b9\u30e9\u30a4\u30f3\u306e\u78ba\u4fdd<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>base = 20 \u306b\u3088\u3063\u3066\u3001\u6700\u521d\u306e20\u30bf\u30b9\u30af\u306f\u5fc5\u305a\u30aa\u30f3\u30c7\u30de\u30f3\u30c9\uff08FARGATE\uff09\u3067\u8d77\u52d5\u3057\u307e\u3059\u3002<\/li><li>\u3053\u308c\u306b\u3088\u308a\u3001\u5b89\u5b9a\u6027\u304c\u6c42\u3081\u3089\u308c\u308b\u30bf\u30b9\u30af\u306f\u5e38\u306b\u78ba\u4fdd\u3055\u308c\u307e\u3059\u3002<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u6642\u306e\u632f\u308a\u5206\u3051<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>21\u500b\u76ee\u4ee5\u964d\u306e\u30bf\u30b9\u30af\u306f\u3001weight = 50 \u306e\u6bd4\u7387\u306b\u5f93\u3063\u3066 FARGATE \/ FARGATE_SPOT \u306b 50:50 \u3067\u632f\u308a\u5206\u3051\u3089\u308c\u307e\u3059\u3002<\/li><\/ul>\n\n\n\n<p>\u4f8b\uff1a\u30bf\u30b9\u30af\u6570\u304c\u5408\u8a0840\u306e\u5834\u5408<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>20\u30bf\u30b9\u30af\uff1aFARGATE\uff08\u30d9\u30fc\u30b9\u30e9\u30a4\u30f3\uff09<\/li><li>10\u30bf\u30b9\u30af\uff1aFARGATE\uff08\u8ffd\u52a0\u5206\u306e50%\uff09<\/li><li>10\u30bf\u30b9\u30af\uff1aFARGATE_SPOT\uff08\u8ffd\u52a0\u5206\u306e50%\uff09<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u30b3\u30b9\u30c8\u6700\u9069\u5316\u306e\u52b9\u679c<\/strong><\/h4>\n\n\n\n<p>\u30d9\u30fc\u30b9\u30e9\u30a4\u30f3\u3067\u5b89\u5b9a\u7a3c\u50cd\u3092\u7dad\u6301\u3057\u3064\u3064\u3001\u8ffd\u52a0\u5206\u306b\u30b9\u30dd\u30c3\u30c8\u3092\u6d3b\u7528\u3059\u308b\u3053\u3068\u3067\u3001<strong>\u5168\u4f53\u30b3\u30b9\u30c8\u3092\u6291\u3048\u306a\u304c\u3089\u53ef\u7528\u6027\u3092\u78ba\u4fdd<\/strong>\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u30d9\u30fc\u30b9\u30e9\u30a4\u30f3\u306e20\u30bf\u30b9\u30af\u3067\u5b89\u5b9a\u6027\u3092\u78ba\u4fdd<\/li><li>\u8ffd\u52a0\u30bf\u30b9\u30af\u306e50%\u3092Spot\u3067\u5b9f\u884c\u3059\u308b\u3053\u3068\u3067\u30b3\u30b9\u30c8\u524a\u6e1b<\/li><li>\u30aa\u30f3\u30c7\u30de\u30f3\u30c9\u3068Spot\u306e\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9\u3067\u3001\u30b3\u30b9\u30c8\u3068\u53ef\u7528\u6027\u306e\u30d0\u30e9\u30f3\u30b9\u3092\u5b9f\u73fe<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E5%AE%9A%E7%BE%A9\"><\/span>\u30b3\u30f3\u30c6\u30ca\u5b9a\u7fa9<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>\u4eca\u56de\u306e\u30bf\u30b9\u30af\u3067\u306f\u30012\u3064\u306e\u30b3\u30f3\u30c6\u30ca\u304c\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>\u30d5\u30ed\u30f3\u30c8\u30a8\u30f3\u30c9\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\uff083000\u756a\u30dd\u30fc\u30c8\u3067\u30ea\u30c3\u30b9\u30f3\uff09<\/li><li>FluentBit\uff08\u30ed\u30b0\u53ce\u96c6\u7528\u306e\u30b5\u30a4\u30c9\u30ab\u30fc\uff09<\/li><\/ol>\n\n\n\n<p>\u5b9a\u7fa9\u306f\u4ee5\u4e0b\u306e\u3068\u304a\u308a\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>container_definitions = {\n  fluent-bit = {\n    cpu       = 512\n    memory    = 1024\n    essential = true\n    image     = nonsensitive(data.aws_ssm_parameter.fluentbit.value)\n    firelens_configuration = {\n      type = \"fluentbit\"\n    }\n    memory_reservation = 50\n    user               = \"0\"\n  }\n\n  (local.container_name) = {\n    cpu       = 512\n    memory    = 1024\n    essential = true\n    image     = \"public.ecr.aws\/aws-containers\/ecsdemo-frontend:776fd50\"\n    port_mappings = &#91;\n      {\n        name          = local.container_name\n        containerPort = local.container_port\n        hostPort      = local.container_port\n        protocol      = \"tcp\"\n      }\n    ]\n    readonly_root_filesystem = false\n    dependencies = &#91;{\n      containerName = \"fluent-bit\"\n    }]\n  }\n}<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u88dc\u8db3\u30dd\u30a4\u30f3\u30c8<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>FluentBit\u30b5\u30a4\u30c9\u30ab\u30fc\u306ffirelens_configuration\u3067\u30ed\u30b0\u53ce\u96c6\u3092\u8a2d\u5b9a<\/li><li>\u30d5\u30ed\u30f3\u30c8\u30a8\u30f3\u30c9\u30a2\u30d7\u30ea\u306f3000\u756a\u30dd\u30fc\u30c8\u3067\u30ea\u30c3\u30b9\u30f3<\/li><li>dependencies\u3067\u30b3\u30f3\u30c6\u30ca\u306e\u8d77\u52d5\u9806\u5e8f\u3092\u5236\u5fa1<\/li><\/ul>\n\n\n\n<p>\u3053\u306e\u3088\u3046\u306a\u5f79\u5272\u5206\u62c5\u3092\u660e\u793a\u3059\u308b\u3053\u3068\u3067\u3001Dockerfile\u306e\u76ee\u7684\u304c\u660e\u78ba\u306b\u306a\u308a\u3001\u5f8c\u3005\u306e\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u3084\u969c\u5bb3\u5bfe\u5fdc\u304c\u30b9\u30e0\u30fc\u30ba\u306b\u306a\u308a\u307e\u3059\u3002\u4f8b\u3048\u3070\u3001nginx\u3068php-fpm\u3092\u5206\u3051\u305fLaravel\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u69cb\u6210\u306a\u3069\u306b\u3082\u5fdc\u7528\u53ef\u80fd\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u4f3c\u305f\u3088\u3046\u306a\u69cb\u6210\u3067\u3001nginx \u3068 php-fpm \u306e\u30b3\u30f3\u30c6\u30ca\u3092\u5206\u3051\u3066 Laravel \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u7a3c\u50cd\u3055\u305b\u308b\u3053\u3068\u3082\u53ef\u80fd\u3067\u3059\u3002 \u30b3\u30f3\u30c6\u30ca\u3092\u5206\u3051\u308b\u3053\u3068\u3067\u3001Dockerfile \u306e\u7528\u9014\u304c\u5206\u304b\u308a\u3084\u3059\u304f\u306a\u308a\u3001\u5f8c\u304b\u3089\u300c\u3053\u308c\u4f55\u306e\u305f\u3081\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u3044\u305f\u304b\u306a\u300d\u3068\u3044\u3063\u305f\u3053\u3068\u306b\u306a\u308b\u53ef\u80fd\u6027\u3092\u4e0b\u3052\u3089\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"ECS_Exec%E3%81%AB%E3%82%88%E3%82%8B%E3%83%87%E3%83%90%E3%83%83%E3%82%B0%E5%AF%BE%E5%BF%9C\"><\/span>ECS Exec\u306b\u3088\u308b\u30c7\u30d0\u30c3\u30b0\u5bfe\u5fdc<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Terraform\u3067\u306f\u3001enable_execute_command = true \u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u3067\u3001ECS Exec\u306b\u3088\u308b\u30b3\u30f3\u30c6\u30ca\u5185\u90e8\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u6709\u52b9\u306b\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>enable_execute_command = true<\/code><\/pre>\n\n\n\n<p>ECS Exec\u3092\u6709\u52b9\u306b\u3059\u308b\u3053\u3068\u3067\u3001\u4ee5\u4e0b\u306e\u64cd\u4f5c\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u30b3\u30f3\u30c6\u30ca\u5185\u3067\u306e\u30b7\u30a7\u30eb\u30a2\u30af\u30bb\u30b9\uff08sh \u3084 bash\uff09<\/li><li>\u5b9f\u884c\u4e2d\u30d7\u30ed\u30bb\u30b9\u306e\u78ba\u8a8d\u3084\u30ed\u30b0\u306e\u76f4\u63a5\u53c2\u7167<\/li><li>\u672c\u756a\u74b0\u5883\u3067\u306e\u4e00\u6642\u7684\u306a\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u5bfe\u5fdc<\/li><\/ul>\n\n\n\n<p>CLI\u304b\u3089 aws ecs execute-command \u3092\u4f7f\u3046\u3053\u3068\u3067\u3001\u8a72\u5f53\u30bf\u30b9\u30af\u306e\u4e2d\u306b\u5165\u3063\u3066\u8abf\u67fb\u3092\u884c\u3048\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u8a73\u3057\u304f\u306f<a href=\"https:\/\/docs.aws.amazon.com\/ja_jp\/AmazonECS\/latest\/developerguide\/ecs-exec.html\">ECS Exec \u3092\u4f7f\u7528\u3057\u3066 Amazon ECS \u30b3\u30f3\u30c6\u30ca\u3092\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0\u3059\u308b<\/a> \u3092\u3054\u53c2\u7167\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E8%A3%9C%E8%B6%B3%EF%BC%9A%E9%81%8B%E7%94%A8%E6%99%82%E3%81%AE%E4%BE%BF%E5%88%A9%E3%81%AA%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89\"><\/span>\u88dc\u8db3\uff1a\u904b\u7528\u6642\u306e\u4fbf\u5229\u306a\u30b3\u30de\u30f3\u30c9<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Terraform\u306b\u3088\u308b\u74b0\u5883\u69cb\u7bc9\u5f8c\u3001\u5b9f\u969b\u306e\u904b\u7528\u3084\u691c\u8a3c\u306b\u304a\u3044\u3066\u5f79\u7acb\u3064\u64cd\u4f5c\u3082\u3044\u304f\u3064\u304b\u7d39\u4ecb\u3055\u308c\u3066\u3044\u307e\u3057\u305f\u3002\u3053\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u30bf\u30b9\u30af\u306e\u624b\u52d5\u5b9f\u884c\u3068\u30ea\u30bd\u30fc\u30b9\u524a\u9664\u3068\u3044\u30462\u3064\u306e\u4fbf\u5229\u306a\u64cd\u4f5c\u306b\u3064\u3044\u3066\u88dc\u8db3\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E3%82%BF%E3%82%B9%E3%82%AF%E3%81%AE%E6%89%8B%E5%8B%95%E5%AE%9F%E8%A1%8C\"><\/span>\u30bf\u30b9\u30af\u306e\u624b\u52d5\u5b9f\u884c<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>terraform apply \u306e\u5f8c\u306b\u8868\u793a\u3055\u308c\u305f\u30b3\u30de\u30f3\u30c9\u4f8b\u306e\u3088\u3046\u306b\u3001<strong>ECS\u30bf\u30b9\u30af\u3092\u624b\u52d5\u3067\u5b9f\u884c\u3059\u308b<\/strong>\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u30bf\u30b9\u30af\u306e\u624b\u52d5\u5b9f\u884c\uff08\u30c7\u30d0\u30c3\u30b0\u7528\uff09\naws ecs run-task --cluster ex-fargate \\\n  --task-definition ex-fargate-standalone:1 \\\n  --network-configuration \"awsvpcConfiguration={subnets=&#91;subnet-01be9f2134a111111,subnet-0fa112461df911111,subnet-05dd1930b83011111],securityGroups=&#91;sg-00c2af9b4a2e111111]}\" \\\n  --region eu-west-1<\/code><\/pre>\n\n\n\n<p>\u3053\u306e\u30b3\u30de\u30f3\u30c9\u306f\u3001\u5b9a\u7fa9\u6e08\u307f\u306e\u30bf\u30b9\u30af\u30921\u56de\u3060\u3051\u5373\u6642\u5b9f\u884c\u3057\u305f\u3044\u5834\u5408\u306b\u4f7f\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u4e3b\u306a\u7528\u9014\uff1a<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>DB\u30de\u30a4\u30b0\u30ec\u30fc\u30b7\u30e7\u30f3\u306e\u5b9f\u884c<\/li><li>\u30d0\u30c3\u30c1\u51e6\u7406\u3084\u30ef\u30f3\u30bf\u30a4\u30e0\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u5b9f\u884c<\/li><\/ul>\n\n\n\n<p>\u3053\u308c\u3089\u306e\u904b\u7528\u76ee\u7684\u306e\u30bf\u30b9\u30af\u306f\u3001\u901a\u5e38\u306e\u30b5\u30fc\u30d3\u30b9\u3068\u3057\u3066\u5e38\u6642\u5b9f\u884c\u3059\u308b\u5fc5\u8981\u304c\u306a\u3044\u305f\u3081\u3001\u624b\u52d5\u5b9f\u884c\u304c\u9069\u3057\u3066\u3044\u307e\u3059\u3002\u5b9a\u671f\u5b9f\u884c\u3059\u308b\u3088\u3046\u306b\u8a2d\u5b9a\u3057\u305fLambda\u3084EventBridge \u306e\u5165\u529b\u30c8\u30e9\u30f3\u30b9\u30d5\u30a9\u30fc\u30de\u30fc\u306a\u3069\u3068\u7d44\u307f\u5408\u308f\u305b\u308b\u3053\u3068\u3082\u53ef\u80fd\u3067\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%E3%81%AE%E5%89%8A%E9%99%A4%EF%BC%88Terraform_destroy%EF%BC%89\"><\/span>\u30ea\u30bd\u30fc\u30b9\u306e\u524a\u9664\uff08Terraform destroy\uff09<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u4eca\u56de\u306e\u3088\u3046\u306a\u691c\u8a3c\u74b0\u5883\u3067\u306f\u3001\u69cb\u7bc9\u5f8c\u306b\u4e0d\u8981\u306a\u30ea\u30bd\u30fc\u30b9\u3092\u305d\u306e\u307e\u307e\u6b8b\u3057\u3066\u304a\u304f\u3068\u3001\u8ab2\u91d1\u306e\u539f\u56e0\u306b\u306a\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002Terraform\u3067\u306f\u3001\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067<strong>\u4f5c\u6210\u3057\u305f\u3059\u3079\u3066\u306e\u30ea\u30bd\u30fc\u30b9\u3092\u4e00\u62ec\u524a\u9664<\/strong>\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>terraform destroy<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>\u4f5c\u6210\u3055\u308c\u305fVPC\u3001ECS\u30af\u30e9\u30b9\u30bf\u30fc\u3001ALB\u3001\u30b5\u30d6\u30cd\u30c3\u30c8\u306a\u3069\u3092\u307e\u3068\u3081\u3066\u524a\u9664\u3057\u307e\u3059\u3002<\/li><li>terraform apply \u3067\u69cb\u7bc9\u3057\u305f\u74b0\u5883\u304c\u305d\u306e\u307e\u307e\u5143\u306b\u623b\u308b\u30a4\u30e1\u30fc\u30b8\u3067\u3059\u3002<\/li><\/ul>\n\n\n\n<p>\u30c6\u30b9\u30c8\u7528\u9014\u3067\u74b0\u5883\u3092\u69cb\u7bc9\u3059\u308b\u969b\u306b\u306f\u3001<strong>\u7d42\u4e86\u5f8c\u306b\u5fc5\u305a <\/strong><strong>destroy<\/strong><strong> \u3092\u5b9f\u884c\u3059\u308b\u7fd2\u6163<\/strong>\u3092\u3064\u3051\u308b\u3053\u3068\u3067\u3001\u7121\u99c4\u306aAWS\u30ea\u30bd\u30fc\u30b9\u4f7f\u7528\u3092\u9632\u3052\u307e\u3059\u3002<\/p>\n\n\n\n<p>Terraform\u306e\u5f37\u307f\u306e\u4e00\u3064\u306f\u3001\u300c\u69cb\u7bc9\u3057\u305f\u3082\u306e\u3092\u7dba\u9e97\u306b\u58ca\u305b\u308b\u300d\u70b9\u306b\u3082\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u3082IaC\u306e\u5927\u304d\u306a\u5229\u70b9\u3067\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E3%81%BE%E3%81%A8%E3%82%81\"><\/span>\u307e\u3068\u3081<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u672c\u8a18\u4e8b\u3067\u306f\u3001Terraform\u3092\u4f7f\u3063\u3066ECS Fargate\u74b0\u5883\u3092\u69cb\u7bc9\u3059\u308b\u65b9\u6cd5\u3092\u7d39\u4ecb\u3057\u307e\u3057\u305f\u3002\u524d\u56de\u306eCDK\u3068\u6bd4\u8f03\u3057\u306a\u304c\u3089\u3001Terraform\u306a\u3089\u3067\u306f\u306e\u8a18\u8ff0\u30b9\u30bf\u30a4\u30eb\u3084\u69cb\u6210\u306e\u7279\u5fb4\u3001\u904b\u7528\u6642\u306b\u5f79\u7acb\u3064Tips\u307e\u3067\u4e00\u901a\u308a\u89e3\u8aac\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p>\u4eca\u56de\u306e\u30dd\u30a4\u30f3\u30c8\u3092\u304a\u3055\u3089\u3044<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Terraform\u306e\u57fa\u672c\u69cb\u6587\uff08HCL\uff09<\/strong> \u306b\u3088\u308b\u30a4\u30f3\u30d5\u30e9\u69cb\u7bc9\u3092\u4f53\u9a13<\/li><li><strong>FARGATE\u3068FARGATE_SPOT\u306e\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9\u69cb\u6210<\/strong>\u3067\u30b3\u30b9\u30c8\u3068\u5b89\u5b9a\u6027\u3092\u4e21\u7acb<\/li><li><strong>FluentBit\u306b\u3088\u308b\u30ed\u30b0\u53ce\u96c6\u3068\u8d77\u52d5\u9806\u5236\u5fa1<\/strong>\u3092\u542b\u3080\u3001\u5b9f\u8df5\u7684\u306a\u30bf\u30b9\u30af\u5b9a\u7fa9<\/li><li><strong>ECS Exec\u3084\u624b\u52d5\u30bf\u30b9\u30af\u5b9f\u884c<\/strong>\u3068\u3044\u3063\u305f\u904b\u7528\u9762\u3067\u306e\u6d3b\u7528\u3082\u7d39\u4ecb<\/li><li><strong>terraform destroy\u306b\u3088\u308b\u30ea\u30bd\u30fc\u30b9\u524a\u9664<\/strong>\u3067\u3001\u691c\u8a3c\u74b0\u5883\u306e\u7247\u4ed8\u3051\u3082\u7c21\u5358<\/li><\/ul>\n\n\n\n<p>\u6b21\u56de\u306f\u3001\u4eca\u56de\u306eTerraform\u69cb\u6210\u3092\u3055\u3089\u306b\u4e00\u6b69\u9032\u3081\u3066\u3001<strong>GitHub Actions\u306a\u3069\u3092\u4f7f\u3063\u305fCI\/CD\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u306e\u69cb\u7bc9<\/strong>\u3092\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u306f\u3058\u3081\u306b \u524d\u56de\u306e\u8a18\u4e8b\u3067\u306f\u3001AWS CDK\uff08Cloud Development Kit\uff09 \u3092\u4f7f\u3063\u3066\u3001\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u3067\u30a4\u30f3\u30d5\u30e9\u3092\u5b9a\u7fa9\u3057\u306a\u304c\u3089 ECS Fargate \u74b0\u5883\u3092\u69cb\u7bc9\u3059\u308b\u65b9\u6cd5\u3092\u7d39\u4ecb\u3057\u307e\u3057\u305f\u3002\u30b3\u30fc\u30c9\u306b\u3088\u308b\u30a4\u30f3\u30d5\u30e9 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":884,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[18],"tags":[],"class_list":["post-883","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech-blog"],"aioseo_notices":[],"views":2365,"_links":{"self":[{"href":"https:\/\/baresupport.jp\/blog\/wp-json\/wp\/v2\/posts\/883","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/baresupport.jp\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/baresupport.jp\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/baresupport.jp\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/baresupport.jp\/blog\/wp-json\/wp\/v2\/comments?post=883"}],"version-history":[{"count":3,"href":"https:\/\/baresupport.jp\/blog\/wp-json\/wp\/v2\/posts\/883\/revisions"}],"predecessor-version":[{"id":900,"href":"https:\/\/baresupport.jp\/blog\/wp-json\/wp\/v2\/posts\/883\/revisions\/900"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/baresupport.jp\/blog\/wp-json\/wp\/v2\/media\/884"}],"wp:attachment":[{"href":"https:\/\/baresupport.jp\/blog\/wp-json\/wp\/v2\/media?parent=883"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/baresupport.jp\/blog\/wp-json\/wp\/v2\/categories?post=883"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/baresupport.jp\/blog\/wp-json\/wp\/v2\/tags?post=883"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}