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
890
コンテナ技術とコンテナオーケストレーション入門
【初心者向けにコンテナ技術を解説します】
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
650
kube-system落としてみました
tarosaiba
8
2.8k
コンテナ技術とコンテナオーケストレーション 入門_改訂版
tarosaiba
0
630
ElasticContainerServicesハンズオン
tarosaiba
0
120
Other Decks in Technology
See All in Technology
JAZUG 15周年記念 × JAT「AI Agent開発者必見:"今"のOracle技術で拡張するAzure × OCIの共存アーキテクチャ」
shisyu_gaku
0
120
E2Eテスト設計_自動化のリアル___Playwrightでの実践とMCPの試み__AIによるテスト観点作成_.pdf
findy_eventslides
1
460
extension 現場で使えるXcodeショートカット一覧
ktombow
0
220
自動テストのコストと向き合ってみた
qa
0
190
Adminaで実現するISMS/SOC2運用の効率化 〜 アカウント管理編 〜
shonansurvivors
2
160
リーダーになったら未来を語れるようになろう/Speak the Future
sanogemaru
0
290
From Prompt to Product @ How to Web 2025, Bucharest, Romania
janwerner
0
120
pprof vs runtime/trace (FlightRecorder)
task4233
0
170
GC25 Recap+: Advancing Go Garbage Collection with Green Tea
logica0419
1
420
20250929_QaaS_vol20
mura_shin
0
120
AI ReadyなData PlatformとしてのAutonomous Databaseアップデート
oracle4engineer
PRO
0
200
生成AI_その前_に_マルチクラウド時代の信頼できるデータを支えるSnowflakeメタデータ活用術.pdf
cm_mikami
0
120
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Building Applications with DynamoDB
mza
96
6.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
Automating Front-end Workflow
addyosmani
1371
200k
Why Our Code Smells
bkeepers
PRO
339
57k
Making Projects Easy
brettharned
119
6.4k
The World Runs on Bad Software
bkeepers
PRO
71
11k
A designer walks into a library…
pauljervisheath
209
24k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
How to Think Like a Performance Engineer
csswizardry
27
2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
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 ͓ΘΓ