Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
スキマ時間でもコードが書きたい
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
tututen
October 19, 2019
Technology
1.6k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
スキマ時間でもコードが書きたい
Spoke by Developers.IO 2019 in Sapporo.
tututen
October 19, 2019
More Decks by tututen
See All by tututen
今いるチームの紹介
tututen
0
250
Pythonを使ってターミナル上でアニメーションを動かそう
tututen
0
2.6k
Jupyterを触ろう
tututen
0
360
Other Decks in Technology
See All in Technology
USB PDを使ってスマホを労わりたい
raspython3
0
180
古い指輪から広がった JAVA コミュニティ とのつながり
yamad
0
130
[JAWS-UG彩の国埼玉#12]そろそろ準備する?re:Invent2026をやさしく解説 / reinvent2026-sainokuni
sh_fk2
1
350
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
5
1.2k
Benchmarking Disaggregated Serving on vLLM + Dynamo with a Real Coding-Agent Workload
nttcom
1
200
Running Kotlin + Quarkus with Lambda
nealle
1
3.9k
hackers_champloo_2026_tidb
makocchi
0
170
AIにシークレットを見せない、WSL2で安全な開発環境
yazm
0
310
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
1k
WasmをRustにする
sansantech
PRO
0
260
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
180
スプシの手作業からの解脱 ~更新はClaude Codeに、見せ方と使い方はGASアプリに任せる~
kentarofujii
0
160
Featured
See All Featured
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
520
Designing Experiences People Love
moore
143
24k
First, design no harm
axbom
PRO
2
1.3k
From π to Pie charts
rasagy
1
400
Prompt Engineering for Job Search
mfonobong
0
520
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
540
Deep Space Network (abreviated)
tonyrice
0
370
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Agile that works and the tools we love
rasmusluckow
331
22k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Transcript
εΩϚ࣌ؒͰίʔυ͕ॻ͖͍ͨ ࣄۀ։ൃ෦ɹ։ൃνʔϜ ొஃऀԣࢁจਓ
ࣗݾհ
ࣗݾհ wԣࢁจਓ !UVUVUFO wࣄۀ։ൃ෦։ൃνʔϜ w&$ɺ$3.͚ͷ CBDLFOENJDSPTFSWJDFT w+"7"ϓϩάϥϚ w͖ͳ৯αʔϞϯʂ
w࠷ۙڕհྨͷෆړͷχϡʔε͕ʜ
࠷ۙίʔυॻ͍ͯΔํʁ
ίʔυΛॻ͘ͷ͕͓ࣄͷํʁ
࠷ۙϓϩμΫτίʔυॻ͍ͯΔํʁ
࠷ۙͷ͓ࣄ wաڈ࡞ͨ͠αʔϏεͷҾ͖ܧ͗ࢿྉ࡞ wϚΠΫϩαʔϏεຊ൪Ξοϓσʔτ࡞ۀखॱॻ࡞ wϚΠΫϩαʔϏεʹରͯ͠ͷෛՙࢼݧ wϦϦʔε࡞ۀʢ࣋ͪճΓ੍ʣ wۃكʹCVHpY
จॻΛͨͨ͠ΊΔ͓ࣄଟΊ +BWBΛॻ͓͘ࣄ͕΄΅ͳ͠
࠷ۙͷ͓ࣄ wաڈ࡞ͨ͠αʔϏεͷҾ͖ܧ͗ࢿྉ࡞ wϚΠΫϩαʔϏεຊ൪Ξοϓσʔτ࡞ۀखॱॻ࡞ wϚΠΫϩαʔϏεʹରͯ͠ͷෛՙࢼݧ wϦϦʔε࡞ۀʢ࣋ͪճΓ੍ʣ wۃكʹCVHpY
\จॻ +BWB^Λॻ͘ࣄҎ֎
ຊൃදͷ͍ͭͯ wຊൃදొஃऀͷࠓ͋Δٕज़͔Β೧ग़ͨ͠ղ๏ wࠓճ͢༰ɺʮ࠷దղʯͰܾͯ͠ແ͍ wʮͬͱ͍͍ํ๏͕͋ΔΑʂʯͬͯͱ͖ϋογϡλάΛͭ ͚ͯπΠʔτ͍ͯͩ͘͠͞ʂʂʢݟ·͢ɺ࣌ʹฉ͖·͢ʣ
հࣄྫ w$BTFσʔλೖܦաΛݟ͍ͨ w$BTF&$4ͷλεΫͷࢮҼ͕͠Γ͍ͨ w$BTF*TTVFͷͬͯΔNJMFTUPOFΛ֬ೝ͍ͨ͠
Case 1 σʔλೖܦաΛݟ͍ͨ
$BTFσʔλೖܦաΛݟ͍ͨ wఆͨ݅͠Λ࿙Εͳ͘ొͰ͖Δ͔ͷ֬ೝ wೖ·Ͱͷ࣌ؒΛࢀߟͱͯ͠ܭଌ͍ͨ͠ w%#ͱ&4ͱͷԆ͕͋ΔͳΒଌఆ͍ͨ͠ wσʔλೖͷεϧʔϓοτ͕ೖ࠷தʹམͪͳ͍͔ɺͬ͘͟ Γ֬ೝ͍ͨ͠ wંΕઢάϥϑͰ֬ೝ͍ͨ͠ʂ
ߏਤ
ߏਤ DBͱESͷ͕݅ Ұக͢Δ͔ͷ֬ೝ
ίʔυͰΔ͜ͱɾΒͳ͍͜ͱ wCBTIͰఆظతʹ%#ͱ&4ΛQPMMJOH͢Δ wඵຖʹऔಘ͍ͨ͠ɻ͔͠͠ɺ݅૿͑Δ͝ͱʹ݅औಘ࣌ ʹ%#ɼ&4ڞʹԆ͕େ͖͘ͳΓɺඵຖ͔ΒͣΕΔɻ ΏΔ͘ʮTMFFQʯͰQPMMJOH͢ΔʹͱͲΊ͓ͯ͘ wશࣗಈԽΛࢦ͢Θ͚Ͱແ͍ͷͰɺ άϥϑΛ࡞ΔͷίʔυͰؤுΒͳ͍ wUTWͰϑΝΠϧʹॻ͖ग़ͤ(PPHMF4QSFBETIFFUͰάϥϑ Λ࡞Δ͜ͱ͕Ͱ͖Δ
EBUFίϚϯυͰ+45औಘ $ date +"%Y/%m/%d %H:%M:%S %Z" 2019/09/xx 02:44:38 UTC
$ TZ=JST-9 date +"%Y/%m/%d %H:%M:%S %Z" 2019/09/xx 11:44:54 JST w&$ͷλΠϜκʔϯΛมߋͤͣʹEBUFίϚϯυΛ+45Ͱ ֬ೝ͢ΔখٕEBUFίϚϯυͷ಄ʹҎԼΛ͚ͭΔ 5;+45PS5;"TJB5PLZP
%#ɺ&4ͷDPVOUΛऔಘ͢Δ 1 # DB 2 DB_COUNT=$(mysql -uroot -p${PASSWD} \
3 -h${AURORA_ENDPOINT} ${DB_NAME} \ 4 -N -e 'select count(*) from '${TABLE_NAME}) 5 6 # ES 7 ES_COUNT=$(curl -s -H"Content-Type:application/json" \ 8 "http://${ES_ENDPOINT}:9200/${ES_INDEX_NAME}/_search" \ 9 -XPOST -d'{}' | jq '.hits.total') 10
ඵ͓͖ʹQPMMJOH͢Δ 1 LOG_NAME=count.log 2 if [ -f ${LOG_NAME} ];
then 3 rm ${LOG_NAME} 4 fi 5 6 while :; do 7 8 # ͜͜ʹDBͱESͷcountΛऔಘ͢ΔॲཧΛೖΕΔ 9 10 printf "%s\t%s\t%s\n" \ 11 "$(TZ=JST-9 date +'%m/%d %H:%M:%S JST')" \ 12 "${DB_COUNT}" "${ES_COUNT}" | tee -a ${LOG_NAME} 13 sleep 5 14 done
࣮ߦ݁ՌʢTBNQMFʣ 09/xx 02:09:12 JST 14492481 7606726 09/xx 02:09:21 JST
14498630 7610508 09/xx 02:09:30 JST 14504525 7611873 09/xx 02:09:39 JST 14510488 7615665 09/xx 02:09:49 JST 14516415 7618484 09/xx 02:09:58 JST 14522609 7620923 09/xx 02:10:07 JST 14528732 7624223 09/xx 02:10:16 JST 14535006 7627025 09/xx 02:10:26 JST 14541305 7630306 09/xx 02:10:35 JST 14547499 7633213
࣮ߦ݁ՌʢTBNQMFʣ 09/xx 02:09:12 JST 14492481 7606726 09/xx 02:09:21 JST
14498630 7610508 09/xx 02:09:30 JST 14504525 7611873 09/xx 02:09:39 JST 14510488 7615665 09/xx 02:09:49 JST 14516415 7618484 09/xx 02:09:58 JST 14522609 7620923 09/xx 02:10:07 JST 14528732 7624223 09/xx 02:10:16 JST 14535006 7627025 09/xx 02:10:26 JST 14541305 7630306 09/xx 02:10:35 JST 14547499 7633213
࣮ߦ݁ՌʢTBNQMFʣ 09/xx 02:09:12 JST 14492481 7606726 09/xx 02:09:21 JST
14498630 7610508 09/xx 02:09:30 JST 14504525 7611873 09/xx 02:09:39 JST 14510488 7615665 09/xx 02:09:49 JST 14516415 7618484 09/xx 02:09:58 JST 14522609 7620923 09/xx 02:10:07 JST 14528732 7624223 09/xx 02:10:16 JST 14535006 7627025 09/xx 02:10:26 JST 14541305 7630306 09/xx 02:10:35 JST 14547499 7633213 σʔλͷಉظ͕શମతʹԆ͕େ͖͘ɺ ऴ൫&4ͷσʔλ͕ߥͿ͍ͬͯΔͷͰɺ &4ଆʹͳΜΒ͔ͷݪҼ͕͋Γͦ͏ ͬͯͷ͕ਪଌͰ͖ͨΓ͠·͢
࡞ͬͯΈͯ w&4ͷΠϯελϯελΠϓͰͷੑೳҧ͍ͰೖԆʹݟ͑ͯ ௐ͔ͬͨ͢͠ wදܭࢉΞϓϦͷάϥϑ࿑ͤͣݟ͍͢ wσʔλྔ͕૿͑ͯདྷΔͱඵຖʹͳΒͳ͍ wEBUFίϚϯυͷ5;͔Βྡྷ
Case 2 ECSͷλεΫͷࢮҼ͕Γ͍ͨ
$BTF&$4ͷλεΫͷࢮҼ͕͠Γ͍ͨ w&$4Ͱಈ͍ͯΔ&41045͢ΔαʔϏεͷλεΫ͕େྔʹࢮ͵ wதʹ࣌ؒෛՙݕূ͍ͯ͠ΔͨΊɺλεΫͷ4501ใ͕ ".$্͔Βফ͍͑ͯΔ wˢIܦա͢Δͱফ͍͑ͯΔ wʮݕূ͍ͨ݁͠Ռʯ͕ग़ͳ͍ݪҼ͕Θ͔Βͳ͍ͷͰɺௐࠪ͠ͳ ͍Θ͚ʹ͍͔ͳ͍ wத࣌ؒΓ͍ͭͯࢹͨ͘͠ͳ͍ʢ༡ͼ͍ͨʣ
ߏਤ ͜ͷαʔϏεͷλεΫ͕ Α͘མͪΔ
λεΫͷ4501ใ ݱࡏʣ ఀࢭݪҼͷใ͕1࣌ؒܦͭͱ ফ͑ͯɺ͑ͳ͘ͳΔ
ίʔυͰΔ͜ͱɾΒͳ͍͜ͱ wఆظ࣮ߦͷબࢶ৭ʑ͋ΔͩΖ͏͚Ͳɺख࣋ͪͷثͰҰ ൪ѻ͍͍҆"84-BNCEBʢ1ZUIPOʣ "NB[PO $MPVE8BUDI&WFOUT Ҏ߱$8&WFOUT w&YJUͨ͠λεΫͷϑΝΠϧϨετΞͰ͖ͨΒ͋ͱ͋ͱௐ ͍͚ࠪ͢͠ΕͲɺख࡞ۀ͔ͭͬͯͨΒͷӡ༻Ͱ
wϝʔϧݸਓతʹຒΕͤ͞Δࣗ৴͕͋ΔͷͰɺࣾνϟο τɺࠓճ4MBDL௨ͯ͠ϩάΛ͢ ※ड৴τϨΠͷΠϝʔδը૾Ͱ͢→
"84-BNCEBͬͯ௨͠Α͏ w"84$-*Ͱӈͷใ͕औΕΔ͔֬ೝ wMJTUUBTLT͔Β4UPQͨ͠UBTL"SOΛऔಘ wEFTDSJCFUBTLT͔Β4UPQͨ͠ใΛҾ͖ग़ͤΔͷΛ֬ೝ w"84$-*ͰͰ͖Δ͜ͱCPUPͰͰ͖Δ͜ͱ w௨*ODPNJOH8FCIPPLTΛ͍4MBDL wIͰফ͑ΔͳΒ͝ͱ$8&WFOUTͰఆظ࣮ߦ͠ɺલճ࣮ ߦ͠௨͓͑ͨ͠UBTL"SOΛ4ʹอଘ
"84$-*CPUP aws ecs list-tasks \ --cluster ${CLUSTER_NAME} \ --service-name
${SERVICE_NAME} \ --desired-status "STOPPED" ecs = boto3.client("ecs") resp = ecs.list_tasks( cluster=CLUSTER_NAME, serviceName=SERVICE_NAME, desiredStatus="STOPPED") wTVCDPNNBOEΛTOBLF DBTFʹมͨ͠ϝιου ໊ʹͳͬͯΔ wύϥϝʔλ໊ΛDBNFM DBTFʹมͨ͠Ҿʹ ͳ͍ͬͯΔ wSFTQʹKTPO͔ΒQZUIPO ͷEJDUMJTUʹม͞Ε ͨσʔλ͕ฦͬͯ͘Δ
࣮ߦ݁Ռ
࣮ߦ݁Ռ 4MBDLʹϩά͕ΔͷͰɺͲ͏ͯ͠λεΫ͕ࢮΜ͔ͩͲ͏͔͕Θ͔Δɻ ͜ΕΒͷใΛݩʹ࣍ճҎ߱ͷෛՙࢼݧͰىಈύϥϝʔλλεΫͷϝϞϦྔΛ ௐͨ͠ΓɺDPOUBJOFS*OTUBODF"SOΑΓDPSFEVNQΛճऩͰ͖ͨΓͨ͠ɻ
࡞ͬͯΈͯ wࢮΜͩλεΫͷௐ͕͍ࠪͩͿָʹͳͬͨ wಋೖલλεΫ͕ࢮΜͩ͜ͱʹؾ͍ͮͨͱ͖ʹ౿Έ͔Β &$4ͷϗετΠϯελϯεݸʹରͯ͠ɺ44)ϦϞʔτί ϚϯυΛୟ͍ͯϗετΛ୳ͨ͠ wಛఆͷαʔϏε͚ʹ࡞ͬͨͱ͜Ζɺ্ͷਓ͔ΒʮશαʔϏ ε༻ͷཉ͍͠ʯͱ͍͏͕Ͱͨ ʢ࣌ؒΛݟ͚ͭͯରԠ͍ͨ͠ͳʔʣ
Case 3 IssueͷͬͯΔmilestoneΛ֬ೝ͍ͨ͠
$BTF*TTVFͷͬͯΔNJMFTUPOFΛ֬ೝ͍ͨ͠ wຖिϦϦʔε࡞ۀ͕͋Δ w୲࣋ͪճΓɺೋਓͰ࡞ۀ͢Δ w࡞ۀͷதʹݸ͋ΔϦϙδτϦͷNJMFTUPOFΛ֬ೝ͠ɺ ͬͨ*TTVFΛҠಈ͠ɺNJMFTUPOFΛDMPTF͢Δ࡞ۀ͕͋Δ wʮ͑ɺͳʹͦΕ໘͍͘͞ɻ͏ͪͷ൪͕དྷΔલʹͬͯΔ NJMFTUPOF͚ͩݟΕ͍͍Α͏ʹ͍ͨ͠ʯ
ίʔυͰΔ͜ͱɾΒͳ͍͜ͱ w࠷ॳCBTIͷGPS PQFOίϚϯυͬͯϒϥβʹશ෦දࣔͯ͠ HSFQͯ͠୳ͦ͏ˠݸͷλϒΑΖ͘͠ͳ͍ w"84-BNCEB (JU)VC"1*WΛ͍ɺ֤ϦϙδτϦͷNJMFTUPOF ͱɺNJMFTUPOFʹͬͯΔ*TTVF13Λऔಘ wผͷCPUͷίʔυʢOPU࡞ऀʣ͕͋ΔͷͰೝূ෦ྲྀ༻ w͜ΕΒͷใΛ4MBDLʹ௨
w*ODPNJOH8FCIPPLTͷ63-$BTFͷΛྲྀ༻ wNJMFTUPOFʹ͍ͬͯΔ*TTVFͷҠಈɺNJMFTUPOFΛด͡Δॲཧ࣮͠ ͳ͍ʢʹ֬ೝϦϦʔε୲ऀ͕Δʣʢཧ༝ޙड़ʣ
ߏਤ w࣌Ͱಈ͔͢ͷͰ$8&WFOUT Ͱ࣮ߦ wखಈͰ࣮ߦ͍ͨ͠ཁʹԠ͑ TMBTIDPNNBOE "1* (BUFXBZͷ࿈ܞʢޙՃʣ wJDPOΛมߋͰ͖Δ͜ͱΛ͍͍ ͜ͱʹ̍MBNCEBෳͯ͠Δ
࣮ߦ݁Ռ
࣮ߦ݁Ռ ϦϦʔε*TTVF13ͷ "TTJOFFͷਓʹϦϓϥΠ͕ͭ͘Α
࣮ߦ݁Ռ ϦϦʔεNJMFTUPOFͷDMPTF ʹ͍ͭͯ֬ೝ͢ΔΑ
࡞ͬͯΈͯ wධ͕Α͔ͬͨ͠ɺࣗͰͬͯΈͯͱͯศརͩͬͨ wࣗͷϦϦʔεલʹཉ͍͠ػೳ͕Ͱ͖ͯͯͦͷͷ͏ͪʹ࣮ͨ͠Γ wࣗಈͰTFNWFS͚ͭΔػೳͱ͔ߦ͚ͦ͏ͩΑͶɺͱ͍͏ໝ͕͔ͲͬͨΓ w·͊ɺ՝ͨ͘͞Μ w༵Ҏ֎ʹϦϦʔε͕ൃੜ͢Δͱ৭ʑͱ่յ͢Δ wॲཧతʹʮ*TTVFʢ13ʣΛ࣍ͷNJMFTUPOFҠಈ͢Δʯͱ͍͏ॲཧ࣮ ͨ͠Γ͢Δ͕ɺۦ͚ࠐΈ*TTVFΛݟಀ͢Մೳੑ͕͋ͬͨͷͰɺॲཧʹΈ ࠐΜͰ͍ͳ͍
ۦ͚ࠐΈ͓ئ͍ʢ*TTVFʣ ΊΑ͏ʂ
·ͱΊ
·ͱΊ wෛՙࢼݧͷதʹίʔυॻ͚Δͱ͜ΖʢTIFMMɺCPUʣ͕ͨ ͘͞Μ͋Δ wશࣗಈԽޙʑָ͕͔͚ͩͲɺൃల్্ͰΓ͗͢Δͱ ӡ༻ʹࢧো͕ͰΔ͔ʁʹ΄Ͳ΄Ͳ͕େࣄ wίϐϖͩΖ͏͕ͳΜͩΖ͏ָ͕Λ͢Δ w࡞Εͦ͏ͳΒαΫοͱ࡞ͬͯΈΔ wҊ֎େͨ͠࡞ۀ͡Όͳͯ͘ଞͷਓʹ͞ΔՄೳੑ͕͋Δ
None