OSSから理解するEKSと
そのエコシステムについて / Understanding EKS and its ecosystem from OSS perspective

Ad22fcf5773b906c08330f4d57242212?s=47 Kohei Ota
January 23, 2020

OSSから理解するEKSと
そのエコシステムについて / Understanding EKS and its ecosystem from OSS perspective

Ad22fcf5773b906c08330f4d57242212?s=128

Kohei Ota

January 23, 2020
Tweet

Transcript

  1. 044͔Βཧղ͢Δ&,4ͱ
 ͦͷΤίγεςϜʹ͍ͭͯ +"846(ίϯςφࢧ෦ 1SFTFOUFECZ!@JOEVDUPS@

  2. ࣗݾ঺հ w ଠాߤฏ !@JOEVDUPS@ !JOEVDUPS  w %PDLFS.FFUVQ5PLZP0SHBOJ[FS w $MPVE/BUJWF%BZT5PLZP0SHBOJ[FS

    w *OGSBTUSVDUVSF&OHJOFFS .-0QT5FBN!;0;05FDIOPMPHJFT *OD w ,VCFSOFUFTྺ͸໿೥
  3. None
  4. None
  5. ʊਓਓਓਓਓਓਓਓਓਓਓਓʊ ʼɹ׬શʹཧղͨ͠ਓ޲͚ɹʻ ʉ:?:?:?:?:?:?:?:?:?:?:ʉ

  6. lࠓճͷηογϣϯͰ͸ɺ&,4ͷத৺ʹ͋Δ044 ʮ,VCFSOFUFTʯʹ͍ͭͯɺ&,4ͷ؍఺͔Βཧղ͓ͯ͘͠΂͖ ϙΠϯτ΍ɺ044ͱͯ͠&,4΍ίϯςφΤίγεςϜΛࢧ͑Δ
 ϓϩδΣΫτʹ͍ͭͯ۷ΓԼ͛ͭͭɺ&,4ͷશମ૾ʹ͍ͭͯ ୳ͬͯΈΑ͏ͱࢥ͍·͢ɻz

  7. ࠓ೔࿩͞ͳ͍͜ͱ w ,VCFSOFUFTJTԿ w &,4ͷجຊతͳಈ࡞ͱ͔࢖͍ํ w ӡ༻ͷ࿩΍ɺࣾ಺ͷಛఆͷϓϩμΫτͷ࿩

  8. ࠓ೔࿩͢͜ͱ w ,VCFSOFUFTͷઃܭࢥ૝ͱɺ"84ͱͷ࿈ܞͷ࢓૊Έ w &,4ϢʔβʔͱؔΘΓͷ͋Δɺ,VCFSOFUFTपลͷ044 w ίϛϡχςΟͱͷؔΘΓํ w ͓஌Βͤ

  9. ,VCFSOFUFTͷઃܭࢥ૝

  10. ཈͓͑ͯ͘΂͖,VCFSOFUFTͷಛ௃ w એݴతͳߏ੒؅ཧ w ίϯτϩʔϥʔΛத৺ͱͨ͠ߴ͍֦ுੑ w ίϯςφΛجͱͨܰ͠ྔɺॊೈɺߴ଎ͳεέʔϦϯά

  11. ཈͓͑ͯ͘΂͖,VCFSOFUFTͷಛ௃ w એݴతͳߏ੒؅ཧ w ίϯτϩʔϥʔΛத৺ͱͨ͠ߴ͍֦ுੑˡࠓ೔ͷண໨ϙΠϯτ w ίϯςφΛجͱͨܰ͠ྔɺॊೈɺߴ଎ͳεέʔϦϯά

  12. LVCFBQJTFSWFS LVCFDUM FUDE LVCFTDIFEVMFS LVCFDPOUSPMMFS NBOBHFS ΫϥΠΞϯτπʔϧ εςʔτ؅ཧ ͢΂ͯͷத৺ ίϯςφͷ഑ஔ໾

    ֤Ϧιʔεͷ࡞੒ɾ࡟আ LVCFDMPVE DPOUSPMMFSNBOBHFS Ϋϥ΢υϦιʔεͷ
 ࡞੒ɾ࡟আ SFDPODJMFMPPQ
  13. LVCFBQJTFSWFS LVCFDUM FUDE LVCFTDIFEVMFS LVCFDPOUSPMMFS NBOBHFS ΫϥΠΞϯτπʔϧ εςʔτ؅ཧ ͢΂ͯͷத৺ ίϯςφͷ഑ஔ໾

    ֤Ϧιʔεͷ࡞੒ɾ࡟আ LVCFDMPVE DPOUSPMMFSNBOBHFS Ϋϥ΢υϦιʔεͷ
 ࡞੒ɾ࡟আ SFDPODJMFMPPQ LVCFDMPVE DPOUSPMMFSNBOBHFS Ϋϥ΢υϦιʔεͷ
 ࡞੒ɾ࡟আ
  14. IUUQTLVCFSOFUFTJPKBEPDTUBTLTBENJOJTUFSDMVTUFSSVOOJOHDMPVEDPOUSPMMFS lcloud-controller-manager͸ɺDMPVEQSPWJEFS*OUFSGBDFΛຬͨ͢೚ҙͷ Ϋϥ΢υϓϩόΠμʔͱ઀ଓͰ͖·͢ɻ தུ 
 ͢΂ͯͷΫϥ΢υίϯτϩʔϥʔϚωʔδϟʔ͸TJHϦʔυ·ͨ͸Ϋϥ΢υϕϯ μʔ͕؅ཧ͢Δ,VCFSOFUFTͷίΞϓϩδΣΫτͷ֎Ͱ։ൃ͞ΕΔ༧ఆͰ͢ɻz DMPVEDPOUSPMMFSNBOBHFS

  15. DMPVEDPOUSPMMFSNBOBHFS w ,VCFSOFUFTͱ֤ύϒϦοΫΫϥ΢υͷ"1*Λܨ͍Ͱ͘ΕΔதܧ໾ w ,VCFSOFUFTͷίϯτϩʔϥʔͱͯ͠ɺҰఆִؒͰʮ,VCFSOFUFT্Ͱ࢖ ͍͍ͨΫϥ΢υͷϦιʔεʯͱʮ"84্ʹ࣮ࡍʹଘࡏ͢ΔϦιʔεʯͷ
 ੔߹ੑΛऔͬͯ͘ΕΔ

  16. DDNͷ"84࣮૷͕
 DMPVEQSPWJEFSBXT

  17. IUUQTHJUIVCDPNLVCFSOFUFTDMPVEQSPWJEFSBXT l5IF"84DMPVEQSPWJEFSQSPWJEFTUIFJOUFSGBDFCFUXFFOB ,VCFSOFUFTDMVTUFSBOE"84TFSWJDF"1*T5IJTQSPKFDUBMMPXTB ,VCFSOFUFTDMVTUFSUPQSPWJTJPO NPOJUPSBOESFNPWF"84 SFTPVSDFTOFDFTTBSZGPSPQFSBUJPOPGUIFDMVTUFSz DMPVEQSPWJEFSBXT

  18. IUUQTHJUIVCDPNLVCFSOFUFTDMPVEQSPWJEFSBXT l5IF"84DMPVEQSPWJEFSQSPWJEFTUIFJOUFSGBDFCFUXFFOB ,VCFSOFUFTDMVTUFSBOE"84TFSWJDF"1*T5IJTQSPKFDUBMMPXTB ,VCFSOFUFTDMVTUFSUPQSPWJTJPO NPOJUPSBOESFNPWF"84 SFTPVSDFTOFDFTTBSZGPSPQFSBUJPOPGUIFDMVTUFSz "84ͷϦιʔε &$ͱ͔&#4ͱ͔ Λ,VCFSOFUFT্ͷϦιʔεͱͯ͠ ؅ཧ͢ΔͨΊʹඞཁͳίϯτϩʔϥʔ

    DMPVEQSPWJEFSBXT
  19. Θ͔Γ΍͍͢ར༻ྫ w 4FSWJDFUZQF-PBE#BMBODFSΛ&,4্Ͱ࡞੒͢Δͱ಺෦Ͱ DMPVEQSPWJEFSBXT͕࡞༻ͯ͠&-# $-#/-# ͕࡞੒͞ΕΔ LVCFDUM ˞͜͜ͷ࣮૷͸
 ৄࡉ·Ͱ೺Ѳͯ͠ͳ͍ $3&"5&ཁٻ

    3FDPODJMF-PPQͰ
 εςʔτΛऔಘ TWD࡞੒ DDNܦ༝Ͱ
 "84ͷ"1*Λୟ͍ͯ&-#࡞੒
  20. ,VCFSOFUFT &,4 ͷࡶͳਤ 71$ "84ͷ
 ίϯϙʔωϯτ &$ &$ & /

    * & / * "84͕؅ཧͯ͘͠ΕΔൣғ
 ࡢ೔ͪΐ͏Ͳ͓஋ஈ͕Լ͕͓ͬͨ஌Β͕ͤग़·ͨ͠Ͷʂ
  21. ͪͳΈʹ'BSHBUFͩͱ͜Μͳײ͡ 71$ "84ͷ
 ίϯϙʔωϯτ 'BSHBUF 'BSHBUF

  22. ͪͳΈʹ'BSHBUFͩͱ͜Μͳײ͡ 71$ "84ͷ
 ίϯϙʔωϯτ 'BSHBUF 'BSHBUF ϛϥΫϧ⭐τϦόʔυ͞Μͷൃදָ͕͠Έ

  23. ,VCFSOFUFTͱ"84ͷ࿈ܞ ωοτϫʔΫฤ

  24. ,VCFSOFUFTʹ͓͚ΔωοτϫʔΫ w ,VCFSOFUFTΫϥελʔʹ͸େ͖͘෼͚ͯͭͷωοτϫʔΫ͕͋Δ w 1PEͷωοτϫʔΫ w 4FSWJDFͷωοτϫʔΫ w /PEFͷωοτϫʔΫ

  25. © ZOZO echnologies, Inc. 51 Pod A Pod B Pod

    C Pod A Pod C Pod D Pod B Pod C Pod D Node 1 Node 2 Node 3 Node Network Pod Network Service A Service C Ingress for Service A & C Static IP パブリッククラウドで L7ロードバラン サで実装されていることが多い パブリッククラウドで L4ロードバラン サで実装されていることが多い ※簡易的 & 論理的な図な で実際 構成と 違います
 Service D (ClusterIP)
  26. "84ͷωοτϫʔΫͱ͍͑͹ w 71$΍ҎԼͷϦιʔεΛத৺ͱͨ͠ߏ੒ w αϒωοτ w ωοτϫʔΫ"$- w ηΩϡϦςΟάϧʔϓ w

    ֤छήʔτ΢ΣΠ w &/*
  27. "84ͷωοτϫʔΫͱ͍͑͹ w 71$΍ҎԼͷϦιʔεΛத৺ͱͨ͠ߏ੒ w αϒωοτ w ωοτϫʔΫ"$- w ηΩϡϦςΟάϧʔϓ w

    ֤छήʔτ΢ΣΠ w &/* ,VCFSOFUFTͱ͸શવωοτϫʔΫͷ֓೦͕ҧ͏
  28. ͭͷҧ͏ੈքΛ
 ܨ͍Ͱ͋͛Δඞཁ͕͋Γ·͢Ͷʁ

  29. ʊਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓʊ ʼɹίϯςφωοτϫʔΫΠϯλʔϑΣʔεʂɹʻ ʉ:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:ʉ

  30. $/* $POUBJOFS/FUXPSL*OUFSGBDF w ,VCFSOFUFT ݫີʹ͸ίϯςφ ͷωοτϫʔΫΛఆٛ͢Δ࢓༷ w "84࣮૷͸IUUQTHJUIVCDPNBXTBNB[POWQDDOJLT w 71$ͷੈքͱ,VCFSOFUFTͷωοτϫʔΫͷੈքΛͭͳ͍Ͱ͍Δ

    w ࣮͸&$4΋$/*Λ࢖͍ͬͯΔΒ͍͠ ৄ͘͠͸஌Βͳ͍  w ΦϯϓϨͰ͸JQUBCMFT OGUBCMFT ΍#(1Λ࢖࣮ͬͯ૷͞Εͨ$/*Λ࢖͏
  31. ,VCFSOFUFTͱ"84ͷ࿈ܞ ετϨʔδฤ

  32. ,VCFSOFUFTʹ͓͚ΔετϨʔδ w ,VCFSOFUFTʹ͸େ͖͘෼͚ͯͭͷετϨʔδؔ࿈Ϧιʔε͕͋Δ w 4UPSBHF$MBTT w 1FSTJTUFOU7PMVNF w 1FSTJTUFOU7PMVNF$MBJN

  33. "84ʹ͓͚ΔετϨʔδ w "84Ͱ&$ͳͲͷϫʔΫϩʔυʹΞλονͰ͖ΔετϨʔδͱݴ͑͹ w &#4 w &'4 w '4Y 8JOEPXTϑΝΠϧαʔόʔͷ΍ͭ

  34. ·ͨͭͷҧ͏ੈքΛ
 ܨ͍Ͱ͋͛Δඞཁ͕͋Γ·͢Ͷʁ

  35. ͦΖͦΖ෼͔͖ͬͯ·͔ͨ͠ʁ

  36. ʊਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓʊ ʼɹίϯςφετϨʔδΠϯλʔϑΣʔεʂɹʻ ʉ:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:ʉ

  37. $4* $POUBJOFS4UPSBHF*OUFSGBDF w ,VCFSOFUFTͷετϨʔδΛఆٛ͢Δ࢓༷ w "84࣮૷͸&#4ɺ&'4ɺ'4YͰ෼͔Ε͍ͯΔ
 3FGLVCFSOFUFTTJHTBXTFCTDTJESJWFS w "84ͱ,VCFSOFUFTͷετϨʔδͷੈքΛͭͳ͍Ͱ͍Δ w

    &,4ͷ৔߹ɺ$4*͸$/*ͱҧͬͯผ్ࣗ෼Ͱ%SJWFSΛೖΕΔඞཁ͕͋Δ
  38. &,4ʹ͍ͭͯ͜͜ͰΘ͔Δ͜ͱ w $MPVEDPOUSPMMFSNBOBHFSΛ࢖ͬͨ"84ͱͷΠϯςάϨʔγϣϯ͕
 σϑΥͰ࢖͑Δ ηοτΞοϓෆཁ  w "8471$༻ͷ$/*͕σϑΥͰ࢖͑Δ ηοτΞοϓෆཁ 

    w Ϛελʔͷ؅ཧ͸શ෦"84͕ࣗಈͰ΍ͬͯ͘ΕΔ
  39. &,4ͷ·ͩ෼͔ͬͯͳ͍͜ͱ w ϩάͱ͔Ͳ͏͢Δͷʁ w "-#࢖͑ͳ͍ͷʁ w "$.ͱ͔3PVUFͱ͔࢖͑ͳ͍ͷʁ w ,VCFSOFUFTͬͯԿʁʢࣗ෼Ͱௐ΂ͯωʣ

  40. &,4ͷ·ͩ෼͔ͬͯͳ͍͜ͱ w ϩάͱ͔Ͳ͏͢Δͷʁ w "-#࢖͑ͳ͍ͷʁ w "$.ͱ͔3PVUFͱ͔࢖͑ͳ͍ͷʁ w ,VCFSOFUFTͬͯԿʁʢࣗ෼Ͱௐ΂ͯωʣ શ෦ࣗ෼Ͱઃఆ͍Εͳ͍ͱͩΊͰ͢ʂ

  41. Ϣʔβʔ໨ઢͰͷ&,4ϝϦσϝ w ϝϦοτ w ඞཁ࠷௿ݶͷίϯϙʔωϯτ͔͠ೖͬͯͳ͍ w ࠷ۙ͸ಛʹ ϊʔυάϧʔϓ΍'BSHBUF͕࢖͑ΔͷͰɺ&$ͷ͓΋ΓΛ
 ୆୆͠ͳͯ͘΋Α͘ͳ͖ͬͯͨ w

    ϑϧϚωʔδυͰ͸ͳ͍ͷͰࣗ෼Ͱ؅ཧͰ͖Δൣғ͕޿͍
  42. Ϣʔβʔ໨ઢͰͷ&,4ϝϦσϝ w ϝϦοτ w ඞཁ࠷௿ݶͷίϯϙʔωϯτ͔͠ೖͬͯͳ͍ w ࠷ۙ͸ಛʹ ϊʔυάϧʔϓ΍'BSHBUF͕࢖͑ΔͷͰɺ&$ͷ͓΋ΓΛ
 ୆୆͠ͳͯ͘΋Α͘ͳ͖ͬͯͨ w

    ϑϧϚωʔδυͰ͸ͳ͍ͷͰࣗ෼Ͱ؅ཧͰ͖Δൣғ͕޿͍ ,VCFSOFUFTΛ"84Ͱಈ͔͍ͨ͠ͱ͍͏ਓʹͱͬͯ ࣗ༝౓ɾ֦ுੑ͕ߴ͘ ϚελʔΛҙࣝ͢Δ͜ͱͳ͘ݎ࿚ͳઃܭʹͳ͍ͬͯΔ
  43. Ϣʔβʔ໨ઢͰͷ&,4ϝϦσϝ w σϝϦοτ w ,VCFSOFUFTࣗମ͕೉͍͠ͱ͍͏໰୊͸มΘΒͳ͍ ֶशίετ  w ࣗલͰೖΕͳ͍ͱ͍͚ͳ͍ίϯϙʔωϯτ͕ଟ͍

  44. Ϣʔβʔ໨ઢͰͷ&,4ϝϦσϝ w σϝϦοτ w ,VCFSOFUFTࣗମ͕೉͍͠ͱ͍͏໰୊͸มΘΒͳ͍ ֶशίετ  w ࣗલͰೖΕͳ͍ͱ͍͚ͳ͍ίϯϙʔωϯτ͕ଟ͍ˡ͜͜͸ͳΜͱ͔ͳΔ

  45. ͦ͏ɺFLTDUMΛ࢖͑͹Ͷʂ

  46. FLTDUM w 8FBWFXPSLT͕ࣾग़͍ͯ͠Δ&,4ͷϥούʔπʔϧ w ڈ೥&,4ͷެࣜπʔϧʹঢ֨ʂ w େମΈΜͳ͕࢖͍ͦ͏ͳ΍ͭΛίϚϯυϥΠϯͰ͍͍ײ͡ʹදݱͰ͖Δ w ઃఆͷҾ਺Λ:".-Ͱهड़Ͱ͖ΔͷͰ*B$΋Ͱ͖Δ w

    %PDLFS$PNQPTFΈ͍ͨͳ࢖༻ײ
  47. None
  48. ͜Μͳ͔Μ͡ʹఆٛ͢Δ͚ͩͰ શ෦΍ͬͯ͘ΕΔ

  49. ͦͷଞͷ࢖༻ྫ͸ެࣜͷ
 (JU)VCϦϙδτϦʹ͋Γ·͢

  50. FLTDUMͰղܾ͢Δ͖ͬ͞ͷٙ໰ w ϩάͱ͔ϝτϦΫεͱ͔Ͳ͏͢Δͷʁ w $MPVE8BUDIͱ͔ͷΠϯςάϨʔγϣϯ͕FLTDUMͰ༗ޮʹͰ͖Δ w "-#࢖͑ͳ͍ͷʁ w "MCJOHSFTTDPOUSPMMFS͕FLTDUMͰ༗ޮʹग़དྷΔ w

    "$.ͱ͔3PVUFͱ͔࢖͑ͳ͍ͷʁ w ͜ΕΒ΋FLTDUMͰ༗ޮʹͰ͖Δ
  51. FLTDUM͍͢͝

  52. FLTDUM͸࡞ͬͯऴΘΓ͡Όͳ͍ w "844%,ܦ༝Ͱ$MPVE'PSNBUJPOͷελοΫ͕ϓϩϏδϣϯ͞ΕΔ w &,4ͷΫϥελʔ΍ϊʔυ͸$MPVE'PSNBUJPOͰ࡞੒ w &,4্ͷϫʔΫϩʔυ͚ͩͰͳ͘Ϋϥελʔࣗମ΋એݴతʹ؅ཧ w ߏ੒มߋ΍࡟আʹ΋༰қʹରԠՄೳ

  53. FLTDUM͸࡞ͬͯऴΘΓ͡Όͳ͍ w "844%,ܦ༝Ͱ$MPVE'PSNBUJPOͷελοΫ͕ϓϩϏδϣϯ͞ΕΔ w &,4ͷΫϥελʔ΍ϊʔυ͸$MPVE'PSNBUJPOͰ࡞੒ w &,4্ͷϫʔΫϩʔυ͚ͩͰͳ͘Ϋϥελʔࣗମ΋એݴతʹ؅ཧ w ߏ੒มߋ΍࡟আʹ΋༰қʹରԠՄೳ ӡ༻ίετΛҰఆͷϨϕϧʹམͱͤΔ

  54. FLTDUMͷࠓޙ w &,4։ൃνʔϜΛר͖ࠐΜͩɺڧݻͳ&,4ͱͷΠϯςάϨʔγϣϯ w 8FBWFXPSLTͷఏএ͢Δ(JU0QTΛ&,4Ͱ؆୯ʹ࣮ݱ͢Δ࿮૊Έ w ಉࣾ੡ͷσϓϩΠπʔϧ"SHP'MVYΛ༻͍ͨ(JU0QTύΠϓϥΠϯߏங w ΑΓৄ͘͠͸(JU)VCͷ*TTVFΛࢀߟʹʂʂ

  55. None
  56. None
  57. FLTDUMࣗମͰ࡞ΒΕΔΫϥελʔͷ :".-ϑΝΠϧ͸%3:ʹͳ͍ͬͯͳ͍

  58. "84͞ΜཔΈ·ͨ͠

  59. None
  60. &,4ʹۤ͠Ή๻ͷਤ

  61. ,VCFSOFUFTͷ͍͍ͱ͜Ζ w ,VCFSOFUFT֎ͷϦιʔεΛ,VCFSOFUFTͰѻ͑ΔΑ͏ʹ
 ߴ͍֦ுੑΛ࣋ͭΠϯλʔϑΣʔεΛఏڙ͍ͯ͠Δ w ։ൃ͕ίϛϡχςΟओମͳͷͰ։ൃͷྲྀΕ͕ݟ͑Δ w ਖ਼͘͠΢Υον͢Δ4*(͕Θ͔Ε͹ࠓޙͷಈ޲΋͔ͭΈ΍͍͢

  62. ,VCFSOFUFTͱ"84ؔ࿈ͷ044 w 4*("84 w *"."VUIFOUJDBUPS w $/*$4*QMVHJO w FYUFSOBMEOTͳͲɺ"84͚ͩͳΒݟΔ΂͖044͸ҙ֎ͱଟ͘͸ͳ͍

  63. ˣ"84͕ؔΘΔ,VCFSOFUFTͷ044ˣ
 IUUQTHJUIVCDPNTFBSDI RUPQJD"LTTJH BXT PSH"LVCFSOFUFTTJHTUZQF3FQPTJUPSJFT

  64. &,4 &$4 ։ൃνʔϜͷಈ޲Λ஌Δʹ͸
 օ͞Μ͝ଘ஌ͷDPOUBJOFSSPBENBQ΋ศར
 IUUQTHJUIVCDPNBXTDPOUBJOFSTSPBENBQQSPKFDUT

  65. ཉ͍͠ػೳ͕͋Ε͹
 ؾܰʹ*TTVFཱ͍͖ͯͯ·͠ΐ͏

  66. ·ͱΊ w &,4͸,VCFSOFUFT͕࣋ͭߴ͍֦ுੑͷԸܙʹ༬͔ͬͯ
 "84্Ͱ,VCFSOFUFTΛಈ͔ͨ͢Ίʹ༷ʑͳ044Λ૊Έ߹Θ͍ͤͯΔ w FLTDUMΛ࢖͏ͱೖ໳ͷ೉қ౓͕ҰؾʹԼ͕Δ w ࠓޙͷಈ޲͸DPOUBJOFSTSPBENBQͱ4*("84ΛνΣοΫʂ w ,VCFSOFUFT೔ຊޠυΩϡϝϯτͷ຋༁͓ख఻͍ืूͯ͠·͢

  67. ༨ஊ

  68. &,4GPS'BSHBUFBOE&$ %FTJHODPNQBSJTPO !JOEVDUPS

  69. 4QFBLFSEFDLʹ্͕ͬͯ·͢
 ΑΖ͚͠Ε͹͝ཡ͍ͩ͘͞

  70. ࠷ޙʹ͓஌Βͤ

  71. $MPVE/BUJWF%BZT5PLZPͱ͍͏೔ຊ࠷େͷίϯςφ
 Ϋϥ΢υωΠςΟϒ ͷΧϯϑΝϨϯεΛࠓ೥΋։࠵͠·͢ʂ
 օ༷ฃͬͯ͝ࢀՃ͍ͩ͘͞ʂ

  72. 5IBOLTGPSZPVSBUUFOUJPO