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
コンテナ技術とコンテナオーケストレーション入門
Search
tarosaiba
December 25, 2018
Technology
0
810
コンテナ技術とコンテナオーケストレーション入門
【初心者向けにコンテナ技術を解説します】
1. コンテナとは?
2. コンテナオーケストレーションとは?
3. これからのアプリケーション開発 & デプロイ & 運用 方法
tarosaiba
December 25, 2018
Tweet
Share
More Decks by tarosaiba
See All by tarosaiba
合格対策 GOOGLE CLOUD CERTIFIED Professional Cloud Architect 編
tarosaiba
2
570
kube-system落としてみました
tarosaiba
8
2.8k
コンテナ技術とコンテナオーケストレーション 入門_改訂版
tarosaiba
0
540
ElasticContainerServicesハンズオン
tarosaiba
0
110
Other Decks in Technology
See All in Technology
製造現場のデジタル化における課題とPLC Data to Cloudによる新しいアプローチ
hamadakoji
0
210
信頼性に挑む中で拡張できる・得られる1人のスキルセットとは?
ken5scal
1
420
今、始める、第一歩。 / Your first step
yahonda
2
680
マイベストのデータ基盤の現在と未来 / mybest-data-infra-asis-tobe
mybestinc
2
1.9k
Microsoft Fabric OneLake の実体について
ryomaru0825
0
200
DatabricksにおけるLLMOpsのベストプラクティス
taka_aki
4
1.6k
freeeのモバイルエンジニアについて
freee
1
100
Intuneお役立ちツールのご紹介
sukank
3
750
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
0
370
第23回Ques_タイミーにおけるQAチームの在り方 / QA Team in Timee
takeyaqa
0
190
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
190
Datachain会社紹介資料(2024年11月) / Company Deck
datachain
4
17k
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.2k
BBQ
matthewcrist
85
9.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
Ruby is Unlike a Banana
tanoku
96
11k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
400
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
32
1.8k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Transcript
ίϯςφٕज़ͱ ίϯςφΦʔέετϨʔγϣϯೖ 4IVOUBSP4BJCB ͜Ε͔ΒͷΞϓϦέʔγϣϯσϓϩΠ͕มΘΔ 1
@tarosaiba ˔ 'VUVSF"SDIJUFDU *OD ˔ 5*(ॴଐ ˔ *OGSB.8$*पΓ͖ͬͯ·ͨ͠ ˔ "84($1
˔ *OGSBTUSVDUVSFBT$PEFͷಋೖ͕ಘҙ ʲ໌ͷ։ൃΧϯϑΝϨϯεొஃʳ ਆ&YDFMखॱॻϕʔεͷӡ༻͔Β"OTJCMFͰͷࣗಈԽ IUUQXXXBUNBSLJUDPKQBJUBSUJDMFTOFXT@IUNM 4IVOUBSP4BJCB 2
3 ࢲͷ͍··Ͱ エンプラ⼩売り & AWS エンプラ⾦融 & オンプレ エンプラ⼩売り &
GCP エンプラ⼩売り & AWS
4 ࢲͷ͍··Ͱ エンプラ⼩売り & AWS エンプラ⾦融 & オンプレ エンプラ⼩売り &
GCP エンプラ⼩売り & AWS ຊ൪ڥͰίϯςφ ӡ༻Λܦݧ
ఆಡऀ ˔ ࠷ۙɺʮίϯςφʯΑ͘ฉ͚͘ͲɺԿͦΕʁԿ͕ศརͳͷʁ ˔ ίϯςφ͕ศརͳͷͬͯΔ͚ͲɺͲ͏ͬͯ͑Α͍ͷʁ ˔ ʮ,VCFSOFUFTʯʮ&$4ʯͬͯԿ ˔ ͜Ε͔ΒͷγεςϜߏஙɺΞϓϦσϓϩΠͲ͏มΘ͍ͬͯ͘ͷʁ
5 ࠓجຊ͕Θ͔ͬͯɺେମ ͷ Πϝʔδ͕༙͚ྑ͍Ͱ͢
6 ͜ͷߨٛͷഎܠ
7 ίϯςφɹɹΩςϚε
8
9 ͔ͳΓΓ্͕͍ͬͯΔ ͱࢥ͍·͢
10 Kubernetes is infrastructure for next generation applications, PaaS and
more. –Brendan Burns, Partner Architect, at Microsoft and co-founder of Kubernetes
11 Kubernetes is infrastructure for next generation applications, PaaS and
more. –Brendan Burns, Partner Architect, at Microsoft and co-founder of Kubernetes ࢲݸਓ ΄Μͱʙʹͦ͏ࢥ͏ʂʂ
12 ͳͷͰɺࠓͷ͏ͪʹجຊ͚ͩ ͓͖͑ͯ·͠ΐ͏
ίϯςφͱʁ ίϯςφΦʔέετϨʔγϣϯͱʁ ͜Ε͔ΒͷΞϓϦέʔγϣϯ։ൃσϓϩΠӡ༻ํ๏ 13 $POUFOUT
ίϯςφͱʁ ίϯςφΦʔέετϨʔγϣϯͱʁ ͜Ε͔ΒͷΞϓϦέʔγϣϯ։ൃσϓϩΠӡ༻ํ๏ 14 $POUFOUT ࠓͷϝΠϯ
ίϯςφͱʁ ίϯςφΦʔέετϨʔγϣϯͱʁ ͜Ε͔ΒͷΞϓϦέʔγϣϯ։ൃσϓϩΠӡ༻ํ๏ 15 $POUFOUT
16 ίϯςφͱʁ
8IBUJT$POUBJOFS 17
$POUBJOFSͱ ˔ ࠷ۙɺʮίϯςφʯΑ͘ฉ͚͘ͲɺԿͦΕʁԿ͕ศརͳͷʁ 18 IUUQTEPDTEPDLFSDPNHFUTUBSUFEEPDLFSDPODFQUT
$POUBJOFSͱ ˔ ࠷ۙɺʮίϯςφʯΑ͘ฉ͚͘ͲɺԿͦΕʁԿ͕ศརͳͷʁ 19 IUUQTEPDTEPDLFSDPNHFUTUBSUFEEPDLFSDPODFQUT ίϨͰ͢
$POUBJOFSͱ ˔ ΞϓϦέʔγϣϯɺߏɺٴͼґଘؔ ΛύοέʔδͰ͖Δͷ ˔ ԾԽٕज़ͷҰͭ ˔ ྲྀۀքͷzίϯςφz͔Β༝དྷ
20 Configuration Source code Runtime Engine Dependencie s
%PDLFSͱ ˔ ίϯςφܕͷΞϓϦέʔγϣϯ࣮ߦ ڥͷҰͭ ˔ Φʔϓϯιʔε ˔ ίϯςφͱ͍͑ɺ%PDLFS ͱ͍͏΄Ͳϝδϟʔͳଘࡏ 21
22 Ͱɺͳʹ͕ศརͳͷ
%PDLFSͰ)FMMPXPSE ˔ ͨͩʮ)FMMP8PSMEʯͱग़ ྗ͢Δ͚ͩ ˔ %PDLFSެࣜͷνϡʔτϦ Ξϧʹ͋Γ·͢ IUUQTEPDTEPDLFSDPNHFUTUBSUFEUFTUEPDLFS WFSTJPO
23 # docker run > docker run hello-world # docker run > docker run hello-world Hello from Docker! This message shows that your installation appears to be working correctly.
%PDLFSͰOHJOY 24 # docker run > docker run --name nginx
-d -p 8080:80 nginx:latest ˔ OHJOYΛಈ͔ͯ͠ΈΑ͏
%PDLFSͰUPNDBU 25 # docker run > docker run --name tomcat
-d -p 8080:8080 tomcat:latest ˔ UPNDBUΛಈ͔ͯ͠ΈΑ͏
%PDLFSͰ+FOLJOT 26 # docker run > docker run --name jenkins
-d -p 8080:8080 jenkins:latest ˔ +FOLJOTΛಈ͔ͯ͠ΈΑ͏
͓·͚ %PDLFSͰ)FMMPXPSE ˔ ͨͩʮ)FMMP8PSMEʯͱग़ ྗ͢Δ͚ͩͰͳ͘ɺ͜ Μͳ͜ͱͰ͖·͢ ˔ DPXTBZͱ͍͏πʔϧΛ ͍ͬͯ·͢
27 # docker run > docker run docker/whalesay cowsay Hello.I am Saiba. ___________________ < Hello.I am Saiba. > ------------------- \ \ \ ## . ## ## ## == ## ## ## ## === /""""""""""""""""___/ === ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~ \______ o __/ \ \ __/ \____\______/
28 ͳʹ͕͓͖ͨʁ
ɹɹDocker Host Πϝʔδਤ 29 ɹDocker Registry Docker Deamon Containers Images
ɹɹDocker Host Πϝʔδਤ 30 ɹDocker Registry Docker Deamon Containers Images
ɹɹDocker Host Πϝʔδਤ 31 ɹDocker Registry Docker Deamon Containers Images
ొਓɹ%PDLFSJNBHF 32 ˔ ίϯςφΛಈ͔͢ࡍʹɺݩʹͳΔΠ ϝʔδ ˔ ΠϝʔδɺϦϙδτϦ %PDLFS )VC Ͱެ։ɾڞ༗Մೳ
Docker Image
ʲࢀߟʳ%PDLFSIVC 33 ˔ ༷ʑͳιϑτΣΞ͕ɺ%PDLFS JNBHFͱͯ͠ެ։͞Ε͍ͯΔ ˔ %PDLFSެࣜͷϦϙδτϦ ˔ ݸਓͰJNBHFΛΞοϓϩʔυͯ͠ɺ ެ։͢Δ͜ͱՄೳ
IUUQTIVCEPDLFSDPN
ొਓɹ%PDLFS$POUBJOFS 34 ˔ ΠϝʔδΛݩʹ࡞ΒΕΔ࣮ମ ˔ தͰΞϓϦέʔγϣϯ͕Քಇ͍ͯ͠ Δ ˔ ϗετʹෳՔಇՄೳ Docker
Container
35 ԾϚγϯ 7. తͳʁ
36 গ͠ҧ͏ΜͰ͢ɻ
37 Infrastructure Host Operating System Hypervisor Guest OS VM Guest
OS VM ಈ࡞Πϝʔδ Bins/Libs Bins/Libs App A App B Infrastructure Host Operating System Docker Engine Bins/Libs Bins/Libs App A App B ԾϚγϯ ίϯςφ
38 ৄࡉผߨٛͰ Δ͔Θ͔Βͳ͍͚Ͳ
39 )PXUPVTF$POUBJOFS 4UFQ
جຊͷ͍ํ 40 EPDLFSQVMM EPDLFSSVO EPDLFSQT EPDLFSTUPQ
EPDLFSTUBSU EPDLFSSN
41 ˞ࡉ͔͍ίϚϯυͷ͍ํ આ໌͠·ͤΜɻ Πϝʔδ͚͚ͩͭΕ0,Ͱ͢
EPDLFSQVMM 42 ˔ ίϯςφͷΠϝʔδΛμϯϩʔυ ͠·͢ Docker Deamon Containers Images Repogitory
# docker pull > docker pull centos:latest latest: Pulling from library/centos a02a4930cb5d: Downloading [========> [..] pull
EPDLFSSVO 43 # docker run > docker run --name nginx
-d -p 8080:80 nginx:latest ˔ Πϝʔδ͔ΒίϯςφΛ࡞͠·͢ Docker Deamon Containers Images Repogitory run
EPDLFSQT 44 # docker ps > docker ps CONTAINER ID
IMAGE COMMAND CREATED STATUS PORTS NAMES 94641045a2b7 nginx:latest "nginx -g 'daemon off" 9 seconds ago Up 7 seconds 0.0.0.0:8080->80/tcp nginx ˔ ίϯςφͷεςʔλεΛ֬ೝ͠·͢ Docker Deamon Containers Images Repogitory ps
EPDLFSTUPQ 45 ˔ ίϯςφΛఀࢭ͠·͢ Docker Deamon Containers Images Repogitory #
docker stop > docker stop nginx stop
EPDLFSTUBSU 46 ˔ ίϯςφΛىಈ͠·͢ Docker Deamon Containers Images Repogitory #
docker start > docker start nginx star t
EPDLFSSN 47 ˔ ίϯςφΛআ͠·͢ Docker Deamon Containers Images Repogitory #
docker rm > docker rm nginx rm
ίϯςφͷϥΠϑαΠΫϧ 48 Images Repogitory Containers pull stop star t run
remove Dockerfile push build ޙ΄Ͳ ղઆ
49 %&.0
50 ͘͢͝ศརͳͷ͓͔Γ ͍͚ͩͨ·͔ͨ͠ʁ
8IZ $POUBJOFS 51
52 ͍Ζ͍Ζ͋Γ·͕͢ɺ
53 *NNVUBCMFͳΠϯϑϥΛ ఏڙͰ͖Δ͔Β
54
*NNVUBCMFͳΠϯϑϥ ͜Ε·ͰͷΠϯϑϥ *NNVUBCMFͳ Πϯϑϥ αʔό ߏங αʔό ߏங αʔό ߏங
αʔό ϝϯς αʔό ϝϯς αʔό ϝϯς 55
56 ͕͘͜͜͢͝େࣄ ͳͷͰɺΠϝʔδΛ
*NNVUBCMFͳΠϯϑϥ 57 ͜Ε·ͰͷΠϯϑϥ ϖοτ *NNVUBCMFͳΠϯϑϥ Ոச
*NNVUBCMFͳΠϯϑϥ 58 ͜Ε·ͰͷΠϯϑϥ ϖοτ *NNVUBCMFͳΠϯϑϥ Ոச ѱ͘ ݴ͑ɺ͍ࣺͯͰ͢
*NNVUBCMFԿ͕خ͍͠ ˔ αʔόߏมߋͷཤྺཧ͕ෆཁ ˔ ͭ·Γɺαʔόͷઃఆ୭͔উखʹม͑ͨͩΖˠ൜ਓ୳͠ Έ͍ͨͳ͜ͱ͕ͳ͘ͳΔ ˔ ຊ൪ڥͱεςʔδϯάڥͰઃఆࠩҟ͕͋ͬͯɺোൃੜ Έ͍ͨͳ͜ͱͳ͘ͳΔ ˔
˞ίϯςφͰͳͯ͘ɺԾϚγϯͰ࣮ݱՄೳ 59
60 ͱɺେࣄͳΞϓϦ
ίϯςφʹΞϓϦΛೖΕΔ 61 Container Image Bins/Libs App ˔ ͨͱ͑ɺz+BWBͷΞϓϦέʔγϣϯz ˔ ͱɺzඞཁͳ࣮ߦڥzΛίϯςφͰύοέʔδϯά
Build
62 ͜ΕͰಈ͔ͤ·͢
ԾϚγϯͷͱ͖ 63 ԾϚγϯWFS EC2 Amazon Linux Tomcat ɹɹApplication RDS MySQL
_ ίϯςφʹ͢Δͱɺ͜Μͳײ͡ 64 ίϯςφWFS EC2 Amazon Linux Tomcat ɹɹApplication Docker
Engine _ RDS MySQL
_ ίϯςφʹ͢Δͱɺ͜Μͳײ͡ 65 ίϯςφWFS EC2 Amazon Linux Tomcat ɹɹApplication Docker
Engine _ RDS MySQL Container Container
͘ΒͯΈ·͠ΐ͏ 66 ԾϚγϯWFS EC2 Amazon Linux Tomcat ɹɹApplication _ EC2
Amazon Linux Tomcat ɹɹApplication Docker _ ίϯςφWFS
վΊͯɺͳͥ$POUBJOFSͳͷ͔ ˔ *NNVUBCMFͳΠϯϑϥͱΞϓϦΛηοτͰಈ͔ͤΔ ˔ ͲͷڥͰಉ͡Α͏ʹಈ͘ ϙʔλϏϦςΟΛ࣮ݱ ˔ ԾϚγϯͱൺֱͯ͠ ɺܰྔͰ͋ΓΞϓϦσϓϩΠ͕ߴʹߦ͑Δ
˔ ϦιʔεΛޮΑ͑͘Δ ෳͷΞϓϦ͕૬ΓՄೳ 67
68 ྫ͑
69
70 ͜ͷ͖ͱΓऔΓ͞Α͏ͳΒ
˔ ։ൃ༻ͷΠϝʔδΛɻ։ൃऀͦͷ্ͰΞϓϦΛ։ൃ ΈΜͳ͕ಉ͡ڥ Πϯϑϥ Ͱ։ൃ 71 Images Local Local
Development ࡞
˔ ։ൃ༻ͷΠϝʔδΛɻ։ൃऀͦͷ্ͰΞϓϦΛ։ൃ ΈΜͳ͕ಉ͡ڥ Πϯϑϥ Ͱ։ൃ 72 Images Local Local
Development ࡞ SAME IMAGE SAME IMAGE
˔ ։ൃڥˠεςʔδϯάڥˠຊ൪ڥͯ͢ಉ͡Πϝʔδ ҟͳΔڥͷ҆৺σϓϩΠ 73 Images Production Staging Local Development
˔ ։ൃڥˠεςʔδϯάڥˠຊ൪ڥͯ͢ಉ͡Πϝʔδ ҟͳΔڥͷ҆৺σϓϩΠ 74 Images Production Staging Local SAME IMAGE
SAME IMAGE SAME IMAGE Development
ΫϥυҠߦ؆୯ ˔ ΦϯϓϨˠΫϥυɺΫϥυˠผΫϥυͷҠߦ؆୯ ˞,VCFSOFUFTΛར༻͢Δͱศར 75 Other Cloud Other Cloud
Cloud
)PXUPVTF$POUBJOFS 4UFQ 76
77 ίϯςφʹ͍ͭͯ Πϝʔδ͚ͭΕͨͱࢥ͏ͷͰ ͏4UFQਐΊ·͢
78
جຊͷ͍ํ4UFQ 79 %PDLFSGJMF EPDLFSCVJME EPDLFSQVTI
%PDLFSGJMF 80 ˔ %PDLFSJNBHFΛ࡞͢ΔͨΊͷઃ ఆϑΝΠϧ ˔ ΞϓϦ͕ґଘ͢ΔϛυϧΣΞ04 ͷϥΠϒϥϦΛઃఆɺΞϓϦͦͷ ͷΛஔ͢Δ ˔
ࠓ·Ͱͷαʔόߏஙͷखॱɺ͜ͷ ϑΝΠϧʹΘΔ QLHΠϯετʔ ϧɺઃఆϑΝΠϧฤू # ※͋͘·ͰαϯϓϧͰ͢ɻ͜ΕͰಈ͖·ͤΜ※ # ϕʔεͷΠϝʔδΛࢦఆ FROM alpine:3.8 # JavaΛInstall RUN apk add --update openjdk8 # ڥมΛઃఆ ENV JAVA_HOME /usr/lib/jvm/java-1.8-openjdk ENV PATH $PATH:/usr/lib/jvm/java-1.8-openjdk/ jre/bin # my-app.jarΛίϯςφʹίϐʔ COPY ./my-app.jar / # ίϯςφͰmy-app.jarΛ࣮ߦ CMD [“java”, “-jar”, “./my-app.jar”] EXPOSE 80
EPDLFSCVJME 81 ˔ %PDLFSGJMFͷઃఆʹج͍ͮͯɺ %PDLFSJNBHFΛ࡞ Ϗϧυ ͢Δ Docker Deamon Containers
Images Dockerfile # Dockerfile > ls Dockerfile # docker build > docker build ./ -t example build
EPDLFSQVTI 82 ˔ %PDLFSJNBHFΛɺϦϙδτϦʹΞο ϓͯ͠ɺڞ༗ɾެ։Ͱ͖ΔΑ͏ʹ͢ Δ Docker Deamon Containers Images
# docker push > docker push example:latest push Repogitory
ίϯςφͷϥΠϑαΠΫϧ ࠶ܝ 83 Images Repogitory Dockerfile Containers push build
pull stop star t run
ίϯςφͱʁ ίϯςφΦʔέετϨʔγϣϯͱʁ ͜Ε͔ΒͷΞϓϦέʔγϣϯ։ൃσϓϩΠӡ༻ํ๏ 84 $POUFOUT
85 ίϯςφΦʔέετϨʔγϣϯ ͱ
8IBUJT $POUBJOFS0SDIFTUSBUJPO 86
87
88 ίϨͰ͢
ΦʔέετϨʔγϣϯπʔϧͱ ˔ ӡ༻ڥͰίϯςφΛཧͯ͘͠ΕΔπʔϧ ˔ ෳͷίϯςφͷࢹͱ੍ޚΛߦͬͯ͘ΕΔ 89 Images Repogitory Dockerfile Production
ίίͷ෦
͍Ζ͍ΖͳαʔϏε 90
ͳʹΛͯ͘͠ΕΔͷ͔ 91 ˔ ίϯςφؒ֎෦ͱͷ/8੍ޚ ˔ σϓϩΠϩʔϧόοΫ ˔ ࢹ ˔ ࣗಈ෮چ
˔ εέʔϦϯά ˔ FUD Host Servers ௨৴ ௨৴ ࢹ εέʔϦϯά ΦʔέετϨʔγϣϯ πʔϧ
92 ίϯςφ͘͢͝ศར ͚ͩͲɺཧ͢Δͷ͕େม ͔ͩΒඞཁ ϖοτΈ͍ͨʹ ͋·Γݴ͏͜ͱฉ͍ͯ͘Εͳ ͍
ओཁͳαʔϏε 93 &MBTUJD$POUBJOFS4FSWJDF (PPHMF,VCFSOFUFT&OHJOF ※ چࣜΞΠίϯͰࣦྱ͠·͢
&$4 &MBTUJD$POUBJOFS4FSWJDF 94 ˔ "84ͷϚωʔδυαʔϏε ˔ "84ಠࣗͷίϯςφΦʔέετϨʔγϣϯπʔϧ ˔ %PDLFSίϯςφϑΥʔϚοτΛαϙʔτ
&$4ͷ؆୯ͳΈ 95 ECS Cluster EC2 EC2 Service Task Task ɾɾɾ
˔ &$ͰΫϥελΛߏ ˔ 5BTL ίϯςφ Ͱίϯ ςφΠϝʔδΛࢦఆ ˔ 4FSWJDFͰ5BTLΛࢦఆ
(,& (PPHMF,VCFSOFUFT&OHJOF 96 ˔ ($1ͷϚωʔδυαʔϏε ˔ (PPHMF͕։ൃͨ͠ ,VCFSOFUFTΛϚωʔδυͰར༻Մೳ ˔
%PDLFSίϯςφϑΥʔϚοτΛαϙʔτ
(,&ͷ؆୯ͳΈ 97 GKE Cluster GCE Host GCE Host Deployment Pod
Pod ɾɾɾ ˔ ($&ͰΫϥελΛߏ ˔ %FQMPZNFOUͰ ίϯςφΠϝʔδͱՔಇ Λઃఆ ˔ 1PE ίϯςφ
98 େମͲͪΒ ಉ͡Α͏ͳ͜ͱ͕Ͱ͖·͢
99 ͨͩɺ,VCFSOFUFTͷํ͕ྑ͍Ͱ͢ ͲͬͪͬͯΈ͚ͨͲ ,VCFSOFUFTͷ΄͏͕͍͢ ͍ʂ
"84Ͱ,VCFSOFUFT ͨͩɺ·ͩ౦ژདྷͯͳ͍ 100 IUUQTXXXTMJEFTIBSFOFU"NB[PO8FC4FSWJDFTTSWSVOOJOHLVCFSOFUFTXJUIBNB[POFLT
"[VSFͰ,VCFSOFUFT 101
03"$-&Ͱ,VCFSOFUFT 102
"MJCBCBͰ,VCFSOFUFT 103
104 ,VCFSOFUFTͷߨٛ ผ్Γ·͢ ͜ΕΔ
ίϯςφͱʁ ίϯςφΦʔέετϨʔγϣϯͱʁ ͜Ε͔ΒͷΞϓϦέʔγϣϯ։ൃσϓϩΠӡ༻ํ๏ 105 $POUFOUT
106 ͜Ε͔ΒͷΞϓϦέʔγϣ ϯσϓϩΠํ๏
107 ैདྷͷΓํ͔Β ΨϥοͱมΘΔͱࢥ͍·͢
։ൃϑϩʔ͕มΘΔ 108 Production Staging Repogitory App Source Dockerfile Image COMMIT
DEPLOY BUILD / TEST
ΞϓϦͷ࡞Γ͕มΘΔ 109 ˔ ͭͷίϯςφʹɺͭͷϓϩηε ΞϓϦ ͚ͩΛಈ͔͢ ˔ ͭͷίϯςφΠϝʔδͰɺෳڥʹσϓϩΠͰ͖ΔΑ͏ʹ ΞϓϦͷઃఆ
%#ଓઌ ڥมͰͤΔΑ͏ʹ͢Δ ˔ ίϯςφɺεςʔτϨεʹ͢Δ εςʔτΛ࣋ͭใ%#ͳͲͷαʔϏεͰอ࣋
ʲࢀߟʳ'BDUPS 110 IUUQTGBDUPSOFUKB
ׂ͕มΘΔ 111 ͍··Ͱ Production ΞϓϦϝϯό Πϯϑϥϝϯό Ϟδϡʔϧ ϝϯς
ׂ͕มΘΔ 112 ͍··Ͱ ͜Ε͔Β Production ΞϓϦϝϯό Πϯϑϥϝϯό Ϟδϡʔϧ ϝϯς Production
ΞϓϦϝϯό Πϯϑϥϝϯό ίϯςφ Πϝʔδ ϝϯς
ׂ͕มΘΔ 113 ˔ ίϯςφΛ࡞Δ ˔ ίϯςφΛಈ͔͢
ΞϓϦέʔγϣϯ࡞Γ ʹूதͰ͖Δʂ αʔϏεͷ҆ఆӡ༻ ʹूதͰ͖Δʂ
ׂ͕มΘΔ 114 ˔ ίϯςφΛ࡞Δ ˔ ίϯςφΛಈ͔͢
ΞϓϦέʔγϣϯ࡞Γ ʹूதͰ͖Δʂ αʔϏεͷ҆ఆӡ༻ ʹूதͰ͖Δʂ ͪΖΜ࿈ܞඞਢ
ΞϓϦͷਓ͕ओʹ ߟ͑Δ͜ͱ 115 ˔ ΞϓϦέʔγϣϯࣗମ ˔ ίϯςφ༷ʹଇͨ͠ΞϓϦέʔγϣϯઃܭ ˔ FUD
Πϯϑϥͷਓ͕ओʹ ߟ͑Δ͜ͱ 116 ˔ ίϯςφͷϦιʔεͷ੍ݶ ˔ εέʔϦϯάઓུ ίϯςφϊʔυ ˔
ίϯςφͷσϓϩΠϑϩʔͷཱ֬ ˔ ࢹํ๏ ˔ FUD
Πϯϑϥߏ͕มΘΔ &$4WFS 117 RDS ECS tomcat Cluster ECS httpd
Cluster ALB ALB ※ ͋͘·ͰࢀߟͰɺΠϝʔδఔͰ Container (Task)
Πϯϑϥߏ͕มΘΔ (,&WFS 118 Cloud SQL GKE Cluster Cloud Load
Balancing ※ ͋͘·ͰࢀߟͰɺΠϝʔδఔͰ Service (Kubernetes) Container (Pod)
119 ৄࡉ࣍ճͷߨٛͰ
120 গ͠Πϝʔδ ༙͖·ͨ͠Ͱ͠ΐ͏͔
121 ·ͱΊ
ίϯςφͱʁ ίϯςφΦʔέετϨʔγϣϯͱʁ ͜Ε͔ΒͷΞϓϦέʔγϣϯ։ൃσϓϩΠӡ༻ํ๏ 122 $POUFOUT
123 ɹɹɹίϯςφಋೖ ͡Ίߟ͑ํʹ׳ΕΔͷ͕େมͰ͕͢ ϝϦοτઈଟ͍Ͱ͢ɻ͕ΜΓ·͠ΐ͏
124 ิ
͍Ζ͍Ζɺ͕ٙ 125 ˔ ࢹʁϩάʁ ˔ %#αʔόͬͯͲ͏ͳΔͷʁ ˔ ͍··ͰɺDSPOͱ͔Ͱ͍ͬͯͨόονʁ
ࢹʁ 126 ˔ ࢹͷ؍ɺ݁ߏมΘΔͱࢥ͍·͢ɻҎԼͷࢀߟΠϝʔδͰ͢ ˔ ίϯςφͱϗετͦΕͧΕͰࢹ͢Δඞཁ͋Γͳͷ͕ϙΠϯτ Host Container
Container APP APP APP APP ORCHESTRATION ˔ ,VCFSOFUFTͷFWFOUϩά ˔ ΞϓϦͷϩά ˔ ίϯςφຖͷ $16.&.ͷϝτϦΫε ˔ ίϯςφՔಇ ˔ $16.&.ͷϝτϦΫε
ϩάʁ 127 ˔ αʔόʹೖͬͯϩάΛݟΔඞཁ͋Γ·ͤΜɻҎԼͷπʔϧͰͯ͢ ҰݩཧͰ͖·͢ ˔ "84ͳΒ$MPVE8BUDI-PHT ˔ ($1ͳΒ4UBDLESJWFS-PHHJOH ˔
ͦΕ͔ɺGMVFOUE͋Γ
%#αʔόͬͯͲ͏ͳΔͷʁ 128 ˔ %#αʔόجຊɺίϯςφͰཱͯ·ͤΜ ˔ "84ͩͱ3%4ɺ4ɺ&MBTUJD$BDIFɺΛ༻͠·͠ΐ͏
όονδϣϒͬͯͲ͏͢Δͷʁ 129 ˔ όονॲཧ༻ͷίϯςφΛ࡞ͬͯɺόον͕ऴΘͬͨΒআ͢Δܗʹ ͳΓ·͢ ˔ &$4ͳΒɺλεΫεέδϡʔϥ(,&ͳΒɺ$SPO+PC ͕͑·͢
130 ͓ΘΓ