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

SSMパラメーターストアでクロススタック参照の罠を回避する

Avatar for ShuyaKinjo ShuyaKinjo
January 25, 2023

 SSMパラメーターストアでクロススタック参照の罠を回避する

JAWS-UG CDK支部 #5の登壇内容です。
CDKのProps渡しでクロススタック参照すると、CDKとCloudFormationのレイヤーで参照の依存関係が逆転する罠があります。
それを回避するためにSSMパラメーターストアを使用する方法と、そもそものスタック分割の考え方について発表しました。

Avatar for ShuyaKinjo

ShuyaKinjo

January 25, 2023
Tweet

More Decks by ShuyaKinjo

Other Decks in Technology

Transcript

  1. ඃࢀরελοΫଆͷϦιʔε͸࡟আɾมߋ͕Ͱ͖·ͤΜ ΫϩεελοΫࢀরͷ੍ݶ  Lambda ελοΫ -BNCEB -BNCEB "1* (BUF8BZ API

    Gateway ελοΫ DynamoDB ελοΫ ΫϩεελοΫࢀর ΫϩεελοΫࢀর ࡟আɾมߋෆՄ ࡟আɾมߋෆՄ ҎԼͷ%ZOBNP%#ςʔϒϧ໊ͷมߋɺ-BNCEBؔ਺໊ͷมߋ΍࡟আΛ͠Α͏ͱ͢Δͱɺ ଞͷελοΫ͔Βࢀর͞Ε͍ͯΔΤϥʔͰσϓϩΠ͕ࣦഊ͠·͢ɻ %ZOBNP%#
  2. ํ๏ɿผͷϦιʔε 0VUQVUT ʹࢀরઌΛ੾Γସ͑ͯ ͔Βมߋ͢Δ ΫϩεελοΫࢀরΤϥʔͷղফํ๏  wσϓϩΠ͕ෳ਺ճඞཁͰ໘౗ Lambda ελοΫ -BNCEB

    -BNCEB "1* (BUF8BZ %ZOBNP%# API Gateway ελοΫ DynamoDB ελοΫ %ZOBNP%# ᶄࢀরઌΛ੾Γସ͑ͯґଘΛͳ͘͢ ᶅ࡟আ or มߋ͢Δ ᶃ৽ͨʹϦιʔεΛ࡞Δ(OutputsͰExportΛ࡞Δ)
  3. ͳͥTDPQFΛ͢Γସ͑Δͷ͔ *TTVFʹΑΔͱ  Issue: sns: topic.addSubscription should create the subscription

    on the consumer's stack to avoid cycles #3064 ཧ༝ɿελοΫؒͷ॥؀ࢀরΛආ͚ΔͨΊ w4/4͔ΒϝοηʔδΛड͚औΔίϯγϡʔϚελοΫ͸5PQJDΛࢀর͢ Δέʔε͕ଟ͍ w˞௨ৗ-BNCEBΛ*OWPLFͨ͠Γ2VFVF͕ϝοηʔδΛड৴͢Δͷʹ 5PQJDͷ"3/Λ༻͍ͯϙϦγʔΛߋ৽͢ΔͨΊ wͲ͏ͤίϯγϡʔϚ͔Β5PQJDΛࢀর͢ΔͳΒɺ4VCTDSJQUJPO΋ɺίϯ γϡʔϚଆʹ͓͍ͨํ͕ɺࢀরͷ޲͖͕Ұํ޲ʹͳΓ॥؀ࢀরΛ๷͛Δ
  4.  Lambda ελοΫ -BNCEB -BNCEB "1* (BUF8BZ %ZOBNP%# API Gateway

    ελοΫ DynamoDB ελοΫ ύϥϝʔ λʔετΞ ύϥϝʔ λʔετΞ ొ࿥ ࢀর ొ࿥ ࢀর Φεεϝͷํ๏44.ύϥϝʔλʔετΞΛ࢖༻ ελοΫ͕ؒૄ݁߹ʹͳΔ
  5. 44.ύϥϝʔλʔετΞͷར఺  Lambda ελοΫ -BNCEB -BNCEB "1* (BUF8BZ %ZOBNP%# API

    Gateway ελοΫ DynamoDB ελοΫ ύϥϝʔ λʔετΞ ύϥϝʔ λʔετΞ ొ࿥ ࢀর ొ࿥ ࢀর wΫϩεελοΫࢀরͷڧ੍͍໿ʹറΒΕͳ͍ wύϥϝʔλʔετΞͷ஋͸खಈมߋՄೳ ༥௨͕ޮ͘
  6. $%,Ͱ͸$POTUSVDUͰ෼ׂ͕Մೳ  -BNCEB -BNCEB "1* (BUF8BZ %ZOBNP%# Application A Stack

    Lambda Construct API Gateway Construct DynamoDB Construct wՄಡੑͷͨΊʹ4UBDLΛ෼͚Δඞཁ͸ͳ͍ wಉ͡ελοΫؒͷϦιʔεࢀর͸ۃΊͯγϯϓϧ
  7.