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
850
コンテナ技術とコンテナオーケストレーション入門
【初心者向けにコンテナ技術を解説します】
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
600
kube-system落としてみました
tarosaiba
8
2.8k
コンテナ技術とコンテナオーケストレーション 入門_改訂版
tarosaiba
0
560
ElasticContainerServicesハンズオン
tarosaiba
0
120
Other Decks in Technology
See All in Technology
依存パッケージの更新はコツコツが勝つコツ! / phpcon_nagoya2025
blue_goheimochi
3
150
ハッキングの世界に迫る~攻撃者の思考で考えるセキュリティ~
nomizone
13
5.3k
デスクトップだけじゃないUbuntu
mtyshibata
0
270
OpenID Connect for Identity Assurance の概要と翻訳版のご紹介 / 20250219-BizDay17-OIDC4IDA-Intro
oidfj
0
290
利用終了したドメイン名の最強終活〜観測環境を育てて、分析・供養している件〜 / The Ultimate End-of-Life Preparation for Discontinued Domain Names
nttcom
2
260
組織貢献をするフリーランスエンジニアという生き方
n_takehata
2
1.4k
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
130
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
2.2k
Developers Summit 2025 浅野卓也(13-B-7 LegalOn Technologies)
legalontechnologies
PRO
1
910
Nekko Cloud、 これまでとこれから ~学生サークルが作る、 小さなクラウド
logica0419
2
1k
人はなぜISUCONに夢中になるのか
kakehashi
PRO
6
1.7k
運用しているアプリケーションのDBのリプレイスをやってみた
miura55
1
780
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Building Applications with DynamoDB
mza
93
6.2k
GitHub's CSS Performance
jonrohan
1030
460k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Practical Orchestrator
shlominoach
186
10k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
Being A Developer After 40
akosma
89
590k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
GraphQLとの向き合い方2022年版
quramy
44
13k
Navigating Team Friction
lara
183
15k
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 ͓ΘΓ