$30 off During Our Annual Pro Sale. View Details »

走馬灯のIaCは考えておいて

nwiizo
November 21, 2023

 走馬灯のIaCは考えておいて

走馬灯のIaCは考えておいてというタイトルで登壇してきました

技術的負債に向き合う Online Conference
https://findy.connpass.com/event/297813/

走馬灯のセトリは考えておいての短編はどれも面白いのでオススメです。
https://www.hayakawa-online.co.jp/shopdetail/000000015282/

登壇ブログ |『走馬灯のIaCは考えておいて』というタイトルで登壇しました。
https://syu-m-5151.hatenablog.com/entry/2023/11/21/132144

nwiizo

November 21, 2023
Tweet

More Decks by nwiizo

Other Decks in Technology

Transcript

  1. ೥݄೔ٕज़తෛ࠴ʹ޲͖߹͏0OMJOF$POGFSFODFNJO!OXJJ[P
    ૸അ౮ͷ*B$͸ߟ͓͍͑ͯͯ
    *OGSBTUSVDUVSFBT$PEFͷಋೖʹ͓͍ٕͯज़తෛ࠴Λߟ͑Δ

    View Slide

  2. !OXJJ[P
    4PGUXBSF%FWFMPQFS !TIBLF*OD
    *MJLFUPEFWFMPQ PQFSBUF BOEPQUJNJ[FTZTUFNT
    5FDIOJDBMBEWJTPSPGTFWFSBMPUIFSDPNQBOJFT
    IUUQTOXJJ[PHJUIVCJP
    8IPBN*

    View Slide

  3. ΞδΣϯμ
    w "CPVUTIBLF ޿ࠂ

    w *OGSBTUSVDUVSFʹ͓͚Δٕज़తෛ࠴ͱ͸Կ͔ʁ
    w *OGSBTUSVDUVSFBT$PEF *B$
    ͷݪଇͱޡղ
    w *OGSBTUSVDUVSFBT$PEF *B$
    ͷಋೖ࣌ͷ૸അ౮

    View Slide

  4. "CPVUTIBLF ޿ࠂ

    View Slide

  5. "CPVUTIBLF

    IUUQTKPCTTIBLFDPN

    View Slide

  6. 4SFBLF43&ʢ43&૯߹ࢧԉαʔϏεʣ
    w 43&ͷߟ͑ํʹैͬͯɺ"84΍(PPHMFΫϥ΢υΛར༻͍ͯ͠Δ͓٬༷αʔϏεͷ
    ٕज़ઓུɺઃܭɺߏஙɺӡ༻·ͰΛϫϯετοϓͰࢧԉ͢ΔαʔϏε
    w ϚΠΫϩαʔϏεɺLTͳͲΫϥ΢υωΠςΟϒͳٕज़ྖҬʹڧΈ
    w ϕϯμʔతͳ໾ׂͰ͸ͳ͘ʮ͓٬༷ͷνʔϜϝϯόʔʯͱ͍͏
    ཱͪҐஔͰ࠷৽ٕज़ͷఏҊ͔Β

    Roadmap
    SRE ͷ։࢝
    ·ͣ͸খ͘͞ɻ
    ޮՌ͕࠷େݶʹग़Δͱ͜Ζ
    ͔Βίπίπͱ࢝ΊΑ͏
    SRE νʔϜͷఆٛ
    ૊৫ʹ͋ͬͨ SRE Λఆٛ͠Α͏
    SRE࣮ફ
    SLIɾSLO ͷઃఆ
    Toil ࡟ݮ (ࣗಈԽਪਐ)
    SRE ͷൃలͱܧଓ
    SREͷจԽ͕ਁಁ͢Δ
    Error Budget Λݩʹ

    ۀ຿Λίϯτϩʔϧ͍ͯ͘͠
    IUUQTTSFBLFDPN

    View Slide

  7. 4SFBLF43&ʢ43&૯߹ࢧԉαʔϏεʣ
    wӡ༻ࢧԉ·ͰΛτʔλϧ͝ࢧԉ
    w 43&νʔϜ૊੒ɾ43&จԽͷఆணԽɾ43&ٕज़ऀͷ࠾༻ʗҭ੒ίϯ
    αϧςΟϯά౳΋ରԠ

    ٕज़ઓུ
    ίϯαϧςΟϯά
    ߏங / ࣮૷
    ࢧԉ
    Ξηεϝϯτ
    ʢύϑΥʔϚϯε / ηΩϡϦςΟʣ
    ӡ༻ࢧԉ
    γεςϜ
    ઃܭ
    IUUQTTSFBLFDPN΁ΞΫηε͍ͯͩ͘͠͞

    View Slide

  8. *OGSBTUSVDUVSFʹ͓͚Δٕज़తෛ࠴ͱ͸Կ͔ʁ

    View Slide

  9. *OGSBTUSVDUVSFʹ͓͚Δٕज़తෛ࠴
    wٕज़తෛ࠴ͷఆٛ
    w γεςϜ։ൃͷॳظஈ֊ʹ͓͚Δ୹ظతͳศٓͱ௕ظతͳϝϯςφϯείετͷόϥϯεͷॏཁੑʹݴ
    ٴͨ͠΋ͷɻॳظϦϦʔεͷਝ଎͞ͱޙଓͷ඼࣭޲্࡞ۀͱͷؒͷτϨʔυΦϑΛҙຯ͠·͢ɻ͜ͷό
    ϥϯεͷऔΓํʹΑͬͯɺকདྷతʹආ͚ΒΕͳ͍௥Ճίετ΍੍໿͕ੜ͡ΔՄೳੑΛࢦ͍ͯ͠Δɻ
    w*OGSBTUSVDUVSFͷٕज़తෛ࠴
    w ͕࣌ؒܦա͢ΔʹͭΕͯɺγεςϜ಺ʹ஝ੵ͞ΕΔաڈͷܾஅ΍બ୒ʹ༝དྷ͢Δίετ΍੍໿Λࢦ͠·
    ͢ɻ͜ͷ֓೦͸ɺ୹ظతͳղܾࡦ΍Ұ࣌తͳରԠ͕௕ظʹΘͨͬͯγεςϜͷޮ཰ੑ΍֦ுੑΛ௿Լ͞
    ͤΔ͜ͱΛ͍ࣔͯ͠·͢ɻ͔͠͠ɺΠϯϑϥετϥΫνϟͱιϑτ΢ΣΞͷੑ࣭͸·ͬͨ͘ҟͳΔͨ
    Ίɺʮٕज़తෛ࠴ʯͱ͍͏ΑΓ΋ʮٕज़త෗ഊͱൃ߬ʯͱ͍͏දݱͷํ͕ݸਓతʹ͸ϝλϑΝʔͱͯ͠
    ར༻͠΍͍͢ͷͰࠓճͷൃදͰ͸͜ͷ؍఺ʹج͍ͮͯਐΊ͍͖ͤͯͨͩ͞·͢ɻ

    ϝλϑΝʔͱͯ͠ͷൃ߬
    IUUQTXXXPSFJMMZDPKQCPPLT
    ΞϓϦέʔγϣϯಈ࡞؀ڥ Πϯϑϥಈ࡞؀ڥ
    ΠϯϑϥετϥΫνϟͱιϑτ΢ΣΞͷੑ࣭͸·ͬͨ͘ҟͳΔͨΊɺ
    ݪଇ΍ܦݧΛΠϯϑϥετϥΫνϟʹద༻͢Δͱ͖ʹ͸͋Δ஫ҙ͕ඞཁ

    View Slide

  10. ൃ߬ͱ෗ഊͷҧ͍
    w࣮ੜ׆ͷൃ߬ͱ෗ഊͷҧ͍
    w ൃ߬ɿඍੜ෺ͷ࡞༻ʹΑͬͯ෺࣭͕มԽ͠ɺਓؒʹͱͬͯ༗ӹͳ΋ͷʹ
    มΘΔϓϩηεɻྫ͑͹ɺϤʔάϧτɺνʔζɺে༉ͳͲ͕͜Εʹ͋ͨ
    Γ·͢ɻ
    w ෗ഊɿಉ͘͡ඍੜ෺ͷ࡞༻ʹΑΔ෺࣭ͷมԽͰ͕͢ɺ͜ͷ৔߹͸ෆշͳ
    ष͍΍༗֐ͳ෺࣭͕ൃੜ͠ɺਓؒʹͱͬͯ༗֐ͱ͞ΕΔϓϩηεͰ͢ɻ

    IUUQTXXXNBSVLPNFDPKQNBSVLPNF@PNJTPIBLLPVCJTIPLV
    ൃ߬ͱ෗ഊɾख़੒ͷҧ͍ͬͯԿʁ
    ਓ͕ؒਓؒͷࢹ఺ͰܾΊͨ͜ͱɻͲͪΒ΋ඍੜ෺ͷྗʹΑͬͯ෺࣭͕มԽ
    ͢Δ͜ͱΛ͍͏ͷͰ͕͢ɺͦΕ͕ਓؒʹͱͬͯ༗ӹͳ΋ͷͰ͋Ε͹
    ൃ߬ɺ༗֐ͳ΋ͷͰ͋Ε͹෗ഊͱ͍͏͜ͱʹͳΓ·͢

    View Slide

  11. ൃ߬ͱ෗ഊͷҧ͍
    w*5Πϯϑϥʹ͓͚Δʮൃ߬ʯͱʮ෗ഊʯ
    w ʮൃ߬ʯɿγεςϜ΍ϓϩηε͕࣌ؒͱͱ΋ʹ੒ख़͠ɺΑΓޮ཰త͔ͭޮ
    ՌతʹͳΔঢ়گΛࢦ͠·͢ɻʮ෗ഊʯɿ͜Ε͸ɺ*5Πϯϑϥ͕ݹ͘ͳΓɺ
    ϝϯςφϯε͕ద੾ʹߦΘΕͣɺηΩϡϦςΟϦεΫ΍ӡ༻্ͷ໰୊ΛҾ
    ͖ى͜͢ঢ়گΛࢦ͠·͢ɻྫ͑͹ɺݹ͍γεςϜͷҡ࣋ɺߋ৽ͷ஗Εɺη
    ΩϡϦςΟͷ੬ऑੑͳͲ͕͜Εʹ֘౰͠·͢ɻ͜ΕΒ͸૊৫ʹͱͬͯϦε
    Ϋ΍ίετΛ૿Ճͤ͞ΔཁҼͱͳΓ·͢ɻ

    IUUQTXXXNBSVLPNFDPKQNBSVLPNF@PNJTPIBLLPVCJTIPLV
    ൃ߬ͱ෗ഊɾख़੒ͷҧ͍ͬͯԿʁ
    ద੾ʹ؅ཧ͞ΕΔݹ͍γεςϜ΍ςΫϊϩδʔ͸ɺط஌ͷ஌͕ࣝ๛෋Ͱ͋ΔͨΊ໰୊ͱ͸
    ݶΓ·ͤΜɻ*5Πϯϑϥʹ͓͍ͯ͸ɺݹ͞ΑΓ΋์ஔʹΑͬͯੜ͡Δະ஌ͷϦεΫ͕ΑΓ
    େ͖ͳݒ೦ࣄ߲Ͱ͢ɻ࠷ऴతʹ͸ɺਓؒʹΑΔओ؍తͳ؅ཧͱ൑அ͕͜ΕΒͷγε
    ςϜͷӡ༻ʹ͓͍ͯத৺తͳ໾ׂΛՌͨ͠·͢ɻ

    View Slide

  12. ٕज़త෗ഊ͠΍͍͢γεςϜͷ۩ମྫ
    wࣗಈԽͷܽ೗ʹΑΔखಈϓϩηεͷӡ༻্ͷϦεΫ
    w ΠϯϑϥετϥΫνϟʹ͓͚ΔυΩϡϝϯτͷෆ଍΍ࣗಈԽͷܽ೗͸ɺγεςϜͷཧղͱӡ༻ʹେ͖
    ͳো֐ͱͳΓ·͢ɻ͜ΕʹΑΓɺΤϥʔͷ਍அ΍ղܾ͕ࠔ೉ʹͳΓɺશମతͳӡ༻ޮ཰͕௿Լ͠·
    ͢ɻࣗಈԽͷෆ଍͸ɺ܁Γฦ͠ൃੜ͢ΔλεΫʹෆඞཁͳ࣌ؒΛඅ΍ͤ͞ɺϦιʔεͷ࿘අΛҾ͖ى
    ͜͠·͢ɻ
    wద੾ͳυΩϡϝϯτͷܽ೗ʹΑΔӡ༻্ͷ໰୊
    w γεςϜͷཧղͱӡ༻ʹ͓͚ΔυΩϡϝϯτͷෆ଍͸ɺΤϥʔͷ਍அ΍ղܾΛࠔ೉ʹ͠ɺޮ཰తͳӡ
    ༻Λ๦͛·͢ɻద੾ͳυΩϡϝϯτͷܽ೗͸ɺγεςϜͷཧղΛ્֐͠ɺΤϥʔൃੜ࣌ͷରԠΛ஗Β
    ͤΔݪҼͱͳΓ·͢ɻ
    wඇޮ཰ͳچγεςϜͱΠϯϑϥετϥΫνϟͷ՝୊
    w ଟ͘ͷاۀͰ͸ɺݹ͍ςΫϊϩδʔΛ࢖͍ଓ͚Δ͜ͱʹΑΓɺඇޮ཰ͳγεςϜͷҡ࣋ʹ࣌ؒͱϦι
    ʔεΛׂ͍͍ͯ·͢ɻ͜ΕΒͷγεςϜ͸͠͹͠͹खಈϓϩηεʹґଘ͠ɺΤϥʔൃੜͷϦεΫ͕ߴ
    ͘ɺ͕͔͔࣌ؒΓ·͢ɻݱ୅ͷϏδωε؀ڥͰ͸ɺॊೈੑͱ֦ுੑ͕ٻΊΒΕ·͕͢ɺଟ͘ͷطଘΠ
    ϯϑϥετϥΫνϟ͸͜ΕΒͷཁ݅Λຬ͍ͨͯ͠·ͤΜɻอकੑͷ௿͞͸ɺγεςϜͷߋ৽΍վળΛ
    ࠔ೉ʹ͠ɺηΩϡϦςΟͷ੬ऑੑ͸ϏδωεʹॏେͳϦεΫΛ΋ͨΒ͠·͢ɻ͜ΕΒͷ໰୊͸ɺٕज़
    త෗ഊΛਐߦͤͯ͞ɺΠϊϕʔγϣϯΛ๦͛ΔཁҼͱͳΓ·͢ɻ

    View Slide

  13. *OGSBTUSVDUVSFBT$PEF *B$
    ͷݪଇͱޡղ

    View Slide

  14. ίʔυͱͯ͠ͷΠϯϑϥετϥΫνϟ
    w͔ͭͯͷΠϯϑϥ؅ཧʹ͍ͭͯ
    w ैདྷͷΠϯϑϥ؅ཧ͸ɺओʹख࡞ۀͱݸʑͷઃఆʹґଘ͍ͯ͠·ͨ͠ɻ͜Ε
    ͸͕͔͔࣌ؒΔ͚ͩͰͳ͘ɺΤϥʔͷݪҼͱͳΓಘΔͨΊɺҰ؏ੑ΍࠶ݱੑ
    ʹ͚ܽΔ͜ͱ͕ଟ͔ͬͨͰ͢ɻ*B$͕ͲͷΑ͏ʹΠϯϑϥ؅ཧͷ෩ܠΛม͑
    ͍ͯΔ͔ɺͦͷجຊతͳݪଇͱޡղʹ͍ͭͯݴٴ͠·͢

    %BTI#PBSE
    $-*Ͱͷ࣮ߦ
    γεςϜɾαʔϏε γεςϜɾαʔϏε
    ίʔυ
    ˞*B$Ͱ͸ͳ͍Ҏ্ͷҙຯΛؚΈ·ͤΜ

    View Slide

  15. ίʔυͱͯ͠ͷΠϯϑϥετϥΫνϟ
    w*OGSBTUSVDUVSFBT$PEFͷจࣈ௨Γͷఆٛ͸ɺ
    w ௚༁͢Δͱʮίʔυͱͯ͠ͷΠϯϑϥʯ΋͘͠͸ʮΠϯϑϥΛίʔυͰهड़͢Δʯ͚ͩ
    w ԿͷͨΊʹ΍Δͷ͔ɺͲΜͳԸܙ͕͋Δͷ͔ͱ͍͏͜ͱ͸ࣈ໘͔Β෼͔ΓͮΒ͍
    w ର࿩తʹ࣮ߦͨ͠ΓɺίʔυҎ֎ͷࣗಈԽπʔϧΛ࢖༻ͨ͠Γ͢ΔͷͰ͸ͳ͘ɺίʔυ
    Λ࢖༻ͯ͠ΠϯϑϥετϥΫνϟͷϓϩϏδϣχϯάͱ؅ཧΛ࣮ߦ͢Δ͜ͱͰ͢ɻ

    %BTI#PBSE
    $-*Ͱͷ࣮ߦ
    γεςϜɾαʔϏε γεςϜɾαʔϏε
    ίʔυ
    ˞*B$Ͱ͸ͳ͍Ҏ্ͷҙຯΛؚΈ·ͤΜ

    View Slide

  16. *OGSBTUSVDUVSFBT$PEF *B$
    ͷίΞϓϥΫςΟε
    w*B$Λ੒ޭͤ͞ΔͨΊͷࡾͭͷ֩ͱͳΔϓϥΫςΟε
    w ʮ͢΂ͯΛίʔυͱͯ͠ఆٛͯ͠ʯͱ͍͏ߟ͑ํͰ͢ɻ͜ΕʹΑ
    ΓɺΠϯϑϥετϥΫνϟ͸࠶ݱՄೳͰɺ؅ཧ͕༰қʹɻ
    w ʮ͢΂ͯͷ࡞ۀΛܧଓతʹςετͯ͠ఏڙʯ͢Δ͜ͱ͕ॏཁͰ
    ͢ɻ͜ΕʹΑΓɺσϓϩΠϝϯτલͷόάͷಛఆ΍ɺຊ൪؀ڥ΁
    ͷεϜʔζͳಋೖ͕Մೳɻ
    w ʮಠཱͯ͠มߋͰ͖Δখͯ͘͞γϯϓϧͳ෦෼Λߏஙʯ͢Δ͜ͱ
    ͰɺγεςϜશମͷෳࡶੑΛ؅ཧ͠΍͘͢͠·͢ɻ

    γεςϜɾαʔϏε
    ίʔυ
    ˞*B$Ͱ͸ͳ͍Ҏ্ͷҙຯΛؚΈ·ͤΜ
    ͜ΕΒͷ࣮ફʹΑͬͯɺ*B$͸ΠϯϑϥετϥΫνϟͷ؅ཧΛޮՌతʹมֵ͠·͢ɻ
    ίΞϓϥΫςΟεΛ९क͢Δ͜ͱ͸ɺγεςϜΛे෼ʹ࠷దԽɾൃ߬ͤ͞ΔҰาͱͳΓ·͢ɻ

    View Slide

  17. *OGSBTUSVDUVSFBT$PEF *B$
    ͷาΈ
    wεΫϦϓτ͔Βચ࿅͞ΕͨϞσϧ΁ͷਐԽ
    w *OGSBTUSVDUVSFBT$PEF *B$
    ͷࠜఈʹ͸γεςϜ؅ཧλεΫΛࣗಈԽ͢ΔͨΊͷεΫϦϓτ
    ͕͋Γ·͢ɻ͜Ε͸γΣϧεΫϦϓτɺ1FSMɺ1ZUIPOɺ3VCZͳͲͷݴޠΛ࢖༻ͯ͠ߦΘΕɺ
    γεςϜ؅ཧऀ͸͜ΕΒΛ࢖ͬͯ܁Γฦ͠ߦ͏࡞ۀΛޮ཰Խ͠·ͨ͠ɻ*B$ͷਐԽ͸ɺγεςϜ
    ؅ཧͷࣗಈԽ͔Β࢝·ΓɺॳظͷεΫϦϓτϕʔεͷΞϓϩʔν͸جຊతͳλεΫͷࣗಈԽʹয
    ఺Λ౰͍ͯͯ·͕ͨ͠ɺ΍͕ͯΑΓચ࿅͞Εͨએݴܕͱ໋ྩܕͷϞσϧ΁ͱਐԽ͠·ͨ͠ɻ
    w એݴܕϓϩάϥϛϯάͰ͸ɺ๬ΉΠϯϑϥετϥΫνϟͷঢ়ଶΛʮԿʯ͕ඞཁ͔Ͱఆٛ͠·͢ɻ
    ͜Εʹର͠ɺ໋ྩܕϓϩάϥϛϯάͰ͸ʮͲͷΑ͏ʹʯͦͷঢ়ଶΛୡ੒͢Δ͔Λࢦఆ͠·͢ɻ

    γεςϜɾαʔϏε
    ίʔυ
    ࣗಈԽ
    εΫϦϓτ
    એݴܕ ໋ྩܕ
    ԿΛ ͲͷΑ͏ʹ

    View Slide

  18. ίʔυԽ͞Ε͍ͯͳ͍Πϯϑϥͷ֓ཁ

    %BTI#PBSE
    $-*Ͱͷ࣮ߦ
    γεςϜɾαʔϏε
    wඇίʔσΟϯάܕࣗಈԽπʔϧͷ֓ཁɿ
    w Ϣʔβʔ͸ɺ(6*ΠϯλʔϑΣʔεΛ௨ͯ͡
    ΠϯϑϥΛఆٛ͠·͢ɻ
    w ΠϯλʔϑΣʔεͰ͸ɺυϩοϓμ΢ϯϝχϡʔ͔Β
    બ୒͢Δ͜ͱͰΦϓγϣϯ͕ઃఆ͞Ε·͢ɻ
    wઃఆͷอଘͱςϯϓϨʔτԽɿ
    w Ϣʔβʔ͸࡞੒ͨ͠ઃఆΛอଘͰ͖·͢ɻ
    w ςϯϓϨʔτΛ࡞੒͢Δ͜ͱͰɺಉ͡ઃఆͰෳ਺ͷ
    ΠϯελϯεΛߏங͢Δ͜ͱ͕ՄೳͰ͢ɻ
    w طଘΠϯϑϥͷߋ৽ͱҰ؏ੑͷҡ࣋͸Πϯϑϥࣗମ͕୲౰
    ˞*B$Ͱ͸ͳ͍Ҏ্ͷҙຯΛؚΈ·ͤΜ
    ઃఆͷอଘ
    ΢ΣϒΦϖϨʔγϣϯαΠτӡ༻؅ཧͷ࣮ફςΫχοΫ
    IUUQTXXXPSFJMMZDPKQCPPLT

    View Slide

  19. ίʔυԽ͞Ε͍ͯͳ͍Πϯϑϥͷ੍ݶ

    %BTI#PBSE
    $-*Ͱͷ࣮ߦ
    γεςϜɾαʔϏε
    wίʔυԽ͞Εͯͳ͍γεςϜͷ੍ݶͱ੍໿ɿ
    wߏ੒؅ཧͱόʔδϣϯ؅ཧͷॏཁੑ
    w ΠϯϑϥετϥΫνϟʔͷఆٛ͸ɺΦʔϓϯϑΝΠϧͰ͸
    ͳ͘ดͨ͡γεςϜ಺Ͱอଘ͞Ε·͢ɻ֎ग़͠Ͱ͖·ͤΜ
    w ͜ΕʹΑΓɺιʔείϯτϩʔϧϦϙδτϦ΍ίʔυεΩ
    ϟϯπʔϧɺࣗಈςετɺࣗಈσϦόϦʔͳͲɺίʔυ
    ʹؔ࿈͢Δ෯޿͍πʔϧͷΤίγεςϜΛར༻͢Δ͜ͱ͕
    ੍ݶ͞Ε·͢ɻ
    w खಈͰߦΘΕͨ࡞ۀதͷϛεʹର͢Δ֬ೝ͢Δೣ͕ඞཁ
    ˞*B$Ͱ͸ͳ͍Ҏ্ͷҙຯΛؚΈ·ͤΜ
    ֎෦؅ཧͰ͖ͳ͍

    ΢ΣϒΦϖϨʔγϣϯαΠτӡ༻؅ཧͷ࣮ફςΫχοΫ
    IUUQTXXXPSFJMMZDPKQCPPLT

    View Slide

  20. ίʔυԽ͞ΕͨΠϯϑϥͷ֓ཁ
    wΠϯϑϥͷίʔυͷఆٛ
    w ΠϯϑϥετϥΫνϟʔΛఆٛɾఏڙ͢ΔҎ্ͷ΋ͷ
    ᴈ໌ظ͸ઃఆͷࣗಈԽ͕য఺ʹͳ͍ͬͯͨɻ
    w *B$ͷίΞϓϥΫςΟε
    w ͢΂ͯΛίʔυͱͯ͠ఆٛͯ͠
    w ͢΂ͯͷ࡞ۀΛܧଓతʹςετͯ͠ఏڙ
    w ಠཱͯ͠มߋͰ͖Δখͯ͘͞γϯϓϧͳ෦෼Λߏங
    w ιϑτ΢ΣΞͷઃܭݪଇɺ࣮ફɺπʔϧΛΠϯϑϥʹద༻

    γεςϜɾαʔϏε
    ίʔυ
    ˞*B$Ͱ͸ͳ͍Ҏ্ͷҙຯΛؚΈ·ͤΜ
    5%% $*$%

    View Slide

  21. ίʔυԽ͞ΕͨΠϯϑϥͷ੍ݶ
    w ٕज़తɾӡ༻తͳ੍໿ͷཧղͱରԠ
    w ΠϯϑϥετϥΫνϟʔΛίʔυԽ͢Δࡍͷٕज़త͓
    Αͼӡ༻্ͷ੍໿΁ͷద੾ͳରॲ๏ɻ
    w બ୒ࢶͨ͠πʔϧͷੈք؍ʹै͏ඞཁ͕͋Δ
    w ӡ༻ෳࡶੑ΁ͷରԠ
    w ӡ༻ͷෳࡶ͞Λܰݮ͢ΔͨΊͷઓུͷ࣮ࢪ͕ඞཁ
    w ޮ཰త͔ͭ࣋ଓՄೳͳӡ༻ϞσϧΛཱ֬͢ΔͨΊͷ
    ํ๏࿦ͷద༻͕ඞཁɻ

    γεςϜɾαʔϏε
    ίʔυ
    ˞*B$Ͱ͸ͳ͍Ҏ্ͷҙຯΛؚΈ·ͤΜ
    ݪଇΛ஌Δ͜ͱͰήʔϜͷϧʔϧ͕෼͔ΓઓུΛཱͯ΍͘͢ͳΔ

    View Slide

  22. *OGSBTUSVDUVSFBT$PEF *B$
    ͷݪଇ
    w৽͍͠ઃܭͱӡ༻ʹର͢Δݪଇ
    w Ϋϥ΢υςΫϊϩδʔͷਐԽ͸ɺίϯϐϡʔςΟϯάϦιʔεͷѻ͍ํʹֵ໋Λ΋ͨΒ͠·͠
    ͨɻैདྷͷ෺ཧతͳΠϯϑϥετϥΫνϟ͔Β୤٫͠ɺΫϥ΢υͰ͸Ϧιʔε͕Ծ૝Խ͞Εɺ
    ΑΓॊೈ͔ͭಈతʹ؅ཧ͞ΕΔΑ͏ʹͳΓ·ͨ͠ɻ͜ͷ৽͍͠؀ڥͰ͸ɺΠϯϑϥετϥΫν
    ϟͷઃܭͱӡ༻ʹ৽ͨͳݪଇ͕ඞཁͱ͞Ε͍ͯ·͢ɻ
    w ҎԼͷݪଇ͸ɺΫϥ΢υϓϥοτϑΥʔϜͷಛੑΛ࠷େݶʹ׆༻͢ΔͨΊͷ΋ͷͰ͢ɻมߋΛ
    ؆୯ʹߦ͍ɺ඼࣭ͱ৴པੑΛߴΊΔͨΊʹɺ͜ΕΒͷݪଇΛ׆༻͢Δ͜ͱ͕ॏཁͰ͢ɻ
    γεςϜ͸৴པͰ͖ͳ͍ͱԾఆ͢Δ
    ͢΂ͯΛ࠶ݱՄೳʹ͢Δ
    εϊʔϑϨʔΫγεςϜΛආ͚Δ
    ࢖͍ࣺͯͷ΋ͷΛ࡞Δ
    มಈΛ࠷খݶʹ཈͑Δ
    Ͳͷϓϩηε΋܁Γฦ࣮͠ߦͰ͖ΔΑ͏ʹ͢Δ
    ιϑτ΢ΣΞઃܭݪଇΛΠϯϑϥετϥΫνϟίʔυʹద༻

    Infrastructure as Code, 3rd Edition
    https://learning.oreilly.com/library/view/infrastructure-as-code/9781098150341/

    View Slide

  23. γεςϜ͸৴པͰ͖ͳ͍ͱԾఆ͢Δ
    wෆ҆ఆͳΫϥ΢υΠϯϑϥετϥΫνϟϋʔυ΢ΣΞͷԾఆ
    w Ϋϥ΢υ࣌୅Ͱ͸ɺϋʔυ΢ΣΞͷ৴པੑʹཔΔ͜ͱ͸Ͱ͖·ͤΜɻγεςϜ͸ɺো֐͕ൃੜͯ͠΋αʔ
    ϏεΛܧଓͰ͖ΔΑ͏ઃܭ͞ΕΔ΂͖Ͱ͢ɻ͜Ε͸ɺϋʔυ΢ΣΞͷো֐ɺιϑτ΢ΣΞͷΞοϓάϨʔ
    υɺෛՙ෼ࢄͷ࠶ௐ੔ͳͲɺܭըతͳΦϑϥΠϯ࡞ۀΛؚΉ͢΂ͯͷঢ়گΛߟྀͨ͠΋ͷͰ͢ɻγεςϜ
    Λෆมͷج൫ͱͯ͠ѻ͏ͷͰ͸ͳ͘ɺಈతͳมߋʹରԠͰ͖ΔΑ͏ઃܭ͢Δ͜ͱ͕ॏཁͰ͢ɻ
    wಈతϦιʔεͷมߋ΁ͷରԠ
    w Ϋϥ΢υΠϯϑϥετϥΫνϟ͸ɺͦͷج൫ͱͳΔϦιʔε͕҆ఆ͍ͯ͠Δͱ͸ݶΓ·ͤΜɻγεςϜ
    ͸ɺج൫ͱͳΔϦιʔε͕มߋ͞Εͨͱ͖ʹɺαʔϏεΛதஅ͢Δ͜ͱͳ͘ӡ༻Λଓ͚ΔΑ͏ઃܭ͞ΕΔ
    ΂͖Ͱ͢ɻ͜Εʹ͸ɺγεςϜιϑτ΢ΣΞͷύον΍ΞοϓάϨʔυɺෛՙͷ࠶෼഑ɺτϥϒϧγϡʔ
    ςΟϯάͳͲɺ༷ʑͳཧ༝ͰҰ෦ͷγεςϜΛΦϑϥΠϯʹ͢Δඞཁੑؚ͕·Ε·͢ɻ͜ͷΑ͏ͳಈతͳ
    มߋʹॊೈʹରԠͰ͖Δઃܭ͕ٻΊΒΕ·͢ɻ


    ೥ؒ෼ඵ

    ೥ؒ࣌ؒ෼
    Ϣʔβʔ
    େଟ਺ͷϢʔβʔ͸
    ମݧͱͯࠩ͠Λײ͡ΒΕͳ͍
    ҉໧తͳˋ
    γεςϜมߋʹର͢ΔڪΕΛݮΒ͢
    ։ൃऀ

    View Slide

  24. ͢΂ͯΛ࠶ݱՄೳʹ͢Δ
    wγεςϜͷ෦෼ͷ৴པੑͷ࠶ߏங
    w γεςϜΛ଱ো֐ੑͷߴ͍΋ͷʹ͢ΔͨΊͷॏཁͳखஈͱͯ͠ɺͦͷ֤෦෼Λ༰қ͔ͭ৴པੑߴ͘࠶ߏஙͰ͖
    ΔΑ͏ʹ͢Δ͜ͱ͕͋Γ·͢ɻ͜Ε͸ɺγεςϜͷઃఆɺιϑτ΢ΣΞόʔδϣϯɺґଘؔ܎ͳͲΛίʔυԽ
    ͠ɺ࠶ߏஙϓϩηεΛ୯७͔ͭ໌֬ʹ͢Δ͜ͱΛҙຯ͠·͢ɻ͜ͷΞϓϩʔνʹΑΓɺγεςϜͷࣦഊ͔Βͷ
    ճ෮͸΋ͪΖΜɺςετ؀ڥͷ੔߹ੑͷอ࣋΍ɺϦʔδϣϯؒͰͷγεςϜෳ੡ͳͲɺ͞·͟·ͳར఺͕΋ͨ
    Β͞Ε·͢ɻ
    w࠶ݱੑʹΑΔӡ༻ͷॊೈੑ
    w ࠶ݱՄೳͳγεςϜ͸ɺӡ༻ʹ͓͍ͯඇৗʹॊೈੑΛఏڙ͠·͢ɻ͜ΕʹΑΓɺधཁͷ૿ՃʹԠͯ͡Πϯελ
    ϯεΛ௥Ճ͢Δɺ֤ސ٬ʹઐ༻ͷΠϯελϯεΛఏڙ͢ΔͳͲɺਝ଎ʹରԠ͢Δ͜ͱ͕ՄೳʹͳΓ·͢ɻͨͩ
    ͠ɺ࣮ߦதͷγεςϜ͸σʔλ΍ίϯςϯπɺϩάΛੜ੒͢ΔͨΊɺ͜ΕΒΛ࠶ݱઓུͷҰ෦ͱͯ͠ߟྀ͢Δ
    ඞཁ͕͋Γ·͢ɻσʔλͷࣗಈίϐʔ·ͨ͸ετϦʔϛϯάͱɺ࠶ߏங࣌ͷ෮ݩ͕ɺͦͷํ๏ͷҰྫͰ͢ɻ

    γεςϜɾαʔϏε
    ৽͍͠ݕূ؀ڥΛ࡞Δͷʹ
    ࠶ͼɺϲ݄ඞཁͰ͢
    ࠶ݱՄೳͰͳ͍৔߹
    γεςϜɾαʔϏε
    ৽͍͠ݕূ؀ڥΛ࡞Δͷʹ
    ೋӦۀ೔͋Ε͹
    ࠶ݱՄೳͳ৔߹
    ࣍ͷΑ͏ͳ͜ͱʹ΋໾ཱͪ·͢ɻ
    ςετ؀ڥΛຊ൪؀ڥͱҰ؏ੑͷ͋Δ΋ͷʹ͢Δ
    Մ༻ੑΛ֬อ͢ΔͨΊʹϦʔδϣϯؒͰγεςϜΛෳ੡͢Δ
    ߴෛՙʹରॲ͢ΔͨΊʹΦϯσϚϯυͰΠϯελϯεΛ௥Ճ͢Δ
    γεςϜΛෳ੡֤ͯ͠ސ٬ʹઐ༻ͷΠϯελϯεΛఏڙ͢Δ

    View Slide

  25. εϊʔϑϨʔΫγεςϜΛආ͚Δ
    wεϊʔϑϨʔΫγεςϜͷ໰୊఺
    w εϊʔϑϨʔΫγεςϜ͸ɺ࠶ߏங͕ࠔ೉Ͱ͋Γɺଞͷ؀ڥͱҟͳΔಛ௃Λ࣋ͭγεςϜͰ͢ɻ৽
    ͍͠πʔϧΛ࢖༻ͯ͠ॳΊͯԿ͔Λߏங͢Δࡍʹൃੜ͢Δ͜ͱ͕ଟ͘ɺҰ౓ґଘ͢Δͱվળ΍࠶ߏ
    ங͕ࠔ೉ʹͳΓ·͢ɻ͜ΕΒͷγεςϜ͸ɺཧղ͕೉͘͠ɺมߋ͕ࠔ೉Ͱ͋Γɺো֐͕ൃੜͨ͠৔
    ߹ͷम෮΋೉͍ͨ͠ΊɺϦεΫΛੜΈग़͠ɺ؅ཧνʔϜͷ࣌ؒΛ࿘අͤ͞෗ഊΛଅਐ͠·͢ɻ
    wεϊʔϑϨʔΫγεςϜͷճආ
    w εϊʔϑϨʔΫγεςϜΛආ͚ΔͨΊʹ͸ɺγεςϜΛίʔυͰෳ੡͠ɺ৽͍͠γεςϜΛฒߦ͠
    ͯՔಇͤ͞Δ͜ͱ͕ॏཁͰ͢ɻࣗಈԽ͞ΕͨςετͱύΠϓϥΠϯΛར༻ͯ͠ɺγεςϜ͕ਖ਼֬Ͱ
    ࠶ݱՄೳͰ͋Γɺ؆୯ʹมߋͰ͖Δ͜ͱΛ֬ೝ͢Δඞཁ͕͋Γ·͢ɻεϊʔϑϨʔΫγεςϜ͸ɺ
    ΠϯϑϥετϥΫνϟίʔυΛ࢖༻ͯ͠΋࡞੒͞ΕΔՄೳੑ͕͋ΔͨΊɺ஫ҙ͕ඞཁͰ͢ɻ

    ຊ൪؀ڥ εςʔδϯά؀ڥ
    ख़࿅ऀ
    ಠࣗͰରԠ
    τϥγϡʔͰ

    ଞ؀ڥͰ࠶ݱͤͣ
    ຊ൪؀ڥͱͷࠩҟ
    ᶄ ਺Χ݄d਺೥ޙ

    ӡ༻ऀ

    View Slide

  26. ࢖͍ࣺͯͷ΋ͷΛ࡞Δ
    wμΠφϛοΫͳγεςϜͷߏங
    w μΠφϛοΫͳΠϯϑϥετϥΫνϟΛ࣋ͭγεςϜΛߏங͢Δ͜ͱ͸ɺӡ༻্ͷॊೈੑɺՄ༻ੑɺ
    εέʔϥϏϦςΟΛߴΊ·͢ɻγεςϜͷ֤෦෼Λ༰қʹ௥Ճɺ࡟আɺ։࢝ɺఀࢭɺมߋɺҠಈͰ͖
    ΔΑ͏ʹઃܭ͢Δ͜ͱ͕ٻΊΒΕ·͢ɻ͜ΕʹΑΓɺӡ༻͕؆ૉԽ͞ΕɺϦεΫ͕௿ݮ͞Ε·͢ɻ·
    ͨɺʮαʔόʔΛϖοτͰ͸ͳ͘ՈசͷΑ͏ʹѻ͏ʯͱ͍͏දݱ͸ɺ͜ͷݪଇΛ৅௃͍ͯ͠·͢ɻ
    wૢ࡞ͷॊೈੑͱϦεΫ௿ݮ
    w ࢖͍ࣺͯՄೳͳγεςϜΛߏங͢Δ͜ͱʹΑΓɺӡ༻্ͷॊೈੑ͕େ෯ʹ޲্͠·͢ɻྫ͑͹ɺγε
    ςϜͷҰ෦Λ࠶ߏங͢ΔࡍʹɺϞχλϦϯάγεςϜ͕ຖճΞϥʔτΛൃੜͤ͞ͳ͍Α͏ʹ͢Δඞཁ
    ͕͋Γ·͢ɻ͔͠͠ɺγεςϜ͕ࣗݾ࠶ߏஙͷϧʔϓʹؕͬͨ৔߹͸ܯࠂΛൃ͢Δ΂͖Ͱ͢ɻ͜ͷݪ
    ଇ͸ɺมߋΛ؆ૉԽ͠ɺϦεΫΛݮΒ͢͜ͱΛ໨తͱ͍ͯ͠·͢ɻ

    ͍ʹ͑͠ͷӡ༻ऀ
    ҰਓҰਓΛେ੾ʹ
    αʔόʔ͸ϖοτ
    ϨΦφϧυɾϥϑΝΤϩ
    ϛέϥϯδΣϩɾυφςϩ
    ͔ͭͯ͸໊෇͚ͯͨ
    ݱ୅ͷӡ༻ऀ
    େ੾ʹ͸͢Δ͚ΕͲ
    αʔόʔ͸Ոச
    XFC XFC XFC
    ػೳ໊͔͠ͳ͍

    View Slide

  27. มಈΛ࠷খݶʹ཈͑Δ
    wγεςϜͷෳࡶ͞ͷ؅ཧ
    w γεςϜ͕੒௕͢ΔʹͭΕͯɺͦͷཧղɺมߋɺमਖ਼͕೉͘͠ͳΓ·͢ɻγεςϜΛ؅ཧ͠΍͘͢อͭͨ
    Ίʹ͸ɺҟͳΔλΠϓͷίϯϙʔωϯτͷ਺Λ࠷খݶʹ཈͑Δ͜ͱ͕ॏཁͰ͢ɻྫ͑͹ɺ୆ͷಉҰα
    ʔόʔͷ؅ཧ͸ɺ୆ͷ׬શʹҟͳΔαʔόʔͷ؅ཧΑΓ΋؆୯Ͱ͢ɻ࠶ݱՄೳͳίϯϙʔωϯτΛଟ͘࡞
    ੒͢Δ͜ͱͰɺγεςϜͷཧղɺมߋɺमਖ਼͕༰қʹͳΓ·͢ɻ
    wมߋͷҰ؏ੑͷ֬อ
    w มಈΛ࠷খݶʹ཈͑Δ͜ͱ͸ɺγεςϜ಺ͷҰ؏ੑΛҡ࣋͢Δͷʹ໾ཱͪ·͢ɻҟͳΔΦϖϨʔςΟϯά
    γεςϜɺσʔλϕʔεɺιϑτ΢ΣΞͷόʔδϣϯͳͲΛ࠷খݶʹอͭ͜ͱͰɺνʔϜ͕ඞཁͱ͢ΔεΩ
    ϧͱ஌ࣝΛूதͤ͞Δ͜ͱ͕Ͱ͖·͢ɻ·ͨɺγεςϜ಺ͷύοέʔδͷҟͳΔόʔδϣϯʹΑΔϦεΫ
    ΛݮΒ͢͜ͱ΋ॏཁͰ͢ɻίϚϯυͷҰ؏ੑΛอͪɺ੬ऑੑ΍όάΛආ͚ΔͨΊʹɺҰ؏ͨ͠όʔδϣϯ
    ؅ཧ͕ٻΊΒΕ·͢ɻ

    ։ൃ؀ڥ ຊ൪؀ڥЋ ຊ൪؀ڥЌ ຊ൪؀ڥЍ
    ՄೳͳݶΓಉ͡ߏ੒Ͱಉ͡όʔδϣϯͰͳ͚Ε͹ҧ͏εΩϧηοτͷ৔߹͋Δ

    View Slide

  28. Ͳͷϓϩηε΋܁Γฦ࣮͠ߦͰ͖ΔΑ͏ʹ͢Δ
    wࣗಈԽͱεΫϦϓτͷར༻
    w ࠶ݱੑͷݪଇʹج͖ͮɺΠϯϑϥετϥΫνϟʹؔ࿈͢Δ͢΂ͯͷϓϩηεΛ܁Γฦ࣮͠ߦͰ͖Δ
    Α͏ʹ͢Δ͜ͱ͕ٻΊΒΕ·͢ɻ͜Ε͸ɺεΫϦϓτ΍ઃఆ؅ཧπʔϧΛ࢖༻ͯ͠ΞΫγϣϯΛ࣮
    ߦ͢Δ͜ͱʹΑΓɺख࡞ۀΑΓ΋༰қʹͳΓ·͢ɻ͔͠͠ɺࣗಈԽ͸ଟ͘ͷ࡞ۀΛ൐͏ͨΊɺ͜Ε
    ʹ׳Ε͍ͯͳ͍৔߹͸ಛʹ஫ҙ͕ඞཁͰ͢ɻ
    wઃఆͷҰ؏ੑͱυϦϑτͷճආ
    w ͋ΔλεΫΛख࡞ۀͰߦ͏୅ΘΓʹεΫϦϓτΛ࡞੒͠ɺͦͷλεΫΛ܁Γฦ࣮͠ߦͰ͖ΔΑ͏ʹ
    ͢Δ͜ͱ͸ɺઃఆͷҰ؏ੑΛอ্ͭͰඇৗʹॏཁͰ͢ɻͨͱ͑͹ɺख࡞ۀͰߦ͏ͱɺҟͳΔνʔϜ
    ϝϯόʔ͕ҟͳΔܾఆΛԼ͠ɺઃఆͷυϦϑτʢ͹Β͖ͭʣ͕ൃੜ͢ΔՄೳੑ͕͋Γ·͢ɻ͜ͷυ
    Ϧϑτ͸ɺࣗಈԽʹΑΔ৴པੑͷଛࣦΛҾ͖ى͜͠ɺγεςϜͷҰ؏ੑΛڴ͔͠·͢ɻ

    ຊ൪؀ڥЋ
    ࡞ۀ"
    ຊ൪؀ڥЌ
    ࡞ۀ#
    ຊ൪؀ڥЍ
    ࡞ۀ"
    ࡞ۀ#

    View Slide

  29. ιϑτ΢ΣΞઃܭݪଇΛΠϯϑϥετϥΫνϟίʔυʹద༻
    wΠϯϑϥετϥΫνϟͱιϑτ΢ΣΞͷ౷߹
    w ΠϯϑϥετϥΫνϟͱιϑτ΢ΣΞ͸ຊ࣭తʹҟͳΓ·͕͢ɺଟ͘ͷιϑτ΢ΣΞઃܭͱΤϯδχ
    ΞϦϯάͷ֓೦͸ΠϯϑϥετϥΫνϟʹ΋༗༻Ͱ͢ɻΠϯϑϥετϥΫνϟΛίʔυͱͯ͠ఆٛ
    ͠ɺιϑτ΢ΣΞΤϯδχΞϦϯάͷݪଇɺ࣮ફɺπʔϧΛద༻͢Δ͜ͱͰɺΑΓޮ཰త͔ͭॊೈͳ
    γεςϜߏங͕ՄೳʹͳΓ·͢ɻ
    wઃܭͱΞʔΩςΫνϟͷద༻
    w ιϑτ΢ΣΞઃܭɺΞʔΩςΫνϟɺΤϯδχΞϦϯάʹؔ͢Δ஌ࣝ͸ɺΠϯϑϥετϥΫνϟͷઃ
    ܭͱ࣮૷ʹେ͖͘ߩݙ͠·͢ɻ͜ΕʹΑΓɺΠϯϑϥετϥΫνϟͷෳࡶ͞Λ؅ཧ͠ɺޮ཰త͔ͭޮ
    ՌతͳγεςϜΛߏங͢Δ͜ͱ͕ՄೳʹͳΓ·͢ɻ·ͨɺ͜ΕΒͷݪଇΛద༻͢Δ͜ͱͰɺΠϯϑϥ
    ετϥΫνϟͷࣗಈԽͱϝϯςφϯε͕༰қʹͳΓɺશମతͳγεςϜͷ৴པੑ͕޲্͠·͢ɻ

    ίʔυ
    ΞϓϦέʔγϣϯಈ࡞؀ڥ
    ίʔυ
    Πϯϑϥಈ࡞؀ڥ
    ଟ͘ͷιϑτ΢ΣΞઃܭ͓ΑͼΤϯδχΞϦϯάͷ֓೦͸ΠϯϑϥετϥΫνϟʹ໾ཱͪ·͢ɻ
    ΠϯϑϥετϥΫνϟͱιϑτ΢ΣΞͷੑ࣭͸·ͬͨ͘ҟͳΔͨΊɺ͜ͷݪଇ͸͋Δఔ౓஫ҙͯ͠ѻ͏ඞཁ͕͋Γ·͢ɻ

    View Slide

  30. *OGSBTUSVDUVSFBT$PEF *B$
    ͷޡղ
    w*OGSBTUSVDUVSFBT$PEF *B$
    ΁ͷޡղͱ൓佀
    w *OGSBTUSVDUVSFBT$PEF *B$
    ͸ɺΠϯϑϥετϥΫνϟΛߴ౓ʹࣗಈԽ͠ɺޮ཰
    తʹ؅ཧ͢ΔͨΊͷॏཁͳݪଇͰ͢ɻ͜ͷΞϓϩʔνͰ͸ɺΠϯϑϥετϥΫνϟͷ
    ઃఆͱ؅ཧΛίʔυͱͯ͠ѻ͍ɺιϑτ΢ΣΞ։ൃͷϓϥΫςΟεΛద༻͠·͢ɻ͠
    ͔͠ɺ*B$ʹؔͯ͠͸͍͔ͭ͘ͷޡղ͕ଘࡏ͠·͢ɻ͜ΕΒͷޡղ͸ɺ*B$ͷຊ࣭తͳ
    ར఺Λݟམͱ͠ɺ࣮ફͷޮՌΛ௿Լͤ͞ΔՄೳੑ͕͋Γ·͢ɻ
    w ΠϯϑϥετϥΫνϟ͸සൟʹมߋ͞Εͳ͍
    w Ұ౓ઃఆ͢Ε͹ͦͷޙ͸׬શʹࣗಈԽ͞ΕΔɻ
    ઃఆͷࣗಈԽҎ֎ʹՁ஋͕͋·Γͳ͍ɻ
    w ΠϯϑϥετϥΫνϟΛߏங͠ɺޙͰίʔυԽͰ͖Δ
    Ҏ্͸ɺ*B$ʹର͢ΔҰൠతͳޡղʹ͍ͭͯޠͬͨ΋ͷͰ͕͢ৄࡉઆ໌͍͖ͯ͠·͢

    View Slide

  31. ΠϯϑϥετϥΫνϟ͸සൟʹมߋ͞Εͳ͍
    wޡղͷ಺༰
    w ͜ͷޡղ͸ɺΠϯϑϥετϥΫνϟ͕੩తͰ΄ͱΜͲมߋ͕ඞཁͳ͍ͱ͍͏ߟ͑ํʹج͍ͮͯ
    ͍·͢ɻҰ౓ηοτΞοϓ͞ΕΕ͹ɺ௕ظؒʹΘͨͬͯมߋͷඞཁ͕ͳ͍ͱݟͳ͞ΕΔ͜ͱ͕
    ଟ͍Ͱ͢ɻ
    wޡղ΁ͷ൓佀
    w ࣮ࡍʹ͸ɺΠϯϑϥετϥΫνϟ͸Ϗδωεͷχʔζ΍ٕज़ͷਐԽʹԠͯ͡සൟʹมߋ͞ΕΔ
    ඞཁ͕͋Γ·͢ɻηΩϡϦςΟΞοϓσʔτɺੑೳվળɺ৽͍͠ػೳͷ௥ՃͳͲɺมߋ͸ܧଓ
    తʹൃੜ͠·͢ɻ*B$͸ɺ͜ΕΒͷมߋΛਝ଎͔ͭҰ؏࣮ͯ͠ࢪ͢ΔͨΊͷϑϨʔϜϫʔΫΛ
    ఏڙͯ͠γεςϜΛ෗ഊ͔ΒकΓ·͢ɻ

    ຊ൪؀ڥЋ
    ߏங
    ద༻
    ίʔυ
    ӡ༻͸ଓ͘ΑͲ͜·Ͱ΋ʂ
    ཁ݅" ཁ݅# ηΩϡϦςΟΞοϓσʔτ ৽ػೳ" ੑೳվળ"
    ຊ൪؀ڥЋ
    खಈมߋ

    View Slide

  32. ઃఆͷࣗಈԽҎ֎ʹՁ஋͕͋·Γͳ͍
    wޡղͷ಺༰
    w ͜ͷޡղ͸ɺҰ౓*B$ͰΠϯϑϥετϥΫνϟ͕ઃఆ͞ΕΕ͹ɺͦͷޙ͸Կ΋खΛՃ͑Δඞཁ͕
    ͳ͍ͱ͍͏ߟ͑ʹج͍͍ͮͯ·͢ɻ·ͨɺ*B$ͷओͳՁ஋͸ઃఆͷࣗಈԽʹ͋Δͱݟͳ͞Ε͕ͪ
    Ͱ͢ɻ
    wޡղ΁ͷ൓佀
    w ͔͠͠ɺ࣮ࡍʹ͸*B$͸ܧଓతͳ؅ཧͱվળΛඞཁͱ͠·͢ɻΠϯϑϥετϥΫνϟ͸ఆظతʹ
    ߋ৽͞Εɺ৽͍ٕ͠ज़΍ηΩϡϦςΟཁ݅ʹରԠ͢Δඞཁ͕͋Γ·͢ɻ·ͨɺ*B$ͷՁ஋͸ࣗಈ
    Խ͚ͩͰͳ͘ɺҰ؏ੑɺՄࢹੑɺޮ཰ੑͷ޲্ʹ΋͋Γ·͢ɻ͜ΕʹΑΓɺνʔϜ͸ΑΓਝ଎ʹ
    ൓Ԡ͠ɺϦεΫΛ௿ݮ͠ɺΠϊϕʔγϣϯΛਪਐ͢Δ͜ͱͰΠϯϑϥͷ෗ഊ͔ΒकΓ·͢ɻ

    ຊ൪؀ڥЋ
    ߏங
    ద༻
    ίʔυ
    ຊ൪؀ڥЋ
    ߏங
    ద༻
    ίʔυ
    ຊ൪؀ڥЋ
    ߏங
    ద༻
    ίʔυ
    มߋ มߋ มߋ

    View Slide

  33. ΠϯϑϥετϥΫνϟΛߏங͠ɺޙͰίʔυԽͰ͖Δ
    wޡղͷ಺༰
    w ͜ͷޡղ͸ɺΠϯϑϥετϥΫνϟΛ·ͣखಈͰߏங͠ɺͦͷޙͰͦͷঢ়ଶΛίʔυʹམ
    ͱ͠ࠐΉ͜ͱ͕ՄೳͰ͋Δͱ͍͏ߟ͑ํʹج͍͍ͮͯ·͢ɻ͜ΕʹΑΓɺ࠷ॳͷஈ֊Ͱίʔ
    υΛॻ͘खؒΛল͘͜ͱ͕Ͱ͖Δͱ͞Ε·͢ɻ
    wޡղ΁ͷ൓佀
    w ͔͠͠ɺ࣮ࡍʹ͸ɺ͜ͷΞϓϩʔν͸ଟ͘ͷ໰୊ΛҾ͖ى͜͠·͢ɻखಈͰߏங͞ΕͨΠϯ
    ϑϥετϥΫνϟ͸ɺ͠͹͠͹υΩϡϝϯτ͕ෆ׬શͰɺ࠶ݱੑ΍Ұ؏ੑ͕ܽ೗͍ͯ͠·
    ͢ɻ*B$͸ɺ࠷ॳ͔ΒίʔυϕʔεͰΠϯϑϥετϥΫνϟΛઃܭɾߏங͢Δ͜ͱʹΑΓɺ
    ಁ໌ੑͱޮ཰ΛߴΊΔ͜ͱΛ໨ࢦ͍ͯ͠·͢ɻ

    ຊ൪؀ڥЋ
    ߏங
    ωοτϫʔΫ ίʔυԽ
    71$࡞੒ αϒωοτ
    *(8࡞੒ ϧʔςΟϯά 4(
    *". &-# &,4$MVTUFS
    &,4XPSLFS 3PVUF
    ͜ΕΛൈ͚࿙Εͳ͘
    *B$Խ͢Δͷ͸ࢸ೉ͷۀ

    View Slide

  34. *OGSBTUSVDUVSFBT$PEF *B$
    ͷಋೖ࣌ͷ૸അ౮

    View Slide

  35. # TerraformϓϩόΠμʔͷઃఆ
    provider "soumatou" {
    # ͜͜ʹϓϩόΠμʔͷઃఆΛهड़͠·͢ɻ
    # ྫ͑͹APIΩʔɺΤϯυϙΠϯτͷURLͳͲ
    }
    # soumatouϦιʔεͷ࡞੒
    resource "soumatou_light" “27_dumped" {
    name = “MySoumatouNamida"
    brightness = 5
    color = "blue"
    start_date = 202212260530
    ɹend_date. = 202212260645
    location = "Tokyo"
    # ͦͷଞͷඞཁͳઃఆΛ௥Ճ
    }
    # soumatouϦιʔεͷग़ྗ
    output "soumatou_light_id" {
    value = soumatou_light.example.id
    }
    soumatou_client = boto3.client('soumatou',
    aws_access_key_id='YOUR_ACCESS_KEY',
    aws_secret_access_key='YOUR_SECRET_KEY',
    region_name='YOUR_REGION')
    # soumatouϦιʔεͷ࡞੒
    soumatou_light = soumatou_client.create_light(
    Name='MySoumatouNamida',
    Brightness=5,
    Color='blue',
    StartDate='202212260530',
    EndDate='202212260645',
    Location='Tokyo'
    # ͦͷଞͷඞཁͳઃఆΛ௥Ճ
    )
    # ࡞੒ͨ͠ϦιʔεͷIDΛग़ྗ
    print(f"Created Soumatou Light ID:
    {soumatou_light['LightId']}")

    View Slide

  36. ΠϯϑϥετϥΫνϟ؅ཧͷݴޠબ୒ઓུ
    wϓϩάϥϚϒϧΠϯϑϥετϥΫνϟͷ৽ͨͳՄೳੑ
    w ΠϯϑϥετϥΫνϟίʔσΟϯάݴޠ
    w ΠϯϑϥετϥΫνϟ؅ཧʹ͓͚ΔεΫϦϓτɺઃఆϑΝΠϧɺϓϩάϥϛϯάݴޠͷ࢖༻
    ͸ɺաڈ਺े೥ʹΘͨΓਐԽ͠ଓ͚͍ͯ·͢ɻ͜ͷਐԽ͸ɺΠϯϑϥνʔϜ͕௚໘͢Δ৽ͨ
    ͳ՝୊ͱཁٻʹԠͯ͡ܗ੒͞Ε͖ͯ·ͨ͠ɻ
    w ΠϯϑϥετϥΫνϟνʔϜ͸ɺࣗಈԽπʔϧͷબ୒͚ͩͰͳ͘ɺͲͷλΠϓͷݴޠΛ࢖༻
    ͢Δ͔ͱ͍͏ॏཁͳܾఆΛߦ͏ඞཁ͕͋Γ·͢ɻ͜Εʹ͸ɺએݴܕݴޠͱ໋ྩܕݴޠͷ྆ํ
    ؚ͕·Ε·͢ɻ

    એݴܕ ໋ྩܕ
    ԿΛ ͲͷΑ͏ʹ
    ؀ڥߏங
    Ϧιʔεܾఆ Φϓγϣϯબ୒
    ઃఆબ୒
    ຊ൪؀ڥЋ
    ؀ڥߏங
    Ϧιʔεܾఆ
    Φϓγϣϯબ୒
    ઃఆબ୒
    ຊ൪؀ڥЋ
    ৚݅ʹΑͬͯ
    ࠶มߋՄೳ

    View Slide

  37. ΠϯϑϥετϥΫνϟ؅ཧͷݴޠબ୒ઓུ
    wએݴܕΠϯϑϥετϥΫνϟݴޠ
    w ଟ͘ͷΠϯϑϥετϥΫνϟίʔυπʔϧ͸ɺ"OTJCMFɺ$IFGɺ$MPVE'PSNBUJPOɺ1VQQFUɺ5FSSBGPSNͳͲ͕
    ࢖༻͢ΔએݴܕݴޠΛ࠾༻͍ͯ͠·͢ɻ͜ΕΒͷݴޠͰ͸ɺΠϯϑϥετϥΫνϟ͕ͲͷΑ͏ʹݟ͑Δ΂͖͔ΛʮԿ͕
    ඞཁ͔ʯͰఆٛ͠·͢ɻ
    w એݴܕίʔυͰ͸ɺΠϯϑϥετϥΫνϟ͕ݱࡏͲͷΑ͏ͳঢ়ଶʹ͋Δ͔ɺ·ͨ͸ͲͷΑ͏ͳଐੑΛ࣋ͭ΂͖͔ʹ͍ͭ
    ͯͷϩδοΫ͸ؚ·Ε͍ͯ·ͤΜɻπʔϧ͕ݱࡏͷঢ়ଶͱίʔυΛൺֱͯ͠ɺඞཁͳมߋΛߦ͍·͢ɻ
    wϓϩάϥϚϒϧΠϯϑϥετϥΫνϟݴޠ
    w ໋ྩܕʢϓϩάϥϚϒϧʣݴޠ͸ɺঢ়گʹԠͯ͡ҟͳΔ݁ՌΛग़ྗ͢Δඞཁ͕͋Δ৔߹ʹద͍ͯ͠·͢ɻ͜ͷΞϓϩʔ
    νͰ͸ɺಛఆͷ৚݅ʹج͍ͮͯҟͳΔΠϯϑϥετϥΫνϟͷߏ੒΍ಈ࡞Λఆٛ͢Δ͜ͱ͕Ͱ͖·͢ɻ
    w 1VMVNJ΍"84$%,ͷΑ͏ͳ৽ੈ୅ͷπʔϧ͸ɺҰൠతͳϓϩάϥϛϯάݴޠΛ࢖༻ͯ͠ΠϯϑϥετϥΫνϟΛఆ
    ٛ͢Δ͜ͱΛՄೳʹ͠·͢ɻ͜ΕʹΑΓɺΑΓෳࡶͰಈతͳΠϯϑϥετϥΫνϟͷཁ݅ʹରԠ͢Δ͜ͱ͕Ͱ͖·͢ɻ

    એݴܕ ໋ྩܕ

    View Slide

  38. ΠϯϑϥετϥΫνϟ؅ཧͷݴޠબ୒ઓུ
    wએݴܕݴޠͷద༻৔໘
    w γϯϓϧͳΠϯϑϥετϥΫνϟએݴܕݴޠ͸ɺγϯϓϧͳΠϯϑϥετϥΫνϟͷઃఆʹద͍ͯ͠·
    ͢ɻྫ͑͹ɺݻఆ͞Εͨ8FCαʔόʔͷઃఆ΍σʔλϕʔεͷߏஙͳͲɻ
    w Ұ؏ੑͱ৴པੑએݴܕݴޠ͸ɺҰ؏ੑͱ৴པੑͷ֬อʹ༏Ε͓ͯΓɺγεςϜͷঢ়ଶΛਖ਼֬ʹఆٛͰ͖
    ·͢ɻ
    w໋ྩܕݴޠͷద༻৔໘
    w ಈతͳཁ໋݅ྩܕݴޠ͸ɺಈతͳཁ݅ʹରԠ͢ΔͨΊʹॊೈੑΛఏڙ͠·͢ɻྫ͑͹ɺಛఆͷ৚݅ʹԠ
    ͯ͡ϦιʔεΛεέʔϧΞοϓ·ͨ͸μ΢ϯ͢Δ৔߹ɻಛఆͷ"1*ʹΑͬͯߏங͞ΕΔઐ༻ςφϯτɻ
    w ΧελϜϩδοΫͷඞཁੑΧελϜϩδοΫΛ૊ΈࠐΉඞཁ͕͋Δ৔߹ɺ໋ྩܕݴޠ͸ద͍ͯ͠·͢ɻ

    એݴܕ ໋ྩܕ
    ຊ൪؀ڥЋ
    Ұ؏ੑͱ৴པੑ
    γεςϜͷঢ়ଶͱίʔυ͕͍ۙ
    ಈతͳཁ݅ʹରԠՄೳ
    ѹ౗తͳॊೈੑ
    ίʔυ͕ঢ়ଶΛ࣋ͨͳ͍ͷͰʜ ຊ൪؀ڥЋ
    "1*ʹΑͬͯߏங͞ΕΔઐ༻ςφϯτ

    View Slide

  39. *OGSBTUSVDUVSFBT$PEF *B$
    ͷະདྷͱਐԽ
    w*OGSBTUSVDUVSFBT$PEF *B$
    ͷݶքͱਐԽ
    w ݱ୅ͷ*B$Ϟσϧ͸ɺίʔυͱ࣮ࡍͷϦιʔεͱͷؒʹଘࡏ͢ΔΪϟοϓͳͲɺ͍͔ͭ͘ͷݶ
    քʹ௚໘͍ͯ͠·͢ɻ͜ΕΒͷݶք͸ɺ*B$ͷਐԽͱ੒ख़ʹ൐͍ɺ໌Β͔ʹͳ͖ͬͯ·ͨ͠ɻ
    w৽͍͠Ξϓϩʔνͷ୳ٻ
    w ΞϓϦέʔγϣϯͱΠϯϑϥετϥΫνϟͷ౷߹ɺͦͯ͠ΠϯϑϥετϥΫνϟίʔυͱϓϩ
    Ϗδϣχϯά͞ΕͨϦιʔεؒͷΪϟοϓΛຒΊΔͨΊͷ৽͍͠ํ๏͕୳ٻ͞Ε͍ͯ·͢ɻ͜
    ΕΒͷ৽͍͠Ξϓϩʔν͸ɺΠϯϑϥετϥΫνϟ؅ཧͷํ๏Λࠜຊతʹม͑ΔՄೳੑΛൿΊ
    ͍ͯ·͢ɻ

    ίʔυ
    Πϯϑϥಈ࡞؀ڥ
    Ϊϟοϓ
    *OGSBTUSVDUVSFBT$PEF *B$
    ͷݶք
    ΞϓϦέʔγϣϯ
    Πϯϑϥಈ࡞؀ڥ
    ΞϓϦ͔Βݺͼग़͠
    *OGSBTUSVDUVSFBT$PEF *B$
    ͷ୳ٻ

    View Slide

  40. ·ͱΊ
    w*OGSBTUSVDUVSFʹ͓͚Δٕज़తෛ࠴ͱ͸Կ͔ʁ
    w ΠϯϑϥετϥΫνϟʹ͓͚Δٕज़తෛ࠴͸ɺద੾ͳܭը΍ҡ࣋؅ཧ͕ߦΘΕ͍ͯͳ͍γεςϜ͔Βੜ͡·͢ɻ͜Ε
    ʹ͸ɺݹ͍γεςϜͷܧଓతͳ࢖༻ɺෆద੾ͳυΩϡϝϯτɺ࠶ར༻͕ࠔ೉ͳઃఆͳͲؚ͕·Ε·͢ɻ
    w *B$͸ɺ͜ͷΑ͏ͳٕज़తෛ࠴Λ࡟ݮ͢ΔͨΊͷڧྗͳπʔϧͰ͢ɻίʔυԽ͞ΕͨΠϯϑϥετϥΫνϟʹΑΓɺ
    ؀ڥͷҰ؏ੑ͕อͨΕɺมߋ؅ཧ͕༰қʹͳΓൃ߬ͤ͞Δ͜ͱ͕Ͱ͖·͢ɻ
    w*OGSBTUSVDUVSFBT$PEF *B$
    ͷݪଇͱޡղ
    w *B$ͷݪଇʹ͸ɺΠϯϑϥετϥΫνϟΛίʔυͰ؅ཧ͠ɺࣗಈԽͱ࠶ར༻Λਪਐ͢Δ͜ͱؚ͕·Ε·͢ɻ
    *B$Λ୯ʹʮΠϯϑϥετϥΫνϟͷࣗಈԽʯͱղऍ͢Δͷ΋ޡΓͰ͢ɻ
    w ͔֬ʹࣗಈԽ͸ॏཁͳଆ໘Ͱ͕͢ɺ*B$ͷਅͷՁ஋͸ɺΠϯϑϥετϥΫνϟͷঢ়ଶΛίʔυͰදݱ͠ɺ͜ΕʹΑͬ
    ͯҰ؏ੑɺಁ໌ੑɺ࠶ݱੑΛ࣮ݱ͢Δ͜ͱʹ͋Γ·͢ɻ͜ΕʹΑΓɺΠϯϑϥετϥΫνϟͷมߋ͕ΑΓ؅ཧ͠΍͢
    ͘ɺ௥੻ՄೳʹͳΓɺΤϥʔͷՄೳੑΛ௿ݮ͠ɺνʔϜؒͰͷڠྗͱ஌ࣝڞ༗͕ଅਐ͞Ε·͢ɻ
    w*OGSBTUSVDUVSFBT$PEF *B$
    ͷಋೖ࣌ͷ૸അ౮
    w *B$ͷಋೖ͸ɺγεςϜ؅ཧʹ͓͚Δେ͖ͳస׵఺ͰͦΕ͸ɺख࡞ۀʹΑΔϓϩηε͔ΒɺࣗಈԽ͞Εͨɺίʔυϕ
    ʔεͷΞϓϩʔν΁ͷҠߦΛҙຯ͠·͢ɻ
    w *B$Λಋೖ͢Δࡍʹ͸ɺπʔϧͷબ୒͸ػೳ΍ઃܭɺࢥ૝ʹॏཁͳӨڹΛٴ΅͠·͢ɻ੒ޭ͢ΔͨΊʹ͸ɺνʔϜશ
    ମ͕*B$ͷ֓೦Λཧղ͠ɺద੾ͳπʔϧͱϓϥΫςΟεΛ࠾༻͢Δ͜ͱ͕ෆՄܽͰ͢ɻ

    View Slide

  41. ࢀߟࢿྉ
    w*OGSBTUSVDUVSFBT$PEF
    w IUUQTJOGSBTUSVDUVSFBTDPEFDPN
    w*OGSBTUSVDUVSFBT$PEF࠶ߟ
    w IUUQTNJ[[ZPSHCMPH
    w*OGSBTUSVDUVSFBT$PEFͷ͜Ε·Ͱͱ͜Ε͔Β*OGSB4UVEZ.FFUVQ
    w IUUQTTQFBLFSEFDLDPNNJ[[ZJOGSBTUVEZNFFUVQOVNCFS
    wΘͨͨͪ͠ʹ*B$͸·ͩૣ͔ͬͨͷ͔΋͠Εͳ͍
    w IUUQTTQFBLFSEFDLDPNVOJMBCPXBUBTJUBUJOJJBDIBNBEB[BPLBUVUBOPLBNPTJSFOBJ
    w5IF)JTUPSZPG%FW0QT3FQPSUT
    w IUUQTXXXQVQQFUDPNSFTPVSDFTIJTUPSZPGEFWPQTSFQPSUT
    w&
    ff
    FDUJWF%FW0QT
    w IUUQTXXXPSFJMMZDPKQCPPLT
    w-FBOͱ%FW0QTͷՊֶ<"DDFMFSBUF>ςΫϊϩδʔͷઓུత׆༻͕૊৫มֵΛՃ଎͢Δ
    w IUUQTXXXBNB[PODPKQEQ
    wܧଓతσϦόϦʔͷιϑτ΢ΣΞ޻ֶ΋ͬͱૣ͘ɺ΋ͬͱྑ͍ιϑτ΢ΣΞΛ࡞ΔͨΊͷൿ݃
    w IUUQTXXXBNB[PODPKQEQ

    View Slide

  42. ࢀߟࢿྉ
    wϝλϑΝʔͱͯ͠ͷൃ߬
    w IUUQTXXXPSFJMMZDPKQCPPLT
    w)BTIJDPSQ%FWFMPQFS
    w IUUQTEFWFMPQFSIBTIJDPSQDPN
    w$IFG*OGSB
    w IUUQTHJUIVCDPNDIFGDIFG
    w"OTJCMF"OTJCMFJTBSBEJDBMMZTJNQMF*5BVUPNBUJPOQMBUGPSNUIBUNBLFTZPVSBQQMJDBUJPOTBOETZTUFNT
    FBTJFSUPEFQMPZBOENBJOUBJO
    w IUUQTHJUIVCDPNBOTJCMFBOTJCMF
    wBXTDEL5IF"84$MPVE%FWFMPQNFOU,JUJTBGSBNFXPSLGPSEF
    fi
    OJOHDMPVEJOGSBTUSVDUVSFJODPEF
    w IUUQTHJUIVCDPNBXTBXTDEL
    w1VMVNJ*OGSBTUSVDUVSFBT$PEFJOBOZQSPHSBNNJOHMBOHVBHF
    w IUUQTHJUIVCDPNQVMVNJQVMVNJ
    wEBQS%BQSJTBQPSUBCMF FWFOUESJWFO SVOUJNFGPSCVJMEJOHEJTUSJCVUFEBQQMJDBUJPOTBDSPTTDMPVEBOEFEHF
    w IUUQTHJUIVCDPNEBQSEBQS
    wEBHHFS"QQMJDBUJPO%FMJWFSZBT$PEFUIBU3VOT"OZXIFSF
    w IUUQTHJUIVCDPNEBHHFSEBHHFS

    View Slide

  43. ࢀߟࢿྉ
    w*OGSBTUSVDUVSFBT$PEF SE&EJUJPO
    w IUUQTMFBSOJOHPSFJMMZDPNMJCSBSZWJFXJOGSBTUSVDUVSFBTDPEF
    w1MBUGPSN&OHJOFFSJOH.FFUVQ
    w IUUQTQMBUGPSNFOHJOFFSJOHDPOOQBTTDPN
    w#BDLTUBHF#BDLTUBHFJTBOPQFOQMBUGPSNGPSCVJMEJOHEFWFMPQFSQPSUBMT
    w IUUQTHJUIVCDPNCBDLTUBHFCBDLTUBHF
    w CBDLTUBHFJP
    w8IBUJTQMBUGPSNFOHJOFFSJOH
    w IUUQTQMBUGPSNFOHJOFFSJOHPSHCMPHXIBUJTQMBUGPSNFOHJOFFSJOH
    w%9Λ੒ޭʹಋ͘Ϋϥ΢υ׆༻ਪਐΨΠυ$$P&ϕετϓϥΫςΟε
    w IUUQTXXXBNB[PODPKQEQ
    w΢ΣϒΦϖϨʔγϣϯʕαΠτӡ༻؅ཧͷ࣮ફςΫχοΫ
    w IUUQTXXXPSFJMMZDPKQCPPLT
    wϦϑΝΫλϦϯάʢୈ൛ʣطଘͷίʔυΛ҆શʹվળ͢Δ
    w IUUQTXXXPINTIBDPKQCPPL

    View Slide