Save 37% off PRO during our Black Friday Sale! »

辛くない CloudFormation

67683b0a8d24009c731787b49881a9de?s=47 tomuro
October 28, 2021

辛くない CloudFormation

2021/10/28(木)に行われた【JAWS-UG朝会 #26】にて発表した
「辛くない CloudFormation」
の資料です。

67683b0a8d24009c731787b49881a9de?s=128

tomuro

October 28, 2021
Tweet

Transcript

  1. ਏ͘ͳ͍$MPVE'PSNBUJPO גࣜձࣾϞϦαϫ খࣨو࢙

  2. ໊લɿখࣨو࢙ ࣗݾ঺հ ࢓ࣄɿςοΫϦʔυ "84ΠϯϑϥΤϯδχΞ ޷͖ͳαʔϏεɿ$PEF#VJME $MPVE'PSNBUJPO ॴଐɿגࣜձࣾϞϦαϫ γεςϜ։ൃ෦ Πϊϕʔγϣϯ։ൃ՝

  3. w $MPVE'PSNBUJPOͱ͸ w ࢲతਏ͍$MPVE'PSNBUJPO w ਏ͘ͳ͍$MPVE'PSNBUJPO w ·ͱΊ ΞδΣϯμ

  4. $MPVE'PSNBUJPOͷӡ༻͸ਏ͍ʁ

  5. ͦΜͳʹ΋ਏ͘ͳ͍Α

  6. $MPVE'PSNBUJPOͱ͸ $MPVE'PSNBUJPOͷ͓͞Β͍ IUUQTEPDTBXTBNB[PODPNKB@KQ"84$MPVE'PSNBUJPOMBUFTU6TFS(VJEFDGOXIBUJTIPXEPFTJUXPSLIUNMΑΓҾ༻ :".-+40/ͰςϯϓϨʔτϑΝΠϧΛ࡞੒͠ɺϦιʔεͷ ϓϩϏδϣχϯάΛߦ͏͜ͱ͕Ͱ͖ΔαʔϏεͰ͢ɻ "84ϦιʔεΛݸผʹ࡞੒ɺઃܭͯ͠ɺͦΕͧΕͷґଘؔ܎ Λߟ͑Δඞཁ͸͋Γ·ͤΜɻ ࡞੒͞ΕͨϦιʔε͸ɺελοΫͱ͍͏୯ҐͰ؅ཧ͞Ε·͢ɻ

  7. $MPVE'PSNBUJPOͱ͸ $MPVE'PSNBUJPOͷ͓͞Β͍ IUUQTEPDTBXTBNB[PODPNKB@KQ"84$MPVE'PSNBUJPOMBUFTU6TFS(VJEFDGOXIBUJTIPXEPFTJUXPSLIUNMΑΓҾ༻ :".-+40/ͰςϯϓϨʔτϑΝΠϧΛ࡞੒͠ɺϦιʔεͷ ϓϩϏδϣχϯάΛߦ͏͜ͱ͕Ͱ͖ΔαʔϏεͰ͢ɻ "84ϦιʔεΛݸผʹ࡞੒ɺઃܭͯ͠ɺͦΕͧΕͷґଘؔ܎ Λߟ͑Δඞཁ͸͋Γ·ͤΜɻ ࡞੒͞ΕͨϦιʔε͸ɺελοΫͱ͍͏୯ҐͰ؅ཧ͞Ε·͢ɻ ɹςϯϓϨʔτ಺ͰϦιʔεͷґଘؔ܎͸ ɹߟ͑Δඞཁ͕͋Γ·͢ɻ

  8. $MPVE'PSNBUJPOͱ͸ $MPVE'PSNBUJPOͷ͓͞Β͍ IUUQTEPDTBXTBNB[PODPNKB@KQ"84$MPVE'PSNBUJPOMBUFTU6TFS(VJEFDGOXIBUJTIPXEPFTJUXPSLIUNMΑΓҾ༻ :".-+40/ͰςϯϓϨʔτϑΝΠϧΛ࡞੒͠ɺϦιʔεͷ ϓϩϏδϣχϯάΛߦ͏͜ͱ͕Ͱ͖ΔαʔϏεͰ͢ɻ "84ϦιʔεΛݸผʹ࡞੒ɺઃܭͯ͠ɺͦΕͧΕͷґଘؔ܎ Λߟ͑Δඞཁ͸͋Γ·ͤΜɻ ࡞੒͞ΕͨϦιʔε͸ɺελοΫͱ͍͏୯ҐͰ؅ཧ͞Ε·͢ɻ ɹෳ਺ςϯϓϨʔτΛ࢖͏৔߹͸ɺෳ਺ͷελοΫ͕Ͱ͖·͢ɻ ɹελοΫؒͰͷґଘؔ܎͕ൃੜ͠·͢ɻ

  9. $MPVE'PSNBUJPOͱ͸ $MPVE'PSNBUJPOͷ͓͞Β͍ IUUQTEPDTBXTBNB[PODPNKB@KQ"84$MPVE'PSNBUJPOMBUFTU6TFS(VJEFDGOXIBUJTIPXEPFTJUXPSLIUNMΑΓҾ༻ :".-+40/ͰςϯϓϨʔτϑΝΠϧΛ࡞੒͠ɺϦιʔεͷ ϓϩϏδϣχϯάΛߦ͏͜ͱ͕Ͱ͖ΔαʔϏεͰ͢ɻ "84ϦιʔεΛݸผʹ࡞੒ɺઃܭͯ͠ɺͦΕͧΕͷґଘؔ܎ Λߟ͑Δඞཁ͸͋Γ·ͤΜɻ ࡞੒͞ΕͨϦιʔε͸ɺελοΫͱ͍͏୯ҐͰ؅ཧ͞Ε·͢ɻ ɹ"84Λ࢖͏Ҏ্ɺͲ͔͜Ͱґଘؔ܎͸ઈରʹग़͖ͯ·͢ɻ ɹґଘؔ܎ΛΘ͔Γ΍͘͢؅ཧ͢Δͷ͕؊ͩͱࢥ͍·͢ɻ

  10. ࢲతਏ͍$MPVE'PSNBUJPO

  11. ڊେͳςϯϓϨʔτ ࢲతਏ͍$MPVE'PSNBUJPO ಡΉͷ͕ΊͬͪΌେม w ͪΐͬͱͨ͠มߋͷσϓϩΠ͕ࠔ೉ w ࠓ͸Τϥʔ͕ग़ͯ΋ܧଓͰ͖Δ͔ΒϚγ w ॳճͷߏங΍ೲ඼ʹ͸༗༻͕ͩӡ༻ʹ͸ෆ޲͖ w

    ҰൃͰγεςϜΛϓϩϏδϣχϯάͰ͖Δ w ςϯϓϨʔτ֎ͷґଘؔ܎͸࠷௿ݶ w ൈ͚࿙Ε͕ͳ͘ͳΔ
  12. ͦͷ··౤ೖͰ͖ͳ͍΋ͷ ࢲతਏ͍$MPVE'PSNBUJPO ৽نελοΫ࡞੒Ͱಈ࡞͠ͳ͍ w ॳճͷΈͷରԠ͕ඞཁͰίϝϯτΞ΢τͱ͔ w ྫʣ3%4ͳΒॳճ͸6TFS1BTTͷࢦఆ͕ඞཁ w Ξοϓσʔτ࣌ʹෆཁʹͳͬͯίϝϯτΞ΢τ w

    $POEJUJPOT΍l"84/P7BMVFͰ͍͍ײ͡ʹ͢Δ w ςϯϓϨʔτ಺ʹϦιʔε͕௥Ճ͞Εͯґଘؔ܎͕ൃੜ w $'O಺Ͱ͸ฒߦͯ͠Ϧιʔε͕࡞੒͞ΕΔ w ௥ه͢Δͱॱ࣮࣍ߦ࣌͸໰୊ͳ͍ w ৽ن࡞੒Ͱ͸ґଘؔ܎ΛղܾͰ͖ͣʹΤϥʔͱͳΔ w %FQFOET0O΍3FGͰґଘؔ܎Λ໌ࣔ͢Δ
  13. ΫϩεελοΫࢀরͷଟ༻ ࢲతਏ͍$MPVE'PSNBUJPO ࢀরݩͷελοΫͷ࡟আ΍มߋ͕Ͱ͖ͳ͍ w ΫϩεελοΫࢀরͱ͸ w ࢀরݩͷςϯϓϨʔτ&YQPSUͰύϥϝʔλ໊Λ෇༩ w ࢀরઌͷςϯϓϨʔτ͸*NQPSU7BMVFͰࢀরͰ͖Δ w

    ࢀরݩͷελοΫͷ࡟আɺมߋ͕Ͱ͖ͳ͘ͳΔ w ӡ༻࣌ʹࠔΔέʔε͕ൃੜ͢ΔͷͰ஫ҙ w มߋ͕ଟ͍ελοΫͷ৔߹͸ҎԼΛར༻ w $MPVE'PSNBUJPOͷύϥϝʔλͰ౉͢ w "SOΛμΠφϛοΫࢀর͢Δ
  14. ਏ͘ͳ͍$MPVE'PSNBUJPO

  15. ςϯϓϨʔτ͸ఔΑ͍େ͖͞ ਏ͘ͳ͍$MPVE'PSNBUJPO ϦιʔεͷϥΠϑαΠΫϧͰ෼͚Δ w ॳظߏஙʹඞཁͳ΋ͷ w ؂ࠪܥɿ$MPVE5SBJM $POpH (VBSE%VUZͳͲ w

    *".ɿ*".6TFS (SPVQ 3PMF w ωοτϫʔΫɿ3PVUF 71$ *(8 /"5ͳͲ w ӡ༻ʹར༻͢Δ΋ͷ w 4/4 w $IBUCPU w Ӭଓతʹར༻͢Δ΋ͷ w 4 &$3 w 3%4 %ZOBNP%#
  16. ελοΫ࡞੒ॱ͸࢒͢ ਏ͘ͳ͍$MPVE'PSNBUJPO ΫϩεελοΫࢀরͰࠔΒͳ͍Α͏ʹ͢Δ w 3&"%.&Λ४උͯ͠هࡌ͢Δ w ϑΝΠϧʹ൪߸Λৼͬͯ΋͍͍ w ΫϩεελοΫࢀর͍ͯ͠Δ͜ͱΛղΔΑ͏ʹ͢Δ w

    (JUʹςϯϓϨʔτͱڞʹอଘ؅ཧ͢Δ w ESBXJPͰਤղ΋Ұॹʹίϛοτ͢Δͱ၆ᛌͰ͖Δ | テンプレート | 主なリソース | 説明 | | ------------- | ------------------------------ | ——————————————————————————————————————— | | Audit.yml | CloudTrail, Config, GuardDuty | 監査用 | | IAM.yml | IAM | IAM 作成 | | Network.yml | VPC, IGW, NAT, Route53 | VPC 作成, IPv4/IPv6, Route53 | | SNS.yml | SNS | 通知用 SNS Topics | | Chatbot.yml | Chatbot | Chatbot 通知作成, Audit/SNS 依存あり | | ECR.yml | ECR | ECR 作成 | | Datastore.yml | S3, KMS | ログ、リソース S3 | | DynamoDB.yml | DynamoDB | DynamoDB 作成 | | RDS.yml | RDS(Aurora Cluster), SG, SNS | Aurora 作成, VPC/SNS/Datastore 依存あり |
  17. $MPVE'PSNBUJPOΛ࢖Θͳ͍ ਏ͘ͳ͍$MPVE'PSNBUJPO શͯΛ$'OͰແཧʹ΍Βͳ͍ w ౓͔͠࡞ۀΛߦΘͳ͍΋ͷ͸$-*Ͱߦ͏ w $-*ͷίϚϯυΛ࢒ͯ͠࠶ར༻͢Δ w "1*ͳͲͷόοΫΤϯυҰࣜ͸ผπʔϧָ͕ w

    ։ൃऀ͕ΨϦΨϦ։ൃ͢Δ෦෼ w 4FSWFSMFTT'SBNFXPSL 4". $%,Λ࢖͏ w "1*(BUFXBZ -BNCEB w "-# &$4 w $*$%ύΠϓϥΠϯ
  18. ·ͱΊ

  19. ແཧͷͳ͍ൣғͰ$'OΛ࢖͓͏ ·ͱΊ w ςϯϓϨʔτ͸ఔΑ͍େ͖͞ʹ w ϥΠϑαΠΫϧͰ੾Γ෼͚Δ w มԽ͕গͳ͍΋ͷ͸ΫϩεελοΫࢀর͢Δ w ґଘؔ܎͕ग़ͯ͠·͏͕3&"%.&Ͱิ଍

    w ςϯϓϨʔτͷ࠶ར༻ੑΛ্͛Δ w $POEJUJPOT΍"84/P7BMVFΛ্खʹ࢖͏ w Ұ౓͔͠࢖Θͳ͍΋ͷ͸ผखஈ w $-*΋׆༻ w όοΫΤϯυ͸$'OΛੜ੒͢Δπʔϧָ͕ w 4FSWFSMFTT'SBNFXPSL 4". $%,
  20. ஥ؒืूத ΧδϡΞϧ໘ஊ΋ͯ͠·͢ w ϓϩδΣΫτϚωʔδϟʔ w 1.0#31%9ܦݧऀ w όοΫΤϯυΤϯδχΞ w "84

    (P1ZUIPO %PDLFSܦݧऀ 1IPUP1",65"40 'POU.PSJTBXB