
- TOP
- ã¿ã°äžèЧ
- Google BigQuery
Google BigQuery
ã€ãã³ã
ãã¬ãžã³
æè¡ããã°
ããã«ã¡ã¯ãã¡ãã£ã¢çµ±æ¬æ¬éš Data Science CenterïŒDSCïŒã®å±±ç°(@___rya ...
ããã«ã¡ã¯ïŒDevRelã®éç°ïŒ @Shige0096 ïŒã§ãã ã¡ãã¬ãŒã§ã¯å€äŒç»ãšããŠãMEDLEY Summer Tech Blog Relayããšé¡ããŠãããã°ãªã¬ãŒãéå¬ããŸãïŒ 7/13(æ)ã8/21(é)ãŸã§æ¯æ¥ç°ãªãã¡ã³ããŒãæè¡ããšã³ãžãã¢ãªã³ã°ãå人éçºãªã©å¹
åºãããŒãã§ããã¯ããã°ãå
¬éããŠãããŸãïŒ æ¬èšäºã«ãŠæ¯æ¥ããã°ãè¿œèšæŽæ°ããŠããã®ã§ããã²ã楜ãã¿ãã ããâš â»åæ¥ç¥ãé€ã ðãããããã°æšå¹Žã®èšäºããã²ãã§ãã¯ããŠã¿ãŠãã ããïŒ MEDLEY Summer Tech Blog Relay | MEDLEY Developer Portal ããã«ã¡ã¯ïŒã¡ãã¬ãŒã§DevRelãããŠããéç°ã§ãã ä»å¹Žãæãæ¥ãç¶ããŠããŸããããããéããã§ããïŒ ã¡ãã¬ãŒã§ã¯å€äŒç»ãšããŠãMEDLEY Summer Tech Blog Relayããšé¡ããŠãããã°ãªã¬ãŒãéå¬ããŸãïŒ 8/2... developer.medley.jp ð» ããã°ãªã¬ãŒã«ã¬ã³ã㌠ðïžç¬¬1é±(7/13~7/17) Day1ïŒïŒä»®ïŒðïŒçäºïŒ Day2ïŒFivetranã«ã€ããŠïŒæ¬å€ïŒ Day3ïŒTBDïŒæ£®å·ïŒ Day4ïŒBigQueryã®ã³ã¹ãåæžåšãïŒæç°ïŒ Day5ïŒTBDïŒå®ïŒ ðïžç¬¬2é±(7/21~7/24) Day6ïŒFY25 CLINICSå€§èŠæš¡é害察å¿ã§èªèšŒåºç€ã®å·æ°ãããæã«åŸãåŠã³ã«ã€ããŠïŒå±±ç°ïŒ Day7ïŒããŒã«ã«LLMã®å人ã§ã®æŽ»çšã«ã€ããŠïŒæè€ïŒ Day8ïŒèªäœããŒãã¹ãšããŒã«ã«LLMããŽãªãŽãªïŒçŠå³¶ïŒ Day9ïŒTBDïŒçš²æïŒ ðïžç¬¬3é±(7/27~7/31) Day10ïŒRubyã§çµã¿èŸŒã¿ã»ã²ãŒã ã»AIã®ã©ããïŒïŒè€åïŒ Day11ïŒTBDïŒå¹³æïŒ Day12ïŒTBDïŒé«æ©ïŒ Day13ïŒ(ä»®) AI API å©ããšãèããããšïŒå±±äžïŒ Day14ïŒJetson Orin Nano Super ã«ããããŒã«ã«MLLM掻çšã«ã€ããŠïŒå±±æ¬ïŒ ðïžç¬¬4é±(8/3~8/7) Day15ïŒMaestro E2EïŒè
åïŒ Day16ïŒTBDïŒå¥¥æŸ€ïŒ Day17ïŒTBDïŒäœè€ïŒ Day18ïŒTBDïŒç§ïŒ Day19ïŒTBDïŒä¹
ä¿ïŒ ðïžç¬¬5é±(8/10~8/14) Day20ïŒTBDïŒææšïŒ Day21ïŒTBDïŒå±±æ¬ïŒ Day22ïŒTBDïŒæäžïŒ Day23ïŒTBDïŒç«¹æ¬ïŒ ðïžç¬¬6é±(8/17~8/21) Day24ïŒTBDïŒå±±æ²³ïŒ Day25ïŒTBDïŒäºæŸ€ïŒ Day26ïŒTBDïŒæž
æ°ŽïŒ Day27ïŒã¡ãã¬ãŒã«ããã0â1éçºã®ãªã¢ã«ãªè©±ïŒãšãŒãžã§ã³ãæ¥åã·ã¹ãã ïŒïŒåŸ·æ°žïŒ Day28ïŒTBDïŒåæïŒ ð Weâre hiring! ã¡ãã¬ãŒã§ã¯ããå»çãã«ã¹ã±ã¢ã®æªæ¥ãã€ããã仲éã倧åéããŠããŸãïŒ å°ãã§ãèå³ããæã¡ããã ããŸãããããã²ãã«ãžã¥ã¢ã«é¢è«ã«ãè¶ããã ããð ãå¿åãåŸ
ã¡ããŠãããŸãïŒïŒ ã¡ãã¬ãŒã§åãïœæ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã§ã®åãæ¹ã人äºå¶åºŠãæ±äººæ
å ±ãªã©ãæ¡çšã«é¢ããæ
å ±ãã玹ä»ããŸãã www.medley.jp
ã¯ããã« ããã«ã¡ã¯ãã¿ã€ããŒã§ Platform Engineer ãããŠããå°æ²³åïŒ @kgwryk28 ïŒã§ãã çŸåšãã¿ã€ããŒã®ã·ã¹ãã ã§å©çšããŠããã¡ã€ã³ã®ããŒã¿ããŒã¹ïŒAurora MySQLïŒã®ããŒãžã§ã³ã¢ãããé²ããŠããŸãã ååã®èšäº ã§ã¯ãã¢ããã°ã¬ãŒãã«äŒŽã SQL ã®äºææ§ãæ§èœã®æ€èšŒã«ã€ããŠå
±æããŸããã ãã®èšäºã§ã¯ããã®ã¢ããã°ã¬ãŒããšäžŠè¡ããŠåãçµãã§ãã Aurora MySQL ã® GTID ã¢ãŒãæå¹å ãè¡ãã«ããã£ãŠçŽé¢ãã課é¡ãšããããããã©ã解決ãããã玹ä»ããŸãã GTID ãã¬ããªã±ãŒã·ã§ã³ã«è©³ãããªãæ¹ã«ãèªãã§ããã ãããããå¿
èŠãªåæã¯ãã®éœåºŠè£è¶³ããªãã説æããŸãã èæ¯ ãã£ããã¯ãçŸç¶å©çšããŠããAurora MySQL 3.x ç³»ïŒMySQL 8.0 çžåœã®äºææ§ïŒãã Aurora MySQL 8.4 ç³»ïŒMySQL 8.4 çžåœã®äºææ§ïŒãžã®ã¢ããã°ã¬ãŒããèŠéã«å
¥ã£ãŠããããšã§ãã ã¿ã€ããŒã§ã¯ Aurora MySQL ã®ããŒã¿ã BigQuery ã«é£æºãããããGoogle Cloud ã® Datastream ãå©çšããŠããŸãã äžæ¹ã Datastream ã® MySQL ãœãŒã¹å¯Ÿå¿ããŒãžã§ã³ ã«ãããšã MySQL 8.4 ã¯ãGTID ããŒã¹ã®ã¬ããªã±ãŒã·ã§ã³ã§ã®ã¿ãµããŒãã ãšãããŠããŸãã çŸç¶ Datastream ã®æ¥ç¶æ¹åŒãšã㊠ãã€ããªãã°ã®äœçœ®ããŒã¹ ã§ãããã®ããã8.4 以éã Datastream ã®ãœãŒã¹ã«ããã«ã¯ GTID ããŒã¹ã®ã¬ããªã±ãŒã·ã§ã³ãå¿
é ã«ãªããŸãã ã€ãŸããå°æ¥ã®ããŒãžã§ã³è¿œåŸãèŠæ®ãããšãã©ããã§ GTID ããŒã¹ã®æ¥ç¶æ¹åŒãžç§»è¡ããããšã¯é¿ããããŸããã çŸç¶ Aurora MySQL ã§ã¯ GTID ã¢ãŒããæå¹åãããŠããªãããããã®å段ãšã㊠Aurora åŽã§ GTID ã¢ãŒããæå¹å ããŠããå¿
èŠããããŸãã ãããä»å GTID ã¢ãŒãã®æå¹åãè¡ãåæ©ã§ãã åæ æ¬é¡ã«å
¥ãåã«ããã®èšäºãèªãã®ã«å¿
èŠãªåæã 3 ã€æŒãããŸãã â GTIDã«ã€ã㊠GTIDïŒGlobal Transaction IdentifierïŒã¯ãããŒã¿ããŒã¹äžã§ã³ããããããåãã©ã³ã¶ã¯ã·ã§ã³ã«ã¯ã©ã¹ã¿ãŒå
šäœã§äžæãª ID ãæ¯ãä»çµã¿ã§ãã GTIDã¢ãŒããæå¹ã«ãªããšãã€ããªãã°ïŒbinlogïŒã« GTID ãèšé²ãããŸããç¡å¹ã®å Žåã¯ãã€ããªãã°ã« GTID ã¯èšé²ãããŸããã GTID ã¯ãã¬ããªã«ãšããŠãã€ããªãã°ãåãåã£ãéã«ãã©ã®ãã©ã³ã¶ã¯ã·ã§ã³ãŸã§å®è¡ããããã管çããããã«äœ¿ãããŸãã GTIDã¢ãŒã ãç¡å¹ãªãã¹ã¿ãŒã«å¯ŸããŠã¬ããªã±ãŒã·ã§ã³æ¥ç¶ããå ŽåãGTIDã¯å©çšã§ããŸããããã®ããããã€ããªãã°ã®ãã¡ã€ã«ãšããžã·ã§ã³ã§ã©ããŸã§å®è¡ããããã管çããŸãã æ¬èšäºã§ã¯çšèªãçµ±äžããããã以äžã®ããã«åŒã³ãŸãã GTIDãã©ã³ã¶ã¯ã·ã§ã³ ïŒGTIDãå«ãŸããŠãããã©ã³ã¶ã¯ã·ã§ã³ å¿åãã©ã³ã¶ã¯ã·ã§ã³ ïŒGTIDãå«ãŸããŠããªããã©ã³ã¶ã¯ã·ã§ã³ GTIDæ¹åŒ ïŒã¬ããªã«ããã©ããŸã§å®è¡ããããããGTID ã§ç®¡çããã ãã€ããªãã°ã®äœçœ®ããŒã¹æ¹åŒ ïŒ ã¬ããªã«ããã©ããŸã§å®è¡ãããããããã€ããªãã°ã®ãã¡ã€ã«ïŒããžã·ã§ã³ã§ç®¡çããã â¡ 4çš®é¡ã®GTIDã¢ãŒã GTIDã¢ãŒãã«ã¯4çš®é¡ã®èšå®å€ãããããŸãšãããšä»¥äžã®ããã«ãªããŸãã gtid-mode ãã¹ã¿ãŒãšããŠã®æžãåºãïŒåºåïŒ ã¬ããªã«ãšããŠã®åãå
¥ãïŒå
¥åïŒ OFF GTID ãªã ãã€ããªãã°ã®äœçœ®ããŒã¹æ¹åŒ OFF_PERMISSIVE GTID ãªã äž¡æ¹OKïŒãã€ããªãã°ã®äœçœ®ããŒã¹æ¹åŒ / GTIDæ¹åŒïŒ ON_PERMISSIVE GTID ä»ãã§æžãåºã äž¡æ¹OKïŒãã€ããªãã°ã®äœçœ®ããŒã¹æ¹åŒ / GTIDæ¹åŒïŒ ON GTID ä»ãã§æžãåºã GTIDæ¹åŒ 泚ç®ãã¹ãç¹ã¯ã OFF_PERMISSIVE ãš ON_PERMISSIVE ãç§»è¡çšã®äžéç¶æ
ãšããŠèšå®ã§ããããšã§ãããã®å Žåãã¬ããªã«åŽã¯ GTIDæ¹åŒ ãš ãã€ããªãã°ã®äœçœ®ããŒã¹æ¹åŒ ã®ã©ã¡ãã§ãæ¥ç¶ã§ããŸãã Aurora MySQLã§ã¯ãDBã¯ã©ã¹ã¿ãŒãã©ã¡ãŒã¿ã°ã«ãŒã ã® gtid-mode ã§ èšå®ã§ããŸãã ãã ãããã㯠Static ãã©ã¡ãŒã¿ ã§ãããæ¢åã®ã¯ã©ã¹ã¿ãŒã«é©çšããå Žåãã¯ã©ã¹ã¿ãŒå
šäœïŒãã¹ãŠã®DBã€ã³ã¹ã¿ã³ã¹ïŒã® åèµ·åãå¿
é ã§ãã ⢠GTIDããŒã¹ã®æŽåæ§ã«é¢ããèšå® ããäžã€GTID ã«é¢é£ããèšå®å€ãšã㊠enforce_gtid_consistency ãšããèšå®ããããŸãã GTIDã¢ãŒãã§å®å
šã«ã¬ããªã±ãŒã·ã§ã³ã§ããªããããªSQLã®å®è¡ãããšã©ãŒã«ããã蚱容ããããèšå®ã§ãããã©ã¡ãŒã¿ã«ãªããŸãã èšå®å€ã¯ä»¥äžã®3çš®é¡ããéžã¶ããšãã§ããŸãã enforce_gtid_consistency GTID é察å¿ã¯ãšãªå®è¡æã®æå OFF å¶éãªã WARN å®è¡ã¯èš±å¯ãèŠåãã°ãåºå ON ãšã©ãŒã«ããŠæåŠ ON ã§èšå®ãããšä»¥äžã®ãããªã¯ãšãªãå®è¡æã«ãšã©ãŒã«ãªããŸãã(詳现: MySQL :: MySQL 8.0 ãªãã¡ã¬ã³ã¹ããã¥ã¢ã« :: 17.1.3.7 GTID ããŒã¹ã¬ããªã±ãŒã·ã§ã³ã®å¶çŽ ) CREATE TABLE ... SELECT æ§æãå«ãŸããã¯ãšãª ãã©ã³ã¶ã¯ã·ã§ã³å
ã§ CREATE TEMPORARY TABLE ãŸã㯠DROP TEMPORARY TABLE æ§æãå«ãŸããã¯ãšãª ãã©ã³ã¶ã¯ã·ã§ã³å
ã§æ®éã®ããŒãã«ïŒInnoDBãªã©ïŒãšäžæããŒãã«ïŒTemporary TableïŒã®åææŽæ°ãè¡ãããã¯ãšãª Aurora MySQLã§ã¯ãDBã¯ã©ã¹ã¿ãŒãã©ã¡ãŒã¿ã°ã«ãŒã ã® enforce_gtid_consistency ã§èšå®ã§ããŸãã ãã ããããåæ§ã« Static ãã©ã¡ãŒã¿ ã§ãããæ¢åã®ã¯ã©ã¹ã¿ãŒã«é©çšããå Žåãã¯ã©ã¹ã¿ãŒå
šäœïŒãã¹ãŠã®DBã€ã³ã¹ã¿ã³ã¹ïŒã® åèµ·åãå¿
é ã§ãã è§£ãã¹ã 2 ã€ã®èª²é¡ GTID ã¢ãŒããæå¹åããã«ããããæ¬¡ã® 2 ã€ã®èª²é¡ã«çŽé¢ããŸããã äžã€ãã€æ·±æãããŠãããŸãã 課é¡A ïŒã©ã®ããã«GTID ã¢ãŒããæå¹åããã 課é¡B ïŒã©ã®ããã« Datastream ãå®å
šã«åãæ¿ããã 課é¡AïŒ ã©ã®ããã«GTID ã¢ãŒããæå¹åããã åèµ·åãåé¿ åè¿°ã®ãšããæ¢åã¯ã©ã¹ã¿ãŒã«å¯Ÿãã gtid-mode ã®å€æŽã«ã¯ã¯ã©ã¹ã¿ãŒå
šäœã®åèµ·åãå¿
èŠã§ãã ä»åãGTID ã¢ãŒãã®æå¹åã¯ãBlue/Green Deployments ãå©çšããŸããã å
ã
ãããŒã¿ããŒã¹ã®ã¢ããã°ã¬ãŒãã¯Blue/Green Deployments ã§è¡ãæ³å®ã§ãããããã§ãäœæãããç§»è¡å
ç°å¢ïŒGreenç°å¢ïŒã«å¥éãã©ã¡ãŒã¿ã°ã«ãŒããçšæããGreenç°å¢ã ãã§GTIDã¢ãŒããæå¹åããŸãã ããã«ããçŸè¡ç°å¢ïŒBlueç°å¢ïŒã®ããŒã¿ããŒã¹åèµ·åãè¡ããã«ã¹ã€ãããªãŒããŒã§åãæ¿ããããšãã§ããŸãã Blue/Green ã§ Green åŽã®ãã©ã¡ãŒã¿ã倿Žãã ä»å Greenç°å¢ã§å€æŽããã®ã¯ä»¥äžã® 2 ã€ã®ãã©ã¡ãŒã¿ã§ãã é
ç® BlueïŒçŸè¡ïŒ GreenïŒç§»è¡å
ïŒ gtid-mode OFF_PERMISSIVE ON_PERMISSIVE enforce_gtid_consistency OFF WARN ãããããªããã®å€ã«ããã®ããèŠãŠãããŸãã gtid-mode ã®èšå®ã®ãã¡ãGTID ãæå¹åããå€ã¯ ON ãš ON_PERMISSIVE ã® 2 ã€ã®ã©ã¡ããã«ãªããŸãã ä»å Greenç°å¢ã®èšå®å€ãšã㊠ON_PERMISSIVE ãéžãã ã®ã¯ãGTIDã¢ãŒãã ç¡å¹ã«ãªã£ãŠãã Blueç°å¢ããã®å¿åãã©ã³ã¶ã¯ã·ã§ã³ã Greenç°å¢ã§å®è¡ã§ããããã«èš±å®¹ããããã§ãã Greenç°å¢ã ON ã«ããŠããŸããšãå¿åãã©ã³ã¶ã¯ã·ã§ã³ãå®è¡ã§ããŸããããã®ãããBlue/Green Deployments ã«ãã Blueç°å¢ ãã Greenç°å¢ãžã®ã¬ããªã±ãŒã·ã§ã³ãèšå®ããŠããšã©ãŒã«ãªããŸãã ãŸããGTIDããŒã¹ã®æŽåæ§ã«é¢ããèšå®ã§ãã enforce_gtid_consistency ã¯ãå®è¡ãèš±å¯ãã€ã€èŠåãã°ã«èšé²ãã WARN ãéžæããŸããã ON ã«ãããšé察å¿ã¯ãšãªããšã©ãŒã«ãªããæ¢åã¯ãšãªã«ã圱é¿ãããªã¹ã¯ããããŸããäžæ¹ WARN ã¯ã¯ãšãªã®æåŠãå€ããŸããããã®ãããåãæ¿ãæã«ã¯ãšãªäºææ§ã®åæ€èšŒã¯äžèŠã§ãé©çšåŸã¯èŠåãã°ãåºã«ç¢ºèªã§ããŸãã 課é¡BïŒ ã©ã®ããã« Datastream ãå®å
šã«åãæ¿ããã åãæ¿ãæã®èª²é¡ åœåã¯ãã·ã³ãã«ã«æ¬¡ã®æé ãæ³å®ããŠããŸããã Datastream ãäžåºŠåæ¢ããã¢ããã°ã¬ãŒãïŒã¹ã€ãããªãŒããŒïŒæã« RDS ã®ã€ãã³ããžåºåãããGreenç°å¢ã®ãã¡ã€ã«ããžã·ã§ã³ãæå®ããŠåéããã ãšããããã¹ããŒãžã³ã°ç°å¢ã§æ€èšŒãããšããã ãã®æé ã§ã¯ Datastream ãåéã§ãããšã©ãŒãçºçããŠåæ¢ããŠããŸã ããšãããããŸããã æ ¹æ¬åå ã¯ãã¹ã€ãããªãŒããŒã§ã¯ã©ã¹ã¿ãŒãšã³ããã€ã³ãã®åç
§å
ãBlueããGreenã«åãæ¿ããããšã§ãããã®çµæãBlueç°å¢ãšGreenç°å¢ã§ã¯ãã€ããªãã°ã®ãã¡ã€ã«ãšããžã·ã§ã³ã«äºææ§ããªããããDatastreamãåéã§ããŸããã Managing AWS DMS Tasks with RDS or Aurora Blue/Green Deployments ã®ãHow Blue Green switchover affects AWS DMS tasksãã»ã¯ã·ã§ã³ã«ããã€ããªãã°ã®ãã¡ã€ã«åãšããžã·ã§ã³ã¯ Blueã»Green éã§ç°ãªããšèšèŒãããŠããŸãããã㯠DMS ã®ããã¥ã¡ã³ãã§ããããã¡ã€ã«åãšããžã·ã§ã³ãå€ããã®ã¯ DB åŽã®æåã§ãããããDatastream ã§ãåæ§ã«åé¡ã«ãªããŸãã ãåæã Because the binary log file names and sequence positions differ between the two instances, DMS can no longer resume from the log position it previously recorded. This causes Full Load + CDC tasks and CDC only tasks to fail or enter an error state. ãæ¥æ¬èªèš³ã 2ã€ã®ã€ã³ã¹ã¿ã³ã¹éïŒæèãããBlueãšGreenãæããŠããïŒã§ãã€ããªãã°ã®ãã¡ã€ã«åãšã·ãŒã±ã³ã¹ããžã·ã§ã³ãç°ãªããããDMSã¯ä»¥åã«èšé²ãããã°ããžã·ã§ã³ããïŒãã£ããã£ãïŒåéã§ããªããªããŸããããã«ãããCDCã¿ã¹ã¯ã倱æããããšã©ãŒç¶æ
ã«ãªããŸãã ãã®èŸºãã¯å°ããããããã®ã§è£è¶³ããŸãã åæãšããŠããã€ããªãã°ã®ãã¡ã€ã«åïŒäŸïŒmysql-bin.000123ïŒãšããžã·ã§ã³ïŒãã€ããªãã»ããïŒã¯ãåã¯ã©ã¹ã¿ã®ã©ã€ã¿ãŒã€ã³ã¹ã¿ã³ã¹ãããããç¬ç«ããŠæ¡çªããŸãã ãã®ãã Blueç°å¢ ãš Greenç°å¢ ã®éã§ã¯ãããšãåãããã¡ã€ã«åïŒããžã·ã§ã³ãã§ãã£ãŠãããããæããŠãã倿Žå
容ïŒïŒè«ççã«ã©ããŸã§é²ãã ãïŒã¯å
šãå¥ç©ã§ãã å®éã«Blueç°å¢ãšGreenç°å¢ã®ãã€ããªãã°ã®ãã¡ã€ã«ããããã確èªãããšãåäžãã¡ã€ã«åã®ãã€ããªãã°ã¯ååšãããããã¡ã€ã«ãµã€ãºã¯äžèŽããŠããªãããšã確èªã§ããŸãã # Greenç°å¢ MySQL [(none)]> SHOW BINARY LOGS; + ----------------------------+-----------+-----------+ | Log_name | File_size | Encrypted | + ----------------------------+-----------+-----------+ | mysql-bin-changelog. 000085 | 42576033 | No | | mysql-bin-changelog. 000086 | 157 | No | | mysql-bin-changelog. 000087 | 157 | No | | mysql-bin-changelog. 000088 | 238579 | No | | mysql-bin-changelog. 000089 | 840588 | No | | mysql-bin-changelog. 000090 | 168156 | No | | mysql-bin-changelog. 000091 | 134237510 | No | | mysql-bin-changelog. 000092 | 134217852 | No | | mysql-bin-changelog. 000093 | 134221756 | No | | mysql-bin-changelog. 000094 | 112130632 | No | + ----------------------------+-----------+-----------+ # Blueç°å¢ MySQL [(none)]> SHOW BINARY LOGS; + ----------------------------+-----------+-----------+ | Log_name | File_size | Encrypted | + ----------------------------+-----------+-----------+ | mysql-bin-changelog. 000085 | 134602837 | No | | mysql-bin-changelog. 000086 | 134429601 | No | | mysql-bin-changelog. 000087 | 134218551 | No | | mysql-bin-changelog. 000088 | 134221393 | No | | mysql-bin-changelog. 000089 | 13935369 | No | + ----------------------------+-----------+-----------+ äžæ¹ã§ Datastream ã¯ã忢ããæç¹ã§ãBlueç°å¢ ã®ãã¡ã€ã«åãšããžã·ã§ã³ã§ ã©ããŸã§èªãã ãããèšæ¶ããŠããŸããåãæ¿ãåŸã¯ãšã³ããã€ã³ãã®åç
§å
ã Greenç°å¢ ã«å€ãããããDatastream ãæ¡ã£ãŠãã Blueç°å¢ ã®ãã¡ã€ã«åãšããžã·ã§ã³ã Greenç°å¢ ã®ãã€ããªãã°ã«å¯ŸããŠè§£éããŠããŸãããšã«ãªããŸããäž¡è
ã«å¯Ÿå¿é¢ä¿ããªã以äžãããã¯æ£ããåéã§ããŸããã ãããåä»ãªã®ã¯ãGreenç°å¢ã®ãã¡ã€ã«ãšããžã·ã§ã³ãæå®ããå Žåããºã¬ãå°ç¹ããåéããŠããŸããŸãããºã¬æ¹ã«ãã£ãŠãããŒã¿ã®äžæŽåãçºçãããã¿ãŒã³ã2ãã¿ãŒã³ã«åãããŸãã â éè€é©çšïŒGreen ç°å¢ã®åããã¡ã€ã«ããžã·ã§ã³ããå®éã«åææžã¿ã®å°ç¹ãããæåããæããŠããå Žåããã§ã«é©çšæžã¿ã®ããŒã¿ãããäžåºŠæµããŠããŸãã â¡ æ¬ èœïŒã¹ãããïŒïŒGreen ç°å¢ã®åããã¡ã€ã«ããžã·ã§ã³ãããŸã åæããŠããªãå°ç¹ãããå
ããæããŠããå Žåãæªåæã®ããŒã¿ãé£ã°ãããŠããŸãã åé¡ç¹ããŸãšãããšä»¥äžã®ããã«ãªããŸãã Blue/Green Deployments ã§äœããã Blueç°å¢ãš Greenç°å¢ã§ã¯ããã€ããªãã°ã®ãã¡ã€ã«ãšããžã·ã§ã³ã¯äžèŽããªã RDS ã®ã€ãã³ãã«ã¯ãåãæ¿ãæç¹ã® Greenç°å¢ ã®ãã€ããªãã°ã®ãã¡ã€ã«ãšããžã·ã§ã³ãåºåããããåãæ¿ãæç¹ã® Greenç°å¢ ã®ããžã·ã§ã³ããã察å¿ãã Blueç°å¢ ã®ããžã·ã§ã³ãæ¢ãã®ã¯å°é£ Datastream ãåéããéã«ãGreenç°å¢ã®ããžã·ã§ã³ãæå®ãããšéè€é©çšãŸãã¯æªé©çšã®ããŒã¿ãã¹ããããããŠããŒã¿ã®äžæŽåãçºçããŠããŸãã ã€ãŸãããBlue/Green Deployments ã«ããåãæ¿ãåŸã«æå®ãã¹ããã¡ã€ã«ãšããžã·ã§ã³ãããããªããªã£ãŠããŸãããšããåé¡ã§ããã 解決ããåãæ¿ãæé ããã§ãèãæ¹ãå€ã㊠ãDatastream ãåç
§ããã¯ã©ã¹ã¿ãŒãåºå®åãããæ¹éã«ããŸããã Blue/Green Deployments ã䜿çšãã Datastream ã®åãæ¿ãæé å Datastream ã åãã¯ã©ã¹ã¿ãŒã®ãã€ããªãã°ãåç
§ãç¶ãããã ãããæ¥ç¶å
ããã¯ã©ã¹ã¿ãŒãšã³ããã€ã³ãããããã©ã€ã¿ãŒãšã³ããã€ã³ãïŒç¹å®ã€ã³ã¹ã¿ã³ã¹åºå®ïŒãã«åãæ¿ããæ¹éã«ããŸãããæé ã¯ãåãæ¿ãåããåãæ¿ãæããåãæ¿ãåŸãã®3段éã§ãã Blue/Green Deployments ã«ãã Greenç°å¢ãžã®åãæ¿ãå Greenç°å¢çµç±ã® Datastream ã®å¥ç³»çµ±ããããããäœæããŠãããGreenç°å¢ã§ã¯ GTIDæ¹åŒã§æ¥ç¶ããŠãã æ¢åã® Blue / Green ããããã«æ¥ç¶ãããŠãã Datastream ã äžæåæ¢ ããŠããã Blue/Green Deployments ã«ãã Greenç°å¢ãžã®åãæ¿ãåŸ Datastream ã®ã¹ããªãŒã ã®æ¥ç¶ãããã¡ã€ã«ã®æ¥ç¶å
ãã¹ãã倿ŽããŠåéããã Blue 系統ïŒã¯ã©ã¹ã¿ãŒãšã³ããã€ã³ã â BlueïŒåãæ¿ãåã¯ã©ã¹ã¿ãŒïŒã®ã©ã€ã¿ãŒãšã³ããã€ã³ã ã«å€æŽ Green 系統ïŒGreen ã®ã©ã€ã¿ãŒãšã³ããã€ã³ã â ã¯ã©ã¹ã¿ãŒãšã³ããã€ã³ã ã«å€æŽ äºåŸäœæ¥ Datastream ã®åºåå
ããŒãã«ãåç
§ããŠããã¢ããªã±ãŒã·ã§ã³ã®åç
§å
ã Blueç°å¢ãã Greenç°å¢ãžåãæ¿ãã ãã®æé ã«ãããã¹ã€ãããªãŒããŒåŸã åDatastream ã¯åäžã¯ã©ã¹ã¿ãŒãåç
§ãç¶ããããŸãããã®çµæããã¡ã€ã«ãšããžã·ã§ã³ã®äžäžèŽãåé¿ã§ããå®å
šã«åãæ¿ããããŸãã Blue/Green Deployments ã§åãæ¿ããåŸãBlueç°å¢ã¯ã¯ã©ã¹ã¿ãŒããåãé¢ãããããã倿Žå
容ã¯Blueç°å¢ã«ã¯åæ ãããŸããããã ããåãæ¿ãåŸã®Greenç°å¢ãåç
§å
ãšããŠBlue åŽããã¬ããªã±ãŒã·ã§ã³æ¥ç¶ã匵ãã°ãGreenç°å¢ã®å€æŽå
容ãBlueç°å¢ãžåæã§ããŸãã ããŒã«ããã¯çšã¯ã©ã¹ã¿ãŒã®ã¬ããªã±ãŒã·ã§ã³æ¹æ³ã¯ã以åã®èšäºã§ãã Aurora MySQLã®ã¢ããã°ã¬ãŒãåŸããŒã«ããã¯æ¹æ³ãæ€èšããŠã¿ã ã AWSã®å
¬åŒããã° ã«æžãããŠãããããããã§ã¯èª¬æã岿ããŸãã ãããã®æé ã«ãããå®å
šã«GTIDæ¹åŒã®ã¬ããªã±ãŒã·ã§ã³æ¥ç¶ã«åãæ¿ããè¡ãããšãã§ããŸãã ãŸãšã ä»åã¯ãAurora MySQL ã® GTID ã¢ãŒãæå¹åæ¹æ³ãšãDatastreamãå®å
šã«åãæ¿ããããã®æ¹æ³ã玹ä»ããŸããã ä»åã®ç§»è¡ãå®äºããŠããŽãŒã«ã§ã¯ãªãããã®å
ã«ã¯ gtid-mode = ON ãžã®åŒãäžãïŒå¿åãã©ã³ã¶ã¯ã·ã§ã³ã®å®å
šãªæ¶åã enforce_gtid_consistency = ON åïŒãç¶ããŸãã ãŸã埳å¯ãã( @yannKazu1 ) ããã 䞊è¡ããŠDatastream é¢é£ã®ãããã¯ãŒã¯åšãã®ãªã¢ãŒããã¯ãã£ãè¡ãªã£ãŠãããŸãã 詳现ã¯ä»¥äžã®è³æãã芧ãã ããã tcpdump ã§è¿œã Datastream é害調æ»ãš Transit Gateway à VPN ã®ãªã¢ãŒããã¯ãã£èšèš ãããä»åã®èªåãšåãããã« Aurora MySQL ã® GTID åãæ€èšããŠããæ¹ã«ãšã£ãŠããã®èšäºãäœããã®åèã«ãªãã°å¹žãã§ãã åèãªã³ã¯ MySQL :: MySQL 8.0 ãªãã¡ã¬ã³ã¹ããã¥ã¢ã« :: 17.1.6.5 ã°ããŒãã«ãã©ã³ã¶ã¯ã·ã§ã³ ID ã·ã¹ãã 倿° MySQL :: MySQL 8.0 ãªãã¡ã¬ã³ã¹ããã¥ã¢ã« :: 19.1.4 ãªã³ã©ã€ã³ãµãŒããŒã§ã® GTID ã¢ãŒãã®å€æŽ MySQL ããŒã¿ããŒã¹ããããŒã¿ãã¹ããªãŒãã³ã°ãã | Datastream | Google Cloud Documentation


















