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
870
コンテナ技術とコンテナオーケストレーション入門
【初心者向けにコンテナ技術を解説します】
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
自分だけの仮想クラスタを高速かつ効率的に作る kubefork
donkomura
0
110
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
300
【詳説】コンテンツ配信 システムの複数機能 基盤への拡張
hatena
0
280
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
530
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdccoe
1
770
日経のデータベース事業とElasticsearch
hinatades
PRO
0
250
OPENLOGI Company Profile for engineer
hr01
1
20k
スキルだけでは満たせない、 “組織全体に”なじむオンボーディング/Onboarding that fits “throughout the organization” and cannot be satisfied by skills alone
bitkey
0
190
Aurora PostgreSQLがCloudWatch Logsに 出力するログの課金を削減してみる #jawsdays2025
non97
1
230
事業を差別化する技術を生み出す技術
pyama86
2
290
2/18 Making Security Scale: メルカリが考えるセキュリティ戦略 - Coincheck x LayerX x Mercari
jsonf
0
230
AI自体のOps 〜LLMアプリの運用、AWSサービスとOSSの使い分け〜
minorun365
PRO
7
450
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Become a Pro
speakerdeck
PRO
26
5.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
650
Producing Creativity
orderedlist
PRO
344
40k
The Cost Of JavaScript in 2023
addyosmani
47
7.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Practical Orchestrator
shlominoach
186
10k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Mobile First: as difficult as doing things right
swwweet
223
9.5k
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 ͓ΘΓ