Upgrade to Pro — share decks privately, control downloads, hide ads and more …

コンテナ技術とコンテナオーケストレーション入門

657fb6673f7551440601417843ec5152?s=47 tarosaiba
December 25, 2018

 コンテナ技術とコンテナオーケストレーション入門

【初心者向けにコンテナ技術を解説します】
1. コンテナとは?
2. コンテナオーケストレーションとは?
3. これからのアプリケーション開発 & デプロイ & 運用 方法

657fb6673f7551440601417843ec5152?s=128

tarosaiba

December 25, 2018
Tweet

Transcript

  1. ίϯςφٕज़ͱ ίϯςφΦʔέετϨʔγϣϯೖ໳  4IVOUBSP4BJCB  ͜Ε͔ΒͷΞϓϦέʔγϣϯσϓϩΠ͕มΘΔ 1

  2. @tarosaiba ˔  'VUVSF"SDIJUFDU *OD ˔  5*(ॴଐ೥໨ ˔  *OGSB.8$*पΓ΍͖ͬͯ·ͨ͠ ˔  "84($1

    ˔  *OGSBTUSVDUVSFBT$PEFͷಋೖ͕ಘҙ ʲ໌೔ͷ։ൃΧϯϑΝϨϯεొஃʳ ਆ&YDFMखॱॻϕʔεͷӡ༻͔Β"OTJCMFͰͷࣗಈԽ΁  IUUQXXXBUNBSLJUDPKQBJUBSUJDMFTOFXT@IUNM 4IVOUBSP4BJCB 2
  3. 3 ࢲͷ͍··Ͱ エンプラ⼩売り & AWS エンプラ⾦融 & オンプレ エンプラ⼩売り &

    GCP エンプラ⼩売り & AWS
  4. 4 ࢲͷ͍··Ͱ エンプラ⼩売り & AWS エンプラ⾦融 & オンプレ エンプラ⼩売り &

    GCP エンプラ⼩売り & AWS ຊ൪؀ڥͰίϯςφ ӡ༻Λܦݧ
  5. ૝ఆಡऀ ˔  ࠷ۙɺʮίϯςφʯΑ͘ฉ͚͘ͲɺԿͦΕʁԿ͕ศརͳͷʁ ˔  ίϯςφ͕ศརͳͷ͸஌ͬͯΔ͚ͲɺͲ͏΍ͬͯ࢖͑͹Α͍ͷʁ ˔  ʮ,VCFSOFUFTʯʮ&$4ʯͬͯԿ  ˔  ͜Ε͔ΒͷγεςϜߏஙɺΞϓϦσϓϩΠ͸Ͳ͏มΘ͍ͬͯ͘ͷʁ

      5 ࠓ೔͸جຊ͕Θ͔ͬͯɺେମ ͷ Πϝʔδ͕༙͚͹ྑ͍Ͱ͢
  6. 6 ͜ͷߨٛͷഎܠ

  7. 7 ίϯςφɹɹΩςϚε

  8. 8

  9. 9 ͔ͳΓ੝Γ্͕͍ͬͯΔ ͱࢥ͍·͢ 

  10. 10 Kubernetes is infrastructure for next generation applications, PaaS and

    more. –Brendan Burns, Partner Architect, at Microsoft and co-founder of Kubernetes 
  11. 11 Kubernetes is infrastructure for next generation applications, PaaS and

    more. –Brendan Burns, Partner Architect, at Microsoft and co-founder of Kubernetes  ࢲݸਓ ΄Μͱʙʹͦ͏ࢥ͏ʂʂ
  12. 12 ͳͷͰɺࠓͷ͏ͪʹجຊ͚ͩ ཈͓͖͑ͯ·͠ΐ͏

  13.   ίϯςφͱ͸ʁ   ίϯςφΦʔέετϨʔγϣϯͱ͸ʁ   ͜Ε͔ΒͷΞϓϦέʔγϣϯ։ൃσϓϩΠӡ༻ํ๏  13 $POUFOUT

  14.   ίϯςφͱ͸ʁ   ίϯςφΦʔέετϨʔγϣϯͱ͸ʁ   ͜Ε͔ΒͷΞϓϦέʔγϣϯ։ൃσϓϩΠӡ༻ํ๏  14 $POUFOUT ࠓ೔ͷϝΠϯ

  15.   ίϯςφͱ͸ʁ   ίϯςφΦʔέετϨʔγϣϯͱ͸ʁ   ͜Ε͔ΒͷΞϓϦέʔγϣϯ։ൃσϓϩΠӡ༻ํ๏  15 $POUFOUT

  16. 16  ίϯςφͱ͸ʁ

  17. 8IBUJT$POUBJOFS 17

  18. $POUBJOFSͱ͸ ˔  ࠷ۙɺʮίϯςφʯΑ͘ฉ͚͘ͲɺԿͦΕʁԿ͕ศརͳͷʁ 18 IUUQTEPDTEPDLFSDPNHFUTUBSUFEEPDLFSDPODFQUT

  19. $POUBJOFSͱ͸ ˔  ࠷ۙɺʮίϯςφʯΑ͘ฉ͚͘ͲɺԿͦΕʁԿ͕ศརͳͷʁ 19 IUUQTEPDTEPDLFSDPNHFUTUBSUFEEPDLFSDPODFQUT ίϨͰ͢

  20. $POUBJOFSͱ͸ ˔  ΞϓϦέʔγϣϯɺߏ੒ɺٴͼґଘؔ ܎ΛύοέʔδͰ͖Δ΋ͷ ˔  Ծ૝Խٕज़ͷҰͭ  ˔  ෺ྲྀۀքͷzίϯςφz͔Β༝དྷ 

    20 Configuration Source code Runtime Engine Dependencie s
  21. %PDLFSͱ͸ ˔  ίϯςφܕͷΞϓϦέʔγϣϯ࣮ߦ ؀ڥͷҰͭ ˔  Φʔϓϯιʔε ˔  ίϯςφͱ͍͑͹ɺ%PDLFS ͱ͍͏΄Ͳϝδϟʔͳଘࡏ 21

  22. 22 Ͱɺͳʹ͕ศརͳͷ

  23. %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.
  24. %PDLFSͰOHJOY 24 # docker run > docker run --name nginx

    -d -p 8080:80 nginx:latest ˔  OHJOYΛಈ͔ͯ͠ΈΑ͏
  25. %PDLFSͰUPNDBU 25 # docker run > docker run --name tomcat

    -d -p 8080:8080 tomcat:latest ˔  UPNDBUΛಈ͔ͯ͠ΈΑ͏
  26. %PDLFSͰ+FOLJOT 26 # docker run > docker run --name jenkins

    -d -p 8080:8080 jenkins:latest ˔  +FOLJOTΛಈ͔ͯ͠ΈΑ͏
  27. ͓·͚  %PDLFSͰ)FMMPXPSE ˔  ͨͩʮ)FMMP8PSMEʯͱग़ ྗ͢Δ͚ͩͰ͸ͳ͘ɺ͜ Μͳ͜ͱ΋Ͱ͖·͢ ˔  DPXTBZͱ͍͏πʔϧΛ࢖ ͍ͬͯ·͢

    27 # docker run > docker run docker/whalesay cowsay Hello.I am Saiba. ___________________ < Hello.I am Saiba. > ------------------- \ \ \ ## . ## ## ## == ## ## ## ## === /""""""""""""""""___/ === ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~ \______ o __/ \ \ __/ \____\______/
  28. 28 ͳʹ͕͓͖ͨʁ

  29. ɹɹDocker Host Πϝʔδਤ 29 ɹDocker Registry Docker Deamon Containers Images

  30. ɹɹDocker Host Πϝʔδਤ 30 ɹDocker Registry Docker Deamon Containers Images

  31. ɹɹDocker Host Πϝʔδਤ 31 ɹDocker Registry Docker Deamon Containers Images

  32. ొ৔ਓ෺ɹ%PDLFSJNBHF 32 ˔  ίϯςφΛಈ͔͢ࡍʹɺݩʹͳΔΠ ϝʔδ ˔  Πϝʔδ͸ɺϦϙδτϦ %PDLFS )VC౳ Ͱެ։ɾڞ༗Մೳ

     Docker Image
  33. ʲࢀߟʳ%PDLFSIVC 33 ˔  ༷ʑͳιϑτ΢ΣΞ͕ɺ%PDLFS JNBHFͱͯ͠ެ։͞Ε͍ͯΔ ˔  %PDLFSެࣜͷϦϙδτϦ ˔  ݸਓͰJNBHFΛΞοϓϩʔυͯ͠ɺ ެ։͢Δ͜ͱ΋Մೳ

    IUUQTIVCEPDLFSDPN
  34. ొ৔ਓ෺ɹ%PDLFS$POUBJOFS 34 ˔  ΠϝʔδΛݩʹ࡞ΒΕΔ࣮ମ ˔  தͰΞϓϦέʔγϣϯ͕Քಇ͍ͯ͠ Δ ˔  ϗετʹෳ਺ՔಇՄೳ Docker

    Container
  35. 35 Ծ૝Ϛγϯ 7. తͳʁ

  36. 36 গ͠ҧ͏ΜͰ͢ɻ

  37. 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. 38 ৄࡉ͸ผߨٛͰ ΍Δ͔Θ͔Βͳ͍͚Ͳ 

  39. 39 )PXUPVTF$POUBJOFS 4UFQ

  40. جຊͷ࢖͍ํ 40   EPDLFSQVMM   EPDLFSSVO   EPDLFSQT   EPDLFSTUPQ

      EPDLFSTUBSU   EPDLFSSN
  41. 41 ˞ࡉ͔͍ίϚϯυͷ࢖͍ํ ͸આ໌͠·ͤΜɻ  Πϝʔδ͚͚ͩͭΕ͹0,Ͱ͢

  42.  EPDLFSQVMM 42 ˔  ίϯςφͷΠϝʔδΛμ΢ϯϩʔυ ͠·͢ Docker Deamon Containers Images Repogitory

    # docker pull > docker pull centos:latest latest: Pulling from library/centos a02a4930cb5d: Downloading [========> [..] pull
  43. EPDLFSSVO 43 # docker run > docker run --name nginx

    -d -p 8080:80 nginx:latest ˔  Πϝʔδ͔ΒίϯςφΛ࡞੒͠·͢ Docker Deamon Containers Images Repogitory run
  44. 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
  45. EPDLFSTUPQ 45 ˔  ίϯςφΛఀࢭ͠·͢ Docker Deamon Containers Images Repogitory #

    docker stop > docker stop nginx stop
  46. EPDLFSTUBSU 46 ˔  ίϯςφΛىಈ͠·͢ Docker Deamon Containers Images Repogitory #

    docker start > docker start nginx star t
  47. EPDLFSSN 47 ˔  ίϯςφΛ࡟আ͠·͢ Docker Deamon Containers Images Repogitory #

    docker rm > docker rm nginx rm
  48. ίϯςφͷϥΠϑαΠΫϧ 48 Images Repogitory Containers pull stop star t run

    remove Dockerfile push build ޙ΄Ͳ ղઆ
  49. 49 %&.0

  50. 50 ͘͢͝ศརͳͷ͸͓෼͔Γ ͍͚ͩͨ·͔ͨ͠ʁ

  51. 8IZ $POUBJOFS 51

  52. 52 ͍Ζ͍Ζ͋Γ·͕͢ɺ

  53. 53 *NNVUBCMFͳΠϯϑϥΛ ఏڙͰ͖Δ͔Β

  54. 54

  55. *NNVUBCMFͳΠϯϑϥ ͜Ε·ͰͷΠϯϑϥ *NNVUBCMFͳ Πϯϑϥ αʔό ߏங αʔό ߏங αʔό ߏங

    αʔό ϝϯς αʔό ϝϯς αʔό ϝϯς 55
  56. 56 ͕͘͜͜͢͝େࣄ ͳͷͰɺΠϝʔδΛ

  57. *NNVUBCMFͳΠϯϑϥ 57 ͜Ε·ͰͷΠϯϑϥ ϖοτ *NNVUBCMFͳΠϯϑϥ Ոச

  58. *NNVUBCMFͳΠϯϑϥ 58 ͜Ε·ͰͷΠϯϑϥ ϖοτ *NNVUBCMFͳΠϯϑϥ Ոச ѱ͘ ݴ͑͹ɺ࢖͍ࣺͯͰ͢

  59. *NNVUBCMF͸Կ͕خ͍͠ ˔  αʔόߏ੒มߋͷཤྺ؅ཧ͕ෆཁ ˔  ͭ·Γɺαʔόͷઃఆ୭͔উखʹม͑ͨͩΖˠ൜ਓ୳͠ Έ͍ͨͳ͜ͱ͕ͳ͘ͳΔ ˔  ຊ൪؀ڥͱεςʔδϯά؀ڥͰઃఆࠩҟ͕͋ͬͯɺো֐ൃੜ Έ͍ͨͳ͜ͱ΋ͳ͘ͳΔ ˔ 

    ˞ίϯςφͰͳͯ͘ɺԾ૝ϚγϯͰ΋࣮ݱ͸Մೳ   59
  60. 60 ͱɺେࣄͳΞϓϦ

  61. ίϯςφʹΞϓϦΛೖΕΔ 61 Container Image Bins/Libs App ˔  ͨͱ͑͹ɺz+BWBͷΞϓϦέʔγϣϯz ˔  ͱɺzඞཁͳ࣮ߦ؀ڥzΛίϯςφͰύοέʔδϯά

     Build
  62. 62 ͜ΕͰಈ͔ͤ·͢

  63. Ծ૝Ϛγϯͷͱ͖͸ 63 Ծ૝ϚγϯWFS EC2 Amazon Linux Tomcat ɹɹApplication RDS MySQL

  64. _ ίϯςφʹ͢Δͱɺ͜Μͳײ͡ 64 ίϯςφWFS EC2 Amazon Linux Tomcat ɹɹApplication Docker

    Engine _ RDS MySQL
  65. _ ίϯςφʹ͢Δͱɺ͜Μͳײ͡ 65 ίϯςφWFS EC2 Amazon Linux Tomcat ɹɹApplication Docker

    Engine _ RDS MySQL Container Container
  66. ͘Β΂ͯΈ·͠ΐ͏ 66 Ծ૝ϚγϯWFS EC2 Amazon Linux Tomcat ɹɹApplication _ EC2

    Amazon Linux Tomcat ɹɹApplication Docker _ ίϯςφWFS
  67. վΊͯɺͳͥ$POUBJOFSͳͷ͔ ˔  *NNVUBCMFͳΠϯϑϥͱΞϓϦΛηοτͰಈ͔ͤΔ ˔  Ͳͷ؀ڥͰ΋ಉ͡Α͏ʹಈ͘ ϙʔλϏϦςΟΛ࣮ݱ  ˔  Ծ૝Ϛγϯͱൺֱͯ͠ ɺܰྔͰ͋ΓΞϓϦσϓϩΠ͕ߴ଎ʹߦ͑Δ

    ˔  ϦιʔεΛޮ཰Α͘࢖͑Δ ෳ਺ͷΞϓϦ͕૬৐ΓՄೳ  67
  68. 68 ྫ͑͹

  69. 69

  70. 70 ͜ͷ଀͖ͱ͸΍ΓऔΓ͸͞Α͏ͳΒ

  71. ˔  ։ൃ༻ͷΠϝʔδΛ഑෍ɻ։ൃऀ͸ͦͷ্ͰΞϓϦΛ։ൃ  ΈΜͳ͕ಉ͡؀ڥ Πϯϑϥ Ͱ։ൃ 71 Images Local Local

    Development ഑෍ ࡞੒
  72. ˔  ։ൃ༻ͷΠϝʔδΛ഑෍ɻ։ൃऀ͸ͦͷ্ͰΞϓϦΛ։ൃ  ΈΜͳ͕ಉ͡؀ڥ Πϯϑϥ Ͱ։ൃ 72 Images Local Local

    Development ഑෍ ࡞੒ SAME IMAGE SAME IMAGE
  73. ˔  ։ൃ؀ڥˠεςʔδϯά؀ڥˠຊ൪؀ڥ͢΂ͯಉ͡Πϝʔδ  ҟͳΔ؀ڥ΁ͷ҆৺σϓϩΠ 73 Images Production Staging Local Development

  74. ˔  ։ൃ؀ڥˠεςʔδϯά؀ڥˠຊ൪؀ڥ͢΂ͯಉ͡Πϝʔδ ҟͳΔ؀ڥ΁ͷ҆৺σϓϩΠ 74 Images Production Staging Local SAME IMAGE

    SAME IMAGE SAME IMAGE Development
  75. Ϋϥ΢υҠߦ΋؆୯ ˔  ΦϯϓϨˠΫϥ΢υɺΫϥ΢υˠผΫϥ΢υ΁ͷҠߦ΋؆୯ ˞,VCFSOFUFTΛར༻͢Δͱศར  75 Other Cloud Other Cloud

    Cloud
  76. )PXUPVTF$POUBJOFS 4UFQ 76

  77. 77 ίϯςφʹ͍ͭͯ Πϝʔδ͚ͭΕͨͱࢥ͏ͷͰ ΋͏4UFQਐΊ·͢

  78. 78

  79. جຊͷ࢖͍ํ4UFQ 79   %PDLFSGJMF   EPDLFSCVJME   EPDLFSQVTI

  80.  %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
  81. EPDLFSCVJME 81 ˔  %PDLFSGJMFͷઃఆʹج͍ͮͯɺ %PDLFSJNBHFΛ࡞੒ Ϗϧυ ͢Δ Docker Deamon Containers

    Images Dockerfile # Dockerfile > ls Dockerfile # docker build > docker build ./ -t example build
  82. EPDLFSQVTI 82 ˔  %PDLFSJNBHFΛɺϦϙδτϦʹΞο ϓͯ͠ɺڞ༗ɾެ։Ͱ͖ΔΑ͏ʹ͢ Δ Docker Deamon Containers Images

    # docker push > docker push example:latest push Repogitory
  83. ίϯςφͷϥΠϑαΠΫϧ ࠶ܝ  83 Images Repogitory Dockerfile Containers push build

    pull stop star t run
  84.   ίϯςφͱ͸ʁ   ίϯςφΦʔέετϨʔγϣϯͱ͸ʁ   ͜Ε͔ΒͷΞϓϦέʔγϣϯ։ൃσϓϩΠӡ༻ํ๏  84 $POUFOUT

  85. 85 ίϯςφΦʔέετϨʔγϣϯ ͱ͸

  86. 8IBUJT $POUBJOFS0SDIFTUSBUJPO 86

  87. 87

  88. 88 ίϨͰ͢

  89. ΦʔέετϨʔγϣϯπʔϧͱ͸ ˔  ӡ༻؀ڥͰίϯςφΛ؅ཧͯ͘͠ΕΔπʔϧ ˔  ෳ਺ͷίϯςφͷ؂ࢹͱ੍ޚΛߦͬͯ͘ΕΔ 89 Images Repogitory Dockerfile Production

    ίίͷ෦෼
  90. ͍Ζ͍ΖͳαʔϏε 90

  91. ͳʹΛͯ͘͠ΕΔͷ͔ 91 ˔  ίϯςφؒ֎෦ͱͷ/8੍ޚ ˔  σϓϩΠϩʔϧόοΫ ˔  ؂ࢹ ˔  ࣗಈ෮چ

    ˔  εέʔϦϯά ˔  FUD Host Servers ௨৴ ௨৴ ؂ࢹ εέʔϦϯά ΦʔέετϨʔγϣϯ πʔϧ
  92. 92 ίϯςφ͸͘͢͝ศར ͚ͩͲɺ؅ཧ͢Δͷ͕େม ͔ͩΒඞཁ ϖοτΈ͍ͨʹ ͋·Γݴ͏͜ͱฉ͍ͯ͘Εͳ ͍

  93. ओཁͳαʔϏε 93 &MBTUJD$POUBJOFS4FSWJDF (PPHMF,VCFSOFUFT&OHJOF ※ چࣜΞΠίϯͰࣦྱ͠·͢

  94. &$4 &MBTUJD$POUBJOFS4FSWJDF  94 ˔  "84ͷϚωʔδυαʔϏε ˔  "84ಠࣗͷίϯςφΦʔέετϨʔγϣϯπʔϧ ˔  %PDLFSίϯςφϑΥʔϚοτΛαϙʔτ

  95. &$4ͷ؆୯ͳ࢓૊Έ 95 ECS Cluster EC2 EC2 Service Task Task ɾɾɾ

    ˔  &$ͰΫϥελΛߏ੒ ˔  5BTL ίϯςφ Ͱίϯ ςφΠϝʔδΛࢦఆ ˔  4FSWJDFͰ5BTL਺Λࢦఆ
  96. (,& (PPHMF,VCFSOFUFT&OHJOF  96 ˔  ($1ͷϚωʔδυαʔϏε ˔  (PPHMF͕։ൃͨ͠ ,VCFSOFUFTΛϚωʔδυͰར༻Մೳ ˔ 

    %PDLFSίϯςφϑΥʔϚοτΛαϙʔτ 
  97. (,&ͷ؆୯ͳ࢓૊Έ 97 GKE Cluster GCE Host GCE Host Deployment Pod

    Pod ɾɾɾ ˔  ($&ͰΫϥελΛߏ੒ ˔  %FQMPZNFOUͰ ίϯςφΠϝʔδͱՔಇ ਺Λઃఆ ˔  1PE ίϯςφ 
  98. 98 େମͲͪΒ΋ ಉ͡Α͏ͳ͜ͱ͕Ͱ͖·͢

  99. 99 ͨͩɺ,VCFSOFUFTͷํ͕ྑ͍Ͱ͢ Ͳͬͪ΋࢖ͬͯΈ͚ͨͲ ,VCFSOFUFTͷ΄͏͕࢖͍΍͢ ͍ʂ

  100. "84Ͱ΋,VCFSOFUFT ͨͩɺ·ͩ౦ژདྷͯͳ͍  100 IUUQTXXXTMJEFTIBSFOFU"NB[PO8FC4FSWJDFTTSWSVOOJOHLVCFSOFUFTXJUIBNB[POFLT

  101. "[VSFͰ΋,VCFSOFUFT 101

  102. 03"$-&Ͱ΋,VCFSOFUFT 102

  103. "MJCBCBͰ΋,VCFSOFUFT 103

  104. 104 ,VCFSOFUFTͷߨٛ͸ ผ్΍Γ·͢ ͜Ε͸΍Δ 

  105.   ίϯςφͱ͸ʁ   ίϯςφΦʔέετϨʔγϣϯͱ͸ʁ   ͜Ε͔ΒͷΞϓϦέʔγϣϯ։ൃσϓϩΠӡ༻ํ๏  105 $POUFOUT

  106. 106 ͜Ε͔ΒͷΞϓϦέʔγϣ ϯσϓϩΠํ๏

  107. 107 ैདྷͷ΍Γํ͔Β ΨϥοͱมΘΔͱࢥ͍·͢

  108. ։ൃϑϩʔ͕มΘΔ 108 Production Staging Repogitory App Source Dockerfile Image COMMIT

    DEPLOY BUILD / TEST
  109. ΞϓϦͷ࡞Γ͕มΘΔ 109 ˔  ͭͷίϯςφʹ͸ɺͭͷϓϩηε ΞϓϦ ͚ͩΛಈ͔͢  ˔  ͭͷίϯςφΠϝʔδͰɺෳ਺؀ڥʹσϓϩΠͰ͖ΔΑ͏ʹ ΞϓϦͷઃఆ

    %#઀ଓઌ ͸؀ڥม਺Ͱ౉ͤΔΑ͏ʹ͢Δ  ˔  ίϯςφ͸ɺεςʔτϨεʹ͢Δ εςʔτΛ࣋ͭ৘ใ͸%#ͳͲͷαʔϏεͰอ࣋  
  110. ʲࢀߟʳ'BDUPS 110 IUUQTGBDUPSOFUKB

  111. ໾ׂ͕มΘΔ 111 ͍··Ͱ Production ΞϓϦϝϯό Πϯϑϥϝϯό Ϟδϡʔϧ ϝϯς

  112. ໾ׂ͕มΘΔ 112 ͍··Ͱ ͜Ε͔Β Production ΞϓϦϝϯό Πϯϑϥϝϯό Ϟδϡʔϧ ϝϯς Production

    ΞϓϦϝϯό Πϯϑϥϝϯό ίϯςφ Πϝʔδ ϝϯς
  113. ໾ׂ͕มΘΔ 113 ˔  ίϯςφΛ࡞Δ   ˔  ίϯςφΛಈ͔͢  

    ΞϓϦέʔγϣϯ࡞Γ ʹूதͰ͖Δʂ αʔϏεͷ҆ఆӡ༻ ʹूதͰ͖Δʂ
  114. ໾ׂ͕มΘΔ 114 ˔  ίϯςφΛ࡞Δ   ˔  ίϯςφΛಈ͔͢  

    ΞϓϦέʔγϣϯ࡞Γ ʹूதͰ͖Δʂ αʔϏεͷ҆ఆӡ༻ ʹूதͰ͖Δʂ ΋ͪΖΜ࿈ܞ͸ඞਢ
  115. ΞϓϦͷਓ͕ओʹ ߟ͑Δ͜ͱ 115 ˔  ΞϓϦέʔγϣϯࣗମ ˔  ίϯςφ࢓༷ʹଇͨ͠ΞϓϦέʔγϣϯઃܭ ˔  FUD 

    
  116. Πϯϑϥͷਓ͕ओʹ ߟ͑Δ͜ͱ 116 ˔  ίϯςφ΁ͷϦιʔεͷ഑෼੍ݶ ˔  εέʔϦϯάઓུ ίϯςφϊʔυ  ˔ 

    ίϯςφͷσϓϩΠϑϩʔͷཱ֬ ˔  ؂ࢹํ๏ ˔  FUD  
  117. Πϯϑϥߏ੒͕มΘΔ &$4WFS  117 RDS ECS tomcat Cluster ECS httpd

    Cluster ALB ALB ※ ͋͘·Ͱ΋ࢀߟͰɺΠϝʔδఔ౓Ͱ Container (Task)
  118. Πϯϑϥߏ੒͕มΘΔ (,&WFS  118 Cloud SQL GKE Cluster Cloud Load

    Balancing ※ ͋͘·Ͱ΋ࢀߟͰɺΠϝʔδఔ౓Ͱ Service (Kubernetes) Container (Pod)
  119. 119 ৄࡉ͸࣍ճͷߨٛͰ

  120. 120 গ͠͸Πϝʔδ ༙͖·ͨ͠Ͱ͠ΐ͏͔

  121. 121 ·ͱΊ

  122.   ίϯςφͱ͸ʁ   ίϯςφΦʔέετϨʔγϣϯͱ͸ʁ   ͜Ε͔ΒͷΞϓϦέʔγϣϯ։ൃσϓϩΠӡ༻ํ๏  122 $POUFOUT

  123. 123 ɹɹɹίϯςφಋೖ ͸͡Ί͸ߟ͑ํʹ׳ΕΔͷ͕େมͰ͕͢ ϝϦοτ͸௒ઈଟ͍Ͱ͢ɻ͕Μ͹Γ·͠ΐ͏

  124. 124 ิ଍

  125. ͍Ζ͍Ζɺٙ໰͕ 125 ˔  ؂ࢹ͸ʁϩά͸ʁ ˔  %#αʔόͬͯͲ͏ͳΔͷʁ ˔  ͍··ͰɺDSPOͱ͔Ͱ΍͍ͬͯͨόον͸ʁ  

    
  126. ؂ࢹ͸ʁ 126 ˔  ؂ࢹͷ؍఺΋ɺ݁ߏมΘΔͱࢥ͍·͢ɻҎԼͷࢀߟΠϝʔδͰ͢ ˔  ίϯςφͱϗετͦΕͧΕͰ؂ࢹ͢Δඞཁ͋Γͳͷ͕ϙΠϯτ   Host Container

    Container APP APP APP APP ORCHESTRATION ˔ ,VCFSOFUFTͷFWFOUϩά ˔ ΞϓϦͷϩά ˔  ίϯςφຖͷ $16.&.౳ͷϝτϦΫε ˔ ίϯςφՔಇ਺ ˔ $16.&.౳ͷϝτϦΫε
  127. ϩά͸ʁ 127 ˔  αʔόʹೖͬͯϩάΛݟΔඞཁ͸͋Γ·ͤΜɻҎԼͷπʔϧͰ͢΂ͯ Ұݩ؅ཧͰ͖·͢ ˔  "84ͳΒ$MPVE8BUDI-PHT ˔  ($1ͳΒ4UBDLESJWFS-PHHJOH ˔ 

    ͦΕ͔ɺGMVFOUE΋͋Γ
  128. %#αʔόͬͯͲ͏ͳΔͷʁ 128 ˔  %#αʔό͸جຊɺίϯςφͰ͸ཱͯ·ͤΜ ˔  "84ͩͱ3%4ɺ4ɺ&MBTUJD$BDIFɺ౳Λ࢖༻͠·͠ΐ͏  

  129. όονδϣϒͬͯͲ͏͢Δͷʁ 129 ˔  όονॲཧ༻ͷίϯςφΛ࡞ͬͯɺόον͕ऴΘͬͨΒ࡟আ͢Δܗʹ ͳΓ·͢ ˔  &$4ͳΒɺλεΫεέδϡʔϥ(,&ͳΒɺ$SPO+PC ͕࢖͑·͢ 

  130. 130 ͓ΘΓ