Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
某サービスのリニューアルでECSを導入したよもやま話
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Tomohiro MITSUMUNE
May 22, 2018
Technology
3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
某サービスのリニューアルでECSを導入したよもやま話
Healthtech Meetup vol.1で発表したスライド
Tomohiro MITSUMUNE
May 22, 2018
More Decks by Tomohiro MITSUMUNE
See All by Tomohiro MITSUMUNE
Swift2 New Features
tmitz
0
140
5分でわかるAdequateRecord
tmitz
1
480
Other Decks in Technology
See All in Technology
連合学習と機密コンピューティング
lycorptech_jp
PRO
0
110
Claude Codeをどのように キャッチアップしているか
oikon48
12
7.7k
失敗を経て、Harness Engineering で 大切にしたいことを考える / Learning from Failure: What Matters in Harness Engineering
bitkey
PRO
1
360
気づかぬうちにセキュリティ負債を生むAPIキー運用
sgwrmctk
0
120
Socrates × Looker 〜セマンティックレイヤーで進化するデータ分析エージェント〜
hanon52_
3
2.3k
【セミナー資料】Claude Code をセキュアに使うための考え方と設定の勘どころ / Claude Code Webinar 20260616
masahirokawahara
1
160
AIネイティブな開発のサプライチェーンリスク対策 〜激動の開発現場でリスクに立ち向かう〜【ZennFes】
cscengineer
PRO
2
120
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.9k
2026TECHFRESH畢業分享會 - 葬送的通靈師:化系統與用戶雜訊成行動訊號
line_developers_tw
PRO
0
960
EventBridge Connection
_kensh
5
710
How Timee Delivers Day 1 Production Ready LLM Features
tomoyks
0
200
MUSUBI 田中裕一『AIと共に行う「しごとのリデザイン」- スモールバックオフィス編』AI Ops Lab #4
musubi
0
120
Featured
See All Featured
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
430
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
310
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
380
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
200
Visualization
eitanlees
152
17k
Why Our Code Smells
bkeepers
PRO
340
58k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Claude Code のすすめ
schroneko
67
230k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
580
Transcript
αʔϏεͷϦχϡʔΞϧͰ ECSΛಋೖͨ͠Α· Healthtech Meetup vol.1 2018/05/22 גࣜձࣾΤεɾΤϜɾΤεɹޫफ๎
ࣗݾհ • ໊લ: ޫफ ๎ (@t_mitz ) • ձࣾ: גࣜձࣾΤεɾΤϜɾΤε
ϓϩμΫτ։ ൃ෦ ٕज़ਪਐάϧʔϓ • (ϔϧεέΞΆ͍)झຯɿϚϥιϯ ! • ߦಈม༰εςʔδϞσϧҡ࣋ظ
None
גࣜձࣾΤεɾΤϜɾΤε • IT x ҩྍɾհޢɾϔϧε έΞྖҬͷύΠΦχΞ اۀ • ߴྸࣾձΛऔΓר͘ਓʑ ͕ΠΩΠΩͱੜ׆Ͱ͖
ΔΠϯϑϥͷߏங
None
͡ΊΔલʹ
࣮·ͩಋೖऴΘͬͯ·ͤΜ" • հޢαʔϏεͷΞϓϦέʔγϣϯͷվमͱฒ ߦͯ͠ECSͷߏஙΛ͢͢Ί͍ͯΔ • ຊ൪ӡ༻։࢝·Ͱʹ༻ҙ͓͚ͯ͠Α͍Օॴʹ ͍ͭͯ·ͩະணखʢAWSͷίετ੍ͳͲʣ • ࢼߦࡨޡ͍ͯͨ͠ͱ͜ΖΛੜԹ͔͍Ͱ͝ཡ͍ ͚ͨͩΔͱ͍Ͱ͢
ࠓͷΞδΣϯμ • ECSΛ࠾༻ͨ͠ཧ༝ • ߏʹ͍ͭͯ • Α·
ECSΛ࠾༻ͨ͠ཧ༝
࠾༻ཧ༝ • ϩʔΧϧڥʹDockerಋೖࡁΈͩͬͨͷͰຊ൪ ڥͰಉ͡ͷΛಈ͔ͯ͠ݕূ͍ͨ͠ • ࣗલͰίϯςφͷΦʔέετϨʔγϣϯΛඋ͢ Δͷίετ͕ߴ͍ͷͰطଘͷιϦϡʔγϣϯΛ ͍͔ͨͬͨ • ΦϯϓϨ͔ΒύϒϦοΫΫϥυҠߦͷλΠϛ
ϯάͰΞʔΩςΫνϟΛݟͤΔλΠϛϯά
Google Kubernetes Engine ? • GKEͩͱIAM͕AWS΄Ͳࡉ੍͔͘ޚͰ͖ͳ ͍ʢ࣌ʣͷͰཁ݅ΛຬͨͤΒΕͳ͔ͬͨ • ࣾͷผαʔϏε͕ઌͩͬͯAWSҠߦ͠ ͨͱ͍͏എܠ͕͋ΓɺࣾͷφϨοδ͕ஷ
·Γ͍͢Α͏ʹAWSΛબఆ
Kubernetes on AWS ? • kube-aws ͔ kops Λར༻ͯࣗ͠લͰΫϥελ Λߏங͢Δඞཁ͕͋Γॳظֶशίετߴ͍
• ࣗ1ਓͰͬͯͨͷͰͱΓ͋͑ͣαΫοͱಈ ͔ͤΔڥΛ४උ͢Δඞཁ͕͋ͬͨ • ͳΔ͘ϑϧϚωʔδυʹد͔ͤͨͬͨ
ߏ
None
CircleCI • ࠓςετͷ࣮ߦͷΈΛ͍ͬͯ·͢ • গ͠લ·ͰίίͰdocker imageΛbuild & pushͯ͠·ͨ͠ • CIʹ͔͔࣌ؒΓ͗͢ͰPRͷϚʔδʹӨڹ͋Δ
CodePipeline • CodePipelineΛར༻ͯ͠GithubͷϒϥϯνΛ ࢹͯ͠ߋ৽͕͋ΔͱECSσϓϩΠ • CodebuildͰdocker image build ͯ͠ECR push
• CodePipelineͷdeployͰECSσϓϩΠ
Deploy to ECS • Ҏલecs-deployΛ͍͕ͬͯͨɺ CodePipelineΛ͏ํ͕ߏ͕γϯϓϧʹ ͳͬͯϝϯςφϯε͍͢͠ͷͰ࠾༻ • hakoݕ౼ͯ͠Έ্͕ͨهಉ༷ʹ CodePipelineͷํ͕γϯϓϧͩͬͨ
Logging • ී௨ʹ awslogs driver Ͱ CloudWatch Logsʹ ऩूͯ͠·͢ •
ϩάΛݟΔɺͱ͍͏ࣄʹؔͯ͠ࠔ͍ͬͯ· ͤΜʢCloudWatch LogsͰ୳͠ʹ͍͘ͱ͍͏ ͷஔ͍ͱ͍ͯ
ECS • 1αʔϏε1λεΫఆٛ • 1λεΫʹ3ͭͷίϯςφΛఆٛ • h2o • rails •
shoryuken
None
Α·
ఆظతͳόονॲཧ • CloudWatch EventsΛར༻ • ࣌ؒʹΑΔఆظ࣮ߦͰ͖Δ͠ɺAWSίϯ ϙʔωϯτͷΠϕϯτhookͰ͖ͯΜΓ • ECSͷλεΫఆٛΛ༻ҙͯ͠call͢ΕOK
ߏཧ • ߏཧͯ͢CloudFormation • ChangeSets͕ΜΓ • IAMͰͷݖݶཧ͕ڧྗ • awscliʹৄ͘͠ͳΕ·͢
Terraform ʹ͠ͳ͔ͬͨཧ༝ • ϚϧνΫϥυʹ͢Δඞཁੑ͕ࠓͷͱ͜Ζͳ͔ͬͨ • HCLಡΈ͍͕͢ಠࣗDSLͬͯॴ͕ΠϚΠν • ෳਓͰߏཧ͢Δͱ͖tfstateཧΛؾʹͨ͘͠ ͳ͔ͬͨ •
࣮ߦޙʹίέͨͱ͖ͷϦΧόϦ͕cfnΑΓίετߴ
AWS::Cloudformation::Stack • AWSίϯϙʔωϯτ͝ͱʹstackϑΝΠϧΛఆ ٛͯ͠ɺͦΕΒΛϦιʔεͱͯ͠ωετͯ͠ ཧͰ͖Δͭ • খ͍͞୯ҐͰςϯϓϨʔτΛ࡞͓͚ͬͯ Έ߹ΘͤͯߏΛม͑ΒΕΔͷͰΜΓ
ൿಗใ • SSM::Parameter StoreΛར༻ • ΞϓϦʹ͢ڥม͜͜Ͱཧ • Ҏલyaml_vaultΛͬͯΞϓϦέʔγϣϯ ʹ͍͚࣋ͨͤͯͨͲɺͪ͜Βͷํ͕γϯϓϧ •
AWS Secrets Manager͜Ε͔Βݕ౼
AutoScaling • EC2 AutoScaling • CPUReservation • ECS Service AutoScaling
• ·ͩຊ൪ӡ༻Λ։͍࢝ͯ͠ͳ͍ͷͰະઃఆ • EC2ͱECSͷAutoScaling͕ผϨΠϠͰಈ͘ͷͰΠϯε λϯε૿ݮ࣌ʹλεΫͷஔΛߟྀ͠ͳ͍ͱ͍͚ͳ͍
CPUͱReservedMemory • ECSͰΊΜͲ͍͘͞ͷ͕Clusterʹඥ͚ͨEC2ͷϦιʔ εΛTaskDefinitionͰΛܭࢉ͢Δඞཁ͕͋Δ͜ͱ • σϓϩΠ࣌ɺMaxMaximumPercent & MinimumHealthyPercent ߟྀͨ͠ʹ͓͔ͯ͠ͳ ͍ͱࠔΔ͕ීஈϦιʔε͕एׯ༨͍ͬͯΔײʹͳΔ…
• ༻్ʹΑͬͯFargate͕౦ژʹ͘Δͱղܾ
·ͱΊ
·ͱΊ • CloudformationͦΜͳʹѱ͘ͳ͍ͷͰAWSͷ ΈͰด͡ΔߏͳΒ͏ͷΞϦͰ͢ • ECSEC2ϨΠϠͱίϯςφϨΠϠͷཧ͕গ ͠ʹͳΔͷͰ͕ඞཁ • Code*γϦʔζੲΑΓ͜ͳΕ͍ͯΔͷͰ͏ ͱΜΓͳγʔϯ͕ଟΊͰ͢
ΤϯδχΞืूͯ͠·͢ʂ ৄ͘͠Wantedlyͷืूͷ֓ཁΛ