- TOP
- ã¿ã°äžèЧ
- MySQL
MySQL
ã€ãã³ã
ãã¬ãžã³
æè¡ããã°
æ¬èšäºã¯ã2025 幎 6 æ 11 æ¥ã« Networking & Content Delivery ã§å
¬éããã VPC resource gateways: Implementation patterns and use cases ã翻蚳ãããã®ã§ãã Amazon Virtual Private Cloud (Amazon VPC) éã§ã¢ããªã±ãŒã·ã§ã³ãæ¥ç¶ããéãåŸæ¥ã® AWS PrivateLink ã®ãããã€ããŒã»ã³ã³ã·ã¥ãŒããŒã¢ãã«ã«é©åããªããµãŒãã¹ãžã®æ¥ç¶ãå¿
èŠã«ãªããšãVPC ãã¢ãªã³ã°ã AWS Transit Gateway ã ãã§ã¯ç°¡åã«è§£æ±ºã§ããªãè€éãªãããã¯ãŒã¯èª²é¡ã«çŽé¢ããŸããããã¯ç¹ã«ãIP ã¢ãã¬ã¹ç©ºéãéè€ããŠããå Žåã«é¡èã§ãã åŸæ¥ã® PrivateLink ã® Provider-Consumer Model ã«é©åããªããµãŒãã¹ãžã®æ¥ç¶ããVPC ãªãœãŒã¹ã²ãŒããŠã§ã€ã䜿çšããããšã§å®çŸã§ãããããã¯ãŒã¯ã¢ãŒããã¯ãã£ãç°¡çŽ åã§ããŸãããããã€ããŒããµãŒãã¹ã®å段㫠Network Load Balancer ãé
眮ããããšãæ±ãã VPC ãšã³ããã€ã³ããµãŒãã¹ãšã¯ç°ãªãããªãœãŒã¹ã²ãŒããŠã§ã€ã¯ããŒããã©ã³ãµãŒã€ã³ãã©ã¹ãã©ã¯ãã£ã®è¿œå ãªãŒããŒããããªãã«ãããå¹
åºãã¿ãŒã²ãããå
¬éã§ããŸãã ãããŸã§è€éãªè¿œå èšå®ãå¿
èŠã ã£ãã·ããªãªã§ãã远å ã€ã³ãã©ã¹ãã©ã¯ãã£ã®ç®¡çãªãŒããŒããããªãã«ãµãŒãã¹ã«ã¢ã¯ã»ã¹ã§ããããã«ãªããŸããããªãœãŒã¹ã²ãŒããŠã§ã€ã¯ãARNãDNSããŸã㯠IP ããŒã¹ã®ãµãŒãã¹ãžã®æ¥ç¶ãå¯èœã«ããªãããã»ãã¥ãªãã£ã®ç¶æãè€éãã®è»œæžãã³ã¹ãã®æé©åãå®çŸããŸãã ãªãœãŒã¹ã²ãŒããŠã§ã€ã«ã¯è€æ°ã®ã¢ã¯ã»ã¹æ¹æ³ããããŸãã ãªãœãŒã¹ãšã³ããã€ã³ã ã Amazon VPC Lattice ãµãŒãã¹ãããã¯ãŒã¯ã¢ãœã·ãšãŒã·ã§ã³ãããã³ VPC Lattice ãµãŒãã¹ãããã¯ãŒã¯ã«æ¥ç¶ããã ãµãŒãã¹ãããã¯ãŒã¯ãšã³ããã€ã³ã ã§ããæ¬èšäºã§ã¯ããªãœãŒã¹ãžã®ã¢ã¯ã»ã¹ãæäŸããããã«ããªãœãŒã¹ã²ãŒããŠã§ã€ãšãªãœãŒã¹ãšã³ããã€ã³ãã䜿çšããã¢ãŒããã¯ãã£ãã¿ãŒã³ã«çŠç¹ãåœãŠãŸããAmazon VPC Lattice ã®ãµãŒãã¹ãããã¯ãŒã¯ãšã³ããã€ã³ãã®ãŠãŒã¹ã±ãŒã¹ãšäœ¿ç𿹿³ã®è©³çްã«ã€ããŠã¯ã ãã¡ãã®ããã° ãåç
§ããŠãã ããã 以äžã®ãŠãŒã¹ã±ãŒã¹ãšãã©ãã£ãã¯ãããŒãã¿ãŒã³ãéããŠããªãœãŒã¹ã²ãŒããŠã§ã€ã®æ©èœãçè§£ããŠãããŸãããã ãŠãŒã¹ã±ãŒã¹ 1ïŒRDS ãªãœãŒã¹ãžã®ãã©ã€ããŒããã€ã»ãã¥ã¢ãªã¢ã¯ã»ã¹ ç°ãªãããžãã¹ãŠããããã¢ããªã±ãŒã·ã§ã³ã³ã³ããŒãã³ãéã§å³å¯ãªåé¢ãç¶æããããã«ããã«ã VPC ãŸãã¯ãã«ãã¢ã«ãŠã³ãæŠç¥ãæ¡çšããŠããå Žåãã¢ããªã±ãŒã·ã§ã³ãµãŒããŒãšããŒã¿ããŒã¹ãç°ãªã VPC ã AWS ã¢ã«ãŠã³ãã«é
眮ãããŸãããŸãããã®ã¢ãŒããã¯ãã£ãã¿ãŒã³ã®èŠä»¶ã¯ãå䜵ã»è²·åïŒM&AïŒã®éã«ãçºçããŸãã Amazon Relational Database Service (Amazon RDS) ã¯ã管çã¿ã¹ã¯ãèªååããããšã§åŸæ¥åããŒã¿ããŒã¹ã®ç®¡çãç°¡çŽ åããŸãã Amazon Aurora ã¯ãMySQL ããã³ PostgreSQL ãšã®å®å
šãªäºææ§ãæã€ã°ããŒãã«ã¹ã±ãŒã«ã®ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã§ãã Web/ã¢ããªã±ãŒã·ã§ã³ãµãŒããŒãš RDS/Aurora ããŒã¿ããŒã¹ãç°ãªã VPC ã«ååšããå ŽåãVPC ãã¢ãªã³ã°ã«ããçŽæ¥ç㪠VPC ééä¿¡ããAWS Transit Gateway / AWS Cloud WAN ã䜿çšãããããã¯ãŒã¯æ¥ç¶ã®ã»ããã¢ããã«ããæ¥ç¶ã確ç«ã§ããŸããããããã³ã³ã·ã¥ãŒããŒã®æ°ãæ¥éã«å¢å ãããšããããã® VPC ãã¢ãªã³ã°æ¥ç¶ã AWS Transit Gateway / AWS Cloud WAN ãçµç±ãããããã¯ãŒã¯ãããŒã®ç®¡çãªãŒããŒããããå¢å€§ããŸãã ãªãœãŒã¹ã²ãŒããŠã§ã€ãšãªãœãŒã¹ VPC ãšã³ããã€ã³ãã䜿çšããŠãã¢ããªã±ãŒã·ã§ã³ãã Amazon RDS ãªãœãŒã¹ãžã®æ¥ç¶ãå¯èœã«ã§ããŸããå³1ã¯ããã®ãŠãŒã¹ã±ãŒã¹ã®ãã€ã¬ãã«ã¢ãŒããã¯ãã£å³ã瀺ããŠããŸãïŒ å³1ïŒRDS ãªãœãŒã¹ãžã®ãã©ã€ããŒããã€ã»ãã¥ã¢ãªã¢ã¯ã»ã¹ RDS ãªãœãŒã¹ãžã®ãã©ã€ããŒããã€ã»ãã¥ã¢ãªã¢ã¯ã»ã¹ãå®çŸããããã«ã以äžã®æé ã§ãªãœãŒã¹ãšã³ããã€ã³ããšãªãœãŒã¹ã²ãŒããŠã§ã€ãæ§æã§ããŸãïŒ RDS ãªãœãŒã¹ãååšãã VPC ã«ãªãœãŒã¹ã²ãŒããŠã§ã€ãäœæããã ã¢ã¯ã»ã¹ãããå RDS ã¯ã©ã¹ã¿ãŒãŸãã¯ã€ã³ã¹ã¿ã³ã¹ã«å¯ŸããŠãARNãã¿ã€ãã® ãªãœãŒã¹èšå® ãäœæãããªãœãŒã¹ã²ãŒããŠã§ã€ã«é¢é£ä»ããã æ³šæ ïŒARN ããŒã¹ã®ãªãœãŒã¹ã¯çŸåšããããªãã¯ã§ãªã Amazon RDS ãªãœãŒã¹ã§ãµããŒããããŠããŸããARN ããŒã¹ã®ãªãœãŒã¹èšå®ã® åãªãœãŒã¹èšå® ã¯ãAWS ã«ãã£ãŠèªåçã«ç®¡çãããŸãã ïŒãªãã·ã§ã³ïŒ ã³ã³ã·ã¥ãŒã㌠VPC ãš RDS VPC ãç°ãªã AWS ã¢ã«ãŠã³ãã«ããå ŽåãRDS VPC ã¢ã«ãŠã³ãããã³ã³ã·ã¥ãŒã㌠VPC ã¢ã«ãŠã³ããž AWS RAM ãéããŠãªãœãŒã¹èšå®ãå
±æããããªãœãŒã¹èšå®ãå
±æãããåŸãã³ã³ã·ã¥ãŒã㌠VPC ã¢ã«ãŠã³ãã§ãªãœãŒã¹å
±æãæ¿èªããã ã³ã³ã·ã¥ãŒã㌠VPC ã« ãResourceãã¿ã€ãã® VPC ãšã³ããã€ã³ã ãäœæããARN ã¿ã€ãã®ãªãœãŒã¹èšå®ã«é¢é£ä»ãããVPC ãšã³ããã€ã³ãã®äœææã«ããªãã·ã§ã³ã§ãPrivate DNSããæå¹åãããPrivate DNS ãæå¹ã«ãããšããªãœãŒã¹ VPC ãšã³ããã€ã³ããéãããã©ã€ããŒãæ¥ç¶ã掻çšããªãããAWS ãµãŒãã¹ããªãœãŒã¹ã«å¯ŸããŠããããžã§ãã³ã°ãã DNS åã䜿çšããŠãªã¯ãšã¹ããç¶ããããšãã§ããŸãã æ³šæ ïŒPrivate DNS ã䜿çšããã«ã¯ãã³ã³ã·ã¥ãŒã㌠VPC ã® DNS ãã¹ãåããã³ DNS 解決ããæå¹ã ïŒenableDnsHostnames, enableDnsSupportïŒã«èšå®ãããŠããããšã確èªããŠãã ããã ãªãœãŒã¹ãšã³ããã€ã³ããšãªãœãŒã¹ã²ãŒããŠã§ã€ã«é¢é£ä»ããããã»ãã¥ãªãã£ã°ã«ãŒãã«ã«ãŒã«ã远å ããŠãå¿
èŠãªãã©ãã£ãã¯ãèš±å¯ããã VPC ãšã³ããã€ã³ãã® Private DNS ãæå¹æãšç¡å¹æã§ã®åäœã瀺ãïŒ æå¹ïŒæšå¥šïŒ ïŒRDS ãªãœãŒã¹ã® DNS åïŒã©ã€ã¿ãŒãšã³ããã€ã³ãããªãŒããŒãšã³ããã€ã³ãããŸãã¯ã€ã³ã¹ã¿ã³ã¹ãšã³ããã€ã³ãïŒã䜿çšããŠãªãœãŒã¹ã«ã¢ã¯ã»ã¹ã§ããŸãã ç¡å¹ ïŒãªãœãŒã¹ VPC ãšã³ããã€ã³ãã® DNS åã䜿çšã㊠RDS ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ããŸãããã ããããã¯ããŒã¿ããŒã¹èšŒææžã®ã³ã¢ã³ããŒã ïŒCNïŒãæ€èšŒ ããŠããªã å Žåã«ã®ã¿æ©èœããŸããããã¯ããªãœãŒã¹ VPC ãšã³ããã€ã³ãã® DNS åã RDS/Aurora DB ã€ã³ã¹ã¿ã³ã¹ã®èšŒææžã®ãµããžã§ã¯ã代æ¿åïŒSANïŒã«å«ãŸããŠããªãããã§ãã ãŠãŒã¹ã±ãŒã¹ 2ïŒVPC IP CIDR ãéè€ããç°å¢ã§ã®æ¥ç¶ CIDR ãéè€ãã VPC ã«ã³ã³ã·ã¥ãŒããŒãšãªãœãŒã¹ã ååšããå Žåããããéã®çŽæ¥éä¿¡ãå°é£ã«ãªããŸãããã®ã·ããªãªã¯ãå䜵ã»è²·åæãããŒãããŒãããã¯ãŒã¯ãžã®æ¥ç¶æããŸã㯠CIDR ã®èšç»ã調æŽãããŠããªããã«ãã¢ã«ãŠã³ãç°å¢ã§äžè¬çã«çºçããŸãããã®åé¡ã«å¯ŸåŠããåŸæ¥ã®ãœãªã¥ãŒã·ã§ã³ã«ã¯ãNATïŒãããã¯ãŒã¯ã¢ãã¬ã¹å€æïŒãå®è¡ããã¢ãã©ã€ã¢ã³ã¹ã®èšå®ãNAT ã²ãŒããŠã§ã€ã®äœ¿çšããŸã㯠Network Load Balancer ã®äœæãš VPC ãšã³ããã€ã³ããµãŒãã¹ã䜿çšãããµãŒãã¹ã®å
¬éãå«ãŸããŸãããããã®è§£æ±ºçã¯æå¹ã§ããã远å ãªãœãŒã¹ã®äœæãå¿
èŠãªãããè€éããšã³ã¹ããå¢å ããŸãã VPC ãªãœãŒã¹ãšã³ããã€ã³ããšãªãœãŒã¹ã²ãŒããŠã§ã€ã¯ããã®ãããªç¶æ³ã§ã³ã³ã·ã¥ãŒããŒããªãœãŒã¹ã«ã¢ã¯ã»ã¹ã§ããããã«ãããããã·ã³ãã«ãªä»£æ¿ææ®µãæäŸããŸããå³2ã¯ããã®ãŠãŒã¹ã±ãŒã¹ã®ãã€ã¬ãã«ã¢ãŒããã¯ãã£å³ã瀺ããŠããŸãã å³2ïŒéè€ CIDR ãŠãŒã¹ã±ãŒã¹ã«ããããªãœãŒã¹ãšã³ããã€ã³ããšãªãœãŒã¹ã²ãŒããŠã§ã€ã®äœ¿çš ãã®ã±ãŒã¹ã§ã³ã³ã·ã¥ãŒããŒããªãœãŒã¹ã«ã¢ã¯ã»ã¹ã§ããããã«ããã«ã¯ã以äžãå®è¡ããŸãã ã¢ã¯ã»ã¹å¯Ÿè±¡ã®ãªãœãŒã¹ãååšãã VPC ã«ãªãœãŒã¹ã²ãŒããŠã§ã€ãäœæããã ãªãœãŒã¹ãŸãã¯ãªãœãŒã¹ã°ã«ãŒãã衚ããªãœãŒã¹èšå®ãäœæãããªãœãŒã¹ã²ãŒããŠã§ã€ã«é¢é£ä»ããã ïŒãªãã·ã§ã³ïŒã³ã³ã·ã¥ãŒã㌠VPC ãšãªãœãŒã¹ VPC ãç°ãªã AWS ã¢ã«ãŠã³ãã«ããå ŽåããªãœãŒã¹ VPC ã¢ã«ãŠã³ãããã³ã³ã·ã¥ãŒã㌠VPC ã¢ã«ãŠã³ããž AWS RAM ãéããŠãªãœãŒã¹èšå®ãå
±æããããªãœãŒã¹èšå®ãå
±æãããåŸãã³ã³ã·ã¥ãŒã㌠VPC ã¢ã«ãŠã³ãã§ãªãœãŒã¹å
±æãæ¿èªããã ã³ã³ã·ã¥ãŒã㌠VPC ã«ãåãªãœãŒã¹èšå®ã«å¯Ÿå¿ãããResourceãã¿ã€ãã® VPC ãšã³ããã€ã³ããäœæããã ãªãœãŒã¹ãšã³ããã€ã³ããšãªãœãŒã¹ã²ãŒããŠã§ã€ã«é¢é£ä»ããããã»ãã¥ãªãã£ã°ã«ãŒãã«ã«ãŒã«ã远å ããŠãå¿
èŠãªãã©ãã£ãã¯ãèš±å¯ããã ãªãœãŒã¹ VPC ãšã³ããã€ã³ãã® DNS åã䜿çšããŠããªãœãŒã¹ VPC å
ã®ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ããããã¬ã³ããªãŒãªååã䜿çšããŠãªãœãŒã¹ã«ã¢ã¯ã»ã¹ãããå Žåã¯ããã³ã³ã·ã¥ãŒã㌠VPCãã«é¢é£ä»ãããããã©ã€ããŒããã¹ããŸãŒã³ãäœæãããã¬ã³ããªãŒ DNS åããªãœãŒã¹ VPC ãšã³ããã€ã³ãã® DNS åã«ãã€ã³ããã CNAME ã¬ã³ãŒãã远å ã§ããŸãããªãœãŒã¹ VPC ãšã³ããã€ã³ãã® DNS åã¯ãé¢é£ãããªãœãŒã¹ VPC ãšã³ããã€ã³ããéžæããéã®ãAssociationsãã®äžã§ç¢ºèªã§ããŸãã å³3ïŒãªãœãŒã¹ VPC ãšã³ããã€ã³ãã® DNS å ãŠãŒã¹ã±ãŒã¹ 3ïŒãããªãã¯ãã¡ã€ã³ãžã®æ¥ç¶ãããã· ãããªãã¯ãšã³ããã€ã³ãå®ãŠã®éä¿¡ã§ãã£ãŠããäžå
åãããVPCãçµç±ããããããããã¯ãã©ã€ããŒããã€å¶åŸ¡ããããããã¯ãŒã¯çµè·¯ã䜿çšããããšã矩åä»ãããããªå³æ Œãªããªã·ãŒãæ¡çšããå Žåãæ³å®ããŸãããããããããªãã¯ãšã³ããã€ã³ãã¯ãå€ãã®å Žå AWS å€ã® SaaS ãµãŒãã¹ããAWS äžã«ãããªãã PrivateLink çµç±ã§ã¯ãã©ã€ããŒãã«å
¬éãããŠããªããµãŒãã¹ã§ãã ãªãœãŒã¹ã²ãŒããŠã§ã€ã䜿çšããŠãéçŽ VPC çµç±ã§ããŸã㯠AWS VPN ã AWS Direct Connect ãVPC ãã¢ãªã³ã°ãªã©ã®ãã©ã€ããŒãæ¥ç¶ãªãã·ã§ã³ãä»ããã€ã³ã¯ã©ãŠãæ¥ç¶ãŠãŒã¹ã±ãŒã¹ãšããŠããããªãã¯ãšã³ããã€ã³ãïŒAWS ãŸãã¯ãµãŒãããŒãã£ïŒã«ã¢ã¯ã»ã¹ã§ããŸããå³4ã¯ãVPC å
ã®ã¯ã©ã€ã¢ã³ããéçŽ VPC ãšãªãœãŒã¹ã²ãŒããŠã§ã€ãéããŠãããªãã¯ãšã³ããã€ã³ãã«ã¢ã¯ã»ã¹ãããã€ã¬ãã«ã¢ãŒããã¯ãã£å³ã瀺ããŠããŸãã å³4ïŒéçŽ VPC ãšãªãœãŒã¹ã²ãŒããŠã§ã€ã«ãããããªãã¯ãšã³ããã€ã³ããžã®ã¢ã¯ã»ã¹ ãªãœãŒã¹ã²ãŒããŠã§ã€ã䜿çšããŠéçŽ VPC çµç±ã§ãããªãã¯ãšã³ããã€ã³ããžã®æ¥ç¶ã確ç«ããã«ã¯ã以äžã®ã¢ãããŒãã«åŸããŸãïŒ ãããªãã¯ãµãããããšãã©ã€ããŒããµãããããæã€ VPCïŒããªãœãŒã¹ VPCãïŒãäœæãããVPC ã«ãŒãã£ã³ã°ãèšå®ãããã©ã€ããŒããµããããããã€ã³ã¿ãŒããããžã®ãã©ãã£ãã¯ããããªãã¯ãµããããå
ã® NAT ã²ãŒããŠã§ã€ãçµç±ããŠã«ãŒãã£ã³ã°ãããããšã確èªããã ãªãœãŒã¹ VPC ã®ãã©ã€ããŒããµããããã«ãªãœãŒã¹ã²ãŒããŠã§ã€ãäœæããã ã³ã³ã·ã¥ãŒããŒã«ã¢ã¯ã»ã¹ããããåãã¡ã€ã³åã«å¯ŸããŠããDNSãã¿ã€ãã®ãªãœãŒã¹èšå®ãäœæãããå DNS ãªãœãŒã¹èšå®ã¯ãã³ã³ã·ã¥ãŒããŒã«ã¢ã¯ã»ã¹ããããåäžã®ãã¡ã€ã³åã«ãããã³ã°ãããŸããè€æ°ã®ãã¡ã€ã³åã«ã¢ã¯ã»ã¹ããããå Žåã¯ãè€æ°ã®ãªãœãŒã¹èšå®ãåäžã®ããªãœãŒã¹ã°ã«ãŒããã«ã°ã«ãŒãåããåäžã®ãªãœãŒã¹ VPC ãšã³ããã€ã³ãã§è€æ°ãã¡ã€ã³ã«ã¢ã¯ã»ã¹ã§ããããã«ã§ããŸãã ïŒãªãã·ã§ã³ïŒã³ã³ã·ã¥ãŒã㌠VPC ãšãªãœãŒã¹ VPC ãç°ãªã AWS ã¢ã«ãŠã³ãã«ããå ŽåããªãœãŒã¹ VPC ã¢ã«ãŠã³ãããã³ã³ã·ã¥ãŒã㌠VPC ã¢ã«ãŠã³ããž AWS Resource Access Manager(RAM) ãéããŠãªãœãŒã¹èšå®ãå
±æããããªãœãŒã¹èšå®ãå
±æãããåŸãã³ã³ã·ã¥ãŒã㌠VPC ã¢ã«ãŠã³ãã§ãªãœãŒã¹å
±æãæ¿èªããã ã³ã³ã·ã¥ãŒã㌠VPC ã«ãResourceãã¿ã€ãã® VPC ãšã³ããã€ã³ããäœæãããªãœãŒã¹èšå®ã«é¢é£ä»ããã ãªãœãŒã¹ãšã³ããã€ã³ããšãªãœãŒã¹ã²ãŒããŠã§ã€ã«é¢é£ä»ããããã»ãã¥ãªãã£ã°ã«ãŒãã«ã«ãŒã«ã远å ããŠãå¿
èŠãªãã©ãã£ãã¯ãèš±å¯ããã ãã©ã€ããŒããã¹ããŸãŒã³ïŒã³ã³ã·ã¥ãŒã㌠VPC ã«é¢é£ä»ãïŒãäœæããã¢ã¯ã»ã¹ãããããªã㯠FQDN ããªãœãŒã¹ãšã³ããã€ã³ãã®å¯Ÿå¿ãã DNS åã«ãããã³ã°ãã CNAME ã¿ã€ãã®ã¬ã³ãŒãã远å ããããªãœãŒã¹ãšã³ããã€ã³ãã® DNS åã®ç¢ºèªæ¹æ³ã«ã€ããŠã¯ãå³2ãåç
§ã ãã©ã€ããŒããã¹ããŸãŒã³ã§äœæããã¬ã³ãŒãã䜿çšããŠãã¢ããªã±ãŒã·ã§ã³ãããããªãã¯ãšã³ããã€ã³ãã«ã¢ã¯ã»ã¹ããã åæ§ã«ããªã³ãã¬ãã¹ãš AWS éã®ç¢ºç«æžã¿ãã©ã€ããŒãæ¥ç¶ãéããŠããããªãã¯ãšã³ããã€ã³ããžã®ãã©ãã£ãã¯ãã«ãŒãã£ã³ã°ããããšãã§ããŸããããã«ãããã¢ãŠãããŠã³ãã€ã³ã¿ãŒãããæ¥ç¶ãä¿¡é Œã§ãããšã³ããã€ã³ãã«å¶éãããªã³ãã¬ãã¹ã®ã¯ã©ã€ã¢ã³ãããããã¯ãŒã¯åé¢ãç¶æãã³ã³ãã©ã€ã¢ã³ã¹èŠä»¶ãæºãããªããããããªã㯠FQDN ãšã»ãã¥ã¢ã«éä¿¡ã§ããããã«ãªããŸããå³5ã¯ããªã³ãã¬ãã¹ã®ã¯ã©ã€ã¢ã³ãã AWS Site-to-Site VPN / AWS Direct Connect ãä»ããŠãªãœãŒã¹ã²ãŒããŠã§ã€çµç±ã§ãããªãã¯ãšã³ããã€ã³ãã«ã¢ã¯ã»ã¹ãããã€ã¬ãã«ã¢ãŒããã¯ãã£å³ã瀺ããŠããŸãã â»èš³è
泚ïŒéçŽ VPC ã® IGW ããã®ã¢ãŠãããŠã³ãé信㯠TGW ã§ã®æ¥ç¶ãåãããããäžè¬çã§ãããTGW ã®ããŒã¿åŠçæé㯠$0.02/GBããªãœãŒã¹ãšã³ããã€ã³ãã®ããŒã¿åŠçæé㯠$0.01/GB ã§ãããæ¬æ¹åŒã¯ç¹ã«ããŒã¿éãå§åçã§ããå Žåãã³ã¹ãåæžã«å€§ããå¯äžããŸãã å³5ïŒéçŽ VPC ãšãªãœãŒã¹ã²ãŒããŠã§ã€ã«ãããªã³ãã¬ãã¹ããã®ãããªãã¯ãšã³ããã€ã³ããžã®ã¢ã¯ã»ã¹ ãŠãŒã¹ã±ãŒã¹ 4ïŒTransit Gateway ã VPC ãã¢ãªã³ã°ãçµç±ããã« AWS ãµãŒãã¹ã®ã€ã³ã¿ãŒãã§ãŒã¹ãšã³ããã€ã³ããéçŽãã ã€ã³ã¿ãŒããããçµç±ããã« AWS ãµãŒãã¹ãžã®ãã©ã€ããŒãæ¥ç¶ãå®çŸããã«ã¯ãã€ã³ã¿ãŒãã§ãŒã¹ VPC ãšã³ããã€ã³ãã䜿çšã§ããŸããããããå VPC ã§ãµãŒãã¹ããšã«åå¥ã®ã€ã³ã¿ãŒãã§ãŒã¹ VPC ãšã³ããã€ã³ããäœæãããšã倧ããªã³ã¹ããšç®¡çã®è€éãã«ã€ãªããå¯èœæ§ããããŸãããã®ãããããå¹ççãªã¢ãããŒãã¯ãå¿
èŠãª ãã¹ãŠã®ã€ã³ã¿ãŒãã§ãŒã¹ãšã³ããã€ã³ãããã¹ãããéçŽ VPC ãçšæããAWS Transit Gateway ãŸã㯠AWS VPC ãã¢ãªã³ã°æ¥ç¶ã䜿çšããŠã³ã³ã·ã¥ãŒã㌠VPC ãšãªãœãŒã¹ VPC éã®æ¥ç¶ã確ç«ããéçŽ VPC ãšã³ããã€ã³ããžã®æ¥ç¶ãå®çŸããããšã§ãã ãªãœãŒã¹ã²ãŒããŠã§ã€ãšãªãœãŒã¹ãšã³ããã€ã³ãã¯ããã®ãŠãŒã¹ã±ãŒã¹ïŒç¹ã«å€§èŠæš¡ãããã¯ãŒã¯ïŒã«å¯ŸåŠããããã®ãããã·ã³ãã«ã§ã³ã¹ãå¹çã®é«ããªãã·ã§ã³ãæäŸããŸããTransit Gateway ã¢ã¿ããã¡ã³ããããäœãå
šäœã³ã¹ãïŒæéãããããã³ããŒã¿åŠçïŒã§ãåäžã®ãªãœãŒã¹ãšã³ããã€ã³ããäœæããŠè€æ°ã® AWS ãµãŒãã¹ãšã³ããã€ã³ãã«ã¢ã¯ã»ã¹ã§ããŸãïŒéçŽ VPC ãšã³ããã€ã³ããäž»ãªãŠãŒã¹ã±ãŒã¹ã§ããããšãåæïŒãå³6ã¯ããã®ãŠãŒã¹ã±ãŒã¹ã®ãã€ã¬ãã«ã¢ãŒããã¯ãã£å³ã瀺ããŠããŸãã å³6ïŒãªãœãŒã¹ã²ãŒããŠã§ã€ã䜿çšããéçŽ VPC ãšã³ããã€ã³ããžã®ã¢ã¯ã»ã¹ ãªãœãŒã¹ã²ãŒããŠã§ã€ã䜿çšããŠéçŽ VPC ãšã³ããã€ã³ããžã®ãã©ã€ããŒãæ¥ç¶ã確ç«ããæ¹æ³ã¯ä»¥äžã®ãšããã§ãã ãªãœãŒã¹ VPC ã«ãèŠä»¶ã«å¿ãã AWS ãµãŒãã¹ã®éçŽã€ã³ã¿ãŒãã§ãŒã¹ VPC ãšã³ããã€ã³ããäœæããã ãªãœãŒã¹ VPC ã«ãªãœãŒã¹ã²ãŒããŠã§ã€ãäœæããã å AWS ãµãŒãã¹ VPC ãšã³ããã€ã³ãã«å¯ŸããŠããDNSãã®ãªãœãŒã¹å®çŸ©ãæã€ãªãœãŒã¹èšå®ãäœæããããã¡ã€ã³åã«ã¯ãã€ã³ã¿ãŒãã§ãŒã¹ VPC ãšã³ããã€ã³ãã®ãªãŒãžã§ãã« DNS åã远å ããïŒäŸïŒ vpce-xxxx.ec2.<region>.vpce.amazonaws.com ïŒã 泚æ ïŒãªãœãŒã¹ã²ãŒããŠã§ã€ã§ã¯ããªãœãŒã¹èšå®ã® DNS åããããªãã¯ã«è§£æ±ºå¯èœã§ããå¿
èŠããããããã€ã³ã¿ãŒãã§ãŒã¹ VPC ãšã³ããã€ã³ãã®ãã©ã€ããŒã DNS åã¯æ©èœããŸããã å DNS ãªãœãŒã¹èšå®ãæã€ãªãœãŒã¹ã°ã«ãŒããäœæãããªãœãŒã¹ã°ã«ãŒãããªãœãŒã¹ã²ãŒããŠã§ã€ã«é¢é£ä»ããã ïŒãªãã·ã§ã³ïŒã³ã³ã·ã¥ãŒã㌠VPC ãšãªãœãŒã¹ VPC ãç°ãªã AWS ã¢ã«ãŠã³ãã«ããå ŽåããªãœãŒã¹ VPC ã¢ã«ãŠã³ãããã³ã³ã·ã¥ãŒã㌠VPC ã¢ã«ãŠã³ããž AWS RAM ãéããŠãªãœãŒã¹èšå®ãå
±æããããªãœãŒã¹èšå®ãå
±æãããåŸãã³ã³ã·ã¥ãŒã㌠VPC ã¢ã«ãŠã³ãã§ãªãœãŒã¹å
±æãæ¿èªããã ã³ã³ã·ã¥ãŒã㌠VPC ã«ãResourceãã¿ã€ãã® VPC ãšã³ããã€ã³ããäœæãããªãœãŒã¹èšå®ã«é¢é£ä»ããã ãªãœãŒã¹ãšã³ããã€ã³ããšãªãœãŒã¹ã²ãŒããŠã§ã€ã«é¢é£ä»ããããã»ãã¥ãªãã£ã°ã«ãŒãã«ã«ãŒã«ã远å ããŠãå¿
èŠãªãã©ãã£ãã¯ãèš±å¯ããã ïŒãªãã·ã§ã³ïŒç°ãªããã¡ã€ã³åã䜿çšããŠãµãŒãã¹ãšã³ããã€ã³ãã«ã¢ã¯ã»ã¹ãããå Žåã¯ããã¡ã€ã³å <region>.amazonaws.com ã®ãã©ã€ããŒããã¹ããŸãŒã³ãäœæããã³ã³ã·ã¥ãŒã㌠VPC ã«é¢é£ä»ãããã¢ã¯ã»ã¹ããåãµãŒãã¹ã«å¯ŸããŠãã¬ãã£ãã¯ã¹ä»ãã® CNAME ã¿ã€ãã®ã¬ã³ãŒãã远å ãïŒäŸïŒ <prefix>.ec2.<region>.vpce.amazonaws.com ïŒããªãœãŒã¹ãšã³ããã€ã³ãã®å¯Ÿå¿ãã DNS åã«ãã€ã³ããããTLS æ€èšŒãæ£åžžã«è¡ãããããã«ããããããã©ã€ããŒããã¹ããŸãŒã³ãšã¬ã³ãŒãã¯äžèšã®åœ¢åŒã§ããå¿
èŠãããã ãã©ã€ããŒããã¹ããŸãŒã³ã§äœæããã¬ã³ãŒãïŒäŸïŒ <prefix>.<region>.vpce.amazonaws.com ïŒããŸãã¯ãªãœãŒã¹ãšã³ããã€ã³ãã® DNS åã䜿çšããŠãã¢ããªã±ãŒã·ã§ã³ããã€ã³ã¿ãŒãã§ãŒã¹ãšã³ããã€ã³ãã«ã¢ã¯ã»ã¹ããã ãŸãšã æ¬èšäºã§ã¯ãVPC ãªãœãŒã¹ã²ãŒããŠã§ã€ã䜿çšã㊠AWS ç°å¢ã«ãããè€éãªãããã¯ãŒã¯èª²é¡ãç°¡çŽ åããæ¹æ³ã説æããŸããããã©ã€ããŒããªããŒã¿ããŒã¹æ¥ç¶ã®ç¢ºç«ãIP ã¢ãã¬ã¹ãç«¶åãããããã¯ãŒã¯éã®éä¿¡ã®å®çŸãã»ãã¥ã¢ãªã€ã³ã¿ãŒãããã¢ã¯ã»ã¹ã®äœæãAWS ãµãŒãã¹ã¢ã¯ã»ã¹ã®åçåã«ã€ããŠè§£èª¬ããŸããããããã®ãœãªã¥ãŒã·ã§ã³ã¯ãVPC ãªãœãŒã¹ã²ãŒããŠã§ã€ã匷åºãªã»ãã¥ãªãã£ãç¶æããªããäžè¬çãªãããã¯ãŒã¯èª²é¡ã«å¯ŸåŠããæ¹æ³ã瀺ããŠãããæé·ã«åãããã¯ã©ãŠãã¢ãŒããã¯ãã£ã®æ§ç¯ã«æçšãªããŒã«ãšãªããŸãã AWS ãããã¯ãŒã¯æ§æãç°¡çŽ åããæºåã¯ã§ããŸãããïŒ VPC ãªãœãŒã¹ã²ãŒããŠã§ã€ ã®ããã¥ã¡ã³ããåç
§ããŠãä»ãããªãœãŒã¹ã²ãŒããŠã§ã€ã®å®è£
ãéå§ãããèªèº«ã® AWS ç°å¢ã§ãããã®ãã¿ãŒã³ã詊ããŠã¿ãŠãã ããã 翻蚳ã¯ãœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ãã®é·å±ãæ
åœããŸããã
ããã«ã¡ã¯ãã¿ã€ããŒã§ããã¯ãšã³ããšã³ãžãã¢ãããŠãã çŠäº (bary822) ã§ãã ã¿ã€ããŒã®ããã¯ãšã³ãã¯å·šå€§ãª Rails ã®ã¢ããªã¹ã¢ããªã±ãŒã·ã§ã³ã§ãã以åãããã¢ã¯ã»ã¹ãéäžããç¹å®ã®ããŒãã«ïŒä»¥äžã人æ°ããŒãã«ïŒãžã® DB ãã€ã°ã¬ãŒã·ã§ã³ãæ¥äžã«éããªãããšããåé¡ãæ±ããŠãããçéã§ããªãã¬ãã«ã«ãªã£ãŠãããããæ¬æ Œçã«å¯ŸåŠã«ä¹ãåºããŸããã ãã®èšäºã§ã¯ãåå ãšãªã£ãŠãããã³ã°ãã©ã³ã¶ã¯ã·ã§ã³ã«å¯ŸããDatadog ãš Devin ãçµã¿åãããèªåä¿®æ£ãããŒã§å¯ŸåŠãã話ãšããã®èšèšã®è£åŽã玹ä»ããŸãã DBãã€ã°ã¬ãŒã·ã§ã³å€±æã®ã¡ã«ããºã æ¥åžžçã«çºçããŠããã®ã¯ã人æ°ããŒãã«ãžã® ALTER TABLE ãæ¥äžã¯ã»ãŒéããªãããšããç¶æ³ã§ãããåå 㯠ã¡ã¿ããŒã¿ãã㯠(MDL) ã§ãã Aurora MySQL(8.0) ã§ã¯ãSELECT / INSERT / UPDATE / DELETE ãªã©ã® DML ã察象ããŒãã«ã® MDLïŒå
±æããã¯ïŒãååŸãã MDL ã¯ããŒãã«ãªã©ã®ã¡ã¿ããŒã¿ã«å¯ŸããŠååŸãããããã¯ã§ãããå
±æ MDL ãä¿æãããŠããé㯠ALTER TABLE ã«å¿
èŠãªæä» MDL ãååŸã§ããããã¯åŸ
ã¡ã«ãªã MDL ãè§£æŸããããŸã§ ALTER TABLE ã¯ãããã¯ãããããã1 æ¬ã§ãé·ãæéèµ°ããã©ã³ã¶ã¯ã·ã§ã³ïŒä»¥äžããã³ã°ãã©ã³ã¶ã¯ã·ã§ã³ïŒããããšããã®è£ã§ ALTER TABLE ãã¿ã€ã ã¢ãŠãããŠããŸã ã€ãŸããã¯ãšãªå®è¡é »åºŠã®é«ã人æ°ããŒãã«ã»ã©æ¥äžã¯è§Šããªããªãããã«ã©ã ãå¥ããŒãã«ã«åãåºãããã«ã©ã ãã€ã³ããã¯ã¹ã®åé€ã諊ããããšãã£ããæè¡çå¶çŽãèšèšãæªããæ¹åã«ååŠãåãå§ããŠããŸããã ãã®ãã€ã°ã¬ãŒã·ã§ã³å€±æãã®ãã®ã«å¯ŸããŠã¯ããããŸã§ strong_migrations gem ã®ããã¯ååŸãªãã©ã€æ©èœïŒ lock_timeout_retries ãªã©ïŒã§äœãšã察çããŠããŸããããããããããã¯ãããŸã§æå確çãäžãã ããã®ææ©çãªã¢ãããŒãã«ãšã©ãŸããæ ¹æ¬åå ã§ãããã³ã°ãã©ã³ã¶ã¯ã·ã§ã³ãã®ãã®ã«ã¯æãå
¥ããããŠããŸããã§ããã ãã³ã°ãã©ã³ã¶ã¯ã·ã§ã³ä¿®æ£ã®æ¹é ãããŸã§èŠãŠããéããæ ¹æ¬åå ã¯ãã³ã°ãã©ã³ã¶ã¯ã·ã§ã³ãã®ãã®ã§ããããã§ããªãã©ã€ã§åãéçšããäžæ©èžã¿èŸŒãã§ããããããã³ã°ãã©ã³ã¶ã¯ã·ã§ã³èªäœãæžãããŠããæ¹åã«èµãåãããšã«ããŸããã ãšã¯ãããçŸæç¹ã«ãããŠç®ç«ã£ããã³ã°ãã©ã³ã¶ã¯ã·ã§ã³ãé 匵ã£ãŠè§£æ¶ãããšããŠããä»åŸéçºè
ãæå³ããæ°ããªãã³ã°ãã©ã³ã¶ã¯ã·ã§ã³ãçã¿åºããŠããŸãå¯èœæ§ã¯å€§ãã«ãããŸãã ããšãã£ãŠããŒãžåã«ãã³ã°ãã©ã³ã¶ã¯ã·ã§ã³ãæ€åºããã®ãçŸå®çã§ã¯ãããŸããã§ããããã©ã³ã¶ã¯ã·ã§ã³ã®é·ãã¯ãå€ãã®å Žåãã®ã¬ã³ãŒãïŒã¹ãã£ã³ïŒéã«äŸåããŠãããæ¬çªã§å®è¡ããŠã¿ããŸã§æ€ç¥ãã«ããããã§ãã ããã§æ¬çªãªãªãŒã¹åã®æ€ç¥ã¯è«ŠããŠããªãªãŒã¹åŸã«ã§ããã ãæ©ãæ€ç¥ããæ¹éã«ããŸããããŸããæ€ç¥ããä¿®æ£ãã¬ãã¥ãŒãŸã§ãã§ããã ãèªååãã人éã¯æçµå€æèŠå¡ãšããŠä»å
¥ããã ãã§æžãç¶æ
ã«ããããšã§æç¶å¯èœãªéçšãç®æãããšã«ããŸããã ä»çµã¿ã®å
šäœå äžèšæ¹éãããšã«ããã€ãã®ãã©ã³ãæ€èšããçµæãã¿ã€ããŒã§æ¢ã«å°å
¥ãããŠãã DatadogãDevin ãªã©ãçµã¿åããã以äžã® 5 ãã§ãŒãºãããªãèªååãããŒãæ§ç¯ããŸããã æºå: ActiveRecord Query Logs ãæå¹åããã¯ãšãªã®çºè¡å
ãSQLã³ã¡ã³ããšããŠåã蟌ãŸããããã«ããŠãã 芳枬: Datadog Agent ããæ¬çª DB ã«å¯ŸããŠå®æã¯ãšãªãå®è¡ãã performance_schema ãš information_schema ã®æ
å ±ãããšã«ãããŒãã«ããšã«MDLãååŸãããã³ã°ãã©ã³ã¶ã¯ã·ã§ã³æéãã«ã¹ã¿ã ã¡ããªã¯ã¹ãšã㊠Datadog ã«éä¿¡ãã ããŒãã«ããšã«MDLãä¿æããŠãããã©ã³ã¶ã¯ã·ã§ã³ã®ãã¡ãèšæž¬æç¹ã§æãæéãé·ãç§æ°ãèšé²ãã æ€ç¥: Datadog Monitor ã«ãŠããŒãã«ããšã«äžå®ã®ãããå€ãè¶
ãããã³ã°ãã©ã³ã¶ã¯ã·ã§ã³ãæ€ç¥ãã ä¿®æ£ : Datadog Monitor ã§çºç«ãããã¢ã©ãŒããããªã¬ãŒãšããŠãDatadog Workflow Automation ãèµ·åãã³ã³ããã¹ããæŽçã㊠GitHub Actions çµç±ã§ Devin Session ãèµ·åããä¿®æ£ PR ãäœæ ã¬ãã¥ãŒ : ãä¿®æ£å¯Ÿè±¡ã®ã³ãŒãã«è©³ãã人ããèªåçã«å€å®ããŠã¢ãµã€ã³ + AI ã«ããäºåã¬ãã¥ãŒ ãã³ã°ãã©ã³ã¶ã¯ã·ã§ã³ä¿®æ£ãããŒã®æ§æå³ 以äžãããããã®ãã§ãŒãºã§å·¥å€«ãããã€ã³ãã玹ä»ããŸãã æºå: ã¯ãšãªã®çºè¡å
ãæããã«ãã Rails 7 ããæšæºæäŸãããŠãã ActiveRecord Query Logs ã«ã¯è±å¯ãªãªãã·ã§ã³ãçšæãããŠãããã¯ãšãªã®çºè¡å
ãã³ã¡ã³ããšããŠä»äžãã察象ãéå®ããããšãã§ããŸãã https://railsguides.jp/v8.1/configuring.html#config-active-record-query-log-tags ã¿ã€ããŒã§ã¯æ¬¡ã®èšå®ãå
¥ããŠããŸãã config.active_record.query_log_tags_enabled = true config.active_record.query_log_tags = %i[namespaced_controller action sidekiq_worker rake_task] 芳枬: ãã³ã°ãã©ã³ã¶ã¯ã·ã§ã³çºçç¶æ³ãå¯èŠåãã MySQL ã§ã¯ performance_schema ãš information_schema ã®æ
å ±ãçµã¿åãããããšã§ãããŒãã«ããšã®ãã®æç¹ã§å®è¡ãããŠããæãé·ãMDLãååŸãããã©ã³ã¶ã¯ã·ã§ã³ããç¹å®ããããšãã§ããŸãã ããã«ã¯ãšãªã³ã¡ã³ããšããŠä»äžãããçºè¡å
ã®æ
å ±ãçµã¿åãããããšã§ãã©ãããå®è¡ããããã©ã³ã¶ã¯ã·ã§ã³ãäœç§å®è¡ãããŠãããããç¹å®å¯èœã«ãªããŸãã æ¬¡ã®äŸã§ã¯ãããŒãã«åã table_name ãã¯ãšãªã®çºè¡å
ã query_source ãšããŠååŸããŠããŸãïŒ query_source ã¯ãå®éã®åºåãèŠãªããæ±ããããããã«å å·¥ããŠããïŒã èšæž¬ã¯ãšãªäŸ SELECT table_name, CASE WHEN raw_sql LIKE '%namespaced_controller:%' THEN CONCAT( TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(raw_sql, 'namespaced_controller:', -1), '*/', 1), ',', 1)), '#', TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(raw_sql, 'action:', -1), '*/', 1), ',', 1)) ) WHEN raw_sql LIKE '%sidekiq_worker:%' THEN TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(raw_sql, 'sidekiq_worker:', -1), '*/', 1), ',', 1)) WHEN raw_sql LIKE '%rake_task:%' THEN CONCAT('rake:', TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(raw_sql, 'rake_task:', -1), '*/', 1), ',', 1))) ELSE 'unknown' END AS query_source, tx_duration_seconds AS max_tx_duration_seconds FROM ( SELECT CASE WHEN ml.OBJECT_NAME LIKE '#sql-%' THEN 'DDL_IN_PROGRESS' ELSE ml.OBJECT_NAME END AS table_name, COALESCE(esc.SQL_TEXT, it.trx_query, '') AS raw_sql, TIMESTAMPDIFF(SECOND, it.trx_started, NOW()) AS tx_duration_seconds, ROW_NUMBER() OVER ( PARTITION BY CASE WHEN ml.OBJECT_NAME LIKE '#sql-%' THEN 'DDL_IN_PROGRESS' ELSE ml.OBJECT_NAME END ORDER BY TIMESTAMPDIFF(SECOND, it.trx_started, NOW()) DESC ) AS rn FROM performance_schema.metadata_locks ml JOIN performance_schema.threads th ON ml.OWNER_THREAD_ID = th.THREAD_ID JOIN information_schema.innodb_trx it ON th.PROCESSLIST_ID = it.trx_mysql_thread_id LEFT JOIN performance_schema.events_statements_current esc ON th.THREAD_ID = esc.THREAD_ID WHERE ml.OBJECT_TYPE = 'TABLE' AND ml.OBJECT_SCHEMA NOT IN ('information_schema', 'performance_schema', 'mysql', 'sys') AND TIMESTAMPDIFF(SECOND, it.trx_started, NOW()) >= 5 ) ranked WHERE rn = 1 ãã®ã¯ãšãªãäœãããã®æ¹æ³ã§æ¬çªDBã«å¯ŸããŠå®æçã«å®è¡ãããã®çµæãã©ããã«è²¯ããŠããã°ãã³ã°ãã©ã³ã¶ã¯ã·ã§ã³çºçç¶æ³ãå¯èŠåã§ããŸãã Datadog ã§ã¯ãããç°¡åã«è¡ãããšãã§ããŸãããã¢ããªã±ãŒã·ã§ã³ãå®è¡ãããŠãããã®ãšã¯å¥ã®ãµãŒãã¹ãšã㊠ECS äžã§åžžæçšŒåããŠãã Datadog Agent ã«ãŠå®æçã«ã¯ãšãªãå®è¡ãããã®çµæãã«ã¹ã¿ã ã¡ããªã¯ã¹ãšã㊠Datadog ã«éä¿¡ããŠããŸãã Aurora MySQL ã§ã®èšå®æ¹æ³: https://docs.datadoghq.com/ja/database_monitoring/setup_mysql/aurora æ€ç¥: ä¿®æ£å¯Ÿè±¡ã®ãã³ã°ãã©ã³ã¶ã¯ã·ã§ã³ãçµã蟌ã ã«ã¹ã¿ã ã¡ããªã¯ã¹ãšããŠ1床 Datadog ã«åã蟌ãã§ããŸãã°ãããã䜿ã£ãŠã¢ã©ãŒã(Datadog Monitor)ãä»èŸŒãããšã¯ç°¡åã§ãã ã¡ããªã¯ã¹ã¯ã¯ãšãªçºè¡å
( query_source )ã§ã°ã«ãŒãã³ã°ããŠç£èŠããããã«ããŸãããããããããšã§åŸç¶ã®ãããŒã«ãã©ã®ã¯ã©ã¹(ãã¡ã€ã«)ã§ãã³ã°ãã©ã³ã¶ã¯ã·ã§ã³ãçºçãããããæž¡ããããã«ãªããŸãã ãŸããçºè¡å
ãç¹å®ã§ããªãã£ããã®ã宿å®è¡ããªãããããªã©ã¯å¯Ÿè±¡å€ãšããŸããã 以äžã Datadog Monitor ã®ã¯ãšãªã§ãã( !query_source:rake:tmp:* ã¯å®æå®è¡ããªãããããåãé€ãããã®ãã®ã§ã) default_zero(avg:custom.mysql.mdl_holder.max_tx_duration_by_table{account:timee-jp-prod,replication_role:writer, !query_source:unknown, !query_source:rake:tmp:*} by {query_source}) ãããå€ã¯ãŸãã¯ã¢ã©ãŒãããã€ãºã«ãªããªãçšåºŠ(åŸç¶ã®ä¿®æ£ãããŒã«ãã£ãŠäœæãããPRã®ã¬ãã¥ãŒãè² æ
ã«ãªããªãçšåºŠ)ããå§ããããšãããããããŸãã ã¿ã€ããŒã®å Žåã¯åœåæ°çŸ sec ãè¶
ãããã³ã°ãã©ã³ã¶ã¯ã·ã§ã³ãçºçããŠããããããŸã㯠100 ç§ããããå€ãšããŠèšå®ããŸããã ãã®æç¹ã§ãã³ã°ãã©ã³ã¶ã¯ã·ã§ã³ã®çºçå
ãéãããŠããå Žåã¯ãåŸç¶ã®èªåä¿®æ£ãããŒãæ§ç¯ããåã«ããŸãã¯ãããã ãã察象ã«ãã£ããä¿®æ£ããŠã¿ãã®ã广çãããããŸããã ä¿®æ£: ãã¿ãŒã³éã§ä¿®æ£ã¢ãããŒããå¶åŸ¡ãã Datadog Monitor ã®ãããå€è¶
éãããªã¬ãŒã«ãDatadog Workflow Automation ãèµ·åããŸããããã§ã¯ãMonitor ããæž¡ããããã³ã°ãã©ã³ã¶ã¯ã·ã§ã³ã«é¢ããæ
å ±ïŒã¯ãšãªå®è¡å
ãçºçæéãªã©ïŒãåããŸãšããGitHub Action çµç±ã§ Devin Session ãèµ·åããŠã詳现ãªåå 調æ»ãšä¿®æ£PRã®äœæãè¡ããŸãã ãŸããæ°çŸç§ã«ããããã³ã°ãã©ã³ã¶ã¯ã·ã§ã³ã§ã¯ãMonitor ãéè€ããŠããªã¬ãŒãããå¯èœæ§ããããŸãããã®ãããåäžã¯ãšãªçºè¡å
ã«å¯Ÿã㊠Devin Session ãéè€å®è¡ãããªãããã«ããå¿
èŠããããŸãããå
·äœçã«ã¯ãSession èµ·åæã®ã¿ã°ã« query_source ãèšå®ããæ°ãã Session ãèµ·åããåã«æ¢åã®èµ·åæç¡ããã§ãã¯ããŠãå©çšæéã®ç¡é§ãé²ãã§ããŸãïŒåææ®µéã§ã¯ãã®ãã§ãã¯ããªããäžå€ã«ããŠæ°çŸãã«ããã£ãããšããããŸããïŒã Devin ã«ããä¿®æ£ã§ã¯ Datadog MCP çµç±ã§ APM ãªã©ã®æ
å ±ãåæãããããšã§è©³çްãªåå 調æ»ãè¡ã£ãŠããŸããããã°ããéçšããŠãããã¡ã«ãã³ã°ãã©ã³ã¶ã¯ã·ã§ã³ã®çºçãšãã®ä¿®æ£æ¹æ³ã«ã¯äžå®ã®ãã¿ãŒã³ãããããšãçºèŠããŸãããããã§ãããããä¿®æ£ãã¿ãŒã³ãããã¥ã¡ã³ãåããŠã¬ããžããªã«çœ®ããŠãããããã Devin ã«åç
§ãããããã«ããŸãããããããããšã§èª¿æ»ã®ã¢ã¿ãªãã€ãããããªãã³ã³ããã¹ãã®ç¯çŽã«å¯äžããããå®è¡æéãççž®ããããšãã§ããŸããã ä¿®æ£ãã¿ãŒã³ããã¥ã¡ã³ãäŸ # ãã©ã³ã¶ã¯ã·ã§ã³å
ã®å€éšAPIã³ãŒã«ãæé€ãã ## æŠèŠ ãã©ã³ã¶ã¯ã·ã§ã³ïŒ`with_lock` / `transaction do`ïŒã®å
åŽã§å€éšAPIã³ãŒã«ïŒHTTP ãªã¯ãšã¹ããLLM APIãå€éš SDK åŒã³åºããªã©ïŒãå®è¡ããŠããå Žåãéä¿¡æéã®éãã£ãšMDLïŒMetadata LockïŒãä¿æããç¶ããŸããå€éšåŒã³åºãã®æèŠæéã¯ç§ãååäœã«åã¶ããšããããããããã³ã°ãã©ã³ã¶ã¯ã·ã§ã³ã®**æãå
žåçãªåå **ã§ãã æ¹åã®åºæ¬æ¹éã¯ãå€éšåŒã³åºãããã©ã³ã¶ã¯ã·ã§ã³å€ã«åºã㊠**MDLä¿ææéãæå°å** ããããšã§ããå®å
šãªé€å»ã§ã¯ãªã **ãã©ã³ã¶ã¯ã·ã§ã³ã¹ã³ãŒãã®æå°å** ã第äžéžæãšããããã¯ãå®ãããšããŠããããŒã¿æŽåæ§ã¯å¥ã®ææ®µïŒã¹ããŒã¿ã¹ç®¡çã»æ¥œèŠ³çæŽåæ§ãã§ãã¯ãªã©ïŒã§ç¶æããŸãã ## åé¡ã®ã·ã°ãã㣠- **ã³ãŒãäžã®ç¹åŸŽ**: - `with_lock do ... end` ãŸã㯠`transaction do ... end` ã®å
éšã«ãHTTP ã¯ã©ã€ã¢ã³ãåŒã³åºãïŒNet::HTTP, Faraday, RestClient ãªã©ïŒãAWS SDK åŒã³åºããLLM API åŒã³åºããã¡ãŒã«éä¿¡ãSlack éç¥ãªã©ãå«ãŸããŠãã - å€éšåŒã³åºããå®äºããŠãã `save!` / `update!` ãåŒã°ããæµãã«ãªã£ãŠãã - **APMãã¬ãŒã¹äžã®ç¹åŸŽ**: - ãã©ã³ã¶ã¯ã·ã§ã³éå§ããçµäºãŸã§ã®ã¹ãã³å
ã«ã`http.client` / `aws.s3` / `openai.api` çã®åã¹ãã³ããã - DB ã¯ãšãªã®æèŠæéããå€éšåŒã³åºãã¹ãã³ã®æèŠæéã®ã»ããé·ã - ãDBæé << å
šäœæéãã®ãã¬ãŒã¹ãé »çºããŠãã ## Before / After ```ruby # BeforeïŒå€éšAPIã³ãŒã«ããã©ã³ã¶ã¯ã·ã§ã³å
â MDLãé·æéä¿æïŒ def process with_lock do reload return false unless entered? result = call_external_api! # å€éšAPIã³ãŒã« â æå€§120ç§ã®MDLä¿æ save_result!(result) end end # AfterïŒãã©ã³ã¶ã¯ã·ã§ã³ãåé¢ããŠMDLä¿ææéãæå°åïŒ def process # çããã©ã³ã¶ã¯ã·ã§ã³: ã¹ããŒã¿ã¹ç¢ºèªã®ã¿ with_lock do reload return false unless entered? end # å€éšAPIã³ãŒã«ã¯ãã©ã³ã¶ã¯ã·ã§ã³å€ã§å®è¡ïŒMDLãä¿æããªãïŒ result = call_external_api! save_result!(result) end ``` ### æ¥œèŠ³çæŽåæ§ãã§ãã¯ã®è¿œå ïŒåenqueueãã¿ãŒã³ãããå ŽåïŒ å¯Ÿè±¡ã®åŠçããããŒã¿å€æŽæã«åenqueueããããèšèšã®å Žåã以äžã®ãªã¹ã¯ãçãŸããŸãïŒ - Worker A ãããŒã¿èªã¿èŸŒã¿åŸã«ãã©ã³ã¶ã¯ã·ã§ã³ãçµäº - ã¬ã³ãŒããæŽæ°ãã Worker B ã enqueue - Worker A ãå€ãããŒã¿ã§éãåŠçãç¶è¡ - Worker B ãæ°ããããŒã¿ã§äžæžãïŒçµææŽåæ§ã¯ä¿ãããã Worker A ã®åŠçã¯ç¡é§ã«ãªãïŒ ãã®ãªã¹ã¯ãç·©åããããããã©ã³ã¶ã¯ã·ã§ã³çµäºåŸã«åenqueueããªã¬ãŒãšåãå€åæ€ç¥ããžãã¯ã§ããŒã¿ã®é®®åºŠã確èªããå€åãããã°äžæããæ¥œèгçãã§ãã¯ã远å ããŸãã ```ruby # ãã©ã³ã¶ã¯ã·ã§ã³å
ã§ã¹ãããã·ã§ããååŸ before_checker = SomeChecker.new(record) data = load_data_in_transaction # ãã©ã³ã¶ã¯ã·ã§ã³å€ã§é®®åºŠç¢ºèª(éãåŠçã®å) current_record = Record.includes(...).find(id) return if before_checker.changed?(current_record) # Worker Bã«ä»»ãã # éãåŠçãå®è¡ process(data) ``` ## 广 - MDLä¿ææéã **ç§ãååäœ** ã§ççž®ãããïŒå€éšåŒã³åºãã®æèŠæéã¶ãïŒ - ãã³ã°ãã©ã³ã¶ã¯ã·ã§ã³ïŒé·æé MDL ä¿æïŒã¢ã©ãŒãã®çºç«åæ°ã倧å¹
ã«æžå°ããããšãæåŸ
ããã - åããŒãã«ãžã®ä»ã¢ã¯ã»ã¹ïŒãã€ã°ã¬ãŒã·ã§ã³ã»æŽæ°ã¯ãšãªïŒã®åŸ
ã¡æéãççž®ããã ## 泚æç¹ã»ãã¬ãŒããªã - **æä»å¶åŸ¡ã匱ãŸãå¯èœæ§**: ãã©ã³ã¶ã¯ã·ã§ã³å€ã«åºãããšã§æä»å¶åŸ¡ã匱ãŸãå ŽåããããŸãã ` retry: false ` ã® Sidekiq Worker ãªã©ãåäžã¬ã³ãŒããåæåŠçããããªã¹ã¯ãäœãå Žåã¯èš±å®¹ã§ããŸã - **å
ç¢åã®éžæè¢**: ããå
ç¢ã«ããã«ã¯ããã©ã³ã¶ã¯ã·ã§ã³å
ã§ã¹ããŒã¿ã¹ã ` processing ` ã«å€æŽããŠããå€éšåŒã³åºããè¡ããã¿ãŒã³ãæå¹ã§ãïŒã¹ããŒã倿Žãå¿
èŠãªå Žåã¯å¥PRã§å¯Ÿå¿ïŒ - **æ¥œèŠ³çæŽåæ§ãã§ãã¯ã®é©çšæ¡ä»¶**: 察象ã¬ã³ãŒãã®æŽæ°ãåäžWorkerã®åenqueueãããªã¬ãŒããèšèšã«ãªã£ãŠããå Žåã®ã¿å¿
èŠãåenqueueããªãèšèšã§ã¯äžèŠã§ã - **å®å
šé€å»ã¯æçµææ®µ**: ããã¯ã®å®å
šé€å»ã¯ãä¿è·ãäžèŠã§ããããšãè«ççã«èª¬æã§ããå Žåã«ã®ã¿è¡ã£ãŠãã ãããçµç·¯ïŒ ` git log ` / ` git blame ` ïŒã確èªããã«åé€ãããšãéå»ã«ä¿®æ£æžã¿ã®ãã°ãåçºããããªã¹ã¯ããããŸã ``` # BeforeïŒå€éšAPIã³ãŒã«ããã©ã³ã¶ã¯ã·ã§ã³å
â MDLãé·æéä¿æïŒ def process with_lock do reload return false unless entered? result = call_external_api! # å€éšAPIã³ãŒã« â æå€§120ç§ã®MDLä¿æ save_result!(result) end end # AfterïŒãã©ã³ã¶ã¯ã·ã§ã³ãåé¢ããŠMDLä¿ææéãæå°åïŒ def process # çããã©ã³ã¶ã¯ã·ã§ã³: ã¹ããŒã¿ã¹ç¢ºèªã®ã¿ with_lock do reload return false unless entered? end # å€éšAPIã³ãŒã«ã¯ãã©ã³ã¶ã¯ã·ã§ã³å€ã§å®è¡ïŒMDLãä¿æããªãïŒ result = call_external_api! save_result!(result) end ``` ### æ¥œèŠ³çæŽåæ§ãã§ãã¯ã®è¿œå ïŒåenqueueãã¿ãŒã³ãããå ŽåïŒ å¯Ÿè±¡ã®åŠçããããŒã¿å€æŽæã«åenqueueããããèšèšã®å Žåã以äžã®ãªã¹ã¯ãçãŸããŸãïŒ - Worker A ãããŒã¿èªã¿èŸŒã¿åŸã«ãã©ã³ã¶ã¯ã·ã§ã³ãçµäº - ã¬ã³ãŒããæŽæ°ãã Worker B ã enqueue - Worker A ãå€ãããŒã¿ã§éãåŠçãç¶è¡ - Worker B ãæ°ããããŒã¿ã§äžæžãïŒçµææŽåæ§ã¯ä¿ãããã Worker A ã®åŠçã¯ç¡é§ã«ãªãïŒ ãã®ãªã¹ã¯ãç·©åããããããã©ã³ã¶ã¯ã·ã§ã³çµäºåŸã«åenqueueããªã¬ãŒãšåãå€åæ€ç¥ããžãã¯ã§ããŒã¿ã®é®®åºŠã確èªããå€åãããã°äžæããæ¥œèгçãã§ãã¯ã远å ããŸãã ``` # ãã©ã³ã¶ã¯ã·ã§ã³å
ã§ã¹ãããã·ã§ããååŸ before_checker = SomeChecker.new(record) data = load_data_in_transaction # ãã©ã³ã¶ã¯ã·ã§ã³å€ã§é®®åºŠç¢ºèª(éãåŠçã®å) current_record = Record.includes(...).find(id) return if before_checker.changed?(current_record) # Worker Bã«ä»»ãã # éãåŠçãå®è¡ process(data) ``` ## 广 - MDLä¿ææéã **ç§ãååäœ** ã§ççž®ãããïŒå€éšåŒã³åºãã®æèŠæéã¶ãïŒ - ãã³ã°ãã©ã³ã¶ã¯ã·ã§ã³ïŒé·æé MDL ä¿æïŒã¢ã©ãŒãã®çºç«åæ°ã倧å¹
ã«æžå°ããããšãæåŸ
ããã - åããŒãã«ãžã®ä»ã¢ã¯ã»ã¹ïŒãã€ã°ã¬ãŒã·ã§ã³ã»æŽæ°ã¯ãšãªïŒã®åŸ
ã¡æéãççž®ããã ## 泚æç¹ã»ãã¬ãŒããªã - **æä»å¶åŸ¡ã匱ãŸãå¯èœæ§**: ãã©ã³ã¶ã¯ã·ã§ã³å€ã«åºãããšã§æä»å¶åŸ¡ã匱ãŸãå ŽåããããŸãã ` retry: false ` ã® Sidekiq Worker ãªã©ãåäžã¬ã³ãŒããåæåŠçããããªã¹ã¯ãäœãå Žåã¯èš±å®¹ã§ããŸã - **å
ç¢åã®éžæè¢**: ããå
ç¢ã«ããã«ã¯ããã©ã³ã¶ã¯ã·ã§ã³å
ã§ã¹ããŒã¿ã¹ã ` processing ` ã«å€æŽããŠããå€éšåŒã³åºããè¡ããã¿ãŒã³ãæå¹ã§ãïŒã¹ããŒã倿Žãå¿
èŠãªå Žåã¯å¥PRã§å¯Ÿå¿ïŒ - **æ¥œèŠ³çæŽåæ§ãã§ãã¯ã®é©çšæ¡ä»¶**: 察象ã¬ã³ãŒãã®æŽæ°ãåäžWorkerã®åenqueueãããªã¬ãŒããèšèšã«ãªã£ãŠããå Žåã®ã¿å¿
èŠãåenqueueããªãèšèšã§ã¯äžèŠã§ã - **å®å
šé€å»ã¯æçµææ®µ**: ããã¯ã®å®å
šé€å»ã¯ãä¿è·ãäžèŠã§ããããšãè«ççã«èª¬æã§ããå Žåã«ã®ã¿è¡ã£ãŠãã ãããçµç·¯ïŒ ` git log ` / ` git blame ` ïŒã確èªããã«åé€ãããšãéå»ã«ä¿®æ£æžã¿ã®ãã°ãåçºããããªã¹ã¯ããããŸã Devin ã¯äžããããã³ã³ããã¹ããšãã¿ãŒã³éãç
§ããåãããåœãŠã¯ãŸããã¿ãŒã³ãããã°ãããåèã«ä¿®æ£ããªããã°æ°èŠãã¿ãŒã³ãšããŠããã¥ã¡ã³ãã远å ããŸãã ã€ãŸããDevin ãçŽãã°çŽãã»ã©ã次㮠Devin ã䜿ããããã¥ã¡ã³ããå¢ããŠããã«ãŒããããªããžããªå
ã§å®çµãã圢ã§äœã£ãŠããŸããããã³ããã®èª¿æŽãæ®éã® PR ããŒã¹ã§è¡ããã®ã§ãã¬ãã¥ã¢ãŒããã®ãã£ãŒãããã¯ãèªç¶ãš AI åŽã®æåæ¹åã«éå
ãããŠãããŸãã ã¬ãã¥ãŒ: ããã®ã³ãŒãã«è©³ãã人ããç¹å®ãã ãã³ã°ãã©ã³ã¶ã¯ã·ã§ã³ä¿®æ£ã¯ãã³ãŒãã®è¡šé¢çãªå€æŽã ãã§ã¯å€æã§ããªãã±ãŒã¹ãå€ããå®è£
ã®æå³ããã¡ã€ã³èæ¯ãç¥ã£ãŠãã人ã®ã¬ãã¥ãŒãäžå¯æ¬ ã§ãã ããã§ãæ¬¡ã®æé ã§ã¬ãã¥ã¢ãŒã決ããŠããŸãã ã³ãŒããªãŒããŒãèšå®ãããŠããã°ããã®äºº(ããŒã )ãã¬ãã¥ã¢ãŒãšãã ãªããã°ãçŽè¿ 1 幎éã§æãå€ããã®ãã¡ã€ã«ã« commit ãããŠãŒã¶ãŒãšãã®æç¹ã§ã®æå±ããŒã 1 幎以å
ã« commit ããªããã°ãç¹å®ããŒã (ç§ãæå±ããããŒã ) ããã¯ããã³ããããŒã¹ã ãšééã£ãã¢ãµã€ã³ãè¡ãããšããã£ããããã¹ã¯ãªããåããŸããã ããã«ãäœæããã PR ã«å¯Ÿã㊠AI ã¬ãã¥ãŒãå®è¡ããŠããŸããDevin ã¯ã¬ãã¥ãŒã«å¯ŸããŠèªåã§å¯Ÿå¿ãè¡ãããã人éã¬ãã¥ã¢ãŒã®ç®ã«å±ãæç¹ã§ãAI å士ã®äžæ¬¡ããåããã¯çµãã£ãŠããç¶æ
ã«ãªã£ãŠããŸãã éçšäžã®ãã€ã³ã æšä»ãã³ãŒãã£ã³ã°ãšãŒãžã§ã³ãã®æ§èœåäžããã®åšèŸºããŒã«ã®å
å®ã«ããããã®ãããªèªåä¿®æ£ãããŒãç°¡åã«æ§ç¯ããããšãã§ããããã«ãªããŸããã äžæ¹ã§ãäœã£ãä»çµã¿ãæ®æ®µã®éçºãããŒã®äžã§ç¡çãªãéçšããæ¹æ³ããã»ããã§å®è£
ããããšã¯ä»¥åã«å¢ããŠéèŠã«ãªã£ãŠããããã«æããŸãã ä»åã®ã±ãŒã¹ã§ã¯äžèš3ç¹ãç¹ã«æèããŠå®è£
ã«èœãšã蟌ã¿ãŸããã 人éã®ç®ã«è§ŠããåãŸã§ã«ç¡é§ãåãã㚠人éã察å¿ããå Žåã®å·¥æ°ãå¯èœãªéãå°ããããããš ç¡çãªãéçšã§ããããŒã¹ã§ç¶ç¶ã§ããããš AI ã«ããçžäºã¬ãã¥ãŒã§ç¡é§ãåã åè¿°ã® AI çžäºã¬ãã¥ãŒã§ã¯æ¬¡ã®èгç¹ã§PRã®åŠ¥åœæ§ã倿ããŠããŸãã ãã®å€æŽã¯æ¬åœã«é·æéMDLãçã¿åºãããã«ããã¯ã«ã¢ãããŒãããŠããã? ãã®å€æŽãé·æéMDLãè§£æ¶ããããã®å¿
èŠæå°éã®å€æŽã? é·æéMDLãè§£æ¶ãã€ã€ãå
ã®æ¯ãèããæ¥µåç¶æã§ããŠãããïŒ ããšãä¿®æ£ã«ãã£ãŠãããã©ã³ã¶ã¯ã·ã§ã³ãMDLãååŸããæéãçããªã£ããšããŠãããããæ€åºããããã³ã°ãã©ã³ã¶ã¯ã·ã§ã³ãååã«è§£æ¶ãã(ã¢ã©ãŒãã鳎ããªããªãã¬ãã«)ã§ãªããã°ä¿®æ£ãã䟡å€ã¯ãããŸããã ãŸããä¿®æ£ã§ãããšããŠããã®å€æŽç¯å²ãèšå€§ã«ãªã£ãŠããŸãã°ã¬ãã¥ã¢ãŒã®è² è·ãé«ããªãããã€ãŸã§ãããŒãžã§ããªãããšã§éçšãåããªããªã£ãŠããŸããŸãã AI ã¬ãã¥ãŒã§ãããã®èгç¹ãæºãããªãå Žå㯠PR ã ã¯ããŒãºããéçšãè¡ã£ãŠããŸãã ã察å¿ããªããããšãéžæè¢ã«ãã ç¶ç¶çãªéçšã§æå€ãšéèŠãªã®ããã察å¿ããªãã倿ãå°éããããšã§ãã Devin ãäœã£ã PR ããã¬ãã¥ã¢ãŒã®ç®ããèŠãŠå¯Ÿå¿ããªããšå€æãããããšã¯æ®éã«ãããŸããå€ãã®å Žåãã©ã³ã¶ã¯ã·ã§ã³ã®ç¯å²ãå°ããããããã©ã³ã¶ã¯ã·ã§ã³èªäœãç¡ããããšã¯ããŒã¿ã®æŽåæ§ãšãã¬ãŒããªãã®é¢ä¿ã«ããããã§ãã ãã®ãšãåã«ã¯ããŒãºããŠçµããã ãšã次ã«åãã¯ãšãªçºè¡å
( query_source )ã§ããªã¬ãŒããããšãã«ãŸãåã PR ãçæãããŠããŸããŸãã ãããé¿ããããã«ãã察å¿ããªããããšããããšããåæã§éçšãèããŸããããŸãã察å¿ããªãå Žåã®å·¥æ°ãã§ããéãå°ãããªãããã«ããŠããŸãã 察å¿ããªããã®ã¯ query_source åäœã§ Ignore List ãšããŠç®¡çãããªããžããªã«å«ããŠãã Ignore List ã®å®äœã¯ãã ã® query_source ã®ãªã¹ã(ãã©ãŒããã㯠JSONãYAML ãªã©äœã§ããã) ã¬ãã¥ã¢ãŒã PR ã« long-transaction-wontfix ã©ãã«ãä»ãããšGitHub Actions ãèµ·åãããããŸã§ã® commit ãç Žæ£ã㊠Ignore List ã«è¿œå ãã â ïž Ignore List 㯠query_source åäœãªã®ã§ãåã query_source ã®å¥ç®æã§æ°ãã«ãã³ã°ãã©ã³ã¶ã¯ã·ã§ã³ãçºçããŠãæ€ç¥ãããªããªããŸããå³å¯ãªæ€ç¥æ§ããéçšã®ã·ã³ãã«ããåªå
ããå²ãåãã§ãå¿
èŠãããã°ç²åºŠãåŸããå€ããããããã«ããŠããŸãã ãããå€ãäžããŠå¯Ÿè±¡ãåºããŠãã ãããŸã§ã®ä»çµã¿ã¯ãDatadog Monitor ã®ãããå€(åææ§ç¯æã¯ 100 s)ãè¶
ãããã³ã°ãã©ã³ã¶ã¯ã·ã§ã³ã察象ã«ããŠããŸããéçšåæã¯ããä¿å®çãªå€ã«çœ®ããå°çšã®ããã·ã¥ããŒãã«ãŸãšãããã³ã°ãã©ã³ã¶ã¯ã·ã§ã³çºçç¶æ³ãäœæãããä¿®æ£ PR æ°ãããŒãžæ°ãã¬ãã¥ã¢ãŒã®åããèŠãªãããæ®µéçã«äžããŠããéçšãè¡ã£ãŠããŸãã çŸåšã§ã¯ç¡çãªãéçšããªãããããå€ã 50s ãŸã§åŒãäžããããŠããã人æ°ããŒãã«ã«ãã£ãŠã¯ MDL ä¿ææéã以åã®åå以äžã«ãªããŸããã å®æèŠ³æž¬ããŠããããã·ã¥ããŒããç»é¢äžéšã®ã¡ããªã¯ã¹(MDLä¿ææé)ãæéãé²ãã«ã€ããŠæ¹åãããŠãã(çããªã£ãŠãã)ããšãããã ããã㫠以åæçš¿ãã Flaky Test èªåä¿®æ£ã®åãçµã¿ãšããŒãã¯éããŸãããåããããªãã¿ãŒã³ã§ãã³ã°ãã©ã³ã¶ã¯ã·ã§ã³ãæ¹åããä»çµã¿ã®å®è£
ãšéçšããŠããŠã玹ä»ããŸããã tech.timee.co.jp ä»åã®ã±ãŒã¹ã§ã¯å€æŽã«ãããã¬ãŒããªããçºçããç¹æ§ããããããã察å¿ããªãããšããéžæãåãããã«å°éããå¿
èŠããããŸãããããã§ãã³ã°ãã©ã³ã¶ã¯ã·ã§ã³ãé§éããã®ã§ã¯ãªãããããŸã§ãçŸç¶ãç·©åããããšãã¿ãŒã²ããã«çœ®ããããšã§çŸå®çã«æç¶å¯èœãªéçšã«èœãšã蟌ãããšãã§ããŸããã åé¡ã®çºçãæ€ç¥ããèªåã§åå åæããä¿®æ£ PR ã®äœæãŸã§è¡ããã¿ãŒã³ã¯ãä»ã®åé¡ã«ãé©çšã§ããæ±çšæ§ããããŸãããã®ãããã€ãã€ãå€çšããããªã£ãŠããŸããŸããããããéçºãµã€ã¯ã«ã®ã©ããã«äººéãä»åšããéãæç¶å¯èœãªéçšã«èœãšã蟌ãããšãéèŠã«ãªã£ãŠããããšããããããŠå®æããŠããŸãã æåŸãŸã§ãèªã¿ããã ããããããšãããããŸããïŒ
ã¿ãªãããããã«ã¡ã¯ããœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ãã®å€å±ã§ããä»é±ã é±åAWS ããå±ãããŸãã 2026 幎ãæãè¿ãå°ç¹ãéããããããäžåæã«å
¥ããŸããïŒäžåæã¯çæ AI ãšãšãŒãžã§ã³ãã«é¢ããã¢ããããŒããç®ç«ã¡ãŸãããããã®å¢ãã¯äžåæãæ¢ãŸãæ°é
ããããŸãããä»é±ã Claude Sonnet 5 ã®ç»å Žã Amazon WorkSpaces for AI agents ã®äžè¬æäŸéå§ãªã©ããšãŒãžã§ã³ã掻çšãåŸæŒãããã¢ããããŒãã倿°ãããŸããã äžæ¹ã§ 6/30 ã«ã¯ AWS ã®ãµãŒãã¹æäŸç¶æ³ãæŽæ°ãããããã€ãã®ãµãŒãã¹ãã¡ã³ããã³ã¹ã¢ãŒãããµã³ã»ãã (æäŸçµäºäºå®) ãžç§»è¡ããŠããŸããæ¬èšäºã«ãŠäž»åŒµãªã¢ããããŒããšããŠåãäžããŠãããŸãã®ã§ã確èªã®äžã該åœãµãŒãã¹ããå©çšäžã®æ¹ã¯ã代æ¿ãµãŒãã¹ãžã®ç§»è¡èšç»ããæ©ãã«ãæ€èšãã ããã ããã§ã¯ãå
é±ã®äž»ãªã¢ããããŒãã«ã€ããŠæ¯ãè¿ã£ãŠãããŸãããïŒ 2026幎6æ29æ¥é±ã®äž»èŠãªã¢ããããŒã 6/29(æ) Amazon S3 ãµãŒããŒã¢ã¯ã»ã¹ãã°ã Amazon CloudWatch Logs ãš Amazon S3 Tables ãžã®é
ä¿¡ã«å¯Ÿå¿ Amazon S3 ã®ãµãŒããŒã¢ã¯ã»ã¹ãã°ã Amazon CloudWatch Logs ãžçŽæ¥é
ä¿¡ã§ããããã«ãªããŸãããããã«ãããã¢ã¯ã»ã¹ãã°ããŒã¿ã«å¯Ÿãã峿ã¯ãšãªãã¢ã©ãŒã ãã¯ãã¹ã¢ã«ãŠã³ã/ã¯ãã¹ãªãŒãžã§ã³ã®éçŽãAWS Key Management Service (KMS) æå·åãå©çšå¯èœã«ãªããŸãããŸãã远å ã®ã¹ãã¬ãŒãžã³ã¹ããªãã§ Apache Iceberg 圢åŒã® Amazon S3 Tables ã«ãã©ãŒãªã³ã°ããããšãå¯èœã§ããCloudWatch Logs ãžã®é
ä¿¡ã§ã¯ãšã©ãŒçã®ã¢ã©ãŒã èšå®ãã¢ã¯ã»ã¹ã€ã³ã·ãã³ãã®èª¿æ»ãªã©ã«æŽ»çšã§ããŸããS3 Tables ã«ãã©ãŒãªã³ã°ããããã°ã¯ Amazon Athena ã Amazon Redshift ãªã© Iceberg äºæã®ã¯ãšãªãšã³ãžã³ããæšæº SQL ã§å³åº§ã«ã¯ãšãªã§ããã¢ã¯ã»ã¹ãã¿ãŒã³ã®ç£æ»ãã³ã¹ãèŠå ã®åæã«åœ¹ç«ã¡ãŸããAWS äžåœãªãŒãžã§ã³ããã³ AWS GovCloud (ç±³åœ) ãé€ããã¹ãŠã® AWS ãªãŒãžã§ã³ã§å©çšå¯èœã§ãã AWS WAF ã Amazon Bedrock AgentCore Gateway ã®ãµããŒãã远å Amazon Bedrock AgentCore Gateway åãã® AWS ãŠã§ãã¢ããªã±ãŒã·ã§ã³ãã¡ã€ã¢ãŠã©ãŒã« (AWS WAF) ä¿è·ã®äžè¬æäŸãçºè¡šãããŸããããšãŒãžã§ã³ãã£ã㯠AI ã¯ãŒã¯ããŒããäžè¬çãªãŠã§ãè匱æ§ãæªçšããä¿è·ã§ããããã«ãªããŸããAWS WAF ä¿è·ããã¯ã AgentCore Gateway ã«é¢é£ä»ããããšã§ãIP ããŒã¹ã®ã¢ã¯ã»ã¹ã³ã³ãããŒã«ãã¬ãŒãããŒã¹ã®ã«ãŒã«ãäžè¬çãªã«ãŒã«ã»ããã»æ¢ç¥ã®äžæ£å
¥åã»Bot Control ãå«ã AWS ãããŒãžãã«ãŒã«ã°ã«ãŒããé©çšã§ããŸããGateway ã¬ãã«ã§äžåºŠèšå®ããã ãã§ããã®èåŸã«ãããã¹ãŠã®ã¿ãŒã²ããã«äžè²«ããŠé©çšããããããåäžã®èšå®ã§ããŠã³ã¹ããªãŒã ã®ããŒã«ããšãŒãžã§ã³ããçµ±åããŸãšããŠä¿è·ã§ããã®ããã€ã³ãã§ããAWS WAF ãš Amazon Bedrock AgentCore Gateway ã®äž¡æ¹ãå©çšå¯èœãªãã¹ãŠã® AWS ãªãŒãžã§ã³ã§æäŸãããŸãã 6/30(ç«) AWS ã®ãµãŒãã¹ããã³æ©èœã®æäŸç¶æ³å€æŽã®ãç¥ãã è€æ°ã® AWS ãµãŒãã¹ããã³æ©èœã«ã€ããŠãæäŸç¶æ³ãæŽæ°ãããŸãããã¡ã³ããã³ã¹ã«ç§»è¡ãããµãŒãã¹ã¯ 2026 幎 7 æ 30 æ¥ä»¥éãæ°èŠã®ã客æ§ã¯ãå©çšããã ããŸãã (æ¢åã®ã客æ§ã¯ç¶ç¶å©çšå¯ãAWS ã®éçšã»ãµããŒããç¶ç¶)ã察象ã¯ãAmazon Bedrock Agents (2023 幎 11 æãªãªãŒã¹çãAmazon Bedrock Agents Classic ã«åç§°å€æŽ)ãAmazon Cognito SyncãAmazon KendraãAmazon Q BusinessãAWS Directory Service â Simple ADãAWS IoT Device Defender â Detect (2026 幎 8 æ 31 æ¥ä»¥é)ãAWS Mainframe Modernization â Self-Managed ExperienceãAWS Management Console â myApplicationsãAWS Resource Groups â Group Lifecycle EventsãAWS Service Catalog â Application RegistryãAWS Systems Manager â Application ManagerãAmazon SageMaker AI ã® A2I / Clarify / Debugger / GeoSpatial / Ground Truth / Mechanical Turk / Model Monitor / Role Manager / Studio Lab ã§ãããµã³ã»ãã (æäŸçµäºäºå®) ã«ç§»è¡ãããµãŒãã¹ã¯ãAmazon WorkSpaces â PCoIP / PoolãAWS Managed Services (AMS) AdvancedãAWS re:Post PrivateãAmazon SageMaker AI â Profiler ã§ãã2026 幎 6 æ 30 æ¥ããã£ãŠãµããŒãçµäºãšãªã£ãã®ã¯ãAmazon Chime SDK â Carrier Voice FocusãAmazon SageMaker AI â Ground Truth Plus ã§ãã詳现㯠AWS 補åã©ã€ããµã€ã¯ã«ããŒãžãã芧ãã ããã Amazon SageMaker AI ã Gemma 4 ã¢ãã«ã®ãµãŒããŒã¬ã¹ã¢ãã«ã«ã¹ã¿ãã€ãºããµããŒã Amazon SageMaker AI ããæåž«ãããã¡ã€ã³ãã¥ãŒãã³ã° (SFT)ãçŽæ¥éžå¥œæé©å (DPO)ã匷åãã¡ã€ã³ãã¥ãŒãã³ã° (RFT) ãçšãã Gemma 4 E4B ããã³ 31B ã¢ãã«ã®ãµãŒããŒã¬ã¹ã«ã¹ã¿ãã€ãºããµããŒãããããã«ãªããŸãããGemma 㯠Google DeepMind ãæ§ç¯ãããªãŒãã³ã¢ãã«ã®ãã¡ããªãŒã§ããä»åã®ãªãªãŒã¹ã«ãããGemma 4 ãå«ã NovaãNemotron 3ãQwenãLlamaãgpt-ossãDeepSeek ãªã©ã®ã¢ãã«ãã¡ããªãŒã SageMaker AI ã§ãµãŒããŒã¬ã¹ã«ã¹ã¿ãã€ãºã«å©çšã§ããã©ã€ã³ãããã«æããŸããããµãŒããŒã¬ã¹ã«ã¹ã¿ãã€ãºã§ã¯ã€ã³ãã©ã®ããããžã§ãã³ã°ãšãã¬ãŒãã³ã°ã®ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã SageMaker AI ãåŒãåããŠããããããã¯ã©ã¹ã¿ãŒç®¡çã§ã¯ãªãããŒã¿ãšè©äŸ¡ã«éäžã§ããŸããç±³åœæ±éš (ããŒãžãã¢åéš)ãç±³åœè¥¿éš (ãªã¬ãŽã³)ãã¢ãžã¢ãã·ãã£ã㯠(æ±äº¬)ãæ¬§å· (ã¢ã€ã«ã©ã³ã) ã§å©çšå¯èœã§ãã Claude Sonnet 5 ãå©çšå¯èœã« AWS ã§ Claude Sonnet 5 ã®æäŸãéå§ãããŸãããAnthropic ã®ææ°äžä»£ã«ãããæåã® Sonnet ã¢ãã«ã§ãSonnet ã®äŸ¡æ Œåž¯ãç¶æãã€ã€ã³ãŒãã£ã³ã°ã»ãšãŒãžã§ã³ãã»å°éæ¥åã§ãããã¯ã©ã¹ã®ã€ã³ããªãžã§ã³ã¹ãæäŸããŸããã³ãŒãã£ã³ã°ã§ã¯å€§èŠæš¡ãªã³ãŒãããŒã¹ã®è€æ°ãã¡ã€ã«ã«ãŸããã倿Žããããã°ã»ãªãã¡ã¯ã¿ãªã³ã°ãããšãŒãžã§ã³ãçšéã§ã¯ããŒã«åŒã³åºããå€ã¹ãããã®ç¶æ
ä¿æã»ãšã©ãŒå埩ãããã¬ããžã¯ãŒã¯ã§ã¯ããã¥ã¡ã³ãèµ·èãéæ§é åããŒã¿ã®æ§é å倿ãããªããŸããã¢ã¯ã»ã¹æ¹æ³ã¯Amazon Bedrock çµç±ã§ã®å©çšãš Claude Platform on AWS ã§ã®å©çšã®2 çš®é¡ãããŸããAmazon Bedrock çµç±ã§ã¯ããŒã¿ã AWS ã€ã³ãã©ã¹ãã©ã¯ãã£å
ã«ä¿æãããŸãŸãGuardrails ã Knowledge BasesããªãŒãžã§ã³ããŒã¿ã¬ãžãã³ã·ãŒãªã©ã®ãããŒãžãæ©èœãšçµã¿åãããŠå©çšã§ããŸããClaude Platform on AWS ã§ã¯ãAWS ã³ã³ãœãŒã«ãã Anthropic ã®ãã€ãã£ããã©ãããã©ãŒã äœéšã«çŽæ¥ã¢ã¯ã»ã¹ã§ããAnthropic ãšçŽæ¥ããåãããå Žåãšåã APIã»æ©èœã»ã³ã³ãœãŒã«ã AWS ã®è«æ±ãšèªèšŒã«çµ±åããã圢ã§å©çšã§ããŸãã Amazon WorkSpaces for AI agents ã®äžè¬æäŸãçºè¡š AI ãšãŒãžã§ã³ãããããŒãžã WorkSpaces ç°å¢ãéããŠãã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ã«å®å
šã«ã¢ã¯ã»ã¹ã»æäœã§ãã Amazon WorkSpaces for AI agents ããäžè¬æäŸéå§ãšãªããŸãããERPãCRMãã¡ã€ã³ãã¬ãŒã ãç¬èªããŒã«ãªã©ãã¢ããã€ãºãé£ãããã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ããã¢ããªã®æ¹ä¿®ãªãã«ãšãŒãžã§ã³ãããæäœã§ããã®ãç¹åŸŽã§ãããšãŒãžã§ã³ãã¯äººéã®ãŠãŒã¶ãŒãšåã ID å¶åŸ¡ããããã¯ãŒã¯åé¢ãã³ã³ãã©ã€ã¢ã³ã¹å¢çãç¶æ¿ãããããã¬ããã³ã¹ãæãªããã«ä¿éºéè«æ±åŠçãååŒæ±ºæžãªã©ã®ããã¯ãªãã£ã¹æ¥åãèªååã§ããŸããModel Context Protocol (MCP) ã䜿ããããããšãŒãžã§ã³ããã¬ãŒã ã¯ãŒã¯ãšé£æºããŸãããã¬ãã¥ãŒæéäžã®ãã£ãŒãããã¯ãåæ ããMCP åŒã³åºãã§çŽæ¥ã¢ããªã±ãŒã·ã§ã³ã OS ãæäœãã MCP ããŒã«ãã©ã¯ãŒãã£ã³ã°ããªãã¬ãŒã¿ãŒããšãŒãžã§ã³ã掻åãã©ã€ãã§å¯èŠåãã»ãã·ã§ã³äžã®ã¢ã¯ã»ã¹ãåãæ¶ãããªã¢ã«ã¿ã€ã ã»ãã·ã§ã³å¶åŸ¡ãæ¢åã® Active Directory ID ã®äžã§åäœããããããã¡ã€ã³åå ããªãŒããµããŒããšãã£ãæ©èœã远å ãããŠããŸãã 7/1(æ°Ž) Amazon OpenSearch Service ã«ãã°åæåãã«æé©åãããæ°ãšã³ãžã³ãç»å Ž Amazon OpenSearch Service ã«ããã°åæã¯ãŒã¯ããŒãåãã«å°çšèšèšãããæ°ãšã³ãžã³ãå°å
¥ãããŸãããéèšã¯ãŒã¯ããŒãåãã®ã«ã©ã ããŒã¹ãã¬ãŒãžã«ããæå€§ 70% ã®ã¹ãã¬ãŒãžåæžãå®çŸããåãã³ã¹ãã§æå€§ 3 åã®ããŒã¿ãä¿æã§ããŸããå ããŠãåãããŒããŠã§ã¢ã§æå€§ 2 åã®åã蟌ã¿ã¹ã«ãŒããããš 2 åé«éãªåæã¯ãšãªãæäŸããŸãããã€ã³ãã¯ãOpenSearch ãåŸæãšãããã«ããã¹ãæ€çŽ¢ãšãæ°ãšã³ãžã³ã«ããé«éãªéèšã»åæã¯ãšãªãåäžã¯ãšãªå
ã§çµã¿åãããããç¹ã§ãéèšãšã€ã³ã·ãã³ã調æ»ã 1 ã€ã®ãã¡ã€ã³ã§äž¡ç«ã§ããŸããéå§ããã«ã¯ OpenSearch 3.5 以äžã§ãã¡ã€ã³ãäœæãããªãã¶ãŒãããªãã£ã®ãŠãŒã¹ã±ãŒã¹ãéžæããšã³ãžã³ã¢ãŒãã optimized ã«èšå®ããŠãã ãããç±³åœæ±éš (ããŒãžãã¢åéšããªãã€ãª)ãç±³åœè¥¿éš (ãªã¬ãŽã³)ãã«ãã (äžéš)ãã¢ãžã¢ãã·ãã£ã㯠(ã ã³ãã€ãã·ã³ã¬ããŒã«ãã·ãããŒãæ±äº¬)ãæ¬§å· (ãã©ã³ã¯ãã«ããã¢ã€ã«ã©ã³ãããã³ãã³ãã¹ãã€ã³) ã®ã°ããŒãã« 12 ãªãŒãžã§ã³ã§å©çšå¯èœã§ãæ°ãšã³ãžã³ã®å©çšã«è¿œå æéã¯ããããŸããã AWS AppConfig ã A/B ãã¹ãåãã®ãããŒãžãå®éšããŒã«ãæäŸéå§ AWS AppConfig ã§ãA/B ãã¹ããæ©èœå®éšãå®è¡ã§ããå®éšããŒã«ã®äžè¬æäŸãéå§ãããŸãããåå¥ã®å®éšã€ã³ãã©ã¹ãã©ã¯ãã£ãæ§ç¯ã»ç®¡çããå¿
èŠãªãã25 幎以äžã«ããã Amazon ã®å®éšãã¹ããã©ã¯ãã£ã¹ãããŒã¹ã«ãAI é§åã®ã¬ã€ãã³ã¹ã§å
ç¢ãªå®éšã®æ§ç¯ãæ¯æŽããŸããUI 倿Žãã¬ã³ã¡ã³ããŒã·ã§ã³ã¢ã«ãŽãªãºã ãAI ã¢ãã«ã®éžæãããã³ããå®éšãŸã§ãã¢ããªã±ãŒã·ã§ã³ã¹ã¿ãã¯å
šäœã§ A/B ãã¹ããå€å€éå®éšãå®è¡å¯èœã§ãæ©èœããªãšãŒã·ã§ã³ã®å®çŸ©ããã©ãã£ãã¯å²ãåœãŠçã®èšå®ããAWS Management ConsoleãCLIãAPIãAWS CDK ããè¡ããŸããçµæã¯ Amazon CloudWatch ãæ¢åã®åæããŒã«ã§åæã§ããåã¡ãã¿ãŒã³ã¯ AppConfig ã®å®å
šãªããŒã«ã¢ãŠãã§æ¬çªç°å¢ãžé©çšã§ããŸãããã®æ©èœã¯ Amazon EC2ãAWS LambdaãAmazon ECSãAmazon EKSãAWS AppConfig Agent çµç±ã®ãªã³ãã¬ãã¹ãµãŒããŒäžã§åäœããŸããAWS GovCloud (ç±³åœ) ãå«ããã¹ãŠã® AWS ãªãŒãžã§ã³ã§å©çšå¯èœã§ãã Amazon RDS ã®ã¯ãã¹ãªãŒãžã§ã³èªåããã¯ã¢ããã 4 ã€ã®è¿œå AWS ãªãŒãžã§ã³ã§å©çšå¯èœã« Amazon RDS ã®ã¯ãã¹ãªãŒãžã§ã³èªåããã¯ã¢ããã¬ããªã±ãŒã·ã§ã³ãã4 ã€ã® AWS ãªãŒãžã§ã³ã§è¿œå æäŸãããŸãããä»åã®ãªãªãŒã¹ã§ãã¡ãã·ã³ (äžéš) ãšæ¬§å· (ã¢ã€ã«ã©ã³ã) ãŸãã¯ç±³åœè¥¿éš (åã«ãªãã©ã«ãã¢) ã®éãã¢ãžã¢ãã·ãã£ã㯠(å°å) ãšã¢ãžã¢ãã·ãã£ã㯠(ã·ã³ã¬ããŒã«) ãŸã㯠ã¢ãžã¢ãã·ãã£ã㯠(æ±äº¬) ã®éãã¢ãžã¢ãã·ãã£ã㯠(ãã¥ãŒãžãŒã©ã³ã) ãšã¢ãžã¢ãã·ãã£ã㯠(ã·ã³ã¬ããŒã«)ãã¢ãžã¢ãã·ãã£ã㯠(ã·ãããŒ)ãã¢ãžã¢ãã·ãã£ã㯠(ã¡ã«ãã«ã³) ã®éãã¢ãžã¢ãã·ãã£ã㯠(ã¿ã€) ãšã¢ãžã¢ãã·ãã£ã㯠(ã·ã³ã¬ããŒã«) ãŸã㯠ã¢ãžã¢ãã·ãã£ã㯠(ãžã£ã«ã«ã¿) ã®éã§ãèªåããã¯ã¢ããã¬ããªã±ãŒã·ã§ã³ãèšå®ã§ããããã«ãªããŸãããã¯ãã¹ãªãŒãžã§ã³èªåããã¯ã¢ããã¬ããªã±ãŒã·ã§ã³ã§ã¯ãRDS ãã¹ãããã·ã§ãããšãã©ã³ã¶ã¯ã·ã§ã³ãã°ãéžæããéä¿¡å
ãªãŒãžã§ã³ãžã¬ããªã±ãŒãããŠãããã®ã§ããã©ã€ããªãªãŒãžã§ã³ãå©çšã§ããªããªã£ãå Žåã§ããã»ã«ã³ããªãªãŒãžã§ã³ã§ä»»æã®æç¹ã«åŸ©å
ããŠè¿
éã«ãªãã¬ãŒã·ã§ã³ãåéã§ããŸããAmazon RDS for PostgreSQLãMariaDBãMySQLãDb2ãOracleãMicrosoft SQL Server ã§å©çšã§ããŸãã 7/2(æš) AWS Config ã 8 ã€ã®æ°ãããªãœãŒã¹ã¿ã€ãã«å¯Ÿå¿ AWS Config ããAmazon API GatewayãAmazon EC2ãAmazon S3 Vectors ãå«ãäž»èŠãµãŒãã¹ã«ããã 8 ã€ã®è¿œå ãªãœãŒã¹ã¿ã€ãã«å¯Ÿå¿ããŸããã远å ããããªãœãŒã¹ã¿ã€ãã¯ãAWS::ApiGateway::DomainNameV2ãAWS::ApiGatewayV2::VpcLinkãAWS::EC2::VPCEncryptionControlãAWS::NetworkFirewall::ContainerAssociationãAWS::OpenSearchServerless::SecurityPolicyãAWS::OSIS::PipelineãAWS::S3Vectors::VectorBucketãAWS::S3Vectors::VectorBucketPolicy ã® 8 çš®é¡ã§ãããã¹ãŠã®ãªãœãŒã¹ã¿ã€ãã®èšé²ãæå¹ã«ããŠããå Žåããããã®æ°èŠãªãœãŒã¹ã¯èªåçã«è¿œè·¡ãããŸããæ°ãããµããŒãããããªãœãŒã¹ã¿ã€ã㯠Config ã«ãŒã«ãš Config ã¢ã°ãªã²ãŒã¿ãŒã§ãå©çšå¯èœã§ããªãœãŒã¹ãå©çšå¯èœãªãã¹ãŠã® AWS ãªãŒãžã§ã³ã§å¯Ÿå¿ããŸãã Amazon EC2 X8i ã€ã³ã¹ã¿ã³ã¹ã远å ãªãŒãžã§ã³ã§å©çšå¯èœã« Amazon EC2 X8i ã€ã³ã¹ã¿ã³ã¹ããã¢ãžã¢ãã·ãã£ã㯠(ãœãŠã«)ãã¢ãžã¢ãã·ãã£ã㯠(ãã¬ãŒã·ã¢)ãã¢ãžã¢ãã·ãã£ã㯠(æ±äº¬) ã®åãªãŒãžã§ã³ã§å©çšå¯èœã«ãªããŸãããAWS ã§ã®ã¿æäŸãããã«ã¹ã¿ã Intel Xeon 6 ããã»ããµãæèŒããŠãããã¯ã©ãŠãäžã®åç Intel ããã»ããµã®äžã§æé«ã®ããã©ãŒãã³ã¹ãšæéã®ã¡ã¢ãªåž¯åå¹
ãæäŸããŸããåäžä»£ã® X2i ãšæ¯èŒããŠãæå€§ 43% é«ãããã©ãŒãã³ã¹ã1.5 åã®ã¡ã¢ãªå®¹é (æå€§ 6TB)ã3.3 åã®ã¡ã¢ãªåž¯åå¹
ãå®çŸããSAP HANAãå€§èŠæš¡ããŒã¿ããŒã¹ãããŒã¿åæãé»åèšèšèªåå (EDA) ãªã©ã®ã¡ã¢ãªéçŽåã¯ãŒã¯ããŒãã«é©ããŠããŸããX2i ãšã®æ¯èŒã§ SAPS æ§èœã¯æå€§ 50%ãPostgreSQL æ§èœã¯æå€§ 47%ãMemcached æ§èœã¯ æå€§ 88%ãAI æšè«æ§èœã¯ æå€§ 46% ã®é«éåãæåŸ
ã§ããŸããlarge ãã 96xlarge ãŸã§ã2 ã€ã®ãã¢ã¡ã¿ã«ãªãã·ã§ã³ãå«ã 14 ãµã€ãºã§æäŸãããSavings Plansããªã³ããã³ããã¹ãããã§è³Œå
¥å¯èœã§ãã Amazon SageMaker Unified Studio ã Terraform ã«ããããããžã§ãã³ã°ããµããŒã Amazon SageMaker Unified Studio ã Terraform ã«å¯Ÿå¿ããŸããããªãŒãã³ãœãŒã¹ã® terraform-aws-sagemaker-unified-studio ã¢ãžã¥ãŒã«ã䜿çšããŠãããŒãžã§ã³ç®¡çããããã³ãã¬ãŒããã SageMaker Unified Studio ãã¡ã€ã³ããããã€ã§ããŸãããã©ãããã©ãŒã ããŒã ã¯ãæ¢åã® Infrastructure-as-Code ãã€ãã©ã€ã³ã« SageMaker Unified Studio ãçµã¿èŸŒãããšã§ãéçºã»ã¹ããŒãžã³ã°ã»æ¬çªã¢ã«ãŠã³ãéã®äžè²«æ§ãç¶æã§ããŸãããµãã¢ãžã¥ãŒã«ã«ããããã«ãŒããªã³ãã®æå¹åããããžã§ã¯ããããã¡ã€ã«ãžã®æ§æããããžã§ã¯ãã®ç¬ç«äœæãå¯èœã§ãæ¢åã® IAM ããŒã«ãæµçšãããããžã§ã¯ãäœæãã§ããŸããSageMaker Unified Studio ãå©çšå¯èœãªãã¹ãŠã® AWS ãªãŒãžã§ã³ã§å©çšã§ããŸãã ããã§ã¯ããŸãæ¥é±ãäŒãããŸãããïŒ èè
ã«ã€ã㊠å€å± æ¥ (Kaede Koya) / @KaedeKoya35328 AWS Japan ã®ãœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ããšããŠãå€çš®å€æ§ãªæ¥çã®ã客æ§ããæ¯æŽããŠããŸããç¹å®ã®æè¡ããµãŒãã¹ã«åãããå¹
åºãåéã®ãçžè«ã«å¯Ÿå¿ããæè¡çžè«äŒãåçš®ã€ãã³ãã«ãŠç»å£ããŠããŸãã奜ã㪠AWSãµãŒãã¹ã¯ Amazon Lightsail ãš Kiro ã§ãã·ã³ãã«ãã€æè»ã«ã¯ã©ãŠãã®åãæŽ»çšã§ããç¹ããæ°ã«å
¥ãã§ããäŒæ¥ã¯æç¬ 2 å¹ãšéãã«éãããŠããŸãã














