$30 off During Our Annual Pro Sale. View Details »

タップル誕生: オンプレからAWS Fargateまで @ JAWS DAYS 2020

タップル誕生: オンプレからAWS Fargateまで @ JAWS DAYS 2020

PDF版: https://share.getcloudapp.com/E0uqmebA (リンク踏みたい方向け)

本セッションでは、タップル誕生というサービスのオンプレ環境からAWS Fargateになるまでのストーリーと技術的なチャレンジについて紹介している。歴史的背景、移設前の構成を説明し、EC2、ECS/EC2、ECS/Fargateに継続的に、段階的にアーキテクチャを変えて行ったことについて解説する。

トークの後半では、Fargateのメリットデメリット、ECSの落とし所、スケーリング設計に役立つアドバイス、クラウド移設で気を付けるべきこと、ECSの最新機能の検証結果についても触れる。

Speaker Profile:

株式会社サイバーエージェント
Torgayev Tamirlan 氏

株式会社サイバーエージェント 技術本部 サービスリライアビリティグループ所属 クラウド技術アドバイザ / 2017年~内定者アルバイトを経て、2018年に新卒入社 / Kinesis、ECS、Lambda、Elasticsearch、Terraformを専門領域とし、複数の新規サービス立ち上げや、AWA・タップル誕生などのシステム改善に従事している

Tamirlan 893 Torgayev

March 22, 2020
Tweet

More Decks by Tamirlan 893 Torgayev

Other Decks in Technology

