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

20221008_JAWSDAYS

 20221008_JAWSDAYS

Takuya Yonezawa

October 08, 2022
Tweet

More Decks by Takuya Yonezawa

Other Decks in Technology

Transcript

  1. 'VMM4FSWFSMFTTͰ8&#Λ૊ΜͩΒ͜͏ͳͬͨ ໺ଜ૯߹ݚڀॴ ถᖒ୓໵ "84ྺ೥ͪΐͬͱͷ ݩΦϯϓϨΞϓϦ԰͕

  2.  ຊ೔͓఻͍͑ͨ͜͠ͱ ݩΞϓϦ԰ͷਓ͕ؒαʔόϨε։ൃΛշదʹ͢ΔͨΊʹͲΜͳࣄΛ͖ͯͨ͠ͷ͔ʁ ԁͰ΋ϥϯχϯάίετΛԼ͛ΔͨΊʹͲΜͳ޻෉Λͨ͠ͷ͔ʁ ຊ೔͓఻͑͠ͳ͍͜ͱ ΫϥΠΞϯτ΍όοΫΤϯυͷࡉ͔ͳ࣮૷ ͸͡Ίʹ

  3.  ͜Εʂ ೥ʹ໺ଜ૯߹ݚڀॴʹ৽ଔೖࣾɻۚ༥ۀքͷ͓٬༷޲͚ʹ ϑϩϯτγεςϜͷߏஙΤϯϋϯεΛ୲౰ͨ͠ޙʹδϣϒνΣϯδɻ ݱࡏ͸࢈ۀۀքͷ͓٬༷޲͚ʹ"84؀ڥશൠͷઃܭߏஙΛ୲౰ɻFYಸྑݝ ޷͖ͳ"84αʔϏε͸4". 4UFQ'VODUJPOT $PEF#VJME ޷͖ͳٕज़͸/FYUKT 5BJMXJOE$44

    %PDLFS LT 3BODIFS झຯ͸֨ಆٕʢ೔ຊݓ๏ͱ͍͏΋ͷΛ΍ͬͯ·ͨ͠ʣ ͻͱ͜ͱਓੜॳͷΦϑϥΠϯSF*OWFOUߦ͖·͢ʂ UBLVZBZPOF ถᖒ୓໵ 5BLVZB:POF[BXB
  4. *γεςϜΦʔόʔϏϡʔ

  5. ͱ͋ΔϚϧνΞΧ΢ϯτ؅ཧνʔϜͷ͓࿩

  6. ͋Δ͋Δʁͳ&YDFMӡ༻ ൿٕɿ&YDFMਃ੥ॻΛϝʔϧͰૹ৴ʂ γεςϜΦʔόʔϏϡʔ  Excel v2 Excel Excel 4UFQ Ϣʔβͷखݩʹอ؅͞Ε͍ͯΔ

    &YDFMΛར༻ऀͰฤू 4UFQ ਃࠐॻ&YDFMWΛ 
 ΞΧ΢ϯτ؅ཧऀʹૹ෇ 4UFQ ؅ཧऀଆͰอ؅͍ͯ͠Δ 
 &YDFM୆ாʢ௨শਆ&YDFMʣʹసه
  7. ͋Δ͋Δʁͳ&YDFMӡ༻ γεςϜΦʔόʔϏϡʔ  Excel v2 Excel Excel 4UFQ Ϣʔβͷखݩʹอ؅͞Ε͍ͯΔ &YDFMΛར༻ऀͰฤू

    4UFQ ਃࠐॻ&YDFMWΛ 
 ΞΧ΢ϯτ؅ཧऀʹૹ෇ 4UFQ ؅ཧऀଆͰอ؅͍ͯ͠Δ 
 &YDFM୆ாʢ௨শਆ&YDFMʣʹసه సه๨ΕͳͲͷΦϖϛε͕ଟൃɺͭΒ͍😇
  8. ͜͏͍ͨ͠ʂͷਤ γεςϜΦʔόʔϏϡʔ  WEB WEB DB 4UFQ ਃࠐॻ৘ใʹมߋ͕͋ͬͨ৔߹͸ 
 ར༻ऀηϧϑͰ8&#͔Βొ࿥৘ใΛฤू

    ʢར༻ऀೝূ΋ඞཁʣ 4UFQ ؅ཧऀαΠυͰ ར༻ऀͷొ࿥৘ใΛӾཡɾฤू ,FZQPJOU &YDFMΛ׬શఫഇͯ͠%#Խʂ
  9. ϑϧαʔόϨεͰ࣮૷ γεςϜΦʔόʔϏϡʔ  Private subnet VPC AWS Cloud Lambda DynamoDB

    Cognito API-GW API-GW WEB WEB VPC Endpoint (Gateway) WEB Client WEB Client SES URL Lambda Lambda DB Aurora Serverless V2 RDS Proxy
  10. ֤ίϯϙʔωϯτͷղઆ γεςϜΦʔόʔϏϡʔ  Private subnet VPC AWS Cloud Lambda DynamoDB

    Cognito API-GW API-GW WEB WEB VPC Endpoint (Gateway) WEB Client WEB Client SES URL Lambda Lambda DB Aurora Serverless V2 RDS Proxy ʲҰ࣌ΞΫηετʔΫϯ؅ཧʳ %ZOBNP%#ͷ55-ػೳΛ༻͍ͯ 
 ར༻ऀͷҰ࣌ΞΫηετʔΫϯΛ؅ཧ 
 ʢ"VSPSBͰτʔΫϯ55-࣮૷͸ॲཧ͕໘౗ɻɻʣ ʲೝূ63-ૹ৴ʳ Ұ࣌ΞΫηετʔΫϯͷ࡞੒͕׬ྃͨ͠Β ར༻ऀʹ8&#ΞΫηε༻ͷೝূ63-Λϝʔϧૹ෇
  11. ֤ίϯϙʔωϯτͷղઆ γεςϜΦʔόʔϏϡʔ  Private subnet VPC AWS Cloud Lambda DynamoDB

    Cognito API-GW API-GW WEB WEB VPC Endpoint (Gateway) WEB Client WEB Client SES URL Lambda Lambda DB Aurora Serverless V2 RDS Proxy ʲϨίʔυΞΫηε-BNCEBʳ ೝূ63-ܦ༝Ͱجװ%#ͷϨίʔυΛࢀর͢Δࡍʹ͸ ར༻ऀͷτʔΫϯνΣοΫΛ࣮ࢪͷ্ɺ 3%41SPYZܦ༝Ͱجװ%#΁ΞΫηε ʲ71$& (BUFXBZ ʳ τʔΫϯͷόϦσʔγϣϯΛ࣮ࢪ͢ΔͨΊʹ 71$಺͔Β%ZOBNP%#΁ͷΞΫηε͕ ඞཁͱͳΔͨΊɺ(BUFXBZܕ71$&Ͱܦ࿏֬อ
  12. **։ൃεϐʔυ޲্ͷͨΊͷऔΓ૊Έ

  13. "844". 4FSWFSMFTT"QQMJDBUJPO.PEFM **։ൃεϐʔυ޲্ͷͨΊͷऔΓ૊Έ

  14. "84্ͰͷαʔόϨεΞϓϦߏஙʹಛԽͨ͠ϑϨʔϜϫʔΫ $MPVE'PSNBUJPOͷ֦ுతͳ΍ͭ $'Oޓ׵ͰϏϧυ࣌ʹ$'OςϯϓϨʔτʹม׵͞ΕΔ "1*(BUFXBZ΍-BNCEBΛ؆қͳจ๏ͰهࡌՄೳ ௨ৗͷ$'OϦιʔε΋4".্Ͱ؅ཧͰ͖ΔʢFY*".3PMF %ZOBNP%#౳ʣ ศརͳػೳ͕ͨ͘͞Μ TBNMPDBMɿ 
 "1*(BUFXBZͱ-BNCEBΛϩʔΧϧ؀ڥͰͷΤϛϡϨʔτ

    TBNTZODɿ 
 ϩʔΧϧ؀ڥͷมߋΛ"84؀ڥ΁஄ؙσϓϩΠ TBNMPHTɿ 
 "84؀ڥͰՔಇ͍ͯ͠Δ-BNCEB౳ͷϩάϑΣον "844".  4"."DDFMFSBUF ˞ ˞ IUUQTBXTBNB[PODPNKQCMPHTOFXTBXTTBNBDDFMFSBUF
  15. ੺࿮෦෼Λ4".ςϯϓϨʔτͰߏங 4".ͷΧόʔൣғ  Private subnet VPC AWS Cloud Lambda DynamoDB

    Cognito API-GW API-GW WEB WEB VPC Endpoint (Gateway) WEB Client WEB Client SES URL Lambda Lambda DB Aurora Serverless V2 RDS Proxy
  16. -BNCEB։ൃ͋Δ͋Δʁ

  17. -BNCEBίʔυͷमਖ਼ -BNCEB։ൃ͋Δ͋Δʁ  -BNCEBίϯιʔϧ্Ͱίʔυ ฤूͯ͠σϓϩΠ࣮ߦ΍ʂ

  18. -BNCEBͷσόοά -BNCEB։ൃ͋Δ͋Δʁ  -BNCEBʹQSJOUจΛ࢓ࠐΜͰ $MPVE8BUDIͰϞχλϦϯά΍ʂ શવϩάߋ৽͞Ε΁Μ΍Μ͚ ߋ৽Ϙλϯ࿈ଧ΍ʂ

  19. ϩʔΧϧ؀ڥͷมߋΛ"84؀ڥ΁ಉظ ϩʔΧϧͷίʔυมߋΛݕ஌ͯ͠ϏϧυɺࣗಈσϓϩΠ -BNCEBϩδοΫͷมߋ౳Ͱ͋Ε͹ɺ$'OมߋηοτΛ࡞੒͠ͳ͍ͨΊߴ଎ͳσϓϩΠΛ࣮ݱՄೳʢମײඵ͘Β͍ʣ "1*(BUFXBZ -BNCEB 4UFQ'VODUJPOTҎ֎ͷϦιʔε$'OελοΫߋ৽͕૸Δ TBNTZOD 

  20. 4".Ͱ࡞੒ͨ͠$'OϦιʔε͔ΒϩάετϦʔϜΛϑΣον 4".ελοΫ಺ͷ"1*(BUFXBZ 93BZ -BNCEB͔ΒϩάΛετϦʔϛϯά ΦϓγϣϯΛࢦఆ͢Δ͜ͱͰɺಛఆؔ਺͔ΒͷΈετϦʔϛϯά౳΋࣮ݱͰ͖Δ -BNCEBΛςετ࣮ߦͨ͠ޙʹ$8-PHTίϯιʔϧΛ։͍ͯ'࿈ଧ͠ͳͯ͘ྑ͘ͳΔʂ TBNMPHT 

  21. -BNCEB1PXFSUPPMTͷ׆༻ **։ൃεϐʔυ޲্ͷͨΊͷऔΓ૊Έ

  22. -BNCEB1PXFSUPPMTʁ  -BNCEBͷτϨʔγϯάɺϩΪϯάΛ؆୯ʹಋೖͰ͖ΔϢʔςΟϦςΟεΠʔτ 1VCMJDͳ-BNCEBϨΠϠʔɺ1Z1JͰಋೖ͢Δ͜ͱ͕Մೳ 1ZUIPOҎ֎ͩͱ/&5 +BWB 54Ͱ΋ఏڙ͞Ε͍ͯΔ ϝΠϯͰ࢖͍ͬͯͨϢʔςΟϦςΟ 5SBDFSɿ93BZͷܰྔϥούʔ -PHHFSɿϩάΛ+TPOͰߏ଄Խ͞Εͨจࣈྻͱͯ͠ग़ྗ

    .FUSJDTɿ$MPVE8BUDI.FUSJDTͰΧελϜϝτϦΫεΛ࡞੒Ͱ͖Δ ˞ IUUQTHJUIVCDPNBXTMBCTBXTMBNCEBQPXFSUPPMTQZUIPO
  23. -BNCEB1PXFSUPPMTͷ͋Δੈք  AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: sam-app-jawsdays Globals: Function:

    Timeout: 30 Tracing: Active Api: TracingEnabled: True OpenApiVersion: 3.0.2 Resources: HelloWorldFunction: Type: AWS::Serverless::Function Properties: CodeUri: hello_world/ Handler: app.lambda_handler Runtime: python3.9 Architectures: - x86_64 Layers: - !Sub arn:aws:lambda:${AWS::Region}:017000801446:layer:AWSLambdaPowertoolsPython:33 Events: HelloWorld: Type: Api Properties: Path: /hello Method: get -BNCEBఆٛͷ-BZFSͰ 1PXFSUPPMTͷ-BZFSΛࢦఆ͢Δ͚ͩʂ UFNQMBUFZBNM
  24. -BNCEB1PXFSUPPMTͷ͋Δੈք  import json import uuid from aws_lambda_powertools import Logger

    from aws_lambda_powertools import Tracer from aws_lambda_powertools import Metrics from aws_lambda_powertools.metrics import MetricUnit tracer = Tracer() logger = Logger() metrics = Metrics( namespace="sam-app-jawsdays", service="HelloWorldFunction") @metrics.log_metrics @tracer.capture_lambda_handler @logger.inject_lambda_context(log_event=False) def lambda_handler(event, context): # Powertools Logger logger.info(uuid.uuid4()) # Add Metic metrics.add_metric( name="CallCount", unit=MetricUnit.Count, value=1) # Return Response return None $MPVE8BUDI.FUSJDTΛఆٛ BQQQZ ϝτϦΫεΛ1VTI
  25. -BNCEB1PXFSUPPMTͷ͋Δੈք  import json import uuid from aws_lambda_powertools import Logger

    from aws_lambda_powertools import Tracer from aws_lambda_powertools import Metrics from aws_lambda_powertools.metrics import MetricUnit tracer = Tracer() logger = Logger() metrics = Metrics( namespace="sam-app-jawsdays", service="HelloWorldFunction") @metrics.log_metrics @tracer.capture_lambda_handler @logger.inject_lambda_context(log_event=False) def lambda_handler(event, context): # Powertools Logger logger.info(uuid.uuid4()) # Add Metic metrics.add_metric( name="CallCount", unit=MetricUnit.Count, value=1) # Return Response return None BQQQZ $MPVE8BUDI-PHTΛ +TPOͰߏ଄Խͨ͠ঢ়ଶͰग़ྗ
  26. ***ίετ࡟ݮͷͨΊͷऔΓ૊Έ

  27. -BNCEBPO71$Ͱߟ͑Δ΂͖௨৴ܦ࿏ ***ίετ࡟ݮͷͨΊͷऔΓ૊Έ

  28. ։ൃ͕ऴ൫ʹֻ͔ࠩͬͨ͠ࠒɻɻ

  29.  !"#$%&%'#()*+,-./ (0121'#3%45 (61789#3%:;<=#8 (>$?@- ("AB,((CD((E((D(((F%3 GHI JK LM NM

    4O#.P (($%Q#:; ((RSTI; ((3"#G=0UV ((WXYZ (([\]1W ((5^; "AB,
  30. վमର৅ͱͳΔ෦෼  Private subnet VPC AWS Cloud Lambda DynamoDB Cognito

    API-GW API-GW WEB WEB VPC Endpoint (Gateway) WEB Client WEB Client SES URL Lambda Lambda DB Aurora Serverless V2 RDS Proxy 1SJWBUF4VCOFUʹ഑ஔ͍ͯ͠ΔͷͰɺ 4&4ͷΤϯυϙΠϯτͱ௨৴Ͱ͖ͳ͍🥲
  31. ߏங࣌ʹߟ͍͑ͯͨͭͷ௨৴ܦ࿏  JJ1SJWBUF4VCOFUˠ/"5(8ˠ*(8 JJJ1SJWBUF4VCOFUˠ71$& J1VCMJD4VCOFUˠ*(8 -BNCEB͸1SJWBUF4VCOFU্Ͱ࣮ߦ 1VCMJD4VCOFUʹ഑ஔͨ͠/"5(BUFXBZˠ*(8ͷܦ࿏Ͱ "84αʔϏεͷΤϯυϙΠϯτͱ௨৴ -BNCEB͸1SJWBUF4VCOFU্Ͱ࣮ߦ 1SJWBUF4VCOFUʹ഑ஔͨ͠*OUFSGBDFܕ71$&ܦ࿏Ͱ

    "84αʔϏεͷΤϯυϙΠϯτͱ௨৴ -BNCEB͸1VCMJD4VCOFU্Ͱ࣮ߦ ύϒϦοΫ*1Λ࣋ͬͨ-BNCEBͷ&/*ܦ༝Ͱ "84αʔϏεͷΤϯυϙΠϯτͱ௨৴ VPC Public subnet Private subnet Aurora Lambda ENI Internet Gateway AWS Service Internet VPC Public subnet Private subnet Lambda ENI Aurora Internet Gateway NAT Gateway AWS Service Internet VPC Private subnet AWS Service Lambda ENI Aurora VPC Endpoint (Interface)
  32. ߏங࣌ʹߟ͍͑ͯͨͭͷ௨৴ܦ࿏  JJ1SJWBUF4VCOFUˠ/"5(8ˠ*(8 JJJ1SJWBUF4VCOFUˠ71$& J1VCMJD4VCOFUˠ*(8 -BNCEB͸1SJWBUF4VCOFU্Ͱ࣮ߦ 1VCMJD4VCOFUʹ഑ஔͨ͠/"5(BUFXBZˠ*(8ͷܦ࿏Ͱ "84αʔϏεͷΤϯυϙΠϯτͱ௨৴ -BNCEB͸1SJWBUF4VCOFU্Ͱ࣮ߦ 1SJWBUF4VCOFUʹ഑ஔͨ͠*OUFSGBDFܕ71$&ܦ࿏Ͱ

    "84αʔϏεͷΤϯυϙΠϯτͱ௨৴ -BNCEB͸1VCMJD4VCOFU্Ͱ࣮ߦ ύϒϦοΫ*1Λ࣋ͬͨ-BNCEBͷ&/*ܦ༝Ͱ "84αʔϏεͷΤϯυϙΠϯτͱ௨৴ VPC Public subnet Private subnet Aurora Lambda ENI Internet Gateway AWS Service Internet VPC Public subnet Private subnet Lambda ENI Aurora Internet Gateway NAT Gateway AWS Service Internet VPC Private subnet AWS Service Lambda ENI Aurora VPC Endpoint (Interface) IUUQTEPDTBXTBNB[PODPNKB@KQMBNCEBMBUFTUEHDPO fi HVSBUJPOWQDIUNMWQDDPO fi HVSJOH 1VCMJD4VCOFUͰ-BNCEBΛىಈͯ͠΋ ΠϯλʔωοτΞΫηεͰ͖ͳ͍ʂ
  33. ߏங࣌ʹߟ͍͑ͯͨͭͷ௨৴ܦ࿏  JJ1SJWBUF4VCOFUˠ/"5(8ˠ*(8 JJJ1SJWBUF4VCOFUˠ71$& J1VCMJD4VCOFUˠ*(8 -BNCEB͸1SJWBUF4VCOFU্Ͱ࣮ߦ 1VCMJD4VCOFUʹ഑ஔͨ͠/"5(BUFXBZˠ*(8ͷܦ࿏Ͱ "84αʔϏεͷΤϯυϙΠϯτͱ௨৴ -BNCEB͸1SJWBUF4VCOFU্Ͱ࣮ߦ 1SJWBUF4VCOFUʹ഑ஔͨ͠*OUFSGBDFܕ71$&ܦ࿏Ͱ

    "84αʔϏεͷΤϯυϙΠϯτͱ௨৴ -BNCEB͸1VCMJD4VCOFU্Ͱ࣮ߦ ύϒϦοΫ*1Λ࣋ͬͨ-BNCEBͷ&/*ܦ༝Ͱ "84αʔϏεͷΤϯυϙΠϯτͱ௨৴ VPC Public subnet Private subnet Aurora Lambda ENI Internet Gateway AWS Service Internet VPC Public subnet Private subnet Lambda ENI Aurora Internet Gateway NAT Gateway AWS Service Internet VPC Private subnet AWS Service Lambda ENI Aurora VPC Endpoint (Interface) ͦ΋ͦ΋࣮ݱෆՄ ʢυΩϡϝϯτͪΌΜͱಡ΋͏😇ʣ
  34. ֹ݄ྉۚͷࢼࢉΛͯ͠ΈΔ ࣌఺  JJ1SJWBUF4VCOFUˠ/"5(8ˠ*(8 JJJ1SJWBUF4VCOFUˠ71$& /"5(BUFXBZ࣌ؒ୯Ґྉۚɿ64%IPVS /"5(BUFXBZσʔλॲཧྉɿ64%(# ΠϯλϑΣʔεܕ71$&࣌ؒ୯Ґྉۚɿ64%IPVS ΠϯλϑΣʔεܕ71$&σʔλॲཧྉɿ64%(# ࣌ؒ୯Ґྉۚ

    64%º IPVS º EBZ º "; 64% σʔλॲཧྉ 64%º(#64% ࣌ؒ୯Ґྉۚ 64%º IPVS º EBZ º "; 64% σʔλॲཧྉ 64%º(#64% ໿64% ໿64% VPC Public subnet Private subnet Lambda ENI Aurora Internet Gateway NAT Gateway AWS Service Internet VPC Private subnet AWS Service Lambda ENI Aurora VPC Endpoint (Interface)
  35. ֹ݄ྉۚͷࢼࢉΛͯ͠ΈΔ ࣌఺  JJ1SJWBUF4VCOFUˠ/"5(8ˠ*(8 JJJ1SJWBUF4VCOFUˠ71$& /"5(BUFXBZ࣌ؒ୯Ґྉۚɿ64%IPVS /"5(BUFXBZσʔλॲཧྉɿ64%(# ΠϯλϑΣʔεܕ71$&࣌ؒ୯Ґྉۚɿ64%IPVS ΠϯλϑΣʔεܕ71$&σʔλॲཧྉɿ64%(# ࣌ؒ୯Ґྉۚ

    64%º IPVS º EBZ º "; 64% σʔλॲཧྉ 64%º(#64% ࣌ؒ୯Ґྉۚ 64%º IPVS º EBZ º "; 64% σʔλॲཧྉ 64%º(#64% ໿64% ໿64% VPC Public subnet Private subnet Lambda ENI Aurora Internet Gateway NAT Gateway AWS Service Internet VPC Private subnet AWS Service Lambda ENI Aurora VPC Endpoint (Interface) ͏ʔΜɺɺ 71$ͷத͔Β4&4ݺͼग़͢ ܦ࿏֬อͷͨΊ͚ͩʹ͔͋ Πϯϑϥ؅ཧͯ͠Δ$MPVE'PSNBUJPO 
 ςϯϓϨʔτͷमਖ਼΋ඞཁͩΑͳ͋ɻɻ
  36. ߏங࣌ʹߟ͍͑ͯͨͭͷ௨৴ܦ࿏  JJ1SJWBUF4VCOFUˠ/"5(8ˠ*(8 JJJ1SJWBUF4VCOFUˠ71$& J1VCMJD4VCOFUˠ*(8 -BNCEB͸1SJWBUF4VCOFU্Ͱ࣮ߦ 1VCMJD4VCOFUʹ഑ஔͨ͠/"5(BUFXBZˠ*(8ͷܦ࿏Ͱ "84αʔϏεͷΤϯυϙΠϯτͱ௨৴ -BNCEB͸1SJWBUF4VCOFU্Ͱ࣮ߦ 1SJWBUF4VCOFUʹ഑ஔͨ͠*OUFSGBDFܕ71$&ܦ࿏Ͱ

    "84αʔϏεͷΤϯυϙΠϯτͱ௨৴ -BNCEB͸1VCMJD4VCOFU্Ͱ࣮ߦ ύϒϦοΫ*1Λ࣋ͬͨ-BNCEBͷ&/*ܦ༝Ͱ "84αʔϏεͷΤϯυϙΠϯτͱ௨৴ VPC Public subnet Private subnet Aurora Lambda ENI Internet Gateway AWS Service Internet VPC Public subnet Private subnet Lambda ENI Aurora Internet Gateway NAT Gateway AWS Service Internet VPC Private subnet AWS Service Lambda ENI Aurora VPC Endpoint (Interface) ͦ΋ͦ΋࣮ݱෆՄ ʢυΩϡϝϯτͪΌΜͱಡ΋͏😇ʣ ߴ͍*OUFSOFU௨৴͕ 
 ൃੜ͢ΔͷͰෆ࠾༻ ͪΐͬ͜ͱߴ͍ͷͰෆ࠾༻
  37. VPC Private subnet AWS Service VPC Endpoint (Interface) Lambda ENI

    Route53 Provided DNS VPC Private subnet AWS Service VPC Endpoint (Gateway) Route Table Lambda ENI 71$ΤϯυϙΠϯτ͸छྨ͋Δ  ήʔτ΢ΣΠܕ ΠϯλϑΣʔεܕ ૹ৴ઌ λʔήοτ  MPDBM QMBCD WQDFBCDBCD Ξλονର৅ ར༻ྉۚ ϧʔςΟϯάͷ੍ޚ 
 ର৅αʔϏε αϒωοτຖ ࣌ؒྉۚʴ௨৴ྔ 71$ͷ಺෦%/4 
 ʢ3PVUF1SJWJEFE%/4ʣ ͨ͘͞Μ 71$ ௨৴ྔ͚ͩ 71$ͷϧʔτςʔϒϧ 
 4ͱ%ZOBNP%#͚ͩ
  38. VPC Private subnet AWS Service VPC Endpoint (Interface) Lambda ENI

    Route53 Provided DNS VPC Private subnet AWS Service VPC Endpoint (Gateway) Route Table Lambda ENI 71$ΤϯυϙΠϯτ͸छྨ͋Δ  ήʔτ΢ΣΠܕ ΠϯλϑΣʔεܕ ૹ৴ઌ λʔήοτ  MPDBM QMBCD WQDFBCDBCD Ξλονର৅ ར༻ྉۚ ϧʔςΟϯάͷ੍ޚ 
 ର৅αʔϏε 71$ ௨৴ྔ͚ͩ 71$ͷϧʔτςʔϒϧ 
 4ͱ%ZOBNP%#͚ͩ   (BUFXBZܕ 
 ࣌ؒྉۚෆཁͳͷ͑͑ͳ͋ %ZOBNP%#Ͱ ্ख͍͜ͱͰ͚΁Μ͔ͳʁ αϒωοτຖ ࣌ؒྉۚʴ௨৴ྔ 71$ͷ಺෦%/4 
 ʢ3PVUF1SJWJEFE%/4ʣ ͨ͘͞Μ
  39. %ZOBNP%#4USFBNTͰ΍Δ͜ͱʹͨ͠  %ZOBNP%#4USFBNT  %ZOBNP%#ςʔϒϧͷϨίʔυΠϕϯτʢ*OTFSU .PEJGZ 3FNPWFʣΛΩϟϓνϟͰ͖Δػೳ 4USFBNTͱ-BNCEBؔ਺͸ωΠςΟϒʹ౷߹͞Ε͓ͯΓɺ 
 ϨίʔυΠϕϯτΛτϦΨʹ-BNCEBΛൃՐͰ͖Δ

    %ZOBNP%#Λ#SPLFSͱͯ͠࢖͏͜ͱͰ 
 ΠϕϯτυϦϒϯͳ-BNCEBॲཧΛ࣮ߦͰ͖Δʂ DynamoDB Lambda DynamoDB Streams { "eventName":"INSERT", "dynamodb": { "NewImage" : {...}, "OldImage" : {...} } }
  40. %ZOBNP%#4USFBNTͰ΍Δ͜ͱʹͨ͠  Private subnet VPC AWS Cloud Lambda DynamoDB API-GW

    VPC Endpoint (Gateway) WEB Client WEB Client SES URL Lambda DB Aurora Serverless V2 RDS Proxy #FGPSF
  41. %ZOBNP%#4USFBNTͰ΍Δ͜ͱʹͨ͠  Private subnet VPC AWS Cloud Lambda DynamoDB API-GW

    VPC Endpoint (Gateway) WEB Client WEB Client Lambda SES DynamoDB Streams URL DB Lambda DB Aurora Serverless V2 RDS Proxy DynamoDB ɾϝʔϧ഑৴༻%ZOBNP%#ςʔϒϧ ɾϝʔϧૹ৴ઐ༻-BNCEBΛ৽ઃ { "Mail_Subject":"Mail Subject", "Mail_Body":"Mail Body", "From_Address":"abc@xx.co.jp", "To_Address":"abc@xx.co.jp", .... } "GUFS
  42. %ZOBNP%#4USFBNTͰ΍Δ͜ͱʹͨ͠  Private subnet VPC AWS Cloud Lambda DynamoDB API-GW

    VPC Endpoint (Gateway) WEB Client WEB Client Lambda SES DynamoDB Streams URL DB Lambda DB Aurora Serverless V2 RDS Proxy DynamoDB ɾϝʔϧ഑৴༻%ZOBNP%#ςʔϒϧ ɾϝʔϧૹ৴ઐ༻-BNCEBΛ৽ઃ { "Mail_Subject":"Mail Subject", "Mail_Body":"Mail Body", "From_Address":"abc@xx.co.jp", "To_Address":"abc@xx.co.jp", .... } "GUFS طଘͷ%ZOBNP%#༻(BUFXBZܕ71$&Λ࠶ར༻͢Δ͜ͱͰɺ ௥ՃͰ/"5΍*OUFSGBDFܕ71$&Λ࡞੒͢Δ͜ͱͳ͘ ϝʔϧૹ৴ػೳ͕࣮ݱͰ͖ͨʂ΍ͬͨͶ😀
  43. ·ͱΊ  ੈ͸ະિ༗ͷԁ҆τϨϯυ ΞϓϦͷ࡞Γ΍ΞʔΩςΫνϟΛ޻෉͢Δ͜ͱͰίετ͸࡟ݮͰ͖Δʂ Πϯϑϥ؅ཧίετֻ͕͔Βͳ͍4FSWFSMFTT͸༷ʑͳෛՙ͔Β։์ͯ͘͠ΕΔ -BNCEB։ൃͰ࢖͑Δपลπʔϧ 4"."DDFMFSBUF౳ɺ4".͸ͲΜͲΜػೳ֦ு͞Ε͍ͯΔ -BNCEB1PXFUPPMTɺಋೖ͕؆୯ଟछͷϥΠϒϥϦΛۦ࢖ͯ͠։ൃ଎౓6Q αʔόϨε͸͍͍ͧ (P4FSWFSMFTT

    ˞ εϥΠυ಺Ͱར༻͍ͯͨ͠αϯϓϧίʔυ IUUQTHJUIVCDPNUBLVZBZPOFTBNBQQKBXTEBZT
  44. 5IBOL:PV