Transcript

  1. ࣗݾ঺հ • Torgayev Tamirlan / ϓϩάϥϛϯάϠΫβ / @prog893 τ ϧ

    Ψ Τ ϑ λ ϝ ϧ ϥ ϯ • αΠόʔΤʔδΣϯτ ٕज़ຊ෦ 
 αʔϏεϦϥΠΞϏϦςΟάϧʔϓ (௨শ SRG) • झຯ: Χϝϥ • ޷͖ͳ΋ͷ: TerraformɺPythonɺElasticsearchɺServerless ❤ • ޷͖ͳAWSͷαʔϏε: ECS • ΞϧόΠτ 14ϲ݄ 2018೥ ৽ଔೖࣾ (ࣗশ4೥໨) AWA վળʢͦͷ1ɺͦͷ2ʣɺτϧςɺCARTEɺREQU ্ཱͪ͛αϙʔτ ݱ AWAɺλοϓϧ஀ੜɺCROSS MEɺͳͲ୲౰ 2
  2. ࠓ೔࿩͢͜ͱ • λοϓϧ஀ੜͷҠઃ෺ޠ 2೥ؒҎ্ʹΘͨΔετʔϦʔ • લ൒: ྺ࢙తܦҢɺҠઃ͋Δ͋Δ • ޙ൒: ECS

    EC2/FargateͷҠઃͱ͔ΑΓσΟʔϓͳ࿩ ऴ൫ʹ࠷ۙग़ͨ৽ػೳΛࢼͯ͠Έͨ࿩΋͋ΔΑ 5
  3. 14

  4. Ҡઃޙͷߏ੒ v.1: EC2 • ΞϓϦ૚͸ͦͷ·· Ծ૝αʔό EC2 Πϯελϯεͱ͍͚ͯ࣋ͬͯͩ͘͠ • MongoDBͱElasticsearch΋ͦͷ··͍࣋ͬͯ͘

    MongoDB΁ͷΞΫηε͸ɺ֤ΞϓϦαʔόʹ৐͍ͬͯΔmongosΛϓϩΩγʹ࢖͏ Elasticsearch͸ɺALBͰΞΫηεΛ෼ࢄ • RedisɺMySQL͸ElastiCacheɺAuroraʹ • nginxΛALBʹϦϓϨΠε • ੩తίϯςϯπͷ഑৴͸ɺS3+CloudFront 19
  5. 20

  6. εςοϓ2: ΞϓϦ૚ͷҠઃ…ʁ • EC2 AutoscalingͷͨΊͷɺAMIϏϧυ༻Packer࡞ΓࠐΈɺݕূΛ…
 ͢Δ…ͭ΋Γ…͕ͩͬͨ… Ω < ͔ͤͬ͘ͷҠઃͳΒɺΞʔΩςΫνϟมߋ΋͍ͨ͠Ͷͬ Ω

    < ϚΠΫϩαʔϏεԽͰ͖ͨΒϦϦʔεͷ୯ҐΛখ͘͞Ͱ͖Δ͠੾Γ໭͠ͱָ͔ͩ͠ Ω < Dockerfile࡞ͬͨͧ Ω < KubernetesͰͱΓ͋͑ͣಈ͍ͨͧ Ω < KubernetesͰߦ͜͏ͥ Ω < ͔ͤͬͩ͘͠ଞ΋վળ͍ͯ͜͠͏ Μɺɺ͋Δ͐ʁɹҰ୴EC2Ͱߦ͘Μ͡Όͳ͔͚ͬͨͬ 24
  7. Ҡઃޙͷߏ੒ v.2: Kubernetes • σʔλ૚͸มΘΒͣ • NLBΛIngestͱͯ͠࢖༻ • kops +

    helm • ap-northeast-1 3 AZ (a/c/d) • ASGͰworkerϊʔυΛ؅ཧɺΦʔτεέʔϦϯά 25
  8. 26

  9. Ҡઃޙͷߏ੒ v.2: ϩάपΓ • APIαʔϏεͳͲͰ૬৐Γfluentdίϯςφఆٛ • ڞ༗volume͔Βtail Kinesis Lambda in-houseͳanalytics

    KinesisͰόοϑΝϦϯάɺin-houseͳج൫͕ࢮΜͰ͍ͯ΋ɺ
 ʮKinesis Lambdaʯͷ෦෼Ͱ͍͍ײ͡ʹϦτϥΠ͞ΕΔ ৄࡉ: KinesisͱLambdaͰͭ͘ΔServerlessͳϩάج൫ @ AWS DevDay Tokyo 2019 27
  10. 28

  11. ࣌ݶര஄ #ͱ͸ • ࣌ݶര஄ = ઐ༻ճઢ • ϙΠϯτ: 1. σʔλ૚΁ͷΞΫηε͕Ϋϥ΢υΛލ͍Ͱ͍ͨ

    2. ઐ༻ճઢ͕อূͳ͠Ͱఏڙ͞Ε͍ͯͨ 
 (౰࣌͸ SLA ͕ఏڙ͞Ε͍ͯͳ͔ͬͨ) • Ҡઃ͕׬ྃ͠ͳ͍ঢ়ଶͰ1೥͕ܦͬͨ • ͦͯ͠ࣄ͕݅ى͖ͨ 32
  12. ࣌ݶര஄େരൃࣄ݅ɺೋճ໨ • ೋ೔࿈ଓͰ·ͨಉ͡ো֐͕ى͖Δ • ϝϯςΠϯ͔Β3࣌ؒޙɺ෮چͷݟࠐΈ͕ͳ͘ͳΓɺ
 ΋͏Ҡઃͯ͠͠·͑͹͍͍͡Όͳ͍͔આΛࢲ͕ޠΓʹ͍͘ • ආ೉ઌͷ४උ։࢝ • ϝϯςΠϯ͔Β5࣌ؒޙɺճઢ͕෮چɺϝϯς໌͚

    • ࠓ౓͸ɺ5࣌ؒҎ্ͷϝϯςφϯε • ·͍ͨͭى͖Δ͔Θ͔Βͳ͍͠ා͍͔Βɺආ೉ઌͷ४උΛଓߦ • ͦͷ৔Ͱ࠷௿ݶಈ͘؀ڥͷߏஙͱσϓϩΠϑϩʔͷཱ֬·Ͱ׬ྃͯ͠͠·͏ ͜ͷ͋ͱ໓஡ۤ஡͓ञΛҿΈ·ͨ͠ 34
  13. ໨࣍ 1. αʔϏε֓ཁ 2. ྺ࢙తܦҢ ΦϯϓϨߏ੒ Ҡઃܭը Ҡઃ࣮ߦ 3. Re:

    ো֐͔Β࢝ΊΔۓٸҠઃੜ׆ 4. ͋Δ΂͖࢟΁ EC2 -> ECS (EC2 Type) ECS (EC2 Type) -> ECS (Fargate Type) 5. ॴײ 37
  14. ҠઃϩʔυϚοϓ • 3ϑΣʔζͰ࣮ࢪ 1. ۓٸEC2Ҡઃ: ͱΓ͋͑ͣ ΦϯϓϨ EC2 (࣌ؒՔ͗) •

    ϢʔβʹͰ͖Δ͚ͩૣ͘ΑΓ҆ఆͨ͠؀ڥͷఏڙ͢ΔͨΊ 2. EC2 ECS (EC2 Type) 3. ECS (EC2 Type) ECS (Fargate Type) • ͙͢ʹ͸Fargateʹ͠ͳ͔ͬͨཧ༝: • Fargateͷ஌ݟ͕গͳ͔ͬͨ • ౰࣌଍Γͳ͍ػೳ͕͋ͬͨΓɺߴ͔ͬͨΓʢ࠷ۙ൒ֹʹͳͬͨΓػೳ͕૿͑ͨΓʣ • λοϓϧϝϯόʔͷ஌ࣝΛਂΊΔͨΊʹ΋ɺֶ͋͑ͯशͷͨΊEC2ʹ • Fargateͱ͸ҟͳΓɺEC2Ͱ͸docker exec -it ͳͲͰίϯςφʹϩάΠϯͯ͠ௐࠪɺσόοά͕Ͱ͖Δ 38
  15. ۓٸEC2Ҡઃ: ࠷ऴ֬ೝͱ੾Γସ͑ • ߏஙͷཌ೔: QCɺϦάϨογϣϯςετɺෛՙࢼݧʹ߹֨ • ҰिؒΛ͔͚ͯঃʑʹϦΫΤετΛ৽͍͠؀ڥʹدͤΔ • tapple.me AϨίʔυΛALIASͰRoute

    53 Traffic Flowʹ޲͚Δ • ϓϥΠϕʔτΫϥ΢υLBͱAWS ALBͷׂ߹ΛweightͰ੍ޚ • Θ͔Γ΍͘͢͢ΔͨΊʹɺweightͷ߹ܭ͕100ʹͳΔΑ͏ʹઃఆ • ࣮ࡍͷΞΫηεϩάͰׂ߹Λ֬ೝ 42
  16. 43

  17. 44

  18. Route 53 Traffic Flowॴײ • weightͷมߋΛద༻͔ͯ͠Βɺ࣮ࡍͷϦΫΤετͷׂ߹͕มΘΔ·Ͱ ~ 5෼ • DNSΩϟογϡ͕มʹӨڹ͢Δ͜ͱͳ͘ɺ


    ࢦఆͨ͠weightͱ࣮ࡍͷΞΫηεͷׂ߹͸2%΄Ͳͷޡࠩ • Ϋϥ΢υҠઃϕετϓϥΫςΟε͗͢Δ… • KibanaͰϦΞϧλΠϜͰׂ߹͕มΘΔͷΛݟΔͷָ͍͠… 45
  19. ໨࣍ 1. αʔϏε֓ཁ 2. ྺ࢙తܦҢ ΦϯϓϨߏ੒ Ҡઃܭը Ҡઃ࣮ߦ 3. Re:

    ো֐͔Β࢝ΊΔۓٸҠઃੜ׆ 4. ͋Δ΂͖࢟΁ EC2 -> ECS (EC2 Type) ECS (EC2 Type) -> ECS (Fargate Type) 5. ॴײ 48
  20. Ҡઃޙͷߏ੒ v.3: ECS EC2 ԦಓͳECS EC2: • ALB • ECS

    Service (EC2 Type) ͨͩ͠ɺBatchܥ͸શ෦Fargate (ޙʹղઆ) • EC2 Auto-Scaling Group (ΫϥελͷόοΫΤϯυ) 49
  21. 50

  22. ECS EC2Ҡઃ: ECSΫϥελ • ECSόοΫΤϯυ͸ɺEC2 + Autoscaling Group • VanillaͳAmazon

    Linux (ECS-optimized) AMIͰىಈɺ
 user_dataͰͪΐͬͱͨ͠ॳظԽ͚࣮ͩߦ • εέʔϦϯάϝτϦοΫε͸ɺECS ClusterͷCPUReservationͷMaximum 51
  23. ECS EC2Ҡઃ: APIܥ • API༻αʔϏε͸EC2 Type • εέʔϦϯάϝτϦοΫε͸ɺECS ServiceͷCPUUtilizationͷMaximum •

    Dockerfile౳ɺΞϓϦΛίϯςφͰಈ͔ͨ͢Ίͷ΋ͷҰࣜ͸ɺ
 Kubernetesݕূͷͱ͖ͷ΋ͷΛྲྀ༻ • ϚΠΫϩαʔϏεʹ෼͚Δͱ͜Ζ͸Ұ୴΍Βͳ͍ ཧ༝ɿALBΛར༻͍ͯ͠ΔͨΊɺޙ͔Βಛఆͷύε͚ͩผͷαʔϏεʹϧʔςΟϯάͤ͞Δ
 ͜ͱ͕Մೳɺ͙͢΍Δඞཁ͕ͳ͍ 52
  24. ECS EC2Ҡઃ: όονܥ • όον༻αʔϏε͸Fargate Type • ݁ߏසൟʹ࣮ߦ͞ΕΔόον͕͋ͬͯɺ
 EC2Ͱಈ͔͢ͱASGͷΦʔτεέʔϦϯάͷઃܭ͕໘౗ͳ͜ͱʹͳΔ… όον༻ͷΫϥελΛ࡞ΔͱϦιʔε͕ແବʹͳΔ͠ɺ


    ࡞Βͳ͍ͱεέʔϦϯάΞΫγϣϯͷढ़හੑ… • CloudWatch Eventsͷcron͕ࣜͪΐͬͱಛघͳͨΊɺ
 طଘͷcronࣜΛͪΐͬͱ͍͡Δඞཁ͕͋ͬͨ • Baikonur OSS fargate-scheduled-task ϞδϡʔϧΛར༻ 53
  25. ECS EC2Ҡઃ: DB • MongoDBɺElasticsearch͸ʢ΄΅ʣͦͷ·· • EC2ɺϓϥΠϕʔτΫϥ΢υͰΠϯελϯε͝ͱʹىಈ͍ͤͯͨ͞
 mongos͸ɺઐ༻EC2 x 3୆ʹͨ͠

    • mongos͕ݱΕͨΓফ͑ͨΓ͢Δͱɺconfig DBʹ΋͏͍ͳ͍mongosͷ৘ใ͕ཷ·Δ • ͢Ͱʹ͍ͳ͍mongosʹmongoc͕ping͠Α͏ͱ͍ͯ͠Δʁ • ޙʹ૿ઃ͞Ε…ͦͯ͠·ͨ૿ઃ͞Εͨ… 54
  26. ECS EC2Ҡઃ: ϩάपΓ • Kubernetes༻ͷ΋ͷͱҰॹɺ૬৐Γfluentdίϯςφར༻ • ڞ༗volume͔Βtail aggregator Kinesis Lambda

    
 in-houseͳanalytics KinesisసૹϓϥάΠϯͱϩάʹର͢Δཁ݅ͷ౎߹Ͱ࠷ऴతʹfluentd aggregatorḉര஀ 55
  27. Step ScalingɺͩΔ͍Ͱ͠ΐʁ • ઃܭ͕ͩΔ͍͠೉͍͠ • ͦͯ͠ରࡦΛ͠ͳ͍ͱASG scale-in࣌ʹੜ͖͍ͯΔίϯςφ͕ࡴ͞ΕΔ • ରࡦ: EC2

    Auto-ScalingͰECS૊ΜͰ·͔͢ʁΤϥʔϨʔτߴ͍Ͱ͔͢ʁٹͬͯ͋͛ͯ΋͍͍Ͱ͔͢ʁ • ECS Cluster Auto Scalingͱ͍͏ਆػೳ͕Ͱͨʂ • ͍͍ײ͡ʹεέʔϦϯάͯ͘͠ΕΔɺStep Scaling͢Δඞཁͳ͠ • CPUɺϝϞϦɺENIͳͲɺ͍ͣΕ͔ҰͭͷΩϟύγςΟͷछྨͰ͸ͳ͘ɺ
 ্ཱ͍ͪ͛ͨTask͕࣮ࡍ্ཱͪ͛ΒΕΔͷ͔ͱ͍͏γϛϡϨʔγϣϯͰΩϟύෆ଍Λಛఆ • ىಈ͍ͯ͠Δίϯςφͷ͋ΔEC2Λࡴ͞ͳ͍ઃఆ΋Ͱ͖Δɺൿ఻ͷλϨͳ͠Ͱಈ͘ʂ • ౰࣌ͳ͔ͬͨͷͰͱͯ΋ͭΒ͔ͬͨɺECSͷதͷਓ·ͫ͋Γ͕ͱ❤ 58
  28. Step ScalingɺͩΔ͍Ͱ͠ΐʁ • ઃܭ͕ͩΔ͍͠೉͍͠ • Target Tracking Scaling (for ECS)ͱ͍͏΋ͷ͕ग़ͨ

    • ʮCPU࢖༻཰͕ฏۉͰ60%͙Β͍ʹͳΔΑ͏ʹͯ͠ɺϤϩʯͱ͍͏ઃఆ͚ͩͰ
 ͋ͱ͸ΑΖ͘͠΍ͬͯ͘ΕΔ • ౰੍࣌໿͕͋ͬͯಋೖ͕೉͔ͬͨ͠ • ࢖͑ΔϝτϦΫε͕ݶΒΕ͍ͯͨ…هԱ • ޙʹෛՙࢼݧ؀ڥͰࢼ͢΋ɺզʑͷϢʔεέʔεʹ߹Θͣ • Step Scaling͔Β͍·ͩʹಀ͛ΒΕ͍ͯͳ͍ 60
  29. ECS EC2Ҡઃ: ࠷ऴ֬ೝͱ੾Γସ͑ • ۓٸEC2ҠઃͱҰॹͩΑ • QCɺϦάϨογϣϯςετɺෛՙࢼݧʹ߹֨͢Δ·Ͱमਖ਼࣮ࢪ • ҰिؒΛ͔͚ͯঃʑʹϦΫΤετΛدͤΔ •

    tapple.me AϨίʔυΛALIASͰRoute 53 Traffic Flowʹ޲͚Δ • EC2؀ڥͷALBͱECS؀ڥͷALBͷׂ߹ΛweightͰ੍ޚ • Θ͔Γ΍͘͢͢ΔͨΊʹɺweightͷ߹ܭ͕100ʹͳΔΑ͏ʹઃఆ • ࣮ࡍͷΞΫηεϩάͰׂ߹Λ֬ೝ 62
  30. ໨࣍ 1. αʔϏε֓ཁ 2. ྺ࢙తܦҢ ΦϯϓϨߏ੒ Ҡઃܭը Ҡઃ࣮ߦ 3. Re:

    ো֐͔Β࢝ΊΔۓٸҠઃੜ׆ 4. ۓٸҠઃ͔Β͋Δ΂͖࢟΁ EC2 -> ECS (EC2 Type) ECS (EC2 Type) -> ECS (Fargate Type) 5. ॴײ 64
  31. Fargate! • ECS EC2Ҡઃ͔Β΄΅1೥͕ܦͬͨ • EC2ʹϩάΠϯͯ͠docker execͱ͔͢Δ͜ͱ͕΄΅ͳ͘ͳͬͯ ΞϓϦέʔγϣϯ΋ίϯςφʹదͨ͠ܗʹ͍͖ۙͮͯͨ • ϝϯόʔ΋ECSɺίϯςφΛ࢖ͬͨΞϓϦέʔγϣϯͷӡ༻ʹ׳Ε͖ͯͨ

    • ͦͯ͠ECS EC2ʹର͢Δෆຬ͕ཷ·͖ͬͯͨ • EC2 ASGͷεέʔϧΛ଴ͨͳ͚Ε͹ͳΒͳ͍ɺͦͷͨΊεέʔϦϯάɺσϓϩΠ͕஗͍ • Ωϟϯϖʔϯ౳Λ࣮ࢪ͢Δࡍʹscheduled scaling͕ඞཁɺͦͷϙϦγʔΛઃܭɾܭࢉ͢Δͷ͸େม • AMIߋ৽͢ΔͨͼʹASGͷEC2ΠϯελϯεΛస͕͢ͷ͕େม • Α͠ɺFargateԽ͠Α͏ʂ 66 ࢲ͸࠷ॳ͔Βɺ࠷ऴతʹFargateʹ͢Δͭ΋Γͩͬͨ
  32. 67

  33. Fargateͷίετʹؔͯ͠ • Ϧιʔείετ͸On-demand EC2 (RIͳͲͷׂҾͳ͠) ͱൺֱͯ͠
 Ή͠Ζ҆͘ͳΔ • EC2ͷόοΫΤϯυΠϯελϯεΛASGͱ͔Ͱ༻ҙ͢ΔࡍʹɺCPU/ϝϞϦͷۭ͖͕ৗʹ
 15-20%ʹͳΔΑ͏ʹ͍ͯ͠Δ͔Βʢεέʔϧͷढ़හੑʣ

    • ͦͯ͠൒ֹʹ஋Լ͛͞ΕͨΓͨ͠ • ͞ΒʹɺEC2ϨΠϠͷΦϖϨʔγϣϯɾ؅ཧίετ͕࡟ݮ • ηΩϡϦςΟύονɺDockerͷύον࡞ۀ͞Α͏ͳΒ • ͍҆͠ɺ͍͍͡ΌΜ 68
  34. FargateͷΠΠͱ͜Ζ • Firecrackerͷొ৔Ͱىಈ͕଎͘ͳͬͨ • ENIͷallocation͸ಛʹੲͱൺ΂ͯ଎͘ͳ͍ͬͯΔ • EC2ͷΩϟύ଴ͭඞཁͳ͍͠ɺىಈ΋଎͍ͷͰσϓϩΠɺ੾Γ໭͠ɺεέʔϦϯάͷߴ଎Խ • EC2Ͱͷ՝୊: bridge

    network͕஗͍͕ɺhostΛ࢖͏ͱϙʔτ͕େมͳ͜ͱʹ ͳΔ͔ΒawsvpcΛݕ౼͕ͨ͠ɺΠϯελϯελΠϓͱαΠζ͋ͨΓͷENI
 ෇༩্ݶ਺͕ͱͯ΋গͳ͍ • ࠷ۙENI TrunkingͰ؇࿨͞Ε͍ͯΔ͕ͦΕͰ΋଍Γͳ͔ͬͨ • FargateΛ࢖͏ͱ͖awsvpc͔͠࢖͑ͳ͍͕ɺͦΕͰ͍͍ • Docker Links࢖ͬͯΔϚφʔͷΑΖ͘͠ͳ͍Task͸ɺFargateԽ (+awsvpcԽ) Ͱͳͤ͘Δ 69
  35. ͍ͭͰʹ΍Δ͜ͱʹͳͬͨ͜ͱ • ͔ͤͬ͘ServiceɺALBΛ࡞Γ௚͔͢Β΍Γ͍ͨͳͱࢥͬͨ͜ͱ • ALB Least Outstanding RequestsΞϧΰϦζϜͷݕূ • Internal

    LB༻ͷtarget groupΛServiceʹඥ෇͚Δ • Internal/Global༻ͷTGΛҰͭͷServiceʹඥ෇͚ • લ͸ෳ਺TGͷඥ෇͚͕Ͱ͖ͳ͔ͬͨͨΊInternalઐ༻Service… 71
  36. εέʔϦϯάपΓͷௐ੔ • Datadog APMͷϨΠςϯγɺFargateͷCPU࢖༻཰͕ಉఔ౓ʹͳΔΑ͏ௐ੔ • APMͰͷEC2/Fargateͷ൑ผ͸DD_ENV • DatadogϝτϦΫε͸໊લۭؒ(docker.* vs ecs.*)ͱTask

    Family໊ • ϩά͸ɺplatform = {“ec2”, “fargate”} ͱ͍͏ϑΟʔϧυ௥Ճ ո͍͠ ո͍͠ چ؀ڥಉ༷ Ϥγʂ چ؀ڥϨΠςϯγ ৽؀ڥϨΠςϯγ 74
  37. λοϓϧͷΠϯϑϥपΓͷ͜Ε͔Β • Fargate SpotΛ࢖ͬͨover-provisioningͰٸͳεύΠΫʹରԠ • FireLens + KinesisͳϩάपΓ • FireLens΄Μͱ͍͢͝ΑɺϩάपΓͷ՝୊͸(container

    nativeͳܗͰ)େ఍ͳΜͱ͔ͳΔ • ͨͩ͠ɺloggingDriverࢦఆʹͳΔͷͰCloudWatch Logsʹ΋FireLensʹ΋ྲྀ͢ͷ͸೉͍͠ • ࠓޙ͜Ε͕վળ͞ΕΔ͜ͱΛفΓͳ͕ΒFeature Request౤͛ ʢͬ'-')‸ = ͟ ͟͞͞ŲƄőƃɹ • ΧελϜεέʔϦϯά • CPUͰ͸ͳ͘ΞΫηε਺ɺͳͲͰΠΠײ͡ͰŧŔŕŰƅźͳεέʔϥΛ࡞͍ͬͯΔ • ϝτϦΫεΛ଴ͨͣʹ1෼ະຬͷϦΫΤετมԽʹରԠ͠ϨΠςϯγΛ͞Βʹ҆ఆԽ • @pahudnet ͞ΜͷŧŔŕŰƅźεέʔϥΛࢀߟʹͭͭ͠ • ΧελϜσϓϩΠ Deployment Controller: EXTERNALͰTask Set APIΛ࢖ͬͨߴ౓ͳαϜγϯάΛ࡞͍ͬͯΔ 79
  38. ໨࣍ 1. αʔϏε֓ཁ 2. ྺ࢙తܦҢ ΦϯϓϨߏ੒ Ҡઃܭը Ҡઃ࣮ߦ 3. Re:

    ো֐͔Β࢝ΊΔۓٸҠઃੜ׆ 4. ۓٸҠઃ͔Β͋Δ΂͖࢟΁ EC2 -> ECS (EC2 Type) ECS (EC2 Type) -> ECS (Fargate Type) 5. ॴײ 80
  39. ॴײ • ॊೈͰ͋Ε • ౰ॳͷ໨తΛ๨ΕΔͳ • ϩʔυϚοϓΛҾ͘͜ͱ͕େࣄ • ເΛݟΔ͜ͱ͸ѱ͍͜ͱ͡Όͳ͍͕ɺ΍Δ΂͖͜ͱ͸͔ͬ͠Γɺ
 ॱ൪ʹ΍͍ͬͯ͘΂͠

    • Ϣʔβͷ͜ͱΛߟ͑ͳ͕ΒɺϢʔβମݧΛ࠷༏ઌʹͯ͠࢓ࣄʹऔΓ૊Ή΂͠ • ECS͸͍͍ͧʢAWS Managedͱͷ਌࿨ੑͱֶशۂઢʣ • Fargate͸͍͍ͧʢόοΫΤϯυͷ͜ͱΛ๨ΕͯαʔόϨεʹಀ͍͛ͨਓੜʣ 81