ããã«ã¡ã¯ãæå±±ã§ãïŒæè¿ãã€ãã³ããç»å£ãªã©ã®åå èšäºãå€ãã§ããïŒãããããšã³ãžãã¢ãªã³ã°ã®èšäºãïœ¥ïœ¥ïœ¥ãšæã£ãã®ã§ãããä»åãåå èšäºã§ããããããªããïŒ ãšãã£ãŠãããã€ãã®åå èšäºãšã¯è¶£åãå€ããŠãä»å㯠æ±äº¬ã¬ã¹ ã®ãã¡ã¿ããŒã·ã§ã³æœèšããèŠåŠããéã®ããšãæžããŠã¿ãããšæããŸãïŒãã ãèŠåŠå
容ã«ã€ããŠã¯å
¬éã§ããªããããããªãèŠåŠäŒã«åå ããŠèšäºãæžãããšæã£ãã®ãããšããç¹ã«ã€ããŠãåŸåã§ãäŒãã§ããããšïœ¥ïœ¥ïœ¥ïŒ ãã®èšäºãã芧ããã ããæ¹ã«ãã æ±äº¬ã¬ã¹ ã®å
補éçºããŒã ã«ãããšã³ãžãã¢ã£ãŠãããããããšãèããŠãããã¯ãéçºããŠãããã ãªãããšããããšãå°ãã§ãäŒãããŸããã幞ãã§ãïŒ â»äœè«ã§ãããæœèšèŠåŠã¯äººæ°ãããã瀟å
ã§ãäžã
è¡ããªããšããããªäžã人äºã®æ¹ãçµéšè
æ¡çšã®æ¹ã察象ãšããèŠåŠäŒãéå¬ããŠãããããšã«ã¯æè¬ãããããŸããïŒããããšãããããŸãïŒ ã¡ã¿ããŒã·ã§ã³ã£ãŠïŒ ãªãèŠåŠäŒãžåå ããã®ããäºæ¥äŒç€Ÿã«æå±ãããœãããŠã§ã¢ãšã³ãžãã¢ãšããŠå€§åã«ããŠããããšã ãããã« ã¡ã¿ããŒã·ã§ã³ã£ãŠïŒ ãããããã¡ã¿ããŒã·ã§ã³ã£ãŠãªã«ïŒããšããæ¹ãå€ãããšæããŸãã®ã§ã以äžã®åœç€ŸèšäºããåŒçšããããŸãã www.tokyo-gas.co.jp ãã¡ã¿ããŒã·ã§ã³ãã¯ãæ°ŽçŽ ïŒH2ïŒãš äºé
žåççŽ ïŒCO2ïŒãåæã«ãéœåžã¬ã¹ã®äž»æåã§ããã¡ã¿ã³ïŒCH4ïŒãåæããæè¡ã§ãã ã¡ã¿ããŒã·ã§ã³ã«ãã£ãŠäœãããåæã¡ã¿ã³ããe-methaneïŒe-ã¡ã¿ã³ïŒããšåŒã³ããã®å©çš(ççŒ)ã«ãã£ãŠæåºãããCO2ãšãã¡ã¿ããŒã·ã§ã³ã®ããã«ååãããCO2ãçžæ®ºãããããã倧æ°äžã®CO2ã¯å¢å ããŸããã æ±äº¬ã¬ã¹ ã§ã¯ãè€æ°ã®é©æ°çã¡ã¿ããŒã·ã§ã³æè¡ã®éçºãäºå®ããŠããŸãã æšå¹Žãåœé£ã® ã¢ã³ãããªã»ã°ããŒã¬ã¹ äºåç·é·ããå°ç沞隰åããšãã衚çŸãçšããããšããåç¥ã®æ¹ãããã£ãããããšæããŸãããå°ç沞隰åãã¯2023幎㮠æ°èªã»æµè¡èªå€§è³ ã«ãããããŒãããããªã©ãç§èªèº«ãã å°çæž©æå ããšããèšè以äžã®å±æ©æãèŠããŸããã åœç€Ÿã¯ããããã£ã瀟äŒèª²é¡ã«å¯ŸããŠãæ§ã
ãªç ç©¶éçºãè¡ã£ãŠããŸããç§ãã¡å
補éçºããŒã ãã客ããŸã«å¯ŸããŠäŸ¡å€ãå±ããããšããæ³ããæ±ããŠãœãããŠã§ã¢ã®éçºãããã®ãšåãããåœç€Ÿã«ã¯ãå°çãã«å¯ŸããŠåŒ·ãæå¿ããã£ãŠæ¥ã
ç ç©¶éçºãããŠããæ¹ãå±
ããšããããšãç®ã®åœããã«ããéåžžã«åºæ¿ãåããŸããã ä»ã«ããåœç€Ÿã¯ãè±ççŽ ç€ŸäŒãžã®ææŠããšé¡ããŠæ§ã
ãªæŽ»åãããŠããŸãããããèå³ããæ¹ã¯ã以äžã®ãµã€ãããã²ã芧ãã ããïŒ www.tokyo-gas.co.jp ãªãèŠåŠäŒãžåå ããã®ããäºæ¥äŒç€Ÿã«æå±ãããœãããŠã§ã¢ãšã³ãžãã¢ãšããŠå€§åã«ããŠããããšã "Software Is Eating the World" 2011幎ã®ã³ã©ã ã§è¡šçŸããããã®èšèãããåç¥ã®æ¹ãå€ãããšæããŸããå€ãã®ç£æ¥ããœãããŠã§ã¢äŒæ¥ã«ãã£ãŠçœ®ãæããã€ã€ããããšãææãããã®ã§ãããäºå®ãåæ°å¹Žãéãã çŸä»£ç€Ÿ äŒã«ãããŠãå€ãã®ç£æ¥ããœãããŠã§ã¢ã«ãã£ãŠçœ®ãæããããŠããŸããããã¯åœç€Ÿã®ãããªãšãã«ã®ãŒæ¥çãåæ§ã§ãæ¥æ¬åœå
ã«ãããé»åã»ã¬ã¹ã®å°å£²ãå
šé¢èªç±åã«ãããåœç€Ÿã¯ã客ããŸãããéžã°ããååšããšãªããŸããããã®ãããåœç€Ÿãããžã¿ã«æ¥ç¹ã®åŒ·ãäŒæ¥ã«ãã£ã¹ã©ãããããã®ã§ã¯ãªããããšãã匷ã屿©æãæ±ããããžã¿ã«æ¥ç¹ã®åŒ·åã«æãã§ããŸãã ç§ãã¡å
補éçºããŒã ãããããŒãžã£ãŒã§ããåå·ã®åŒ·ã屿©æããçºè¶³ããããŒã ã§ãããããŒã ã«æå±ãããšã³ãžãã¢ãã¡ã¯ããœãããŠã§ã¢ãšã³ãžãã¢ãšããŠæè¡ã远æ±ãç¶ããããšã¯ãã¡ãããã客ããŸãžæäŸãã䟡å€åäžãšãäºæ¥ãžã®è²¢ç®ã第äžã«èããŠãããããããæ³ãã«å
±æãã仲éãéãŸã£ãŠãããŠããŸãã ããããäºæ¥ãžã®è²¢ç®ãèããããã«ã¯ãèªç€Ÿã®äºæ¥çè§£ãæ¬ ãããŸãããåœããŒã ã¯JTCã§ã¯çããããäºæ¥çµç¹å
ã«çµæãããããŒã ãã§ãããããžãã¹éšéãšãã¶ã€ããŒã»ãšã³ãžãã¢ãäžäœãšãªã£ãŠãããã¯ãã®äŸ¡å€åäžãç®æããŠããŸããããã®ãšããšã³ãžãã¢ãã¡ãæè¡çãªè©±é¡ããèå³ããªãã®ã§ã¯ãè¯ããããã¯ãã¯äœããªããšèããŠããŸãããŸããããžãã¹éšéã®æ¹ã
ãããœãããŠã§ã¢ã®éèŠæ§ãçè§£ããããšèªäž»çã« éçºããã»ã¹ ãªã©ãåŠãã§ãããããšã³ãžãã¢ããœãããŠã§ã¢ãžã®çè§£ãæ·±ããããšããŠãããŠããŸããã§ããã°ãç§ãã¡ãšã³ãžãã¢ãããšã³ãžãã¢ãšããå°éæ§ãæã¡ãªããããã æ±äº¬ã¬ã¹ ãã®ç€Ÿå¡ãšããŠãäºæ¥ ãã¡ã€ã³ ã®çè§£ã¯æ¬ ãããŸããããããããçžäºçè§£ã ã·ããžãŒ ãçã¿åºãããã®ãšä¿¡ããŠããŸãã ã§ãã®ã§ããããã貎éãªæ©äŒã«ã¯ãšã³ãžãã¢ããŒã ã¿ããªãç©æ¥µçã«åå ããŠããŸãããã æ±äº¬ã¬ã¹ ã®ç€Ÿå¡ããšããŠèžã匵ã£ãŠèªç€Ÿã®äºæ¥ãèªãããšãã§ããããããããããããŒã äžäžžãšãªã£ãŠäºæ¥çè§£ãæ·±ããŠãããããšãæ¹ããŠåŒ·ãæããŠããæ¬¡ç¬¬ã§ãã ãããã« åé ã§ãè§ŠããŸãããšãããä»åã¯å°ãè¶£åãå€ããå
容ãšãªã£ãŠãããŸãããåŠäœã§ããã§ããããïŒåœç€Ÿã¯ä»ã«ã LNG ïŒ æ¶²å倩ç¶ã¬ã¹ ïŒåºå°èŠåŠãªã©ãããããã§ãã®ã§ããããããç©æ¥µçã«åå ããŠãããããšæããŸãïŒ ããã§ã¯ãæåŸãŸã§ãèªã¿ããã ããããããšãããããŸããïŒ åœããŒã ã¯ç©æ¥µçãªæ¡çšãè¡ã£ãŠããŸãïŒããããããç°å¢ãããŒã ã«é
åãæããæ¹ãããã£ããããŸãããããã²ãæ°è»œã«ã話ãããŸãããïŒ ã¢ããªã±ãŒã·ã§ã³ãšã³ãžãã¢ã¯ãã¡ãããïŒ www.wantedly.com SRE ã¯ãã¡ãããïŒ www.wantedly.com
ã¯ãããŸããŠïŒmyTOKYOGASããã³ããšã³ããšã³ãžãã¢ã®å®åãšç³ããŸãã 2024幎ã®4æ1æ¥ã«ãžã§ã€ã³ããŠããããã°ã«ç»å Žããã®ã¯åã«ãªããŸãïŒ å
¥ç€ŸããçŽ3ã¶æãçµã¡ãŸãããç§ã¯ä»¥å㯠ãã³ãã£ãŒäŒæ¥ ã«ãŠå°äººæ°ã®ããŒã ã®äžã§éçºãè¡ãªã£ãŠããã®ã§ãããåŒç€Ÿã«å
¥ç€ŸããŠãããããã¯ãèŠæš¡ã®å€§ãããšåãå·»ãäººã®æ°ããããŠãããã¯ãã®äžãã ã€ã³ã㯠ãã®å€§ããã«æåããªããïŒããŸã«å§åãããªããïŒæ¥ã
ãããã¯ããããè¯ãã§ããããã«éçºãè¡ãªã£ãŠãããŸãïŒ æè¡ã¹ã¿ãã¯ããããŸã§ã«çµéšããŠããªãã£ãã¢ãã³ãªãã®ãå€ããæ¥ã
åããŠè§Šããããªæè¡ãã¯ã¯ã¯ã¯ããªãããã£ããã¢ããããŠç²Ÿé²ããŠããŸãã ãããªãŸã ãŸã ã¹ãã«ç²åŸäžã®ç§ã«ã¯éåžžã«ãããããããšã«ããã®åºŠåŒç€ŸããŒã ã§ãO'Reilly Online LearningãïŒéç§°ïŒ ãªã©ã€ãªãŒ ãµãã¹ã¯ïŒãå§ãŸããŸããïŒ ä»å㯠ãªã©ã€ãªãŒ ãµãã¹ã¯ã䜿çšããŠã¿ãŠã®ææ³ãã話ãã§ããããšæããŸãã ãªã©ã€ãªãŒ ãµãã¹ã¯ãšã¯ïŒ www.oreilly.co.jp ãªã©ã€ãªãŒ 瀟ã®60,000以äžããã³ã³ãã³ããå©çšããããšãã§ããŸãïŒ ã³ã³ãã³ãã¯æžç±ãè¬çŸ©åç»ããªãŒãã£ãªããã¯ããã¬ã€ãªã¹ããªã©ã«åãããŠããã®ã§ããã æ¯éãšããŠã¯æžç±ãäžçªå€ãçŽ47,000åã®æžç±ãèªãããšãã§ããŸãã ãŸããæ¥æ¬èªã®ãã®ã ãã§ã288ã³ã³ãã³ããããŸãïŒãã®å
æžç±ã¯277ãšãªã£ãŠããŸãã 277åãã®æ¬ãèªã¿æŸé¡ãšã¯çŽ æŽããããµãŒãã¹ã§ããïŒ ãªã©ã€ãªãŒ ç€Ÿã®æåæžç±ãšããŠããç®ã«ãã ãªãŒããã«ã³ãŒã ã Web API: The Good Parts ãªã©ãå«ãŸããŠããã®ã¯ãããããã§ãïŒ ã¡ãªã¿ã«æ¥æ¬èªã®ã³ã³ãã³ãã§ãªããšããé²èЧæã« Google翻蚳 çã®ç¿»èš³ããŒã«ã䜿çšããã°æ¥æ¬èªã«ç¿»èš³ã§ããŸãã ãŸããçŽ40ããŒã»ã³ãã®åç»ãã©ã€ãã€ãã³ãã§ã¯æ¥æ¬èªã®åå¹ãéžã¶ããšãã§ããŸãã ãŸãäŸ¿å©æ©èœãšããŠAnswersãšãããã®ãååšããŸãïŒ ãã©ãŒã ã«è³ªåãå
¥åããããšã§è§£æ±ºçãšãªãæžç±ã®æ¬æãæ€çŽ¢ã玹ä»ããŠãããŸãã æžç±åäœã§ã¯ãªã質åã®åçãšãªãæ¬æã®è©²åœç®æããã³ãã€ã³ãã§æããŠãããã®ã§å€§å€äŸ¿å©ã§éå®ããŠããŸãïŒ äœ¿çšããŠã¿ãŠã®ææ³ å人çã«ã¯Answersã®æ©èœã䟿å©ã ãšæããŸããïŒChatGPTã«èããããªæèŠã§è³ªåããŠæ¥åã«æŽ»ãããŠããŸãã 以äžã«æ¥åé¢é£ã§Answersãå®éã«äœ¿çšããéã®è³ªåãšãåçãšããŠç޹ä»ããé¢çœãã£ãæžç±ã玹ä»ããŸãã QïŒI want to know more about scrum ç§ã®æå±ããŠããããŒã ã§ã¯ ã¹ã¯ã©ã ãå®è·µããªãã ã¢ãžã£ã€ã« éçºãè¡ã£ãŠããŸããïŒåŒç€ŸããŒã ã® ã¹ã¯ã©ã ã«ã€ããŠã¯ ãã¡ã ã®èšäºããã§ãã¯ïŒïŒ ã¹ã¯ã©ã ãå®è·µããŠããããŒã ã«å
¥ãã®ã¯åããŠã§ã¯ãªãã£ãã®ã§ããããããããšã¡ã³ããŒãšäŒè©±ãéããäžã§ãŸã ãŸã èªèº«ã® ã¹ã¯ã©ã ã«å¯Ÿããç¥èã®ä¹ãããæããã®ã§ãäžèšã®ãããªè³ªåãããŠã¿ãŸããã AïŒ learning.oreilly.com ã¹ã¯ã©ã ã«é¢ããæ¬ã®äžã§ã¯ããªãæåãªæ¹ããšæããŸããç§èªèº«ãæ¥æ¬èªçã®æ¹ã¯ç®ã«ããããšããããŸããã ãªã©ã€ãªãŒ ãµãã¹ã¯ã«ã¯çŸç¶è±èªçãããªãããã§ããã翻蚳ããŒã«ã䜿ãã°åé¡ãªãèªããŸããïŒ ã¹ã¯ã©ã ãšã¯äœãïŒãããŠã¡ã³ããŒã®åœ¹å²ãåã¹ããªã³ãã€ãã³ãã®ç®çãªã©äºçްãã«æžãããŠããã®ã§ ã¹ã¯ã©ã ã«é¢ããèŸæžã®ãããªåœ¢ã§èªãããšãã§ããŸããä»åŸã床ã
ç«ã¡è¿ã£ãŠèªãã§ã¿ãŠ ã¹ã¯ã©ã ããŒã ã®çç£æ§ãäžãããããããªæ¹å掻åã«ç¹ããŠãããããšæããŸããã learning.oreilly.com ãã¡ãã¯äžãšã¯è¥å¹²æ¯è²ãç°ãªããäžçã® ã¹ã¯ã©ã å°éå®¶ãèªãã®çµéšã«åºã¥ããŠæžããããšãã»ã€éã§ãã ã¹ã¯ã©ã ã®ç¥èãåŸãããã©å®éã©ãé²ããã°ããã®ãããããªãæã«éæšã«ãªã£ãŠãããããªå
容ã§ãããããŒãžæ°ããããŸã§å€ããªãã®ã§äžåºŠãã£ãšèªã¿ãŸãããã䌌ããããªã·ãã¥ãšãŒã·ã§ã³ã«é¥ã£ãæã«ã¯è§£æ±ºçãæç€ºããŠãããããªæ¬ã§ããã QïŒWhat is software architecture? ç§ããã®ããŒã ã«ãžã§ã€ã³ããŠäžçªã«æããã®ã£ããã¯ãã¯ããããã¯ãã®å€§ããã§ãããåè·ã® ãã³ãã£ãŒäŒæ¥ ã§ã¯ããŒã ãå°äººæ°ã§ãããããã³ããšã³ããããã¯ãšã³ããã€ã³ãã©ã«è³ããŸã§å
šãŠåãããŒã ãè«ãè² ã£ãŠããæ§æãã·ã³ãã«ã§ãããããã«å¯ŸããŠåŒç€Ÿã§ã¯ããŒã ãããããåå²ããŠããä»ã®ããŒã ã®é åã®æ§æãªã©ãã¯ã宿
ãèŠãã«ããéšåããããŸãããã®ããããã¯ãšã³ããã€ã³ãã©ã®æ§æãã©ããªã£ãŠããã®ãããã俯ç°çã«æããã¹ãã«ãå¿
èŠã«ãªã£ãŠãããšæããããããœãããŠã§ã¢ ã¢ãŒããã¯ã㣠ã«ã€ããŠè
°ãæ®ããŠå匷ããŠã¿ãããšæãäžèšã®ãããªè³ªåãããŠã¿ãŸããïŒ AïŒ learning.oreilly.com ãã¡ããããªãæåãªæžç±ã«ãªãããšæããŸãããœãããŠã§ã¢ ã¢ãŒããã¯ã㣠ã«ã€ããŠããªãåºç€ãã玹ä»ããŠãããŠããŸããããããã®ç« ã®å
容ãããªãäžå¯§ã«èšèŒãããŠããå°è±¡ãããã®ã§ãã£ããèªãã§ã¿ãããšæããŸããå人çã«ã¯å°ãæå€ã§ããããœããã¹ãã«çãªå
容ïŒäŸãã°éžå®ãã ã¢ãŒããã¯ã㣠ã ã¹ããŒã¯ãã«ã㌠ã«ããããããäŒããã«ã¯ã©ãããã°å¹æçãïŒãªã©ãå€ãè峿·±ãã£ãã§ãïŒ æåŸã« ãªã©ã€ãªãŒ ãµãã¹ã¯ã«ã€ããŠãã£ãšã玹ä»ããããŸããïŒãŸã ãŸã è¬çŸ©åç»ãªã©å©çšãåããŠããªãã³ã³ãã³ããååšããã®ã§ãä»åŸã䜿ãåããŠãããããšæããŸãïŒçŽ æŽããããµãŒãã¹ãå©çšã§ããããã«ããŠããã ããã®ã§ãã©ãã©ãã¹ãã«ã磚ããŠããããŒã ã«è²¢ç®ã§ããããé 匵ããŸãïŒ æåŸãŸã§ãèªã¿é ãããããšãããããŸããã ç§ãã¡ã®ããŒã ã§ã¯æ°ãã仲éãç©æ¥µåéäžã§ãïŒãèå³ã®ããæ¹ããã²äžç·ã«ãããã¯ãã倧ããããŠãããŸãããïŒ å
補éçºããŒã ãšããŠãããžãã¹ãµã€ããšãæ¥ã
ç©æ¥µçã«é£æºããªããéçºãã§ããããããã®ããç°å¢ã§ãïŒ è©³ããã¯ä»¥äžãã芧ãã ããã ã¢ããªã±ãŒã·ã§ã³ãšã³ãžãã¢ã¯ãã¡ãããïŒ www.wantedly.com SRE ã¯ãã¡ãããïŒ www.wantedly.com
ããã«ã¡ã¯ãäžå¶ã§ãïŒ å
æ¥ã®2024幎6æ28æ¥ã29æ¥ã«éå¬ããããã¡ã€ã³ãã£æ ªåŒäŒç€Ÿãäž»å¬ããéçºè
çç£æ§ã«ã³ãã¡ã¬ã³ã¹ 2024ã«åå ããŠããã®ã§ãæ¬èšäºã§ã¯åå ããã»ãã·ã§ã³ã®äžã§å°è±¡ã«æ®ã£ããšãããå
šäœãéããŠã®ææ³ãªã©ããäŒãã§ããã°ãšæããŸãïŒ äŒå Žã®æ§å åå ããã»ãã·ã§ã³ã®ææ³ 䟡å€åµé ãšéçºçç£æ§ éçºçµç¹ã®çç£æ§ãå éããã: ç¶ç¶çäŸ¡å€æäŸãå®çŸããæåãšä»çµã¿ ã¢ãŒããã¯ãã£ã¬ãã«ã§èããéçºçç£æ§ éçºçç£æ§ã®èгç¹ããèããèªåãã¹ã ãŸãšã ããŸã 巚倧ã¬ã㣠æèŠªäŒ äŒå Žã®æ§å ä»å¹Žã®ã€ãã³ãäŒå Žã¯ã èãéãã«ãº ã§ããã æšå¹Žãããåå è
ãå¢ããŠãããšã®ããšã§ããã ã€ãã³ãäŒå Ž ã¡ã€ã³ããŒã« ããããã®æ¹ãæ¥å ŽãããŠããŠ4éãš5éã®ããŒã¹ãè¡ã£ããæ¥ããããã®ãæã£ãŠããã倧å€ã§ããããç§»åè·é¢ã¯ãããŸã§é ããªãã£ãã®ã§ã¹ã ãŒãºã«åããŸããã ã¹ãã³ãµãŒäŒæ¥ã®ããŒã¹ãåšã£ãŠã¹ã¿ã³ãã©ãªãŒãç¡äºã«å®å
šå¶èŠããããšãã§ããŸããïŒç¬ ã¹ã¿ã³ãã©ãªãŒ ã§ã¯ãæ°ã«ãªã£ãã»ãã·ã§ã³ã«ã€ããŠé äžåã§ã玹ä»ãããŠé ããã°ãšæããŸãïŒ åå ããã»ãã·ã§ã³ã®ææ³ 䟡å€åµé ãšéçºçç£æ§ www.ryuzee.com ãæåã«å°è±¡ã«æ®ã£ãã®ã¯æ¬ã€ãã³ãã®ã¡ã€ã³ããŒãã§ãããéçºçç£æ§ãã®å®çŸ©ãåèãããã£ãããšãªã£ã䟡å€åµé ãšéçºçç£æ§ãšããã»ãã·ã§ã³ã§ããä»åéå¬ãããã€ãã³ãã§ã¯ãéçºçç£æ§ãã«é¢ããããŒãã«ã€ããŠãå
·äœçãªå®è£
ã¬ãã«ããæœè±¡åºŠã®é«ãäºæ¥ãçµç¹ã®ã¬ãã«ãªã©ç°ãªãæèã§è°è«ãå±éãããã»ãã·ã§ã³ãæ°å€ããããŸãããæ¬ã»ãã·ã§ã³ã§ã¯ãã®ãããªå€æ§ãªæèã§è°è«ããããéçºçç£æ§ããšããèšèã®å®çŸ©ãæ¹ããŠèãçŽãäžã§éåžžã«å€ãã®åŠã³ããããŸããããã®ã»ãã·ã§ã³ãèããåŸã¯ãä»ã®ã»ãã·ã§ã³ãèãéã«ã©ã®æèã§èªããããéçºçç£æ§ãã®è©±ãªã®ããæèããªããèãããšãã§ãããšæããŸãã ãéçºçç£æ§ã«ã¯ãççŸ©ãªæå³ã§ã®å¹çã瀺ããç©ççç£æ§ããšãåºçŸ©ãªæå³ã§ã®å¹æã瀺ããä»å 䟡å€çç£æ§ãããããŸãããããŠãããžãã¹ã®çŸå Žã ãã§ãªãåŠè¡çãªè«æã®äžçã§ãããããã®æå³åããæç¢ºã«äœ¿ãåããèšèãçµ±äžã§ããŠããããéçºè
ãšãããŒãžã£ãŒã®éã§ãèªèéœéœ¬ãèµ·ããŠãããšããã話ããããŠãŸããããéçºçç£æ§ãã«éããçµ±äžçãªå®çŸ©ããŸã å®ãŸã£ãŠãªã段éã§ãèšèã ããäžäººæ©ãããŠããŸãçŸå Žãæ··ä¹±ããããšïŒ ã¢ãžã£ã€ã« , ããã°ããŒã¿ , DXãªã©ïŒã¯ããœãããŠã§ã¢ã®äžçã§ã¯ããããããšããšæããŸãããã®ããèšèã®ææ§ããç¡ããããã«å®¢èгæ§ã®é«ã å®é çãªæ°å€ãçšããŠç®¡çããããšã奜ãŸããŸããããããèšèã§ããæ°åã§ããæå³ïŒæå³ïŒãå®å
šã«äŒéããããšã¯å°é£ãªã®ã§ãçµå±ã¯ã³ã³ããã¹ããæãéèŠãªã®ã ãšæ¹ããŠèªèããŸãããããã§ã¯ãéçºçç£æ§ãã®ç®çã«ç«ã¡è¿ããæçµçã«ã¯ã©ããªããžãã¹ã§ãã£ãŠãåç¶ããŠããäžã§ã顧客ã«ä»å 䟡å€ãæäŸããããšããæ¬è³ªçãªè«ç¹ã§ãããšèª¬æãããŠãŸããããã¯ãããŸãã¯ã¡ã³ããŒå
šå¡ããããã¯ãã®ããžã§ã³ããŽãŒã«ã«ã€ããŠå
±éèªèãåŸãããšãåªå
çã«åãçµãã¹ããªã®ã ãšæ¹ããŠå®æããŸããã广ãå
ã§ãå¹çã¯ãã®åŸãšããåªå
床ãæèããããä»åŸã泚æããããªãšæããŸãã éçºçµç¹ã®çç£æ§ãå éããã: ç¶ç¶çäŸ¡å€æäŸãå®çŸããæåãšä»çµã¿ ãæ¬ã»ãã·ã§ã³ã§ã¯ãéçºçç£æ§ãã䟡å€ããéçºïŒå¹æïŒããšãéçºã®å¹çæ§ãã« å æ°åè§£ ããŠãã䟡å€ããéçºïŒå¹æïŒãã«éç¹ã眮ããŠã©ã®ããã«å®çŸããŠããã®ãã玹ä»ãããŠãŸããããŸãåæãšããŠéçºããæ©èœãã©ã®ãããã®ä»å 䟡å€ãçã¿åºãããå®éã«éçºã»ãªãªãŒã¹ããåã®æ®µéã§ææ¡ããããšãå°é£ã§ããããšãåãå
¥ããå¿
èŠããããšæããŸãããããŠã仮説æ€èšŒåã® ã¢ãžã£ã€ã« ãå®è·µããããšã§ããé²ãå
ãè»éä¿®æ£ã§ããããšãããä¿®æ£ã§ããé »åºŠãå¢ããããšããªã©ã«çŠç¹ãåœãŠãŠå®éã®å
·äœçãªæ¹å掻åã®åãçµã¿ã«ã€ããŠã玹ä»ããŠé ããŸãããç¹ã«å°è±¡çã ã£ãã®ã¯ãéçºããŒã ã®ã¡ã³ããŒããŠãŒã¶ãŒã€ã³ã¿ãã¥ãŒããããŒãžã£ãŒãš2åäœå¶ã§äžç·ã«è¡ã£ãŠããããã¬ããã¹ãã¯ãã£ãã§ã¯ããŒã ã®ç±éãç¶æããããã«æ¯ãè¿ãã ãã§ãªãã"ãããªãã"ããå®è·µãããŠããããšãªã©ããããŸãããå
ãèŠããªããããžã§ã¯ããç®çãäžéæãªéçºæ¡ä»¶ã ãšã¡ã³ããŒã®ç±éãäžãã£ãŠããŸããã¡ã§ãã仮説æ€èšŒãéçºããŒã ã ãã§å®éã§ãããããªäœå¶ãç®æããŠåœäºè
æèãéžæããããããªåãçµã¿ãéèŠãªã®ã ãšå®æããŸããã ãéäžã§è³ªçå¿çã®æéãèšããŠå¯Ÿè©±ããªããã»ãã·ã§ã³ãé²ãã圢åŒã ã£ãã®ã§ã話ãèããããã£ãã§ãã ã¹ã¯ã©ã ãå®è·µãããŠããŠãããŒã ã®èŠæš¡ãäœå¶ã䌌ãŠããã®ã§ãéåžžã«åèã«ãªããŸããããŸããæ¬ã»ãã·ã§ã³ã®äžã§ã¯åžè°·è¡åãããæžããããæ£ãããã®ãæ£ããäœããããçµç¹ãè¯ãã ã¢ãžã£ã€ã« ã«ããããšããæžç±ããã®åŒçšãããã€ã玹ä»ãããŠããŸãããããŒã ã®æå±±ãããããããŠããã®ã§ãèªåãèªãã§ã¿ãŠãæ°ã«ãªããã®ãããŒã ã«åãå
¥ããŠãããããªãšæããŸããã ã¢ãŒããã¯ã㣠ã¬ãã«ã§èããéçºçç£æ§ speakerdeck.com ãæ¬ã»ãã·ã§ã³ã§ã¯ãéçºçç£æ§ã«ã€ããŠå©çïŒåçïŒãšè²»çšãšããæèãã玹ä»ãããŠãŸãããéçºçç£æ§ã¯ã³ã¹ãåæžã®ããã®ææ®µã§ã¯ãªããå©çïŒåçïŒã®æå€§åãç®çãšããªããã°æå³ããªããšæããŸããã ã³ã¢ãã£ãã£å ãããæ©èœããªãã·ã§ã³æ©èœãšãç«¶äºåªäœæ§ãçã¿åºãã³ã¢æ©èœãåºå¥ããã«éçºãªãœãŒã¹ãæããŠããŸããšãäŒæ¥ã®ç«¶äºåã倧ããäœäžããŠããŸããŸããæéãªéçºãªãœãŒã¹ãæé©ã«é
åããŠããïŒ éžæãšéäž ã®æææ±ºå®ãå®è¡ããïŒäžã§ããŸãåæãšããŠåçã®æå€§åãç®çãšããéçºçç£æ§ãè°è«ãã¹ãã ãšããéèŠæ§ã«ã€ããŠåŠã³ãŸããã ããããŠãç«¶äºåªäœæ§ãçã¿åºãã³ã¢æ©èœã«å¯ŸããŠæå€§éã®éçºãªãœãŒã¹ãå²ããŠããäžã§ ãã¡ã€ã³ é§åèšèšã®ããŠããŠã圹ã«ç«ã€ããšã玹ä»ãããŠããŸããããœãããŠã§ã¢ã®åè³ªç¹æ§ãšããŠæ©èœæ§ãšå€æŽå®¹ææ§ã®èгç¹ãåãäžããŠãããããã ãã¡ã€ã³ é§åèšèšã®æŠç¥çèšèšã«ãããŠã©ã®ããã«é¢é£ããŠãããã«ã€ããŠåŠã³ãŸããã ãã¡ã€ã³ é§åã§ãœãããŠã§ã¢ãèšèšããäžã§æãéèŠãªäœæ¥ã®1ã€ãšããŠã³ã¢ ãã¡ã€ã³ ãš ãµããã¡ã€ã³ ã®å¢çãæç¢ºã«ç·åŒãããããšãæãããããŸãããã®éã«ãããã¯ãã®ããžã§ã³ããŽãŒã«ãçè§£ã§ããŠãªãã£ããããµãŒãã¹åºæã® ãã¡ã€ã³ ç¥èããªããã°ãã©ã®ãããªæ©èœãåçã®æå€§åã«ãšã£ãŠéèŠãªã®ãïŒåªå
ãã¹ããªã®ãïŒã倿ããããšãã§ããŸãããæ©èœæ§ãé«ãç«¶äºåªäœãªã³ã¢ã® ãã¡ã€ã³ é åã«ç¹åããŠå€æŽå®¹ææ§ã®èšèšã³ã¹ããéäžãããããšã§ãéçºçç£æ§ã ã¢ãŒããã¯ã㣠ã¬ãã«ã§é«ããŠããå¿
èŠãããããšã宿ããŸããã éçºçç£æ§ã®èгç¹ããèããèªåãã¹ã speakerdeck.com ãæåŸã«åãäžãããã®ã¯ãéçºçç£æ§ã®èгç¹ããèããèªåãã¹ãã®ã»ãã·ã§ã³ã§ããèªåãã¹ãã®ç®çããä¿¡é Œæ§ã®é«ãå®è¡çµæã«çãæéã§å°éããç¶æ
ãä¿ã€ããšã§éçºè
ã«æ ¹æ ããèªä¿¡ãäžããœãããŠã§ã¢ã®æé·ãæç¶å¯èœã«ããããšçµè«ã¥ããäžã§ãä¿¡é Œæ§, å®è¡çµæ, çãæéã§å°éãã, ç¶æ
ãä¿ã€ãšãã4ã€ã®èгç¹ã玹ä»ãããŠããŸããã ãç¹ã«å°è±¡ã«æ®ã£ãŠããã®ã¯ã ãŠããããã¹ã ãšããæŠå¿µã«ã€ããŠéçºè
ã®éã§èªèéœéœ¬ããããããåŸæ¥ã® ãŠããããã¹ã , çµåãã¹ã , E2Eãã¹ãã§ã¯ãªãããã¹ããµã€ãºïŒã¹ã¢ãŒã«, ããã£ã¢ã , ã©ãŒãžïŒã«ãã£ãŠåé¡ããããšã§ãã¹ããã©ããããåæŽçãããšããã話ããããŸããããŸããã¢ãã¯,ã¹ã¿ã,ã¹ãã€,ãã§ã€ã¯ãªã©ã®ãã¹ãã§å©çšãããæ¬äŒŒçãªããŒã¿ãããã¹ãããã«ããšåŒã³ããããå©çšãããšãã¹ãã®ä¿¡é Œæ§ã«é¢ãã åœéœæ§ ïŒã³ãŒããæ£ããããã¹ãã倱æããïŒã åœé°æ§ ïŒã³ãŒããééãã ããã¹ããæåããïŒã®ãªã¹ã¯ãå¢å€§ãããããããã¹ããµã€ãºãäžããããšãç®çãšããªããšå€§ããªå¹æã¯æåŸ
ã§ããªãããšãªã©ããããŸãã ãä»ã«ãFlakyãªãã¹ãã¯ã©ãã«ãä»ããŠCIäžã§å®è¡ããéã¯ã¹ããããããŠããåŸã§æéãèšããŠéäžçã«ãªãã¡ã¯ã¿ãããããã¹ãå®è¡çµæããã³ãŒãã®å®è¡æãšã©ãŒãªã®ããã¹ãã® ã¢ãµãŒã·ã§ã³ ãšã©ãŒãªã®ããå€å¥ã§ããæ
å ±ãæäŸãããªããããªãã¹ãã¯æžããªãããªã©ã®ããŠããŠãæ°å€ã玹ä»ãããŠããŠããã«å°å
¥ã§ããããªãã®ã¯åãå
¥ããããšæããŸããã ãŸãšã ãæ¬ã€ãã³ããéããŠãéçºçç£æ§ãã«é¢ããŠå€ãã®åŠã³ãåŸãããšãã§ããŸããããããŸã§ã¯ã©ã¡ãããšãããšå®è£
çãã€å¹çæ§ã«åã£ãèªèãããŠããŸããããå©çïŒåçïŒãä»å 䟡å€ãªã©ã®ããžãã¹çãã€å¹ææ§ã®èгç¹ãæ¬è³ªçã«ã¯éèŠã§ããããšãæèããããšæããŸããããŸãã忥ã®J.B. Straubelæ°ã«ãã Keynote ã§ã¯éçºçµç¹ã®æåã®éèŠæ§ã«ã€ããŠåŒ·èª¿ãããŠããããšãå°è±¡ã«æ®ã£ãŠããŸããä»åŸã¯éçºçµç¹ã倧ãããªã£ãŠããäžã§ãããŒã ã®äŸ¡å€èгãæåãç¯ãäžããŠãããéèŠã ãšåå®ã«æããŸããã ããŸã æ¬ã€ãã³ãã®ã©ã³ãã¯ã1æ¥ç®ãããŒã°ã«ã§ã2æ¥ç®ããšããã€åŒåœã§ãããã©ã¡ããçšããããªã¥ãŒã ã§ããããã£ãã§ãïŒ 1æ¥ç®ã®ã©ã³ã 2æ¥ç®ã®ã©ã³ã 巚倧ã¬ã㣠巚倧ã¬ã㣠å¥è·¡çã«2çïŒæè¡æžïŒãš3çïŒ Amazonã®ããåž 5000ååïŒãé£ç¶ã§åœãŠãããšãã§ããŸããã æèŠªäŒ éçºçç£æ§Conference 2024 æçš¿ç·ãŸãšãã§ãã ã¹ãã³ãµãŒäŒæ¥ã®çæ§ããç»å£è
ã®çæ§ããåå é ããçæ§ãããããšãããããŸããã ãŸããæ¬¡åæ¥å¹Žã®éçºçç£æ§Conference 2025ã§ãäŒãããŸãããïŒ #éçºçç£æ§con_findy https://t.co/9HBhp5SJNx #Togetter @togetter_jp ãã — éçºçç£æ§Conference 2024 6/28-6/29éå¬ïŒãªã³ã©ã€ã³é
ä¿¡ããïŒ (@ dpe _findy) June 30, 2024 æèŠªäŒã«ãåå ããŠããŸããïŒéçºäœå¶ããšã³ãžãã¢æ¡çšãªã©ã«ã€ããŠã話ãã§ããŠè¯ãã£ãã§ãã æ¬èšäºã¯ä»¥äžãšãªããŸãã æåŸãŸã§èªãã§é ãããããšãããããŸããïŒ åœããŒã ã¯ç©æ¥µçãªæ¡çšãè¡ã£ãŠããŸãïŒãèå³ããæ¹ã¯ãã²ä»¥äžããå¿åãã ããïŒ ã¢ããªã±ãŒã·ã§ã³ãšã³ãžãã¢ã¯ãã¡ãããïŒ www.wantedly.com SRE ã¯ãã¡ãããïŒ www.wantedly.com
SREããŒã ã®ãããããïŒæ¬åïŒéæšïŒã§ãã ä»å㯠å¹åŒµã¡ãã» ã§2024幎6æ20, 21æ¥ã®äºæ¥éã«æž¡ã£ãŠéå¬ããã AWS Summit Japan ã®å
ãäºæ¥ç®ã®6æ21æ¥ïŒéïŒã®ã¿åå ããããšãåºæ¥ãã®ã§ãã®ã¬ããŒãã«ã€ããŠçºä¿¡ããŸãã äŒå ŽãŸã§ã®éã®ã AWS Summit ããŒã¹åã AWS Summit ã»ãã·ã§ã³èŽè¬ ãªãã±ïŒæµ·æµå¹åŒµã®ã©ã³ãäºæ
ãããã« äŒå ŽãŸã§ã®éã®ã èªå®
ãåºãåã«å€©æ°äºå ±ãèŠããåèçã®æé«æ°æž©ã¯20âååã§ããããå²ãšæ¶Œããã§éãããããããããããšæãäžåè¢ã·ã£ãããã§ã€ã¹ãèªå®
ããæå¯ãã®é§
ãŸã§æ©ãããšçŽ15åâŠäœæããªãæãã£ãã®ã§æ±ã ãã«ãªããŸããããããªããšãªã HashiCorp Ambassador ã®Tã·ã£ããçãŠå°ãã§ãèªå·±äž»åŒµåºæ¥ãããã«ããã°ããã£ãïŒãšããå°ããªç¡å¿µã®å¿æ
ãæ±ããªããé»è»ã«æºãã æµ·æµå¹åŒµé§
ãŸã§åãããŸããã åèåž ãæ°æž©ã ãèŠããšæ¶Œãæ°ã§ããããäžèšã¯åå10æå°ãåã® æµ·æµå¹åŒµé§
å°ççŽåŸã« iPhone ã§ç¢ºèªãã倩æ°ã§ãã âŠã¡ãªã¿ã«åž°ãã¯éšã«å ããŠå·ãã颚ãå¹ããŠããã®ã§æè£
ã®ãã§ã€ã¹ã¯çµæçã«ééã£ãŠããªãã£ãããªãšæããŸãããšèªåã«èšãèãããŸããã ãããŠåå10æååã«äŒå Žå°çã§ãã AWS Summit ããŒã¹åã ã»ãã·ã§ã³ãå€§çæ³ã§ã¯ãããŸãããä»åã¯éŠŽæã¿ããæ¹ã
ã«ãäŒãããããæºãã£ãããšã®ãªããããã¯ãã®ç¥èŠãåŸãããååäžãšã©ã³ãåŸããã»ãã·ã§ã³èŽè¬ã®æéãŸã§ã¯ããŒã¹ãäžå¿ã«åãããšã«ããŸããã ãŸãã¯PingCAPããã®ããŒã¹ïŒ åŒããŒã ã§ãTiDBã®å°å
¥ãããŠããâŠãŸã§ã¯è³ã£ãŠããªãã®ã§ããéå»ã«äœåºŠãTiDBã«ã€ããŠPingCapããããã話ãèãæ©äŒããããŸããŠãSREããŒã ã ãã§ãªãéçºããŒã ã®ã¡ã³ããŒå«ããŠç±ãæè¡çèšè«ã亀ãããŸããã ããŒã¹ã§ã¯PingCapã®çãããè²ã
ãªåå è
ã®æ¹ã
ãšã話ããŠãããããã£ããã話ããããšãåºæ¥ãªãã£ãã®ã§å¹£ããŒã ïŒSREããŒã ïŒéçºããŒã ïŒãéå»ã«èšè«ããŠè¯ããšæã£ãç¹ãããã€ãŸãã§ã玹ä»ããŸãã ãã¯ãSREããŒã çã«ã¯èšç»ã¡ã³ããã³ã¹ãªãã§TiDBã®ã¢ããã°ã¬ãŒããåºæ¥ãã®ã¯ãšãŠãé
åçã§ãããå®éãéå»ã«TiUGïŒTiDB User GroupïŒã«åå ããŠæ¢ã«TiDBãå©çšããŠããæ¹ã«ã話ããèããããŸããããã®ç¹ã¯åŒ·ã宿ãããŠããŸããã ã³ã¹ããéèŠããªããã°ãéçºããŒã ãã·ã£ãŒãã£ã³ã°ãªã©DBã®ã¹ã±ãŒã«ã«é¢ããå€ãã®ããšãæèããªããŠè¯ããšã®ããšã§ãããéçºããŒã ãšããŠã¯ ããžãã¹ããžã㯠ã®èšèšãå®è£
ã«æãå€ãã®æéãå²ãããã®ã§ãã®ç¹ã¯å
補éçºããäžã§ã§ãšãŠãéèŠã ãšæããŸãã ãœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ãã®æ¹ã
ãšãŠãŒã¶ãŒã®è·é¢ãè¿ãã®ãé
åçã§ãããå°ããçåç¹ããšãŠãäžå¯§ã«æããŠé ããŸããã TiUGã«ã€ããŠã¯PingCAPã®æ¹ã
ãåå ããŠããããšãããã®ã§TiDBã«å°ãã§ããèå³ãããã°åå ããªã¹ã¹ã¡ããŸãã tiug.connpass.com ãããŠäžèšã¯ PingCAP Japan CTO ã®æãããšã®ïŒã·ã§ãã CTOãæ¬äººããæ²èŒèš±å¯é ããŠããŸãã é¡ãã¡çæ¿ãŸã§çšæããŠãããšã¯âŠæµç³ã§ãã æ¬¡ã«New Relicããã®ããŒã¹ïŒ ãã¡ãã§ã¯åããŠå¯Ÿé¢ã§ãäŒãããåŒç€Ÿã§ãäžè©±ã«ãªã£ãŠããæ¹ãä¹
ãã¶ãã«åè·ã§ãäžè©±ã«ãªã£ãæ¹ãšãæšæ¶åºæ¥ãŠå€§å€å¬ããã£ãã§ãã ãã¡ããæšæ¶ã ãã§ãªãNew Relicã§ç§ãå©çšããããšããªãã£ãæ©èœã®ãã¢ãã玹ä»é ããŸããã ç¹ã« CodeStream ã¯ãŸãNew Relicãå©çšããæ©äŒãããã°éæ»ã§è©ŠããŠã¿ããæ©èœã ãšæããŸããã newrelic.com Visual Studio ã«ãã€ã³ã¹ããŒã«åºæ¥ããšã®ããšã§ æ¡åŒµæ©èœ ãæ€çŽ¢ãããèŠã€ãããŸããã ãã£ãããšè©³çްãèªãã ã ãã§ãã³ãŒãå
ã®ã¡ãœããã¬ãã«ã®ããã©ãŒãã³ã¹è¡šç€ºããã°æ€çŽ¢ãã³ãŒãå
ã®ãšã©ãŒæ€åºãããã©ãŒãã³ã¹ã¢ãã¿ãªã³ã°ãšãã£ãæ§ã
ãªå
容ã IDE ã§å®çµåºæ¥ãã®ã¯ãšãŠãé
åçã§ããã å人ã®ã¹ãã«ãçµéšã«ããããã§ããç§ã®ããã«äžè²«ããŠã€ã³ãã©ãšã³ãžãã¢ã®çµéšã ããçµãŠSREãšã³ãžãã¢ã«è»¢èº«ãã身ã ãšãã©ãããŠãã¢ããªã±ãŒã·ã§ã³ã®ã³ãŒããŸã§èŠãã®ã¯èŠææèããããããããŸããããã®æ©èœãããã°ã¢ããªã±ãŒã·ã§ã³ã¬ã€ã€ãŒã®ãšã©ãŒè§£ææãªã©ã§ç©æ¥µçã«éçºããŒã ãšè°è«åºæ¥ããã§ãã æ¬¡ã«HashiCorpããã®ããŒã¹ïŒ ãã¡ãã§ãä»ãŸã§ãäžè©±ã«ãªã£ãæ¹ã
ãåŒç€Ÿã§ããäžè©±ã«ãªã£ãŠããæ¹ã
ã«æšæ¶ã§ããŸããã ãŸããHashiCorpããäž»å¬ã®å€éšã€ãã³ãã§ç¹ãã£ãä»ç€Ÿã®æ¹ã
ãšãé¡ãåãããããšãåºæ¥ãŸãããä¹
ãã¶ãã«HCP TerraformãHCP Vaultã®å°å
¥ç¶æ³ã®ã話ããèãããŠãåŒç€Ÿãäºæ¥ãžã®è²¢ç®ã®ç³§ãšãªãHashiCorpãããã¯ãã¯ç©æ¥µçã«å°å
¥ãæšé²ããŠãããããšæ¹ããŠæ±ºæããŸããã æ¢ã«HCP Terraformã¯åŒç€Ÿã§ãå°å
¥ã®æ€èšãé²ããŠããæ¹ããŠäžèšã®ç¹ã«é
åãæããŠããŸãã tfstateãHCP Terraformã§äžå
管çåºæ¥ãã Private RegistryãæŽ»çšããŠçµç¹å
šäœã§å©çšå¯èœãªModuleãç»é²ã§ãããããã«ããäŸãã°å¥ããŒã ã§æ°èŠã®ãµãŒãã¹ãéçºããéã«ã·ã¹ãã æ§æãæ¢åãµãŒãã¹ãšåããããªãã¿ãŒã³ã§ããã°Moduleãåå©çšããŠå³åº§ã«Applyåºæ¥ãã Variable Setsãå©çšããã°ä»ãŸã§Terraformã§ã®ç®¡çã諊ããŠããã·ãŒã¯ã¬ããå€ãvariableãšããŠSensitiveã«å®çŸ©åºæ¥ãã Health Assessmentsãå©çšããŠTerraform以å€ã§è¡ãããèšå®å€æŽãæ€ç¥ãSlackãªã©ã«éç¥åºæ¥ãã ãªã©ãŸã ãŸã å©çšããŠããããæ©èœã¯æ²¢å±±ãããŸããæ¹ããŠå¥ã®æ©äŒã«ã玹ä»ããããšæããŸãã ã¡ãªã¿ã«ããŒã¹ã§ã¯HashiCorpå
šãããã¯ãã®ã¹ããã«ãŒãæã£ãŠããŸããããããŠåŸæ¥èªå®
ã«ãŠã詊ãã«ã¢ã«ãã¡ãããé ã«äžŠã¹ãŠã¿ãŸããã äžæãããšHashiCorpããŽã¹ããã«ãŒãçãäžã«ïŒ ä»ã«ãããã€ãã®ããŒã¹ãåããªãã以åãäžç·ã«ä»äºãããæ¹ã
ããäžè©±ã«ãªã£ãæ¹ã
ãšä¹
ãã¶ãã«åäŒããŠã話ããããšå€§å€ææçŸ©ãªæéãšãªããŸããã å¯äžã®åçç¹ã¯âŠåºæ¥ãããã£ãšåçæ®ã£ãŠããã°è¯ãã£ã⊠AWS Summit ã»ãã·ã§ã³èŽè¬ ååŸãå°ãããŒã¹ãåã£ãåŸã¯ããã€ãã»ãã·ã§ã³ãèŽè¬ããŸããã æ¬èšäºå·çæç¹ã§ã¯åã»ãã·ã§ã³ããªã³ããã³ãé
ä¿¡ïŒïœ2024幎7æ5æ¥ïŒéïŒãŸã§é
ä¿¡ïŒãããŠãããã詳现ãªåäººã®ææ³ã¯çããŸããäžèšã®ïŒã»ãã·ã§ã³ã ãè§ŠããŸãã japansummit.awslivestream.com äžèšã®èšäºã§è§ŠããŠããéããå¹£ããŒã ã¯Karpenterãæ€èšŒããå°å
¥ã決å®ããŠããŸãã tech-blog.tokyo-gas.co.jp ç§å人ãšããŠã¯Kubernertesã«ã¯ããçšåºŠè§Šããããšã¯ãããã®ã®Karpenterã«ã€ããŠã¯ç¥èããç¡ãã£ãã®ã§æŠå¿µãææ¡ãããšããããå§ããããšæãèŽè¬ããŸããã çµæãããªãçè§£ãæ·±ãŸããŸããã äžè¬çãªCluster Autoscalerã¯ãããšãªãçè§£ããŠããŸãããKarpenterãå©çšãããšãããŸã§çްããããããžã§ãã³ã°ããããŒããã³ã³ ãããŒã« åºæ¥ãã®ããšæåããŸããã å¹£ããŒã ã§ã¯ããããå°å
¥ãéçšãã§ãŒãºã§èŠããŠããKarpenterã®å¹æã課é¡ãªã©ãæ¹ããŠããã¯ããã°ãå€éšç»å£ãªã©ã§ã玹ä»ã§ããããšæã£ãŠããŸãïŒ ãªãã±ïŒ æµ·æµå¹åŒµ ã®ã©ã³ãäºæ
ããŠã AWS Summitã®åå ã¬ããŒããšã¯è©±ããããŸããåèçæ°èŠç¹ã§å°ããªãã±çãªå
容ãã玹ä»ããŸãã æ®å¿µãªãã AWS Summitã§ãçšæé ããŠãããåŒåœã¯ååãã ã£ãããäžæŠäŒå ŽãåºãŠè¿ãã®ã·ã§ããã³ã°ã»ã³ã¿ãŒã§ã©ã³ããåãããšã«ããŸããã ããã§ãå§ããããã©ã³ãã¹ããããä»åç§ã蚪ããã°ã«ã¡ããŒãïŒã·ã§ããã¿ãŠã³ã®ããã¬ãå¹åŒµãã§ãïŒ å
¬åŒãµã€ããã芧é ããšãªããªãããªãšãŒã·ã§ã³ã«å¯ãã ãåºã䞊ãã§ããŸãã ãã AWS Summitã«ãäžäººã§åå ããŠããã®ã§ããã°å人çã«ãªã¹ã¹ã¡ãªåºã¯äžèšã§ãã äžè¯ãã°ã»ã€ã麺 èéŽ ãã®å
åèã®ãµããã©ã³ãã§ããã§ãããµããã©ã³ããšããã©äŸ®ããªããïŒæ®éã«çŸå³ããã§ãã ã¹ãã²ã ãã£ãŒ ã®ãã³ãã§ å人çã«ã¯ ãã㪠ã¿ã³ãšãã£ããããïŒçœããçéã»ããããªã¹ã¹ã¡ïŒã¡ã¬çãé£ã¹ãŠååŸãä¹ãåããïŒïŒç§ã¯å€§çã§ãè
¹ãã¯ã¡åãããã«ãªããŸãïŒ ã¡ãªã¿ã«ä»åç§ã¯ç¥ãåãã®æ¹ãšäžç·ã ã£ãã®ã§ãã¬ãå¹åŒµå
ã® çè§ ã«è¡ããŸããã ãããã« ä»åã¯ããªãã©ã€ããªå
容㧠AWS Summit äºæ¥ç®åå ã«ã€ããŠã¬ããŒãããŸããã ãã¯ãæ¥æ¬äžå€§èŠæš¡ãª AWS ã®ã€ãã³ãïŒæ²¢å±±ã®æ¹ã
ãæ¥å Žãããšããããšããããã»ãã·ã§ã³ã§ç¥èŠãæ·±ããã ãã§ãªãè²ã
ãªæ¹ã
ãšäº€æµãããŠæèŠäº€æãããå ŽãšããŠãæé«ã®ç°å¢ã§ããã æ¯å¹Žããã®ãããªã€ãã³ããäŒç»ã»éå¶ããŠé ããŠããã¹ã¿ããã®æ¹ã
ã«æè¬ã§ãã ããã§ã¯æåŸãŸã§èªãã§é ãããããšãããããŸããã åœããŒã ã¯ç©æ¥µçãªæ¡çšãè¡ã£ãŠããŸãïŒãèå³ããæ¹ã¯ãã²ä»¥äžããå¿åãã ããïŒ ã¢ããªã±ãŒã·ã§ã³ãšã³ãžãã¢ã¯ãã¡ãããïŒ www.wantedly.com SRE ã¯ãã¡ãããïŒ www.wantedly.com
ããã«ã¡ã¯ãSRE ããŒã ã®è¿«ç°ã§ãïŒ 2024幎6æ 20æ¥ ã21æ¥ã«éå¬ããã AWS Summit Japan ã«åå ããŠããŸããã®ã§ãä»åã®èšäºã§ã¯ãã®æã®æ§åãæããããšããäŒãããããšæããŸãïŒ AWS Summit Japan ãšã¯ïŒ åœæ¥ã®æ§å åå ããã»ãã·ã§ã³ã®ææ³ ãšã³ã¿ãŒãã©ã€ãºã·ã¹ãã ãæ±ãã課é¡ãšãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ã㣠Amazon Aurora ã®æè¡ãšã€ãããŒã·ã§ã³ Deep dive ææãªã© ãããã« AWS Summit Japan ãšã¯ïŒ æ¥æ¬ã§éå¬ãããæå€§èŠæš¡ã® AWS ã®ã€ãã³ãã§ã AWS ã«ã€ããŠåŠç¿ãããã¹ãã ã©ã¯ ãã£ã¹ã®å
±æãæ
å ±äº€æãã§ããå Žã§ãã 2012幎ããæ¯å¹Žéå¬ãããŠãã *1 ãä»å¹Žã¯ å¹åŒµã¡ãã» ã«ãŠè¡ãããŸããã 2024幎7æ5æ¥ãŸã§ãªã³ããã³ãé
ä¿¡ããããŠãããããªã®ã§ãæ°ã«ãªãæ¹ã¯ãã²äžèšããŒãžããã§ãã¯ããŠã¿ãŠãã ããïŒ aws.amazon.com åœæ¥ã®æ§å ç§ã¯1æ¥ç®ã¯ãªã³ã©ã€ã³ã§ ã©ã€ãé
ä¿¡ ãèŠèŽãã2æ¥ç®ã¯çŸå°ã§åå ããŸããã 2æ¥ç®ã¯éšãéãéåžžã«èžãæãæ°åã ã£ãã®ã§ãããããã§ãæ¥å Žè
ã®æ¹ã¯å€ããäŒå Žã¯ãšãŠãæ··éããŠããŸããïŒ éå»ã2019幎ã«äžåºŠåå ããããšãããã®ã§ããããã®æãããå€ãã®æ¹ãåå ãããŠããå°è±¡ã§ãã å
¥å£ã«èšçœ®ããã AWS Summit ã®å¹ 10æéå¬ã«å¯ŸããŠãç§ã¯å€§äœ9æåéããããã«ã¯ å¹åŒµã¡ãã» ã«å°çããŠããã®ã§ãããäŒå Žåã«ã¯ããé·èã®åãã§ããŠããŸããã æ¥å Žç¹å
žãšããŠå
çã®æ¹ã«ã¯ãã·ã§ã³ããåŒåœãé
åžãããŠããã®ã§ããããã¡ããç§ã¯åãåãããšãã§ããŸããã§ããããã ãŸãã AWS èªå®ãååŸããŠãããšå
¥å Žã§ããã AWS èªå®è
ã©ãŠã³ãžããšãããã®ããããããã§èªå®ããšã®éå®ã¹ããã«ãŒãªã©ããããããšãã§ããã®ã§ãããç§ãæã£ãŠããã AWS Certified Solutions Architect - Professionalãã®ã¹ããã«ãŒã¯2æ¥ç®ååã®æ®µéã§ååãã«ãªã£ãŠããŸããããã ãšãå人çã«ã¯æ¬²ããã£ãã°ããºãªã©ãæã«å
¥ããæ²ããæ°æã¡ã«ãªããŸããããæ¹ã㊠AWS ãããã㊠ã¯ã©ãŠã ãæ¥æ¬ã®äžã§æ³šç®ãéããŠãããšããããšã宿ããããšãã§ããŸããã ã»ãã·ã§ã³ãããŒã¹ã§ã¯ãä»åã®å€§ããªããŒãã®1ã€ã§ãããçæ AIããå€ãåãäžããããŠããŸããã 1æ¥ç®ã®åºèª¿è¬æŒäžã§ããClaude 3ãã7æã«æ±äº¬ãªãŒãžã§ã³ã§äœ¿ããããã«ãªãããšããã Amazon Q for Businessãã2024幎äžã«æ±äº¬ãªãŒãžã§ã³ã«æäŸãããããšãçºè¡šããã AWS ãšããŠãçæ AI ã«éåžžã«åãå
¥ããŠããããšãæ¹ããŠæããããããŸããã åå ããã»ãã·ã§ã³ã®ææ³ ããããã¯åå ããã»ãã·ã§ã³ã®äžéšã«ã€ããŠã玹ä»ããªãããå人çãªææ³ãæžããŠãããããšæããŸãã ãããããªã³ããã³ãã§èŠèŽããããšãã§ããŸãã®ã§ããæéãããæ¹ã¯ãã²åŸ¡èЧããã ãããã§ãïŒ ãšã³ã¿ãŒãã©ã€ãº ã·ã¹ãã ãæ±ãã課é¡ãšãã€ã¯ããµãŒãã¹ ã¢ãŒããã¯ã㣠å
補åçµç¹ãç«ã¡äžãããžã¿ã«åã«åãçµãã§ããã£ãããã«ã€ã³ãºããã®äºäŸã»ãã·ã§ã³ã§ãã ããšããšå奿©èœéçºã®ç¹°ãè¿ããš ã·ã¹ãã éçº äŒç€Ÿãžã®å€éšäŸåã«ãã£ãŠè€éåã» ãã©ãã¯ããã¯ã¹ åããã·ã¹ãã ã»çµç¹ãšãªã£ãŠãããšããããã·ã¹ãã ãšããŠã¯åå©çšéšåãæŽ»çšããçµç¹ãšããŠã¯ããžãã¹éšéãšã·ã¹ãã éšéãäžäœåãããªãŒããŒã·ãããåãããšã«ãã£ãŠæ°ããéçºã®ä»çµã¿ãæšé²ããããšããçºè¡šããããŠããŸããã ãšã³ã¿ãŒãã©ã€ãº ã«ãããå
補åã®ã話ãšããããšã§ã倧å€åèã«ãªããŸãããã·ã¹ãã ãšããŠãã€ã¯ããµãŒãã¹åããŠåå©çšéšåãå¢ãããŠããããšã¯ãã¡ãããç§ãšããŠã¯ããªãŒããŒã·ããããšãããšãããéåžžã«å
±æã§ããŸãããç§èªèº«ãäºæ¥äŒç€Ÿã«æå±ãããšã³ãžãã¢ãšããŠãæè¡ã¹ãã«ã磚ããŠããã®ã¯ãã¡ããã§ããããããã¯ãã»äºæ¥ã«å¯Ÿããåœäºè
æèã匷ãæã¡ãããžãã¹ãæšé²ããã¡ã³ããŒãšäžå¿åäœãšãªã£ãŠã客ããŸã«äŸ¡å€ããå±ãããããšãæ¹ããŠæ±ºæããŸãããããïŒ Amazon Aurora ã®æè¡ãš ã€ãããŒã·ã§ã³ Deep dive Aurora ã®åºæ¬çãªä»çµã¿ãšãè¿å¹Žè¿œå ãããæ©èœ (Aurora Serverless v2, Redshift ãšã®ãŒã ETL çµ±å, Aurora I/O-Optimized ãªã©) ã玹ä»ããã AWS ããã®ã»ãã·ã§ã³ã§ãã é«ãå¯çšæ§ã»èä¹
æ§ã確ä¿ããä»çµã¿ãšããããŒãžããµãŒãã¹ãªãã§ã¯ã®éçšæ§åäžã®æ©èœã倿°çšæãããŠãããã¯ãŒã¯ããŒãã®ç¹æ§ãèŠæ¥µããŠé©åãªéžæãããã°ã³ã¹ããæãã€ã€ä¿¡é Œæ§ã®é«ããµãŒãã¹ãæäŸããããšãã§ãããã ãšæããŸããã äžæ¹ããã®ãã¯ãŒã¯ããŒãã®ç¹æ§ãèŠæ¥µããããšãããšããã倧åã§ãéé²ã«æ°æ©èœã䜿ãã®ã§ã¯ãªãã驿驿ã§å©çšããããšãæèããªããã°ãªããªããšèããŠãããŸãã äŸãã° Serverless ã I/O-Optimized ã®æ¹ãåŽã£ãŠã³ã¹ããé«ããªã£ãŠããŸãããšã¯å°ãªããªãã®ã§ã¯ãªãããšæšæž¬ããŠãããŸãã ç§ãã¡ã®ãµãŒãã¹ã«ãåãå
¥ãããæ©èœã¯ããã€ãããã®ã§ãããäºåã«ã¯ãŒã¯ããŒãã®ç¹æ§ãçè§£ããæºäžã ãã§ã¯ãªãå®éã«æ€èšŒããããšã§éžæããŠããããã§ãã ãŸãããã®æ€èšŒçµæãªã©ã¯ãã®ããã°ã§ç޹ä»ã§ããã°ãšæããŸãïŒ ææãªã© åœæ¥ã®æ§åã§ãèšèŒããŸããããä»åã¯æ¬åœã« AI 掻çšã泚ç®ããã AWS Summit Japan ã§ãã£ããšæããŸããã æ£çŽãæå㯠AI ã®ã»ãã·ã§ã³ã«ã¯ãã»ã©é¢å¿ããªãã£ãã®ã§ãããåºèª¿è¬æŒãçŸå°ããŒã¹ã§ã®æŽ»ç𿹿³ãäºäŸç޹ä»ãèããŠãããã¡ã«ããã¯ããããã®æŽ»çšãã©ãã©ãèããŠãããªããã°ãªããªããšæãããã«ãªããŸããã SRE ã®èгç¹ã§ããAIOps ãæŽ»çšããããšã§åºåããããã°ããé害åæãå¹çåããäºäŸãªã©ãå©çšã§ããã·ãã¥ãšãŒã·ã§ã³ã¯å€æ°ããããšãåèªèããŸããã ç§ãã¡ã®ããã·ã§ã³ã¯ã客ããŸãžäŸ¡å€ããå±ãããããšãªã®ã§ãAI æè¡ã«ã€ããŠãä»äžåºŠåãåã£ãŠåãçµãã§ãããããšæããŸããããïŒ ãŸããå人çã«ã¯ä¹
ã
ã®çŸå°ã«ãããã€ãã³ãåå ãšãªã£ãã®ã§ããããã¯ããªã³ã©ã€ã³ã«ã¯ãªãè¯ãããããšæããŸããã ã»ãã·ã§ã³ã ãã§ããã°ãªã³ã©ã€ã³ã§èŠèŽã§ãããã®ã倿°ããã®ã§ãããããŒã¹ã§çŽæ¥ã話ããããã以åã®è·å Žã§äžç·ã ã£ãæ¹ã«ãäŒãããŠæ
å ±äº€æãã§ããããã©ããã補åãåéãæ³šç®ãããŠããã®ãã確èªããããªã©ãçŸå°ã«è¡ããªããšã§ããªãããšãããããªãããšããããããããŸãã äœããäŒå Žã®ç±æ°ãèªèº«ã®ã¢ãããŒã·ã§ã³ã¢ããã«ã€ãªãããŸããã ããããããã®ãããªãªã¢ã«ã€ãã³ãã«ã¯å®æçã«åå ããŠãããããšèããŠããŸãïŒ ãããŠãå¹³æ¥ã«ãããããããã®ãããªã€ãã³ãã«åå ãããŠããããããªçè§£ããçµç¹ã«æå±ã§ããŠæ¬åœã«è¯ãã£ããšæããŸãã ã€ãã³ãã«åå ããããšã§èªèº«ãåŠã³ãåŸãŠãçµæãšããŠã客ããŸãäºæ¥ãžã®è²¢ç®ã«ã€ãªããããšããæãã§å¿«ãéãåºããŠãããäžåžãã¡ã³ããŒã«æ¹ããŠæè¬ãããã§ããããïŒ ãããã« ç§ãã¡ã®ããŒã ã§ã¯ããšãã«åã仲éãç©æ¥µçã«åéããŠããŸãã SRE ã®ã¿ãªãããœãããŠã§ã¢ãšã³ãžãã¢ã®ããžã·ã§ã³ãããããŸãã®ã§ãå°ãã§ãèå³ããæã¡ããã ããŸãããããã²ã«ãžã¥ã¢ã«é¢è«ãããå¿åãã ããïŒ Application Developers www.wantedly.com SRE www.wantedly.com æåŸãŸã§ãèªã¿ããã ãããããšãããããŸããããŸã次åã®èšäºã§ãäŒãããŸãããïŒ *1 : 2023幎ãŸã§ã¯ AWS Summit Tokyo / Osaka ããã㯠AWS Summit Online ãšããåç§°ã ã£ãã®ã§ã" AWS Summit Japan" ã«ãªã£ãã®ã¯å®ã¯ä»å¹Žããã®ããã§ãã
ã¿ãªããããã«ã¡ã¯ãEMãšSREã®äž¡ç«ãäœãšãé 匵ã£ãŠããæå±±ã§ããæè¿ã¯ Terraform ã manifest ãã¬ãã¥ãŒããŠã°ãããªã®ã§ãããããèªåãæžããã仿¥ãã®é ã§ã𥺠ããŠãå»ã6æ14æ¥(å)ãæå¹ã§éå¬ããã CloudNative Days Summer 2024 ã«çŸå°åå ããŠããŸããã®ã§ãä»åã¯ãã®äžã§ãç¹ã«å°è±¡ã«æ®ã£ãã»ãã·ã§ã³ã«ã€ããŠãææ³ãªã©æžããŠãããããšæããŸãïŒïŒãããŸã§ãåäººã®ææ³ã§ãã CloudNative Days ãšã¯ïŒ åå ããã»ãã·ã§ã³ææ³ãªã© ã¯ã©ãŠããã€ãã£ããªçãšããµãŒãã¹ã®å
補éçºã§ãBizDevOpsãå®çŸãã ãªãŒãã¿ã€ã ãã³ã¹ããæé©åããªããå埩æ§ãæ±ããã¯ã©ãŠããã€ãã£ãæŠç¥ 次äžä»£ã®ã¯ã©ãŠããã€ãã£ãåºç€ãWasmã®ä»ãšæªæ¥ OpenFeature ãšèªåçæã掻çšããããã¥ãŒãã£ãã©ã°ã®å®£èšçéçŽç®¡ç ãã¬ã¡ããªãŒã·ã°ãã«ã®çžé¢ãããŠãŸããïŒç¬¬äžåçããã®ãããã°ãæ¯ããèšè£
ãã€ã¯ããµãŒãã¹åºç€ã«ãã«ãããŒãžããµãŒãã¹ã§ã¯ãªãKubernetesãéžæããçç± ãã£ã±ãçŸå°åå ã¯ç±ãïŒ äœè« ãããã« CloudNative Days ãšã¯ïŒ å
¬åŒãã以äžã«åŒçšããããŸãã CloudNative Days ã¯ã³ãã¥ããã£ãäŒæ¥ãæè¡è
ãäžå ã«äŒãã ã¯ã©ãŠã ãã€ãã£ãã ãŒãã¡ã³ããçœåŒããããšãç®çãšããããã¯ã«ã³ãã¡ã¬ã³ã¹ã§ãã ææ°ã®æŽ»çšäºäŸãå
é²ç㪠ã¢ãŒããã¯ã㣠ãåŠã¹ãã®ã¯ãã¡ããããã¬ããžã®å
±æããã£ã¹ã«ãã·ã§ã³ã®å ŽãéããŠç»å£è
ãšåå è
ãåå è
å士ã®ç¹ãããæ·±ããåå¿è
ããçç·Žè
ãŸã§ãå
±ã«æé·ã§ããæ©äŒãæäŸããŸãã çæ§ã ã¯ã©ãŠã ãã€ãã£ãæè¡ãé©åã«éžæããæŽ»çšããæ¬¡ã®ã¹ãããã«é²ãæå©ãã«ãªãããšãé¡ã£ãŠããŸãã ã¯ã©ãŠã ãã€ãã£ãã§ãæªæ¥ãå
±ã«åµé ããŸãããã https://cloudnativedays.jp/ ãšã«ããææ°ã®æŽ»çšäºäŸã»å
é²äºäŸãå€ããåèã«ãªãã»ãã·ã§ã³ãå€ãïŒïŒïŒãšæããã€ãã³ãã§ãããããŠä»å㯠CFP ã®åçããšãã§ããªãããšã«ãªã£ãŠããŸããããã©ã®ã»ãã·ã§ã³ãèããŠã¿ãããã®ã°ããã§ãããç§ããã¬ã€ãã³ãã«ç»å£ãããŠããã ããŸããããæ¬åœã«å¹žéã§ããæ¹ããŠããããšãããããŸãã åå ããã»ãã·ã§ã³ææ³ãªã© ããããã¯ãåå ãããé²ç»ãèŠããããŠãæ°ã«ãªã£ãã»ãã·ã§ã³ã®ã玹ä»ãïŒ ã¯ã©ãŠã ãã€ãã£ããªçãšããµãŒãã¹ã®å
補éçºã§ãBizDevOpsãå®çŸãã speakerdeck.com åæµ·éã¬ã¹ ããã®å
補éçºã«é¢ããåãçµã¿ã§ãïŒåœããŒã ãåèã«ããŠãããŸãïŒãããåœããŒã ãšéã£ãŠãããã®ã¯ãã¿ãªããéãšã³ãžãã¢ããå§ãŸããå®éã®ãããã¯ãéçºãšãªãªãŒã¹ãŸã§èŸ¿ãçããŠããããšã ãšæããŸããããããåãçµã¿ã¯ãå€ãã®äŒæ¥ã§ã¯ ãããããŠã³ ã§è¡ãããããšãå€ãã®ã§ã¯ãªãã§ãããããããã åæµ·éã¬ã¹ ããã¯ã瀟å
ã®æå¿ã¡ã³ããŒã§å匷äŒã»ãµãŒã¯ã«ïŒãµãŒã¯ã«ã£ãŠã®ãè¯ãã§ããïŒïŒãç«ã¡äžããŠãããã IoT ãæŽ»çšãããããã¯ãããªãªãŒã¹ããŠãããšããé¢ãæ¥ãæãéããŠãããããæ¬åœã«è±åžœã§ãã ãã ãéãšã³ãžãã¢ã§ãšãã«ã®ãŒäºæ¥ã® ãã¡ã€ã³ ãæã£ãæ¹ã
ã ãããããã客ããŸèª²é¡ã«å¯ŸããŠã®ã¢ãããŒããã§ããããããã« ã¯ã©ãŠã ãã³ã³ãããæŽ»çšããããšã§ãBizDevOps ãå®çŸããŠãããã®ã ãªããšæããŸããããŸããã³ãã¥ããã£æŽ»åãéåžžã«çããªã®ã§ãããã¯åœããŒã ããã²èŠç¿ããããšããã§ãïŒãšã«ãããã€ã¿ãªãã£æº¢ããã»ãã·ã§ã³ã§ããïŒ ãªãŒãã¿ã€ã ãã³ã¹ããæé©åããªããå埩æ§ãæ±ãã ã¯ã©ãŠã ãã€ãã£ãæŠç¥ speakerdeck.com é
ªèŸ² IoT ã«åãçµãŸãããšãŸãŠã£ã³ããã®åãçµã¿ã§ãïŒæ¥æ¬ã®èŸ²æ¥ã次äžä»£ã«ç¹ããããšãã倧ããªããã·ã§ã³ããšãŠãçŽ æµã§ããåé ã®ãReposaku ã¯5幎ã§è§£çŽãŒãã§ãããšããèšèãä»ã§ãå°è±¡ã«æ®ã£ãŠããŸããããã¯èšèã«ããã®ã¯ç°¡åã§ããããŠãŒã¶ãŒããŒãºãæ±²ã¿ãªããéçšãç¶ããŠãããšããã確ããªå®çžŸãšå€§å€ãªèŠåŽããã£ãã®ã ãšæããŸãããŸãããããŸã§ã®é
ªèŸ²ã«ãããäœæ¥ã®èª²é¡ã解決ããããã«çãŸãããããã¯ããšããããšã§ãåœããåã®ããšãããããŸããããåœããŒã ããã£ããã客ããŸã®äžãè§£æ¶ããããã«é 匵ããªããšãªããšæ¹ããŠæããŸããã æè¡çãªãšããã§ã¯ã AWS ã® API -GW çµ±å ã¿ã€ã ã¢ãŠã ã¯éå»ã«ç§ãèŠããã ã®ã§ãããããããããããšå
±æããããæ°æž©ãªã©åæµ·éç¹æã®è©Šããã倧å°ãæ
ãã ãã€ã¹ åŽã«ã¹ãã¬ãŒãžãæã€æ§æã«ããŠããããªã©ãå°ççãªèª²é¡ã工倫ãåãããŠè§£æ±ºããŠãããšãããããããªãšæããšãšãã«ãå人çã«ã¯ Amazon Timestream ã䜿ã£ãŠãããšããããã¡ããã¡ãæ°ã«ãªã£ãŠããŸãïŒç§èªèº«ãæç³»å DB ã¯æ±ã£ãããšããªãããããã€ãè§ŠããŠã¿ããã§ãã API -GW ã®çµ±å ã¿ã€ã ã¢ãŠã ã¯å
æ¥ã®çºè¡šã§äžéç·©åç³è«ãåºæ¥ãããã«ãªã£ãã¿ããã§ããïŒ aws.amazon.com 次äžä»£ã® ã¯ã©ãŠã ãã€ãã£ãåºç€ãWasmã®ä»ãšæªæ¥ speakerdeck.com 2023幎床æªèžIT人æçºæã»è²æäºæ¥ã§æŽ»åãããŠããåŠçãäºäººã®ã»ãã·ã§ã³ã§ããïŒè¥ãåãèºé²ãããŠããŠããã ã³ã³ããã®æ¬¡ã¯ WasmïŒãšèšãããçç±ã«ã€ããŠãããŒã¿ããªãã£ã ãµã³ãããã¯ã¹ äžã§å®è¡ãããã»ãã¥ãªãã£é¢ããã€ããªãµã€ãºãå°ãã軜éããªã©ãWasm ã®å£²ãã ã£ãããéçºè
äœéšã«ãŸã§èžã¿èŸŒãã§ã話ãããŠããã®ãæ°é®®ã§çŽç²ã«æ¥œããã£ãã§ãïŒãã ãç§ãæå
ã§ãã¡ããã¡ãã¡ã¢ãåã£ãŠããŸãããããŸã å®å
šã«ã¯é£²ã¿èŸŒããŠãããã»ã»ã»å人çã«èå³ãããã®ã§ãæ·±æãããããšããã§ãããŸãã»ãã·ã§ã³ã§ãè§ŠããŠããŸããããã©ãå
±æãããã®ä»çµã¿ãæçããŠããªãç¹ã¯ãå®éã®éçºã§ã¯çµæ§ã¯ãªãã£ã«ã«ã ãªãšæããŸããããã®ãããã®ãšã³ã·ã¹ãã ãæŽã£ãŠããããæ¬åœã«ã³ã³ããã®æ¬¡ã¯ WasmïŒã«ãªããããããªãã§ããããããŠåŠçã®æ¹ããããŸã§æ·±æãããŠããã®ãèŠãŠãèªåãããããªé åã§ãæè¡ã« dive deep ããªããã°ïŒãšç±ããªããŸããïŒ ã¡ãªã¿ã«äžçªã®å穫㯠WASM ã§ã¯ãªã Wasm ãšç¥ããšããäºå®ãç¥ã£ãããšã§ãïŒã OpenFeature ãšèªåçæã掻çšããããã¥ãŒ ãã£ã ã©ã°ã®å®£èšçéçŽç®¡ç speakerdeck.com åœããŒã å
ã§ãæè¿è©±é¡ã«ãªã£ãŠãããã£ãŒãã£ãŒãã©ã°ã«ã€ããŠã ãµã€ããŒãšãŒãžã§ã³ã ããã®åãçµã¿ç޹ä»ã§ãïŒ åé ã§ãã£ãŒãã£ãŒãã©ã°ã®çš®é¡ã«ã€ããŠç޹ä»ããŠããŸããããããé©åã«çè§£ããããšãäžçªéèŠãã€ããŒãã«ãé«ããã§ããç¹ã«åœããŒã ã§ããšãä»ãµãŒãã¹ã«èµ·å ããŠãã©ã°ãåé€ã§ãããRelease Toggles ã®æšå¥šããããªãå®ããªããªã£ãããããã§ïœ¥ïœ¥ïœ¥æ³£ããŸãã SaaS ãããã ãããã®ãç¥ããªãã£ãã®ã§ããããã³ããŒããã¯ã€ã³ã®èª²é¡æã¯ãããšæã£ãŠããã®ã§ãOpenFeature ãç¥ãããšãåºæ¥ãã®ã¯ææçŸ©ã§ããïŒãªãã»ã©ããããªãã®ãã€ãã³ãåå ããŠããåŸããããã®ã§ããããããŠãªã¢ã«ãªèª²é¡æããã®èªåçæïŒãã©ã°åé€ã CI ã§èœãšããŠæ€ç¥ããŠããã»ã»ã»åŠã³ãå€ãããŸãããç°å¢é¢ã«ã€ããŠã®èª²é¡æããããã¯åœããŒã ã§åãçµãã ãåºãŠãããã ãããªãã£ãŠãªã¢ã«ææºèŒã§æ¬åœã«æ¿ãã»ãã·ã§ã³ã§ããã ãŸããç»å£è
ã®å²©èŠãããšãã»ãã·ã§ã³åŸã«ã話ã§ããã®ã¯ããããã£ãã§ãïŒããã§ã¯ããã«ãªã¢ã«ãªèª²é¡æãèããŸããããåœç¶ãããããŸããããã¿ãªããæ¥ã
ã®èª²é¡ã«åãåã£ãŠãšã³ãžãã¢ãªã³ã°ã§è§£æ±ºããŠããã®ã ãªããšçæããŸãããç§ãæ¥ã
æ«ããããŸãã¢ãããŒã·ã§ã³é«ãé 匵ã£ãŠãããããšæã£ã次第ã§ãïŒå¢ãç¶ããéçºç°å¢ãèŠãªããïŒ ãã¬ã¡ããªãŒ ã·ã°ãã«ã®çžé¢ãããŠãŸããïŒç¬¬äžåçããã® ãããã° ãæ¯ããèšè£
speakerdeck.com Google ã®å±±å£ããã®ã»ãã·ã§ã³ã§ãïŒæšæž¬ã ããã® ãããã° ã§ãé£ã³é£ã³ã«äºè±¡1ãšäºè±¡3ã远ãããããããªæšæž¬ã ããã® ãããã° ã¯ããããïŒãšããè³ãçãã»ãã·ã§ã³ã§ãããè³ãçãïŒäºåç®ïŒãŸãããã°ãã¡ããªã¯ã¹ããã¬ãŒã¹ããã©ãã©ã«ãããšãã«ãµã€ãåããåŒå®³ãªã©ãçžé¢æ§ãããããéèŠæ§ã«ã€ããŠããmyTOKYOGAS ããªã¯ ãšã¹ ãã«çžé¢IDãããããŠããã³ããšã³ãã»ããã¯ãšã³ãã§ãã°ãæ€çŽ¢ã§ããããã«ã¯ããŠããŸãããã·ã°ãã«ããšã®çžé¢æ§ãèããŠãããªããŠã¯ãªããªããªãããšæ¹ããŠæããŸããããŸãã«ã»ãã·ã§ã³ã§è©±ããŠãããšãããç§ãå«ããåæããããã¡ã³ããŒã¯ããªããšãªããããããé åºã§è¿œããããŠãã£ãŠã¢ã©ãŒãã®åå ãç¹å®ã§ãããã£ãŠæèŠãæã£ãŠããã®ã§ãããããšãããžã§ã€ã³ããã¡ã³ããŒã«ãããåŒãç¶ããŠããããšãããšïœ¥ïœ¥ïœ¥ãã£ã±ãè³ãçãã£ãã§ãïŒäžåç®ïŒãããããã¯ããŒã ã§æçŽã«ãã£ãŠãããããªãšæããŸããç¹ã«ã¢ããªãSREãå«ãããŸã å°èŠæš¡ãªããŒã ã®ãã¡ã«äžäœæããã£ãŠãã£ãŠããããã§ããïŒ ãã€ã¯ããµãŒãã¹åºç€ã«ãã«ãããŒãžããµãŒãã¹ã§ã¯ãªã Kubernetes ãéžæããçç± speakerdeck.com ãŠã©ã³ããããªãŒ ããã®ãã€ã¯ããµãŒãã¹ã Kubernetes ã§éçšããŠãã2016幎ããã®æŽå²ãèªãã»ãã·ã§ã³ã§ããïŒãŸãã«ãããããã£ãŠããïŒãªåœããŒã ã«ãšã£ãŠã¯åèã«ãªãã»ãã·ã§ã³ã§ãã2016å¹Žåœæã¯éžæè¢ãå°ãªãç¶æ³ã ã£ãããä»ã¯ã©ããªã®ãïŒ ãŠã©ã³ããããªãŒ ããã¯2024幎çŸåšã§ãããã€ã¯ããµãŒãã¹éçºã®åºç€ã« Kubernetes ã®æ¡åŒµæ§ãå¿
èŠããšèããŠãããšã®ããšã§ãããããã¯ç§ãã¡ãåãããã«èããã®ã§ãå
±æã§ãããã®ã§ããããã ã Kubernetes ãæ¡çšããéã«å¿
ãèšããããéçšè² è·ãã«ã€ããŠãæ¹ããŠçްãã玹ä»ããŠãããã®ã¯ããããŸãç¥èŠã®å¡ã§ããïŒãã¯ãå
補ããŒã«ã¯å¿
èŠã«å¿ããŠäœã£ãŠãããªããšãªããšããã®ãšã Cluster add-ons ã®ç®¡çããã¯éããããªããšããã¡ãã»ãŒãžã¯ãåœããŒã ãèžã«å»ãã§è¡ãããšæããŸããããã°ããïŒã¢ããã°ã¬ãŒãäœæ¥ã ãã§ãªããåãçµã¿èªäœãããã¥ã¢ã«åãããšããã®ããåãå
¥ããŠã¿ãããªãŒãšæããŸããïŒ ãã£ã±ãçŸå°åå ã¯ç±ãïŒ ãããŸã§ãæ°ã«ãªã£ãã»ãã·ã§ã³ã玹ä»ããŠããŸããïŒã³ããçŠä»¥éãç§èªèº«ãã€ãã³ãã®åå ã¯ãªã³ã©ã€ã³ãäž»æµã«ãªã£ãŠããŸãããçŸå°åå ã®ç±ãæ»ã£ãŠãããããä»äºãããããããšããã®ãçç±ã«ãªã³ã©ã€ã³åå ã«ããŠããŸããçµæãšããŠèŠãããªãããšãå€ã
âŠãŸãã¯çŸå°åå ããããšã§ããã®æ·ãå€ãããšãåºæ¥ãã®ãäžçªã§ãã ãããŠãç»å£è
ã®æ¹ã¯ãã¡ãããåå ãããŠããå€ãã®æ¹ãšã話ã§ããããšãæ¬åœã«ãããããã£ãã§ãïŒã¿ãªãããæ¬åœã«ãšã³ãžãã¢ãšããŠæ¥œããã§ããæ§åãäŒãã£ãŠããŠãèªåèªèº«ã®æ°ããªã¢ãããŒã·ã§ã³ã«ããªããŸããïŒæ¹ããŠããã®å ŽãåããŠã瀌ããããŠãã ããïŒ äœè« æå¹ã§ã®éå¬ïŒãšããããšã§ãã»ãã·ã§ã³ä»¥å€ã«ãè²ã
楜ããã§ããŸããðŠå
·äœçã«ã¯ããšã«ããçããã®ãé£ã¹ãŸãããŸããç¬ åèæ¥Œã®ããã§ïŒ åèæ¥Œã®ãœããã¯ãªãŒã ïŒïŒ ãã®ãšã 倧éå
¬å åºã®éå®ãªã ããã§ïŒïŒïŒ ãããŠæº¢ãããããïŒïŒïŒïŒ myTOKYOGAS ãªãã¥ãŒã¢ã«åŸããäžã
çŸœæ ¹ã䌞ã°ãæ©äŒããªãã£ãã®ã§ãããä»åã¯é æ¹ã®å°ã§ã®éå¬ãšããããšã§ãã€ãã³ã以å€ã®æéã«æ¯æããåºæ¥ãŠè¯ãã£ãã§ããæ¬åœã«çè§£ããäžåžã仲éã«å²ãŸããŠããããããéãã§ãâŠðââ ããã㫠次åã® CloudNative Days Winter ã¯æ±äº¬ã§ã®éå¬ïŒãšããããšã§ã次åãçŸå°åå åºæ¥ãããªãŒãšæããŸãïŒãã㊠CFP ãåºãããâŠïŒä»åã¯æ±äº¬ã§ã®ãã¬ã€ãã³ãã«ç»å£ãããŠããã ããã®ã§ãããããã®é²æ©ãšãã話ã§ãããè¯ããªãã ããã§ã¯ãæåŸãŸã§ãèªã¿ããã ããããããšãããããŸããïŒïŒ åœããŒã ã¯ç©æ¥µçãªæ¡çšãè¡ã£ãŠããŸãïŒãèå³ããæ¹ã¯ãã²ä»¥äžããå¿åãã ãããŸãïŒ ã¢ããªã±ãŒã·ã§ã³ãšã³ãžãã¢ã¯ãã¡ãããïŒ www.wantedly.com SRE ã¯ãã¡ãããïŒ www.wantedly.com
ã¿ãªããããã«ã¡ã¯ãæå±±ã§ããæ°ä»ãã°5æãçµããã§ãããæ°å¹ŽåºŠãæ°ããç°å¢ã§ã¹ã¿ãŒããããæ¹ã
ãããã£ããæ
£ããŠããé ã§ãããããåœããŒã ã®4æã«ãžã§ã€ã³ããã¡ã³ããŒããæ¢ã«ããªããªæŽ»èºããŠãããŠãããé Œãããéãã§ãïŒïŒ 話é¡ã¯ããããŸããŠâŠå
æ¥5æ22æ¥ããCloudNative Days Summer 2024 ãã¬ã€ãã³ã@æ±äº¬ããšããã€ãã³ãã«ãŠç»å£ããŠãŸãããŸããã®ã§ããã®ãšãã®æ§åãªã©ãæžããŠã¿ãããšæããŸãðª cloudnativedays.connpass.com ãªãç»å£ããã®ïŒ åœããŒã ã§ã¯ EKS ãæ¡çšããŠãããŸããã Kubernetes ã OSS ã«è§ŠããŠããäžã§ãã³ãã¥ããã£ã®ã€ãã³ãã§åãçµã¿ãç¥ã£ãŠããããã / 課é¡ãåãçµã¿ãã·ã§ã¢ããããšã§ãå°ãã§ã誰ãã®ãã³ãã«ãªã£ãŠã»ããããã³ãã¥ããã£ã®çãããšã®äº€æµã§æ°ããªåŠã³ãåŸããããšããæ³ãã匷ããªã£ãŠãããæãåã£ãŠãCloudNative Days Summer 2024ãã« CfP ãæåºããŸããã æ®å¿µãªãããæåºãã CfP ã¯äžæ¡æã ã£ããã®ã®ãéå¶ã®æ¹ã«ãæ±äº¬ã§ãã¬ã€ãã³ããéå¬ããŸãã®ã§ãè¯ãã£ãããããã§ããããããšå£°ãæããŠããã ãããã®ãã³ç»å£ããæ¬¡ç¬¬ã§ãã æ¬ã€ãã³ããæå¹ã§éå¬ããåã«ãCloudNative Days ãçãäžããŠãããïŒãšããè¶£æšãšã®ããšã§ãéåžžã«ãããããæ©äŒãšããããšããããè¿·ãããšãªã快諟ããŸããïŒéžåºããããšãããããŸãïŒ ç»å£ã®æ§å ç»å£è³æã«ã€ããŠã以äžã«ã¢ããããŒãããŠãããŸãïŒ speakerdeck.com ãŸããåç»ãæ®ã£ãŠãããŸãïŒ(éå¶ã®ã¿ãªããŸããããšãããããŸãðââ www.youtube.com åœæ¥ã話ããããš ãŸãã¯åœç€Ÿã®ããšãåœããŒã ã®ããšãã話ããŠãmyTOKYOGAS ãªãã¥ãŒã¢ã«åŸã®èª²é¡æããã Kubernetes ãéžæããããšããæµãã§ã話ãããŸãããæ¬ããã°ã®éå»èšäºã§ãå
補åãå§ããçµç·¯ã«ã€ããŠã玹ä»ããŠãããŸãã®ã§ããèå³ããæ¹ã¯ãã²ã芧ããã ããã°ãšæããŸãã tech-blog.tokyo-gas.co.jp ãŸããEKS ãå§ããããšã«ã€ããŠãéå»èšäºã§ã玹ä»ããŠãããŸãã®ã§ãããããŠã芧ããã ããŸããã幞ãã§ãã tech-blog.tokyo-gas.co.jp tech-blog.tokyo-gas.co.jp åœæ¥ã¯ Karpenter x Graviton ã®å©æŽ»çšã«ã€ããŠã SNS ã§ãããšãã«ã®ãŒäŒæ¥ããšãã«ã®ãŒã®ããšãèããŠã¢ãããŒãããŠããããšãã«å¯Ÿããããžãã£ããªãæèŠãããã ãã倧å€ããããã£ãã§ããäºæ¥ã«ã³ãããããŠãããšã³ãžãã¢ãšããŠãäŒç€Ÿã®ç念ã¯éåžžã«å€§åã«ããŠããŸãããåœç€ŸãçŽ140å¹Žã®æŽå²ã玡ãã§ããã®ãããã®ãå
±éç念ãããã£ãããããã ãšæã£ãŠããŸãã ãã¡ãããæä»£ãšåžå Žã®å€åã¯æ¿ãããèãæ¹ãä»äºã®ããæ¹ã ã¢ãžã£ã€ã« ã«å€ããŠãããªããã°ãªããŸãããåœç€Ÿããã¬ã¹ã»é»åã«æ¬¡ã第äžã®æ±ãšããŠæ°ããªãœãªã¥ãŒã·ã§ã³ãã©ã³ããç«ã¡äžãããªã©ãå€åãååãã«åãæ¢ããŠãã£ã¬ã³ãžããŠããããšããŠããŸããããã«ãšã³ãžãã¢ãã³ãããããŠããã«ã¯ã©ãããããåžžã
èããŠããããšã§ããããè±ççŽ ããæ²ããåœç€Ÿã®ãšã³ãžãã¢ãããŒã¿ã»ã³ã¿ãŒã®ãã·ã³ãç¡å°œèµã«äœ¿ã£ãŠããŠã¯èª¬åŸåããããŸãããããŸãã¯å°ãã§ããšãã«ã®ãŒåé¡ãžè²¢ç®ããåœç€Ÿç念ã®ãæªæ¥ãã€ãããšãã«ã®ãŒãã«ãªã£ãŠãããããšèããŠããŸãã ãããŠç¬¬äžã®æ±ãšããŠæ²ãããœãªã¥ãŒã·ã§ã³äºæ¥ã«å¯ŸããŠããmyTOKYOGAS ããã£ããã«ããšãã«ã®ãŒã«é¢ããB2Cé åããã€ã¯ããµãŒãã¹åããããšã§ãæ§ã
ãªã¢ ã€ã㢠ãçŽ æ©ããµãŒãã¹åããã客ããŸã«å±ããããã®ã§ã¯ãªãã âââ ããããæªæ¥ã«åããŠãåœããŒã ãæ°ããªãã£ã¬ã³ãžãå§ãããšããããšããç»å£ãéããŠã¿ãªããŸã«äŒãã£ãã®ã§ãããäœããã§ãã ç»å£ããŠã®æ°ä»ã CloudNative Days ã³ãã¥ããã£ã§ã®ç»å£ã¯åããŠã§ããããéå¶ã®ã¿ãªããŸãšæ¥å ŽãããŠããã¿ãªããŸãäœãç©ºæ°æã¯æ¬åœã«ç©ããã§ããªã©ãã¯ã¹ããŠéããããšãã§ããŸããïŒãŸããæåã®è³ªåã§ããã ãããHelm ãš Kustomize ã®äœ¿ãåããã«ã€ããŠãç»å£çµäºåŸã«ãããããŠè²ã
ãšèª¿ã¹ãäžã§ãã©ãããèãæ¹ãããã®ãåŠã¶ããšãã§ããŸããã AWS ãªã©ãæäŸãã Chart ã Argo CD ã® Application å
ã§åŒã³åºãã®ãçŸç¶ã®äž»ãªçšéã§ãããHelm ã«ããã±ãŒãžã³ã°ããããšã®ã¡ãªãããš Kustomize ã®ã¡ãªãããæ¹ããŠæ¯ã¹ãŠã¿ãŠãããã¯ãã£ããèãçŽããæ¹ãè¯ããªãšæããŠããŸãã ä»ã«ããArgo CD Image Updater ã¯ç§ãæ€èšŒãPENDããããŸãŸãªã®ã§(æ±)ããããæ©ã
ã«è©ŠããŠã¿ãŠãæ¬ããã°ã幎æ«ã«åºããããªãšâŠïŒ ãããã«ããŠããã¿ãªããŸããå€ãã®ã質åãããã ããããšã倧å€ãããããããã¡ããåŠã³ãåŸãã°ããã«ãªã£ãŠããŸã£ãæ°ãããŠããæçž®ã§ãããä»åŸããã®ããã°ãã¯ãããã¢ãŠãããããç¶ããããªãšæ¹ããŠæããæ¬¡ç¬¬ã§ãïŒæå¹ã§éå¬ãããæ¬çªã«ãç§ãåå è
ãšããŠçŸå°ã«åããäºå®ã§ãã®ã§ãçŸå°ã§ãäŒãããéã«ã¯ä»²è¯ãããŠãã ãããšå¬ããã§ãð€ (åå€ç¥ã«ãåå ããŸãâŠïŒ ãããŠãã€ãã³ãçŸå°ã«è¡ãã®ã»ã»ã»è¯ãããã»ã»ã»ããšããããšã§ãä»å¹ŽåºŠã¯ããŒã ã®ä»²éãš Platform Engineering Kaigi ã ã£ãã SRE NEXT 2024 ã«ãåå ããããšæã£ãŠããŸãã®ã§ããã¡ãããŸãããã²æ¥çãè¶
ãã亀æµãåºæ¥ãããšæã£ãŠããŸãïŒ ããã§ã¯ãç°¡åãªã¬ããŒãã§ã¯ãããŸãããä»åã¯ãã®ãããã§ããããŸã§ãèªã¿ããã ããããããšãããããŸããïŒãŸã次åã®æçš¿ã§ãäŒãããŸãããð åœããŒã ã¯ç©æ¥µçãªæ¡çšãè¡ã£ãŠããŸãïŒãèå³ããæ¹ã¯ãã²ä»¥äžããå¿åãã ãããŸãïŒ ã¢ããªã±ãŒã·ã§ã³ãšã³ãžãã¢ã¯ãã¡ãããïŒ www.wantedly.com SRE ã¯ãã¡ãããïŒ www.wantedly.com
ããã«ã¡ã¯ããœãããŠã§ã¢ãšã³ãžãã¢ãªã³ã°ããŒã ã§ããŒã ãªãŒããŒå
Œãã ã¯ãªãŒã ãããŠãããŸãäžå³¶ã§ãã 4/16(ç«), 4/17(æ°Ž)ã§éå¬ããã DevOpsDays Tokyo 2024 ã«ç»å£ããŸããã®ã§ãä»åã¯ãã®ã¬ããŒãã§ãïŒ DevOpsDays Tokyo 2024 ã«ã¯ããŒã ã¡ã³ããŒã®çžå·ãåå ããŠããã¬ããŒãèšäºãæžããŠããŸãã®ã§ããã²ãã¡ããã芧ãã ããïŒ tech-blog.tokyo-gas.co.jp tech-blog.tokyo-gas.co.jp ç»å£ã®ãã£ãã ç»å£å
容 ç»å£ã§ãäŒãããããš Networking Party æåŸã« ç»å£ã®ãã£ãã æ±äº¬ã¬ã¹ ã§ã¯ä»éšã«ãããŠã ã¢ãžã£ã€ã« éçºãå
補åã«åãçµãã§ããããŒã ããããŸãããã®ããŒã ã«DevOpsDaysã®éå¶ãæäŒã£ãŠããæ¹ãããã ãã®æ¹ããDevOpsDaysãè¿ã
éå¬ãããã®ã§ããmyTOKYOGASã®å
補åã®äºäŸã§ããããŒã¶ã«ãåºããŠã¿ããé¢çœãã®ã§ã¯ãªãã§ããããïŒããšãããèªããããã ããããšããã£ããã§ããã æã
ã®ããŒã ãšããŠãmyTOKYOGASã®éçºãªã©å
補éçºããŒã ã®åãçµã¿ãçºä¿¡ããŠãããããšèããŠãããDevOpsã¯å
補åãå®çŸããããã«åãå
¥ãããã€ã³ãã§ããã£ãã®ã§ããã²æ©äŒãããã°ãšããããšã§ããããŒã¶ã«ãæåºãããããããããšã«ç»å£ã®æ©äŒãããã ãããšãã§ããŸããã ç»å£å
容 ä»åã¯ããšã³ãžãã¢ãŒãããã®DevOpsâ â ~ ãšã³ãžãã¢æåã®ãªãå€§äŒæ¥ã§ã®å
補éçºæåãžã®è»è·¡ ~ããšããããŒãã§ç»å£ããŸããã ç§èªèº«ã®ãã£ãªã¢ã®äžã§å
補åã«ã¯ããã€ãã®äŒç€Ÿã§åãçµãŸããŠããã ããæè¡çãªåãçµã¿ã®å¿
èŠæ§ã¯ãã¡ããã®ããšãããã«å ããŠæåãçµç¹ãšãã芳ç¹ã§ã®åãçµã¿ãéåžžã«éèŠã§ãããšæããŠããŸããã æè¡çãªåãçµã¿ã¯ã€ãã³ãå
ã§ãçŽ æŽãããç»å£ããããŸãããæã
ç¬èªã®ç¥èŠãšããŠäŒããããã®ã¯å
補åã«ãããæåãçµç¹é¢ã®è©±ã§ããããšèããæåãçµç¹é¢ã§ã®è©±ãäžå¿ã«ã話ãããŸããã speakerdeck.com ãšã³ãžãã¢ãŒãããã®DevOpsâ â ~ ãšã³ãžãã¢æåã®ãªãå€§äŒæ¥ã§ã®å
補éçºæåãžã®è»è·¡ ~ ç»å£ã§ãäŒãããããš æšä»ãæ¥æ¬ã®å€§ããªäŒæ¥ã§ãå
補åã«åãçµãã§ããäŒç€Ÿãå€ããªã£ãŠãããšæããŠããŸãã ç§èªèº«ãè€æ°ã®äŒæ¥ã§å
補åã«åãçµãã§ããŸããããã©ã®ãããªäœå¶ãæåã§éçºãé²ããŠããã®ãïŒãšããçµç¹é¢ã§ã®åãçµã¿ãéåžžã«éèŠã§ããã ããžã¿ã«åã®æä»£ã«ãããŠãšã³ãžãã¢ã®æŽ»èºãéèŠãªã®ã¯ãããŸã§ããããŸãããããããšåãããããããžãã¹ã¡ã³ããŒã®ååãçè§£ãåŸãããããšãããæåã®éžæããmyTOKYOGASã®å
補åã®æåã®èŠå ãšãªã£ãŠããŸãã ãã®äžã§ãç¹ã«ä»¥äžã®3ç¹ãmyTOKYOGASã®å
補éçºã§ã¯éèŠããŠåãçµãã§ããããã®ç¹ã«ã€ããŠå
·äœçãªåãçµã¿ãªã©ãäžå¿ã«ãäŒãããŸããã åœäºè
æèãšç±éã®éèŠæ§ æ±äº¬ã¬ã¹ ã¯ãšã³ãžãã¢ãäžå¿ãšããäŒç€Ÿã§ã¯ãããŸããããã®ããããšã³ãžãã¢ãéçºã«å¿
èŠãªããŒã«ãå
šç€Ÿçã«å°å
¥ãããŠããããã§ã¯ãããŸããã§ããã äžæ¹ã§ãã«ã³ãã¡ã¬ã³ã¹ã®ã¡ã€ã³ããŒãã§ãããDevOpsãå®çŸããã«ã¯ãCI/CDãæ§ç¯ããããã®ç°å¢ãããŒã«ãªã©ãå¿
èŠã§ãããããã倧ããªäŒç€Ÿã§å
šç€Ÿå°å
¥ãããŠããªãããŒã«ãªã©ãå°å
¥ããããšã¯å®¹æã§ã¯ãããŸããã ãããŠã ã¢ãžã£ã€ã« éçºãDevOpsãšãã£ãåãçµã¿ã¯ãä»ãŸã§ã®å€æ³šäžå¿ã® ã·ã¹ãã éçº ã®æãšã¯ç°ãªãæåãèãæ¹ãå¿
èŠã«ãªããŸããå
補åã«ãããŠã¯ããããã®å£ã«ã¶ã€ããããšãå€ãã®ã§ã¯ãªãããšæããŸãã æã
ããããã®å£ãä¹ãè¶ããããšãã§ããã®ã¯ãmyTOKYOGASã®ããŒã ã«ãããåœäºè
æèããšãç±éããç°å¢ãæåãå€ããŠãã£ãããšã倧ããªèŠå ã§ããã ãšã³ãžãã¢ãšããžãã¹ã¡ã³ããŒã®äžäœå å
補åãé²ããäžã«ãããŠæ³šæããªããšãããªãã®ã¯ãå
éšã«ãšã³ãžãã¢ãããŠãããžãã¹ãšã®è·é¢ãé ãã瀟å
ã§ã®åçºæ³šé¢ä¿ã«ãªã£ãŠããŸãããšã§ãã å
補åã®ã¡ãªããã¯ãããžãã¹ãšãšã³ãžãã¢ãäžäœåããäœå¶ãäœããããããšã ãšèããŠããŸãã ãããã£ãäœå¶ãäœããããšã§ããšã³ãžãã¢ããããžãã¹èŠç¹ãæã£ããããã¯ãã«å¯ŸããæèŠãåºãããããžãã¹ã¡ã³ããŒãšã®ã³ãã¥ãã±ãŒã·ã§ã³ã³ã¹ããäžããè¿
éã§æè»ãªéçºãå¯èœã«ãªããŸãã ãã®ãããmyTOKYOGASã®å
補åã§ã¯ãšã³ãžãã¢ãšããžãã¹ã¡ã³ããŒãäžäœãšãªããããã«éçºãé²ããŠãããŸããã ãã®çµæãããžãã¹ã¡ã³ããŒã®çè§£ãšããŸããŸãªååãåŸãããããšãéåžžã«å€§ããªæåèŠå ãšãªããŸããã 䟡å€ã«åºã¥ããŠè¡åããæå äºæ¥äŒç€Ÿã®å
補éçºã¯ãã·ã¹ãã ãäœãããšããç®çã§ã¯ãªãããèªãæžããã³ãŒããèšèšããã·ã¹ãã ããããã¯ãã«åæ ããããã®æ©èœãã©ãäºæ¥è²¢ç®ã§ããã®ãïŒãã ãããŠããããã¯ããéããŠäžã®äžãã©ãå€ããŠãããã®ãïŒããšãããããã¯ããçã¿åºã䟡å€ã«çç®ããŠéçºã§ããããšãé¢çœãã§ããããã¡ãªããã§ãããšèããŠããŸãã myTOKYOGASã®ããã³ããšã³ãããŒã ã§ã¯ãå質ãç¶æããªããæè»ãªéçºãå®çŸãããããããªãã®éã®ãã¹ãã³ãŒããå®è£
ããŠããŸãã äžæ¹ã§ãDevOpsãšããèãæ¹ã¯ãé·ã æ±äº¬ã¬ã¹ ã§åãã¡ã³ããŒã«ãšã£ãŠèããªããªããã®ã§ããããã¹ãã³ãŒãã®å®è£
ãCI/CDã®æ§ç¯ã¯æ©èœéçºãšã¯å¥ã«éçº å·¥æ° ãå¢ãããã®ã§ããã ããããmyTOKYOGASã®å
補åã«ãããŠã¯äŸ¡å€ã«åºã¥ããŠè¡åããããšãã§ããããããããããžãã¹ã«è¿œéã§ããæè»ãªéçºäœå¶ãæ§ç¯ããããšããšããäžé·æçãªèгç¹ã§äŸ¡å€ãçã¿åºãããã®ç®çã«åãã£ãŠã ããžãã¹ã¡ã³ããŒã®çè§£ãåŸãäžã§ããã¹ãã³ãŒãã®å®è£
ãCI/CDã®æ§ç¯ã®ãã©ã€ãªãªãã£ãäžãDevOpsã®å®çŸã«ã€ãªããããšãã§ããŸããã ãããã®ïŒã€ã®èгç¹ã¯ããšã³ãžãã¢æåã®ãªãäŒç€Ÿã§çè§£ãåŸãªããDevOpsããããŠå
補åãé²ããŠããäžã§éåžžã«éèŠãªèŠçŽ ã§ãã£ããšèããŠãããåããããªåãçµã¿ããããŠããæ¹ã
ã®åèã«ãªãã°ãšããæ³ãã§ç»å£ããŸããã Networking Party ç»å£åŸã®Networking Partyã§ã¯ãä»ç€Ÿã§å
補åã®åãçµã¿ã宿œãããŠããæ¹ã
ããå
補åã«åãçµã¿ãããå
補åã«èžã¿åããŠããªãæ¹ã
ãªã©æ§ã
ãªåå è
ã®æ¹ã
ãšãã£ã¹ã«ãã·ã§ã³ããããšãã§ããŸããã DevOpsDaysã¯ã¿ãªããŸã®ç»å£ã®å
容ãçŽ æŽããã䟡å€ã®ãããã®ã°ããã§ãããããã®Networking Partyãç»å£ã§ã¯ã䌺ãããããšãã§ããªãã£ãããæ·±ã話ãã§ãããããç»å£ãšåãããã貎éãªæéãšãªããŸããã æ§ã
ãªæ¹ã
ãšæ
å ±äº€æã§ããããšã¯éåžžã«åŠã³ã®ããæéã§ããããäœããç§èªèº«ã®ã¢ãããŒã·ã§ã³åäžã«ãã€ãªãããŸããã æåŸã« ä»åã¯ãçžãããDevOpsDays Tokyo 2024ã«ç»å£ã®æ©äŒãããã ãããšãã§ããŸããã ç»å£æ©äŒããã ãã£ãDevOpsDaysã®é¢ä¿è
ã®ã¿ãªããŸãããããšãããããŸããïŒ å
補åã«åãçµãŸããŠããæ¹ã
ãå
補åã«åãçµãããšãããŠããæ¹ã
ã®åèã«å°ãã§ããªãã°å¹žãã§ãã ãããŠããšã³ãžãã¢ã®ã¿ãªããŸã«ãäºæ¥äŒç€Ÿã§ãšã³ãžãã¢ãããã®ã楜ãããïŒããšããããšãäŒããã°å¬ãããªãŒãšæã£ãŠãããŸãïŒ DevOpsDaysã¯ç»å£è
ãšããŠãåå è
ãšããŠãåŠã³ã®ããçŽ æŽãããã«ã³ãã¡ã¬ã³ã¹ã§ããã æã
å
補éçºããŒã ã®åãçµã¿ã¯ããããããç¶ããŠãããŸãïŒ æ¥å¹ŽããŸãããããŒã¶ã«ãæåºããŠç»å£æ©äŒãåŸããããããDevOpsDaysã§åŸãåŠã³ã掻ãããŠä»å¹ŽåºŠãé 匵ã£ãŠãããããšæããŸãïŒ ç§ãã¡ã®ããŒã ã§ã¯ããšãã«åã仲éãç©æ¥µçã«åéããŠããŸãããœãããŠã§ã¢ãšã³ãžãã¢ã®ã¿ãªããSREã®ããžã·ã§ã³ãããããŸãã®ã§ãå°ãã§ãèå³ããæã¡ããã ããŸãããããã²ã«ãžã¥ã¢ã«é¢è«ãããå¿åãã ããïŒ Application Developers www.wantedly.com SRE www.wantedly.com æåŸãŸã§ãèªã¿ããã ãããããšãããããŸãã!ïŒ
ã¿ãªãããããã«ã¡ã¯ïŒmyTOKYOGAS ããã³ããšã³ãããŒã ã«æå±ããŠãããŸãçžå·ãšç³ããŸãã2024幎4æ16æ¥ã17æ¥ã«ã DevOpsDays Tokyo 2024 ããéå¬ãããŸãããïŒç§ã¯åããŠã®ã«ã³ãã¡ã¬ã³ã¹åå ã ã£ãã®ã§ããããã¯ã¯ã¯ã¯ããªããåå ããŠããŸããã  ã¯ããã« ãµãŒãã¹éçšã¯ããŒã«ãèœãšããªãç«¶æ : 2009幎DevOpsDays ã®èªçãšç§ã®èº«ã®åãã®è©± Value-Driven DevOps Teamã䟡å€è²¢ç®ã倧åã«ããããŒã ããã©ãçããDevOpsãã¹ããã©ã¯ãã£ã¹ã éèæ¥çã§è€æ°ããŒã DevOpsãç®æããŠå¥®éããŠãã話 ãŸãšã  ã¯ããã« ä»åã®èšäºã§ã¯ãDevOpsDays Tokyo 2024ã®Day2ã«åå ããåŠã³ãçºä¿¡ããŠãããŸããDay1åå ã¬ããŒãã¯å¥ã®èšäºã§æžããŠããŸãã®ã§ãã²ã芧ãã ããïŒ tech-blog.tokyo-gas.co.jp ãŸããåœããŒã ã®å
補éçºã®æ§åã玹ä»ããèšäºããããŸãã®ã§ãã¡ããã芧ãã ããïŒ tech-blog.tokyo-gas.co.jp ã§ã¯ãDay1ã«åŒãç¶ãåŠã³ãåŸãã»ãã·ã§ã³ã«ã€ããŠæžããŠãããŸãã  ãµãŒãã¹éçšã¯ããŒã«ãèœãšããªãç«¶æ : 2009幎DevOpsDays ã®èªçãšç§ã®èº«ã®åãã®è©± ãã®ã»ãã·ã§ã³ã§ã¯ãDevOpsã®æŽå²ãDevOpsãšã¯ããããäœãã«ã€ããŠç¥ãããšãã§ãã倧倿æçŸ©ã§ããã ã»ãã·ã§ã³ã®äžã§ã Flickr 10+ Deploys per Dayã® ããŒã¯ ãåãäžããããŠããããã®äžã§ããéçšããŒã ã®ä»äºã¯ããµã€ããå®å
šã§é«éã«ä¿ã€ããšã§ã¯ãªããããžãã¹ãå¯èœã«ããããšã§ãããããšããèšèãå¿ã«æ®ããŸããããŸãããããžãã¹ãæåãããããã«ã¯ããŠãŒã¶ãŒã®ããŒãºã®å€åã«å¯Ÿå¿ããŠããå¿
èŠããããŸããããããå€åã¯ã»ãšãã©ã®éå®³ã®æ ¹æ¬åå ã§ãããããã®ããã«å¿
èŠã«å¿ããŠå€åãèµ·ããããããªããŒã«ãæåãæ§ç¯ããããšãéèŠãã ãšèª¬æãããŠããŸãããã·ã¹ãã ã¯ãã äœãã ãã§ã¯ãªããããžãã¹ãæåãããããã®ãã®ã§ãããç¶ç¶çãªäŸ¡å€åµåºã«ã¯DevOpsãå¿
èŠäžå¯æ¬ ã§ããããšãæ¹ããŠå®æããŸãããããã«ãDevOpsæåãæ ¹ä»ãããããã«ã¯ããããã¯ãã«é¢ããå
šå¡ãåœäºè
æèãæã£ãŠåžžã«ãããã¯ããæ¹åããŠããå§¿å¢ãéèŠã ãšåèªèããŸããã ã»ãã·ã§ã³ã®äžã§æãå°è±¡ã«æ®ã£ãã®ã¯ããã©ã®ãããªå€æŽã§ããµã€ãã®é害ãåé¡ãåŒãèµ·ãããªããšããèªä¿¡ãé«ããããšããããŠé害ãçºçããå Žåã«ãããããè¿
éã«å埩ããèœåãé«ããããšã倧åã§ããããšããå
容ã§ããç§ã®æå±ããããŒã ã§ã¯ããã¹ãã³ãŒãã«ããæ©æã®åé¡çºèŠããBlue/Greenãããã€ã«ãããªãªãŒã¹ãªã¹ã¯ã®äœæžãªã©ã«åãçµãã§ããŸããããããªããããŸã ãŸã åãçµããŠããªãç®æãããããã®èãæ¹ãããæèããŠä»åŸã®åãçµã¿ãç¶ç¶ããŠããããšæããŸãã speakerdeck.com Value -Driven DevOps Teamã䟡å€è²¢ç®ã倧åã«ããããŒã ããã©ãçããDevOpsãã¹ãã ã©ã¯ ãã£ã¹ã ãµãŒãã¹ããŒã³ãåŸã«DevOpsã«åãçµã¿ããŒã ããã©ãçãããã¹ãã ã©ã¯ ãã£ã¹ã«ã€ããŠã®ã»ãã·ã§ã³ã§ããã仮説æ€èšŒã«ãŒããçŽ æ©ãåãããã®ä»çµã¿äœãã«åãçµãã§ããããã©ã³ã¯ããŒã¹éçºãæ¡çšããŠããããã§ãããŸãããã¿ã³äžã€ã§ãããã€ãã§ãããããªç°å¢ãæŽåãããã£ãŒãã£ãŒãã©ã°ãå°å
¥ããããšã§ãæ¯æ¥ã®ãããã€ãå®çŸãããšã®ããšã§ããããŸããããŒã ã®ç®æãæ¹åæ§ãæç¢ºã«ããããã«ã ã€ã³ã»ãã·ã§ã³ ããããäœæããå»çã®äžçãå€é©ããŠããããã«ã䟡å€ãå±ããããšãç®æšã«æ²ããŠãããšãã£ããã£ãŠããŸãããããŒã³ãåã¯éçºã«æ³šåããŠããŸããããããŒã³ãåŸã¯ä»®èª¬æ€èšŒã«ãŒããçŽ æ©ãåããŠãããã確èªããããã«ãæ¯é±æ¯ãè¿ããè¡ã£ãŠããããã§ããæ¯ãè¿ãã§ã¯ãå
·äœçãªã¢ã¯ã·ã§ã³ãåºãããšãããã察話ãéããŠçžäºçè§£ãæ·±ããåŠã³ãæå€§åããããšãéèŠããŠãããšã®ããšã§ããã ç§ã®æå±ããããŒã ã§ã¯ããããã€ã®èªååã¯å®çŸããŠãããã®ã®ãä»ã·ã¹ãã ãšã®æ¥ç¶ãã¹ãããªãªãŒã¹ã®å¿
èŠæ§ããããããã€æé ãè€éã«ãªã£ãŠããŸããäžéšèªååãäžéšæåãšããç¶æ³ã§ããããŸã ãŸã æ¹åã®äœå°ããããªãšæã£ãŠããŸãããããã®åé¡ãæ¹åããããã·ã³ãã«ã«ãããã€ã§ããä»çµã¿ãæ§ç¯ããããšã§ãããã€é »åºŠåäžã«åãçµãã§ãããããšèããŠããŸãããŸãããã£ãŒãã£ãŒãã©ã°ã«ã€ããŠã¯ãçŸæç¹ã§ã¯å°å
¥ããŠããŸãããããããã€é »åºŠã®åäžã«èª²é¡ãæããŠãããããå°å
¥ã«ãã解決ã§ãããã©ãããããããããŒã ã«é©ããŠããããæ€èšããããšæããŸãããæ¯ãè¿ãã®ææ³ã«é¢ããŠã¯ã次ã®ã¢ã¯ã·ã§ã³ãåºãããšã«æèãåã£ãŠãããããããªããšæ°ã¥ããããŸããã察話ãéèŠããããšãããŒã ã«æµžéãããå®è·µããŠãããããšèããŠãããŸãã speakerdeck.com  éèæ¥çã§è€æ°ããŒã DevOpsãç®æããŠå¥®éããŠãã話 ãã®ã»ãã·ã§ã³ã§ã¯ãéèæ¥çã§è€æ°ã·ã¹ãã ã®éçšä¿å®ãšæ°èŠéçºãæ
åœããŠããéçºããŒã ãããŒããã ã¢ãžã£ã€ã« ãšDevOpsãæšé²ããäžã§çµéšããæåäºäŸãšå€±æäºäŸãå
±æããŠãããŸããã20以äžã®ã·ã¹ãã ã50åèŠæš¡ã®ã¡ã³ããŒã§éçºéçšããŠããå¿
èŠããããšããç°å¢ã§ã©ã®ããã«ããŒã ãåå²ã ã¹ã¯ã©ã éçºãããŠãã£ããã話ããŠãã ãã£ãŠããŸããã4ã€ã®éçºããŒã ãš1ã€ã®éçšããŒã ã«åå²ãäžèŠãªäŒè°äœãæžãããŠãã培åºçã«ç¡é§ãçããããªåãçµã¿ãè¡ã£ããšã®ããšã§ããã ç¹ã«å°è±¡ã«æ®ã£ãã®ã¯ã ã¹ã¯ã©ã ããŒã éã®æ
å ±å
±æã®åãçµã¿ã§ããåããŒã ãåãçµãã ããšãæ¹åããããšãå
±æããå Žãèšããããšã§ãããŒã éã§çžäºã«åŠã³åããæé·ã§ããç°å¢ãäœãåºããŠãããšãŠãè¯ãåãçµã¿ã ãªãšæããŸããã ããŒã ã®èŠæš¡ãæ§æãé©åã«èšèšããã³ãã¥ãã±ãŒã·ã§ã³ãšæ
å ±å
±æãä¿é²ããããšã®éèŠæ§ãåèªèãããããå
容ã§ããã  ãŸãšã DevOpsDays Tokyoãžã®åå ã¯ç§ã«ãšã£ãŠåããŠã®çµéšã§ãããããã®ïŒæ¥éã§åŸãããåŠã³ã¯éåžžã«å€ãããšãŠãææçŸ©ãªæéãéããããšãã§ããŸãããDevOpså®è·µè
ãã¡ã®ãçã®æåäºäŸã倱æäºäŸãèãããšã§è¯ãåºæ¿ãåããŸãããmyTOKYOGAS ããã³ããšã³ãããŒã ã§ã¯ãCI/CDã«ãããŠèªåãã¹ãã èåŒ±æ§ èšºæãå®è¡ãããBlue /Greenãããã€ã«ãã£ãŠãªãªãŒã¹ãªã¹ã¯ãäœæžãããŠããŸããããã«ãDatadogãçšããŠã¢ããªã±ãŒã·ã§ã³ãåžžã«ç£èŠããç°åžžãããã°æ€ç¥ããä»çµã¿ãæŽã£ãŠããŸããããããªããããŸã ãŸã æ¹åã®äœå°ããããä»åŸåãçµã¿ãã課é¡ããããŸããã«ã³ãã¡ã¬ã³ã¹ã§åŸãç¥èŠããã³ããæå€§éã«æŽ»çšããä»åŸãDevOpsã®å®è·µã«åãçµãã§ããããã§ãïŒ æåŸã«ãªããŸããããã«ã³ãã¡ã¬ã³ã¹ãžã®åå ã快諟ããŠãã ãã£ãããŒã ã®çããã«æè¬ããããŸãã貎éãªæ©äŒãäžããŠãã ãããæ¬åœã«ããããšãããããŸããïŒ Â ç§ãã¡ã®ããŒã ã§ã¯ããšãã«åã仲éãç©æ¥µçã«åéããŠããŸããå°ãã§ãèå³ããæã¡ããã ããŸãããããã²ã«ãžã¥ã¢ã«é¢è«ãããå¿åãã ããïŒ Application Developers www.wantedly.com SRE www.wantedly.com ããã§ã¯ãæåŸãŸã§ãèªã¿ããã ããããããšãããããŸããïŒ
ããã«ã¡ã¯ãmyTOKYOGAS ããã³ããšã³ãããŒã ãæ
åœããŠããäžå¶ã§ãïŒ æ¬çš¿ã§ã¯ãmyTOKYOGASã®å
補éçºã«åãçµããŠã§ãã¢ããªã®ãšã³ãžãã¢ããŒã ãã©ã®ããã«ä»ããŒã ãšé£æºããªããæ°èŠæ©èœã®éçºãè¡ãªã£ãŠããããã玹ä»ãããŠé ããã°ãšæããŸãïŒ æ°èŠæ©èœéçºã«ã€ã㊠ããžãã¹ããŒã ãšã®é£æº ã¹ããªã³ãã»ãã©ã³ãã³ã° ãã€ãªãŒã»ã¹ã¿ã³ãã¢ãã ãªãã¡ã€ã³ã¡ã³ã ã¹ããªã³ãã»ã¬ãã¥ãŒ ã¬ããã¹ãã¯ãã£ã ãããã« æ°èŠæ©èœéçºã«ã€ã㊠æã
ãæ¥ã
éçºãä¿å®ã»éçšãè¡ã£ãŠããmyTOKYOGASã¯ãçŸåšããããã®ã客ããŸããã質åããèŠæãé ããŠãããŸããããããåããŠãšã³ãžãã¢ããŒã ã¯ãããžãã¹ããŒã ãšå¯ã«ã³ãã¥ãã±ãŒã·ã§ã³ãåããªãããéçº å·¥æ° ãæäŸã§ãã䟡å€ãæåŸ
ãããã³ã¹ãåæžå¹æãªã©ãèæ
®ããŠåãçµãã¹ã課é¡ã®åªå
床ã«ã€ããŠè°è«ããŠããŸããæ°èŠæ©èœéçºãé²ããŠããéã«ã¯ãåæãšããŠãããããªããã®æ©èœã远å ããå¿
èŠãããã®ããã客ããŸèŠç¹ã§ã©ã®ãããªäžäŸ¿ãè§£æ¶ãããã®ãªã®ããšãã£ãèæ¯ãåæ©ãããžãã¹ããŒã ãšåæ¹ã«èªèãåãããªããé²ããŠããããåªããŠããŸããã¢ãã³ãªæè¡ãæ¡çšããŠããããžãã¹äžäŸ¡å€ã«ç¹ãããªããã®ãçã¿åºããŠããŠã¯æ¬æ«è»¢åã§ããåãäºæ¥éšå
ã«å
補éçºããŒã ãç«ã¡äžããèæ¯ã®1ã€ãšããŠãæå±ããããŒã éã®å£æ ¹ãç¡ããã¡ã³ããŒå
šå¡ããµãŒãã¹ãäºæ¥ã®äŸ¡å€ã念é ã«çœ®ããªãããããŒã 暪æçã«é£æºããŠæ©èœéçºãè¡ãªãäœå¶ãäœãå¿
èŠããã£ãããšãæãããããšæããŸããããžãã¹ããŒã ããã®èŠæã«å¿ããŠããã éé²ã«èšãããéãã®ãã®ãéçºããã®ã§ã¯ãªãããããã¯ãå¿åã§èªç€ŸãµãŒãã¹ã®éçºã«ã³ãããããŠãããç°å¢ã§ã¯ãªãããšèããŠãããŸãã ããžãã¹ããŒã ãšã®é£æº æã
ãšã³ãžãã¢ããŒã ã¯ã ã¹ã¯ã©ã ã€ãã³ãã®äžã§ã¹ããªã³ãã»ãã©ã³ãã³ã°ããã€ãªãŒ ã¹ã¿ã³ãã¢ãã ãªã©ã®å Žã§ããžãã¹ããŒã ãšé£æºããªããéçºãè¡ãªã£ãŠããŸããããããã® ã¹ã¯ã©ã ã€ãã³ãã®äžã§ãã©ã®ããã«éçºãé²ããŠããããç°¡åã«ã玹ä»ãããŠé ããã°ãšæããŸãïŒ ã¹ããªã³ãã»ãã©ã³ãã³ã° ãŸãæåã«ãéçºãå¿
èŠãªèæ¯ãéçºããã¹ã³ãŒãã®æŽçãæ©èœã®æŠèŠããªã©ã«ã€ããŠãã¹ããªã³ãã»ãã©ã³ãã³ã°ã®å Žã§ããžãã¹ããŒã ãã説æããŠé ããŸãã æ¥åãããŒå³ã®äŸ ãã®ã¹ããªã³ãã»ãã©ã³ãã³ã°ã®æ®µéã§æ¬æ©èœãå®éã«äœ¿ããããŠãŒã¶ãŒã¹ããŒãªãŒã®å
šäœã€ã¡ãŒãžãmyTOKYOGASãµããŒãçªå£ãã客ããŸã®èŠç¹ã§ã©ã®ãããªäžäŸ¿ãæ¥åè² è·ãªã©ãè§£æ¶ããæ©èœãªã®ããšãã£ãæ¥åçãªå
容ã«å¯Ÿããè§£å床ãäžãããŸãããŸããç»é¢ããšã«è©³çŽ°ãªæ©èœèŠä»¶ãéæ©èœèŠä»¶ãªã©ãäžç·ã«ç¢ºèªããŠãããŸãã ç»é¢ãããšã®èŠä»¶ãæŽçãã Figma ã«ããç»é¢é·ç§»ãããŒã®ç¢ºèª ãŸããåªå
åºŠãæ€èšããäžã§æ¬æ©èœã远å ãããããšã§ã©ã®ãããã®æ¹å广ãèŠèŸŒããã®ããšãã£ãè²»çšå¯Ÿå¹æã®èгç¹ã§ãè°è«ããŸãããšã³ãžãã¢ããŒã ã¯å¿
èŠãªéçº å·¥æ° ã倧ãŸãã«èŠç©ãããããžãã¹ããŒã ã¯ã©ã®ãããã®æ¹å广ãèŠèŸŒããã詊ç®ããŸãããšã³ãžãã¢ããŒã ã§ã¯ãéçºã¿ã¹ã¯ã®çžå¯ŸèŠç©ããã« Hatjitsu ãšãããã©ã³ãã³ã°ããŒã«ãŒã·ã¹ãã ãå©çšããŠããŸããçžå¯Ÿåã®åºæºãšãªãã¿ã¹ã¯ã«ã€ããŠããŒã ã®ã¡ã³ããŒéã§éçº å·¥æ° ã®èªèãåãããäžã§ãæ°èŠæ©èœã®ã¿ã¹ã¯ã«å¯ŸããèŠç©ããã®ç²ŸåºŠãé«ããããããæ¹åããªããåãçµãã§ããŸãã ãã©ã³ãã³ã°ããŒã«ãŒã䜿ã£ãéçºã¿ã¹ã¯ã®çžå¯ŸèŠç©ãã ãã€ãªãŒã» ã¹ã¿ã³ãã¢ãã ãããæ°èŠæ©èœéçºãé²ããŠããæ®µéã«å
¥ããšããã€ãªãŒã» ã¹ã¿ã³ãã¢ãã ã®å Žã§éçºã®é²æç¢ºèªãè¡ããªãããèŠä»¶ã®å確èªãªã©ãåæã«è¡ãªã£ãŠãããŸãã Linearã«ããéçºã¿ã¹ã¯ã®é²æç¢ºèª å®éã«éçºãé²ããŠããäžã§èŠä»¶ã®äžè¶³ãèæ
®æŒããæããã«ãªãããšãããããšæããŸããããã®ãããªå Žåã§ãããžãã¹ããŒã ãšé£æºããªããæ¥åçãªèгç¹ãã客ããŸèŠç¹ã§ã®åœ±é¿ãèæ
®ããªããè¿
éãã€æè»ã«å¯Ÿå¿æ¹éã倿ããéçºå¹çãäžããªãããåæ¹ã«é£æºããããäœå¶ãæŽã£ãŠãããšæããŸãããŸãããã€ãªãŒã» ã¹ã¿ã³ãã¢ãã ã®äžã§ã¯ãæ¯åéè«ã®æéãèšããããšã§ å¿çç å®å
šæ§ãäžããªãããèªç±ã«çºèšããããé°å²æ°äœããè¡ãªã£ãŠããŸããæã
ã®ãšã³ãžãã¢ããŒã ã§ã¯åºæ¬çã«åšå®
ã§éçºæ¥åãè¡ã£ãŠãããããéè«ãããæ©äŒãæå³çã«äœããªããšäŒè©±ããæ©äŒãããŸããããŸããããã®ãããªèª²é¡æèããæ¥ã
ã®ãã€ãªãŒ ã¹ã¿ã³ãã¢ãã ã®å Žã§è»œãéè«ã®æéãèšããŠã話ããããã¿ãããã°äºåã«èšèŒããŠé ããããç¹ã«ãªãå Žåã¯ä»æ¥ã®æ°åã5段éã§å
¥åããŠããã£ãŠäœèª¿ãæªããªãããªã©ã確èªããããã«ããŠããŸãã ãªãã¡ã€ã³ã¡ã³ã ã¹ããªã³ãã»ãã©ã³ãã³ã°ã®æ®µéã§ã¯èŠä»¶ã決ãŸã£ãŠããªãã£ãæ©èœãå·®ã蟌ã¿ã®ã¿ã¹ã¯ãªã©ã«å¯Ÿå¿ããªããã°ãªããªãããšãããããšæããŸããæã
ã®ããŒã ã§ã¯ãã®ãããªã¿ã¹ã¯ã«ã€ããŠãªãã¡ã€ã³ã¡ã³ãã®å Žã§éçº å·¥æ° ã®çžå¯ŸèŠç©ãããåªå
床ã®é äœã¥ããè¡ãããã«ããŠããŸããçªçºçãªå·®ã蟌ã¿ã®ã¿ã¹ã¯ãªã©ã«å¯Ÿå¿ããå¿
èŠããã£ãéã§ãããã©ã³ãã³ã°åœåã«æããã¹ã±ãžã¥ãŒã«ã倧ãã厩ããªãããã«åªå
床ã調æŽããªããéçºãé²ããŠãããŸãã ã¹ããªã³ãã»ã¬ãã¥ãŒ ã¹ããªã³ãã»ã¬ãã¥ãŒã§ã¯ãããžãã¹ããŒã 以å€ã®ã¡ã³ããŒã亀ããªããå
šå¡ã§ã¬ãã¥ãŒãè¡ããŸãããã®æ®µéã§æ©èœéçºãå®äºããŠããã°å®éã«éçºç°å¢ã§å®è£
ããæ©èœãåãããŠããããªãããæ©èœé¢ããã¶ã€ã³èгç¹ã§äžåããªããã確èªããŠãããŸãããŸããè€æ°ã®ã¹ããªã³ãã«ãŸããã£ãŠå®æœãããããªå€§åã®æ¡ä»¶ã«ã€ããŠã¯ãéäžãŸã§ã®çµéã確èªããªãããä»åŸæ¹åã§ããç¹ãä»ã«æ€èšãã¹ãé
ç®ããªãããè°è«ããããšã§ããããã¯ããããè¯ããã®ã«ä»äžããŠãããŸãã ã¬ããã¹ãã¯ãã£ã ã¹ããªã³ãã®æçµæ¥ã¯ãã¡ã³ããŒå
šå¡ã§ã¬ãããéå¬ããŠæ¯ãè¿ããè¡ããŸããåé¡ããã£ãããšã®æ¯ãè¿ããè°è«ã¯ãã¡ããéèŠãªããšã§ãããæè¬ã®ã³ã¡ã³ããããžãã£ããªãã£ãŒãããã¯ã«ã€ããŠããç©æ¥µçã«æžããŠé ããŠããããã«æããŸãããŸããåé¡ãšããŠåãäžããããäžã§ç¹ã«åªå
ããŠè§£æ±ºãã¹ããã®ã«ã€ããŠã¡ã³ããŒã§æç¥šãè¡ããæ¬¡åãŸã§ã«å®è¡ãã察å¿çã«ã€ããŠè°è«ããå
·äœçãªã¢ã¯ã·ã§ã³ã«èœãšã蟌ãã§åãçµãããã«ããŠããŸãã Miroãå©çšããã¬ããã¹ãã¯ãã£ã ãããã« ä»å㯠ã¹ã¯ã©ã ã€ãã³ããéããŠãšã³ãžãã¢ããŒã ãã©ã®ããã«ããžãã¹ããŒã ãšé£æºããªããå
補éçºãè¡ã£ãŠããããã玹ä»ãããŠé ããŸããïŒ ã¹ã¯ã©ã 㯠ã¢ãžã£ã€ã« ãªéçºãå®çŸããããã®ææ®µã®1ã€ã§ãã£ãŠãç®çã§ã¯ãããŸããããšã³ãžãã¢å人ãšããŠã®æé·æ©äŒãéèŠããªããããããŒã å
šäœãšããŠã®çç£æ§ãæå€§åã§ãããããä»åŸã詊è¡é¯èª€ããªããæ¹åãããŠãããããšæã£ãŠãŸããçŽè¿ã§ã¯ãæ¥ã
ã®éçºæ¥åããã³ããªåããŠã¢ãããŒã·ã§ã³ãäžããªãããã«ããããã«æ¥åæéã®äžéšãå©çšã㊠ãªãã¡ã¯ã¿ãªã³ã° ãè¡ã£ãããæè¡æžã茪èªããäŒãéå¬ãããªã©ã®åãçµã¿ãæ€èšããŠããŸãã ç§ãã¡ã®ããŒã ã§ã¯ããšãã«åã仲éãç©æ¥µçã«åéããŠããŸããå°ãã§ãèå³ããæã¡ããã ããŸãããããã²ã«ãžã¥ã¢ã«é¢è«ãããå¿åãã ããïŒ Application Developers www.wantedly.com SRE www.wantedly.com æåŸãŸã§ãèªã¿ããã ãããããšãããããŸããããŸã次åã®èšäºã§ãäŒãããŸãããïŒ
ã¯ããã«ãã¯ãããŸããŠããªãã³ã°æŠç¥éšSREããŒã ã®ãããããïŒæ¬åïŒéæšïŒãšç³ããŸãã 2024幎4æ1æ¥ããåŒããŒã ã«ãžã§ã€ã³ããããããã®æ°äºº *1 ã§ãã å
¥ç€ŸããçŽäžã¶æéããŸããŠãçŸåšãçãã ãããã®æ
å ±éãšå§åçåœäºè
æèãæã£ãŠããåŒç€Ÿã®åªç§ãªãšã³ãžãã¢ãã¡ã«æ¥ã
å§åãããªãããäžå»ãæ©ãäºæ¥ã«è²¢ç®åºæ¥ãããã«æ©ãé²ããŠããŸãã 倧ããªè²¢ç®ãåºæ¥ãŠããããšã¯æªã èžã匵ã£ãŠèšããªãã®ã§ããå
¥ç€ŸãããŠã§æ¥åç¥èãç¡ããŠããŸãã¯å°ããè²¢ç®ããã³ãã³ããšå§ããŠã¿ããããšããããšã§åŒããŒã ã«ãããTerraformããŒãžã§ã³ã¢ããã®æ¹éãšéçšã«ã€ããŠæŽçããã®ã§ã玹ä»ããããŸãã ã玹ä»ã®åã«ç³ãäžããŠããããããšãšããŠãä»åã¯ããŒãžã§ã³ã¢ããã®éçšããããªããããŒãªããšãããŠã¯ãŒã«ã«èªååããŠãã£ããïœ ã¯ã€ã«ãã ãïœ ãšããå
容ã§ã¯ããããŸããããããŸã§çŸç¶ã¯ãããªã£ãŠããããããããããšãèæ
®ããŠãããã£ãŠããŒãžã§ã³ã¢ããããŠããããšã«ãªã£ãããšããããšãæ·¡ã
ãšèª¬æããæ³¥èãå
容ãšãªã£ãŠããŸãããŸãã察象ã®èªè
ã¯æ¢ã«Terraformãå©çšããŠããäžè¬çãªæ©èœãçšèªãææ¡ããŠããæ¹ã
ãšãªããŸãã TerraformããŒãžã§ã³ã¢ããã¡ãããšåºæ¥ãŠãŸããïŒ TerraformããŒãžã§ã³ã¢ããã®æ¹é çµè« èæ¯ Terraform Version Provider Version .terraform.lock.hcl ã®åãæ±ã ããŒãžã§ã³ã¢ããã®æµããããªãã¡éçš 0. ããŒãžã§ã³ã¢ãããµã€ã¯ã« 1. ã¢ããããŒãæ
å ±ã®ç¢ºèª 2. äºåTerraform Planã®ããã®ã³ãŒãæŽæ° 3. äºåTerraform Plançµæç¢ºèª 4. æ¢å®ãã©ã³ããžã®Pull Request, Merge 5. Terraform Apply, åäœç¢ºèª å
šäœå ããããåãçµãã§ããããš çµããã« TerraformããŒãžã§ã³ã¢ããã¡ãããšåºæ¥ãŠãŸããïŒ ãããªãã§ããæ¬èšäºããèªã¿é ããŠããããã€æ¥åã§TerraformãæŽ»çšãããŠããæ¹ã
ã«èããŠã¿ããã®ã§ãã ãTerraformããŒãžã§ã³ã¢ããã¡ãããšåºæ¥ãŠãŸããïŒã ããã§èšãTerraformããŒãžã§ã³ã¯äžèšã®ããšãæããŸãã Terraform VersionïŒTerraformæ¬äœã®ããŒãžã§ã³ ïŒ Provider Version ãåœç¶åºæ¥ãŠããããšããæ¹ã§ããã°è²Žéãªãæéãå²ããŠãŸã§æ¬èšäºãèªãå¿
èŠã¯ãªãããšæããŸãã ç§ã®ä»ãŸã§ã®çµéšã§ããšå€§äœãäžèšã®ãããªæãã§ãããïŒ GitHub ActionsãAzure Pipelinesãªã©ã®CDãã€ãã©ã€ã³ãŸãã¯HCP TerraformïŒæ§Terraform CloudïŒãå©çšããŠããåæã§ããïŒ ããŒãžã§ã³åºå®ïŒ = ïŒãããŠãµãŒãã¹ããŒã³ãæãã塩挬ããéãè
°ãäžããŠã®ããŒãžã§ã³ã¢ããã¯å¹ŽäžåçšåºŠã ç·æ°æº¢ããïŒæ»èªïŒåžžã«ææ°ããŒãžã§ã³ïŒ >= ïŒã§terraform initããã¡ãã terraform.lock.hcl 㯠.gitignore ã«æå
¥æžã¿ã æžããŠãŠèªåã§ããªããªããã³ããå¹ããŠãããªãšã¯æã£ã2ç¹ç®ã¯ãããŸã§èŠãããªãã£ãã§ãã1ç¹ç®ã¯ãŸããŸãééããŸããã ãããŠæŒããªãåŒããŒã ã1ç¹ç®ã®ç¶æ
ãšãªã£ãŠããŸãããããã¯ãã åã«ããŒãžã§ã³ã¢ãããããããšããŠããªãããšããããã§ã¯ãªãããŒã ã¡ã³ããŒãå°äººæ°ããã€ä»ã«åªå
床ãé«ãã¿ã¹ã¯ãããæãåã£ãŠããªãç¶æ
ã§ããã åœç¶ããã®ãŸãŸæŸçœ®ãããšåé¡ã¯çºçããŸããç¹ã«äžèšã®ç¹ãæ©ãŸãããã©ãããåé¡ãšãªããŸãã Terraform VersionãããŒãžã§ã³ã¢ããããŠäŸ¿å©ãªæ©èœããªãªãŒã¹ãããŠã䜿ããªãæ¥ã
ãimportãããã¯ã®for_eachãã¡ãã£ã¯ãã£äŸ¿å©ã§äœ¿ããããªå Žé¢ãããã®ã ãã©äœ¿ãããšãåºæ¥ãªãâŠãšã terraform plan ãããç¥ããªãå·®åãåºãŠãããåå ã¯Prover Versionã®ã¢ããã°ã¬ãŒãã§ãã€ã®éã«ããã©ã¡ãŒã¿ã®æ¢å®å€ãå€ãã£ãŠããããæ°èŠãã©ã¡ãŒã¿ã远å ãããŠããããšã äžèšã®åé¡ãè§£æ¶ããŠããŒã ã¡ã³ããŒãåªé
ãªTerraformã©ã€ããéãããã«ãŸãã¯ç¡çãªãããŒãžã§ã³ã¢ããåºæ¥ããããªæ¹éãæ€èšããŸããã TerraformããŒãžã§ã³ã¢ããã®æ¹é çµè« ãŸãã¯ããŒãžã§ã³ã¢ããæ¹éã¯äžèšã®éããšãªããŸããã ã¡ãžã£ãŒããŒãžã§ã³ã¯ç Žå£ç倿ŽïŒBREAKING CHANGEïŒã廿¢ïŒDEPRECATIONSïŒã䌎ãå¯èœæ§ããããããäžèšã察å¿ããäžã§ããŒãžã§ã³ã¢ãããããã Release Notesã§ããŒãžã§ã³ã¢ããã«ãã圱é¿ã®èª¿æ» 圱é¿ãããå Žåã¯ãããŒãžã§ã³ã¢ããã®PR (Pull Request) ã«ã³ãŒãä¿®æ£ãå«ãã ããŒãžã§ã³ã¢ããã®ããã®å¯Ÿå¿æéã¯äžäœäºææ§ã®æç¡ãšåœ±é¿åºŠåããããŒã ã¡ã³ããŒå
šäœã®ã¿ã¹ã¯ç¶æ³ãèæ
®ããŠããŒã ãã©ã³ãã³ã°äŒ *2 ã§æ±ºããã ãã€ããŒããŒãžã§ã³ã«ã€ããŠãäžèšãšåæ§ã®å¯Ÿå¿ããããäœããã¡ãžã£ãŒããŒãžã§ã³ãšã¯ç°ãªã宿çãªããŒãžã§ã³ã¢ãããµã€ã¯ã«ãèšããã ãããããŒãžã§ã³ã«ã€ããŠã¯ åŸæ¹äºæ æ§ãæ
ä¿ããããããåžžã«ææ°ã®ããŒãžã§ã³ãç¶æããã 以éã§äžèšã®æ¹éã«è³ã£ãèæ¯ãã説æããŸãã èæ¯ å
è¿°ããéãæ¬èšäºã§ã¯äžèšã®ïŒçš®é¡ *3 ãTerraformããŒãžã§ã³ã®å¯Ÿè±¡ãšããŠããŸãã Terraform Version Provider Version äž¡æ¹ãšãã»ãã³ãã£ã㯠ããŒãžã§ãã³ã°ãæ¡çšãããŠããŸãããèæ
®ç¹ãç°ãªãã®ã§ããããæ€èšããŸããã semver.org ãªãã以éã®é
ç®ã§ã¯HashiCorpå
¬åŒããã¥ã¡ã³ãã®æç« ã®åŒçšãåã³æ¥æ¬èªèš³ãèšèŒããŠããŸãã æ¥æ¬èªèš³ã¯ Google翻蚳 ã«ãŠç¿»èš³ã®äžãç§ã®æ¹ã§å¿
èŠã«å¿ããŠè¥å¹²ã®ä¿®æ£ãå ããŠãããŸãã Terraform Version ãŸãã¯äžèšã® ãã¥ãŒããªã¢ã« ããããŒãžã§ã³ã¢ããã«é¢ããèšèŒãåèã«ããŸããã developer.hashicorp.com HashiCorp uses the format major.minor.patch for Terraform versions. HashiCorp updates Terraform frequently, so it is common to use configuration written for an earlier version of Terraform. New minor and patch versions of Terraform are backward compatible with configuration written for previous versions. Because of this, you can upgrade to a newer minor version of Terraform and still use your existing configurations. However, upgrading your Terraform version can have other consequences, such as requiring you to update your provider versions. Some version updates may refresh your state file version or require configuration file edits to implement new features. Use the required_version setting to control which versions of Terraform will work with your configurations to ensure that updates to your infrastructure are safe and predictable. æ¥æ¬èªèš³ïŒ HashiCorp ã¯ãTerraform ããŒãžã§ã³ã®åœ¢åŒãšã㊠major.minor.patch ã䜿çšããŸãã HashiCorp 㯠Terraform ãé »ç¹ã«æŽæ°ããããã以åã®ããŒãžã§ã³ã® Terraform çšã«äœæãããæ§æã䜿çšããã®ãäžè¬çã§ãã Terraform ã®æ°ãããã€ã㌠ããŒãžã§ã³ãšããã ããŒãžã§ã³ã¯ã以åã®ããŒãžã§ã³çšã«äœæãããæ§æãšäžäœäºææ§ããããŸãã ãã®ãããTerraform ã®æ°ãããã€ã㌠ããŒãžã§ã³ã«ã¢ããã°ã¬ãŒãããŠããæ¢åã®æ§æãåŒãç¶ã䜿çšã§ããŸãã ãã ããTerraform ã®ããŒãžã§ã³ãã¢ããã°ã¬ãŒããããšããããã€ããŒã®ããŒãžã§ã³ã®æŽæ°ãå¿
èŠã«ãªããªã©ãå¥ã®åœ±é¿ãçããå¯èœæ§ããããŸãã äžéšã®ããŒãžã§ã³æŽæ°ã§ã¯ãstateãã¡ã€ã«ã®ããŒãžã§ã³ãæŽæ°ãããããæ°ããæ©èœãå®è£
ããããã«æ§æãã¡ã€ã«ã®ç·šéãå¿
èŠã«ãªãå ŽåããããŸãã required_version èšå®ã䜿çšããŠãæ§æã§åäœãã Terraform ã®ããŒãžã§ã³ãå¶åŸ¡ããã€ã³ãã©ã¹ã ã©ã¯ ãã£ãžã®æŽæ°ãå®å
šãã€äºæž¬å¯èœã§ããããšã確èªããŸãã èŠç¹ãšããŠã¯äžèšãšãªããŸãã ãã€ããŒããŒãžã§ã³ãšãããããŒãžã§ã³ã¯åããŒãžã§ã³ãšã®äžäœäºæãããã äœããã¡ãžã£ãŒïŒãã€ããŒããŒãžã§ã³ã®ã¢ããã°ã¬ãŒãã«ã€ããŠã¯äžèšåœ±é¿ã®å¯èœæ§ãããã Provider Versionã®ã¢ããã°ã¬ãŒããå¿
èŠã«ãªãã stateãã¡ã€ã«ã®ããŒãžã§ã³ãæŽæ°ãããã æ°ããæ©èœå®è£
ã®ããã«æ§æãã¡ã€ã«ã®ç·šéãå¿
èŠãšãªãã äžèšã§ãã¡ãžã£ãŒïŒãã€ããŒããŒãžã§ã³ã®ã¢ããã°ã¬ãŒãã«ã€ããŠã¯âŠããšããŠããæ ¹æ ãšããŠãæ¥æ¬èªèš³äžã®ãTerraform ã®ããŒãžã§ã³ãã¢ããã°ã¬ãŒããããšâŠãã®Terraformã®ããŒãžã§ã³ãšã¯äœã®ããšãïŒãšããçåããã£ãã®ã§ãããã€ããŒããŒãžã§ã³ã®ã¢ããã°ã¬ãŒ ã㬠ã€ãã«äžèšã®èšèŒããããŸããã Terraform v1.X honors the Terraform v1.0 Compatibility Promises, but there are some behavior changes outside of those promises that may affect a small number of users. Specifically, the following updates may require additional upgrade steps: æ¥æ¬èªèš³ïŒ Terraform v1.X ã¯ãTerraform v1.0 ã®äºææ§ã«é¢ããçŽæãéµå®ããŠããŸããããããã®ç޿以å€ã«ãå°æ°ã®ãŠãŒã¶ãŒã«åœ±é¿ãäžããå¯èœæ§ã®ããåäœã®å€æŽãããã€ããããŸããå
·äœçã«ã¯ãæ¬¡ã®æŽæ°ã§ã¯è¿œå ã®ã¢ããã°ã¬ãŒãæé ãå¿
èŠã«ãªãå ŽåããããŸãã ãšããããšã¯çµå±ãã€ããŒããŒãžã§ã³ã®ã¢ããã°ã¬ãŒãã§ãå°ãªãããTerraformã³ãŒãã®ä¿®æ£ãçºçããå¯èœæ§ãããã®ã§ãã¡ãžã£ãŒïŒãã€ããŒããŒãžã§ã³ã®ã¢ããã°ã¬ãŒãã«ã€ããŠã¯âŠããšå®çŸ©ããŸããã ãŸãã ãã¥ãŒããªã¢ã« å
ã®äžèšã®ç¹ã«ã€ããŠãèæ
®ãå¿
èŠãšãªããŸãã Terraform will only update the state file version when a new version of Terraform requires a change to the state file's format. Terraform will update the terraform_version whenever you apply a change to your configuration using a newer Terraform version. In general, Terraform will continue to work with a given state file across minor version updates. For major or minor releases, Terraform will update the state file version if required, and give an error if you attempt to run an older version of Terraform using an unsupported state file version. If you were to attempt to apply this configuration again using an older version of Terraform that does not support the current state file version, Terraform returns a state lock error and displays the necessary version. æ¥æ¬èªèš³ïŒ Terraform ã¯ãTerraform ã®æ°ããããŒãžã§ã³ã§stateãã¡ã€ã«ã®åœ¢åŒã®å€æŽãå¿
èŠãªå Žåã«ã®ã¿ãstateãã¡ã€ã«ã® version ãæŽæ°ããŸãã æ°ãã Terraform ããŒãžã§ã³ã䜿çšããŠæ§æã«å€æŽãé©çšãããã³ã«ãTerraform 㯠terraform_version ãæŽæ°ããŸãã äžè¬ã«ãTerraform ã¯ããã€ã㌠ããŒãžã§ã³ãæŽæ°ãããŠããæå®ãããstateãã¡ã€ã«ãåŒãç¶ã䜿çšããŸãã ã¡ãžã£ãŒ ãªãªãŒã¹ãŸãã¯ãã€ã㌠ãªãªãŒã¹ã®å ŽåãTerraform ã¯å¿
èŠã«å¿ããŠstateãã¡ã€ã«ã®ããŒãžã§ã³ãæŽæ°ãããµããŒããããŠããªãstateãã¡ã€ã« ããŒãžã§ã³ã䜿çšããŠå€ãããŒãžã§ã³ã® Terraform ãå®è¡ããããšãããšãšã©ãŒãçºçããŸãã çŸåšã®stateãã¡ã€ã«ã®ããŒãžã§ã³ããµããŒãããŠããªãå€ãããŒãžã§ã³ã® Terraform ã䜿çšããŠãã®æ§æãå床é©çšããããšãããšãTerraform ã¯ç¶æ
ãã㯠ãšã©ãŒãè¿ããå¿
èŠãªããŒãžã§ã³ã衚瀺ããŸãã äŸãã° 1.11 ã®Terraformã§Plan/Applyå®è¡ããå Žåãå Žåã«ãã£ãŠã¯tfstateå
ã®ããŒãžã§ã³ã "terraform_version": â1.11.Xâ ãšãªããã 1.10 ã®Terraform Plan/Applyãå®è¡ããããšã©ãŒãšãªãå¯èœæ§ãããããšããããšã§ããïŒæããïŒ ä»¥äžã®ããšããã¡ãžã£ãŒããŒãžã§ã³ããã€ããŒããŒãžã§ã³ã¯åºå®ãšããŠå®æçã«ã¢ããã°ã¬ãŒããããšããçµè«ã«è³ããŸããã Provider Version Provider Versionã«ã€ããŠã¯æ£çŽèª¿ã¹ããŸã§ããªãâŠããšããæ°ãããŸããã念ã®ããã¡ãããšèª¿ã¹ãŠæ€èšããŸããã ãŸãã¯äžèšã® ãã¥ãŒããªã¢ã« ã§Versionãå¶çŽããªãå Žåã®åœ±é¿ãèšèŒãããŠããŸããã developer.hashicorp.com If you do not scope provider version appropriately, Terraform will download the latest provider version that fulfills the version constraint. This may lead to unexpected infrastructure changes. By specifying carefully scoped provider versions and using the dependency lock file, you can ensure Terraform is using the correct provider version so your configuration is applied consistently. æ¥æ¬èªèš³ïŒ ãããã€ããŒã®ããŒãžã§ã³ãé©åã«ã¹ã³ãŒãããªããšãTerraform ã¯ããŒãžã§ã³å¶çŽãæºããææ°ã®ãããã€ã㌠ããŒãžã§ã³ãããŠã³ããŒãããŸãã ããã«ãããäºæããªãã€ã³ãã©ã¹ã ã©ã¯ ãã£ã®å€æŽãçºçããå¯èœæ§ããããŸãã ãããã€ããŒã®ããŒãžã§ã³ãæ
éã«æå®ããäŸåé¢ä¿ãã㯠ãã¡ã€ã«ã䜿çšããããšã§ãTerraform ãæ£ãããããã€ã㌠ããŒãžã§ã³ã䜿çšããŠããããšã確èªããæ§æãäžè²«ããŠé©çšãããããã«ããããšãã§ããŸãã äºæããªãã€ã³ãã©ã¹ã ã©ã¯ ãã£ã®å€æŽãçºçããå¯èœæ§ããããŸãâŠæãããã§ããã ãŸããStyle Guideã§ã¯ã¡ãžã£ãŒããŒãžã§ã³ããã€ããŒããŒãžã§ã³ã®åºå®ãæšå¥šãããŠããŸããã developer.hashicorp.com To prevent providers and modules upgrades from introducing unintentional changes to your infrastructure, use version pinning. Specify provider versions using the required_providers block. Terraform version constraints support a range of accepted versions. Pin modules to a specific major and minor version as shown in the example below to ensure stability. You can use looser restrictions if you are certain that the module does not introduce breaking changes outside of major version updates. æ¥æ¬èªèš³ïŒ ãããã€ããŒãšã¢ãžã¥ãŒã«ã®ã¢ããã°ã¬ãŒãã«ãã£ãŠã€ã³ãã©ã¹ã ã©ã¯ ãã£ã«æå³ããªã倿Žãå ããããã®ãé²ãã«ã¯ãããŒãžã§ã³åºå®ã䜿çšããŸãã required_providers ãããã¯ã䜿çšããŠãããã€ããŒã®ããŒãžã§ã³ãæå®ããŸãã Terraform ã®ããŒãžã§ã³å¶çŽã¯ã蚱容ãããããŸããŸãªããŒãžã§ã³ããµããŒãããŸãã å®å®æ§ã確ä¿ããã«ã¯ã以äžã®äŸã«ç€ºãããã«ãã¢ãžã¥ãŒã«ãç¹å®ã®ã¡ãžã£ãŒ ããŒãžã§ã³ãšãã€ã㌠ããŒãžã§ã³ã«åºå®ããŸãã ã¡ãžã£ãŒ ããŒãžã§ã³ã®æŽæ°ä»¥å€ã§ã¢ãžã¥ãŒã«ã«é倧ãªå€æŽãå°å
¥ãããªãããšã確å®ãªå Žåã¯ãããç·©ãããªå¶éã䜿çšã§ããŸãã æåŸã«Terraform Providerã«ç»é²ãããPluginã®éçºããã¥ã¡ã³ãã«ã¯ããŒãžã§ã³ç®¡çã®ãã¹ãã ã©ã¯ ãã£ã¹ã«ã€ããŠã®èšèŒããããŸããã developer.hashicorp.com Observing that Terraform plugins are in many ways analogous to shared libraries in a programming language, we adopted a version numbering scheme that follows the guidelines of Semantic Versioning . In summary, this means that with a version number of the form MAJOR . MINOR . PATCH , the following meanings apply: Increasing only the patch number suggests that the release includes only bug fixes, and is intended to be functionally equivalent. Increasing the minor number suggests that new features have been added but that existing functionality remains broadly compatible. Increasing the major number indicates that significant breaking changes have been made, and thus extra care or attention is required during an upgrade. To allow practitioners sufficient time and opportunity to upgrade to the latest version of the provider, we recommend releasing major versions no more than once per year. Releasing major versions more frequently could present a barrier to adoption due to the effort required to upgrade. Version numbers above 1.0.0  signify stronger compatibility guarantees, based on the rules above. Each increasing level can also contain changes of the lower level (e.g. MINOR  can contain PATCH  changes). æ¥æ¬èªèš³ïŒ Terraform ãã©ã°ã€ã³ ã¯å€ãã®ç¹ã§ ããã°ã©ãã³ã°èšèª ã®å
±æã©ã€ãã©ãªã«äŒŒãŠããããšã«æ°ã¥ããã»ãã³ãã£ã㯠ããŒãžã§ãã³ã°ã® ã¬ã€ãã©ã€ã³ ã«åŸã£ãããŒãžã§ã³çªå·ä»ãã¹ããŒã ãæ¡çšããŸããã èŠçŽãããšãããã¯ã MAJOR . MINOR . PATCH 圢åŒã®ããŒãžã§ã³çªå·ã§ã¯ãæ¬¡ã®æå³ãé©çšãããããšãæå³ããŸãã ãããçªå·ã®ã¿ãå¢å ããããšã¯ããªãªãŒã¹ã«ãã°ä¿®æ£ã®ã¿ãå«ãŸããŠãããæ©èœçã«åçã§ããããšãæå³ããŠããããšã瀺ããŠããŸãã ãã€ããŒçªå·ã倧ãããªããšããããšã¯ãæ°ããæ©èœã远å ããããã®ã®ãæ¢åã®æ©èœã«ã¯åºç¯ãªäºææ§ãæ®ã£ãŠããããšã瀺ããŠããŸãã ã¡ãžã£ãŒçªå·ã®å¢å ã¯ãé倧ãªç Žå£ç倿Žãå ããããããšã瀺ããŠãããããã¢ããã°ã¬ãŒãäžã«ç¹å¥ãªæ³šæãå¿
èŠã§ãã å®åè
ããããã€ããŒã®ææ°ããŒãžã§ã³ã«ã¢ããã°ã¬ãŒãããããã®ååãªæéãšæ©äŒã確ä¿ããããã«ãã¡ãžã£ãŒ ããŒãžã§ã³ã®ãªãªãŒã¹ã¯å¹Žã« 1 åãŸã§ã«ããããšããå§ãããŸãã ã¡ãžã£ãŒ ããŒãžã§ã³ãããé »ç¹ã«ãªãªãŒã¹ãããšãã¢ããã°ã¬ãŒãã«å¿
èŠãªåŽåãåå ã§å°å
¥ã«éå£ãçããå¯èœæ§ããããŸãã 1.0.0 ããäžã®ããŒãžã§ã³çªå·ã¯ãäžèšã®ã«ãŒã«ã«åºã¥ããŠããã匷åãªäºææ§ä¿èšŒãæå³ããŸãã å¢å ããåã¬ãã«ã«ã¯ãäžäœã¬ãã«ã®å€æŽãå«ããããšãã§ããŸãïŒäŸ: MINOR ã«ã¯ PATCH ã®å€æŽãå«ããããšãã§ããŸãïŒã ã€ãã€ããšå
¬åŒããã¥ã¡ã³ããåŒçšããŸããã èœãšã穎 èæ
®ç¹ã¯ãã€ããŒããŒãžã§ã³ã®äºææ§ã¯ãããŸã§ãåºç¯ããšãªã£ãŠããããšã ãšæããŸããã ãã®èšèŒãæ°ã«ãªãããã€ãã®Providerã®Release NotesãçºããŸãããæããProviderã«ãã£ãŠãåºç¯ãã®æãæ¹ãç°ãªããã ãªâŠãšå人çã«æããŸããã äœã®ããšããšãããŸããšãããProviderã®ãã€ããŒããŒãžã§ã³ã®ã¢ããã°ã¬ãŒãã«ãããRelease Notesã¯äžè²«ã㊠FEATURES ENHANCEMENTS BUG FIXES ã®ã¿ãªã®ã§ããå¥ã®ããProviderã§ã¯äžèšãšäœµã㊠BREAKING CHANGE DEPRECATIONS ãå«ãŸããŠããããšããããŸããã äºææ§ãšã¯äžäœâŠãšçªã£èŸŒã¿ãããªããŸãã ãåºç¯ããªäºææ§ã§ãããšããããšã¯ãã¯ãã³ãŒãä¿®æ£ãçºçããå¯èœæ§ãããã®ã§åºŠåãã¯éãã©ã¡ãžã£ãŒããŒãžã§ã³ã®ã¢ããã°ã¬ãŒããšã»ãŒåãå¯Ÿå¿æ¹éã§ããã®ã§ã¯ããšèããŸããã 以äžã®ããšããã¡ãžã£ãŒããŒãžã§ã³ããã€ããŒããŒãžã§ã³ã¯åºå®ãšããŠå®æçã«ã¢ããã°ã¬ãŒããããšããçµè«ã«è³ããŸããã ãšããããšã§Terraform Versionãšåãçµè«ã«ãªã£ãã®ã§çµ±äžããæ¹éãšãªããŸããã .terraform.lock.hcl ã®åãæ±ã ããŒãžã§ã³ã¢ããã®æ¹éãåãæ±ºããŠéçšãããŠããäžã§ .terraform.lock.hcl ã管çãããã¯ããŒã å
ã§å°ãè°è«ã«ãªããŸããã å
¬åŒããã¥ã¡ã³ãã§ã¯ ãªããžã㪠管çãæšå¥šããŠããŸããã developer.hashicorp.com Terraform automatically creates or updates the dependency lock file each time you run the terraform init command. You should include this file in your version control repository so that you can discuss potential changes to your external dependencies via code review, just as you would discuss potential changes to your configuration itself. æ¥æ¬èªèš³ïŒ Terraform ã¯ãterraform init ã³ãã³ããå®è¡ãããã³ã«ãäŸåé¢ä¿ãã㯠ãã¡ã€ã«ãèªåçã«äœæãŸãã¯æŽæ°ããŸããæ§æèªäœã«å¯Ÿãã æœåšç ãªå€æŽã«ã€ããŠè°è«ããã®ãšåãããã«ãã³ãŒã ã¬ãã¥ãŒãéããŠå€éšäŸåé¢ä¿ã«å¯Ÿãã æœåšç ãªå€æŽã«ã€ããŠè°è«ã§ããããã«ããã®ãã¡ã€ã«ãããŒãžã§ã³ç®¡ç ãªããžã㪠ã«å«ããå¿
èŠããããŸãã çµè«ãšããŠã¯ãã㊠.gitignore ã®å¯Ÿè±¡ã«å«ããŠç®¡çããªãããšã«ããŸããã çç±ãšããŠã¯äžèšãšãªããŸãã ã¡ãžã£ãŒããŒãžã§ã³ããã€ããŒããŒãžã§ã³ã¯ããŒãžã§ã³å¶çŽã§åºå®ããŠããã æ¹éã«åããåžžã«ææ°ã®ãããããŒãžã§ã³ã§Terraformãå®è¡ããã Pull Requeståã« GitHub Actionsã§Terraform Planã¯å¿
é ãšããã®ã§ããŒã«ã«ã® .terraform.lock.hcl ã¯ç®¡çäžèŠãšããã ããŒãžã§ã³ã¢ããã®æµããããªãã¡éçš ã§ã¯å®éã«æ¥ã
ã®æ¥åã®äžã§ã©ããã£ãŠããŒãžã§ã³ã¢ãããããŠããããšã«ãªã£ãã®ãã説æããŸãã 0. ããŒãžã§ã³ã¢ãããµã€ã¯ã« å®åã¡ã³ããŒãå°äººæ°ïŒæ¬èšäºå·çæç¹ã§ïŒäººïŒããã€çŸæç¹ã§ã¯ã»ãŒæåäœæ¥ãäž»ãšãªããããã€ããŒããŒãžã§ã³ã®ã¢ããã°ã¬ãŒããµã€ã¯ã«ã¯ææ¬¡ãšããã å
è¿°ã®éããã¡ãžã£ãŒããŒãžã§ã³ã®ã¢ããã°ã¬ãŒãã¯ããŒã ãã©ã³ãã³ã°äŒã§æ±ºããã æ
åœè
ã¯ããŒã ãã©ã³ãã³ã°äŒã§Linearãã±ããã ã¢ãµã€ ã³ãSREããŒã ã®å
šã¡ã³ããŒã§ããŒããŒã·ã§ã³ãæ
åœè
ã¯ä»¥éã®ããã»ã¹ã«åŸãããŒãžã§ã³ã¢ããã宿œããŸãã 1. ã¢ããããŒãæ
å ±ã®ç¢ºèª çŸåšã®å©çšããŒãžã§ã³ãã ã¢ãµã€ ã³æç¹ãŸã§ã®ã¢ããã°ã¬ãŒãæ
å ±ã GitHub ãªããžã㪠ã®Release Notesã§èª¿æ»ããã BREAKING CHANGE, DEPRECATIONSã®æç¡ã確èªããåœ±é¿æãã§ããã°åå¿ãšããŠå
容ããã±ããã«ã³ã¡ã³ããããïŒåŸç¶ã®Pull Request Descriptionã«ãæ²èŒãããïŒ 2. äºåTerraform Planã®ããã®ã³ãŒãæŽæ° äœæ¥ãã©ã³ãããã§ãã¯ã¢ãŠãããŠäžèšãæŽæ°ããã Terraform Blockã®äžèšãæŽæ°ããã required_version required_providers.<provider>.version ãããããŒãžã§ã³ã¯åžžã«ææ°ãšããããäžèšã®éã ~> x.y.0 ã®ããã«ããŒãžã§ã³æå®ããã terraform { required_version = "~> 1.8.0" required_providers { azurerm = { source = "hashicorp/azurerm" version = "~> 3.100.0" } } } Terraform Versionãã¢ããã°ã¬ãŒã察象ã®å Žåã GitHub Actionsã®Terraform Plan/Applyå®è¡çšWorkflowãã¡ã€ã«ã®äžèšãæŽæ°ããã terraform_version ãããããŒãžã§ã³ã¯åžžã«ææ°ãšããããäžèšã®éã ~1.y ã®ããã«ããŒãžã§ã³æå®ããã - name : Setup Terraform uses : hashicorp/setup-terraform@v2 with : terraform_version : ~1.8 Release Notesã®å
容ããããŒãžã§ã³ã¢ãã以å€ã®ä¿®æ£ãå¿
èŠã§ããã°æŽæ°ããã 3. äºåTerraform Plançµæç¢ºèª äœæ¥ãã©ã³ãã§å
šç°å¢ïŒdevelop, staging, prroductionãªã©ïŒã«å¯ŸããŠTerraform PlançšWorkflowãå®è¡ããã Plançµæã«å·®åãããã°ïŒããªãã¡Â No changes. ã§ã¯ãªãã®ã§ããã°ïŒé©å®ä¿®æ£ããã ããã§Topicã§ãã Provider Versionã®ã¢ããã°ã¬ãŒãã¯Release Noteã®BREAKING CHANGE, DEPRECATIONS以å€ã«äžèšã®ç¹ã§Terraformã³ãŒãä¿®æ£ãå¿
èŠãªå ŽåããããŸãã ãã©ã¡ãŒã¿ã®æ¢å®å€ãå€ããããšãããã tfstateã«æ°èŠãã©ã¡ãŒã¿ã远å ãããããšãããã æ°èŠãã©ã¡ãŒã¿è¿œå ã«ã€ããŠã¯ApplyããããåŸãªãã®ã§ãã®å Žåã¯Pull Request Descriptionã«å®æ©åœ±é¿ãªãããšãå«ããŠãã®æšãèšèŒããããšã«ããŸããã 4. æ¢å®ãã©ã³ããžã®Pull Request, Merge äžèšãDescriptionã«èšèŒããŠPull Requestãäœæãæ¿èªåŸMergeããã BREAKING CHANGE, DEPRECATIONSã«ããæŽæ°æŠèŠ Plançµæã«å·®åãããå Žåã®èª¬æ 5. Terraform Apply, åäœç¢ºèª ãµã³ãããã¯ã¹ ç°å¢ãéçºç°å¢ãæ¬çªç°å¢ãšãã£ããŠãŒã¶ãŒåœ±é¿ã®ç¡ãé çªã§Terraform Applyãåäœç¢ºèªã宿œããã Terraform Applyã«ãã倿ŽãçºçããŠããããŸã§tfstateã®ã¿ãæŽæ°ãããæ³å®ã§ã¯ããã念ã®ããã¢ããªã±ãŒã·ã§ã³ã®åäœç¢ºèªãè¡ãã å
šäœå ãŸãšããšããŠããŒãžã§ã³ã¢ããã®æµãã®å
šäœããã£ãã ãããŒãã£ãŒã ã«ãããšäžèšã®éããšãªããŸããã ç¹ã«è€éãªäœæ¥é
ç®ã¯ãããŸããããã©ã®ãããªäœæ¥ãããããå¯èŠååºæ¥ãã®ã§ããŒã ã¡ã³ããŒãžé²æç¶æ³ã®å
±æããããããªããŸããã ããããåãçµãã§ããããš ä»åã¯ããŒãžã§ã³ã¢ãããã¡ãããšã¯ãããããã«çµå§æ¹éãæ±ºããŠéçšãæŽçããããšã«ã€ããŠã玹ä»ããŸãããå
è¿°ã®éãã»ãŒæåäœæ¥ãäž»ãšãªãããå®éã«æ°åã®ãµã€ã¯ã«ãåããŠããŒã ã¡ã³ããŒå
šå¡ãæµããææ¡åºæ¥ããããã®éšåã¯ããã§èªåååºæ¥ãããããšããããã¯ããããæ¹ãã¿ããªã®è² æ
ãæžã£ãŠæ¥œã«åããŠãããããããšããããšãè°è«ããŠéçšã®æ¹åãç¶ããŠãããŸãã å°ãå
ã®ããšã«ã¯ãªããŸãããæ¹åã®ãã§ãŒãºãé²ãã ãããããŒãªããšãããŠã¯ãŒã«ã«èªååããŠãã£ããïœ ã¯ã€ã«ãã ãïœ ïŒãã¡ãããå·Šèšãæ¬è³ªã§ã¯ãªãã§ããïŒãšããå
容ã«ã€ããŠãæ¬ããã°ã§ã玹ä»ããããšæããŸãã çµããã« æåŸã¯ãŸãšãã§ã¯ãªãèªèº«ãžã®æãã蟌ããããšã ã§ç· ããŸãã TerraformããŒãžã§ã³ã¢ããã®å
容ããã¯å€ããŸããæ¥ã
ã®æ¥åã®äžã§å¥ã®ããŒã ããã®äŸé ŒããŸãã¯èªçºçã«ãããšãªã誰ããããªããŠããäœæ¥ãšããã®ã¯å°ãªããããããšæããŸããæè¬ãæ¥åã®å±äººåãã§ãããæ®æ®µã¯ãã®å¯Ÿå¿è
ããããšãªãäœæ¥ãããªããŠããã®ã§ä»ã®ããŒã ã¡ã³ããŒãæèããããšã¯ããŸããªãããããªãããšæããŸãããã èšããŸã§ããªããæ¥åã®å±äººåãã¯ããããã®ãªã¹ã¯ãã¯ããã§ããŸããäŸãã°ããã®å¯Ÿå¿è
ãéè·ãããäºæ
ãç
æ°ãªã©ã§çªç¶ã®é·æäŒæã«ãªã£ãŠããŸã£ããšããªã©ã§ãããåœç¶ãã®å¯Ÿå¿è
ãããªããªã£ãŠãã·ã¹ãã ã¯çšŒåãç¶ããã®ã§ä»ã®èª°ãããã®å¯Ÿå¿è
ã®ä»£ããã«å±äººåãããŠããäœæ¥ãããªããã°ãªããŸãããäŸãã»ãšãã©ã®äœæ¥ãèªååãããŠããæ¥µç«¯ãªè©±ãã¯ãªãã¯äžã€ã§å®äºãã圢ã«ãªã£ãŠããŠãäžèº«ã®ããã»ã¹ãç¥ããªããã°ã€ã¬ã®ã¥ã©ãŒãªäºè±¡ãçºçããæã«çŽã察å¿ããããšã¯ãªããªãé£ãããšæããŸãã åŸã£ãŠãã©ããªã«åçŽãªäœæ¥ã§ãäžèšã念é ã«çœ®ãããšã倧äºã§ãã ãããŒã ã¡ã³ããŒå
šå¡ããäœæ¥ã®æµããææ¡ããããã®ããã¥ã¡ã³ããäœæãããäžæç¹ãæ®ããªãããã«ãããŒã ã¡ã³ããŒå
šå¡ãã§ãã®ããã¥ã¡ã³ããã¬ãã¥ãŒããã èªååã®ä»çµã¿ã¯ã·ã³ãã«ã§åãããããããã«ãããå¯èœãªéã誰ãã®æçµãã éæ¹é ããŒã«ã«ã¯é ŒããªãããããŒã ã¡ã³ããŒå
šå¡ããææ¡åºæ¥ãæ§æã«ããããã€READMEãäœæããã äžèšã®ãããŒã ã¡ã³ããŒå
šå¡ããšããã®ã¯ãä»åã®TerraformããŒãžã§ã³ã¢ããã®ä»¶ã¯SREããŒã ã¡ã³ããŒã®ããšãæããŠããŸããåœããåã®ããšã§ã¯ãããŸããéçºããŒã ãããžãã¹ããŒã ãŸã§å¯Ÿè±¡ã«ãããšããã¥ã¡ã³ãã«æžãã¹ãæ
å ±éãç¡éã«åºãã£ãŠããã®ã§æåã«ãã®äœæ¥ã察å¿ãã察象ããŒã ã®ç¯å²ã決ããäžã§ããŒã ã®ã¬ãã«ãèæ
®ããããã¥ã¡ã³ããäœæããã°è¯ããšæããŸããäŸãã°ãåŒSREããŒã ã®å Žåã¯å
šå¡Terraformã®ä»çµã¿ãåºæ¬çãªã³ãã³ãã¯çç¥ããŠããã®ã§ãããã£ãæ
å ±ã¯å
šãŠçããŸããã äžèšãæŽãããšã§åããŠãããŒã ã¡ã³ããŒå
šå¡ããæ¬åœã®æå³ã§ã楜ãã§ããããã«ãªããŸããå®éTerraformããŒãžã§ã³ã¢ããäžã€ãšã£ãŠãããã¥ã¡ã³ããå·çããã®ã¯ã楜ãã§ã¯ãªãã§ããã¡ããã¡ããã³ãŒãã£ã³ã°é¢é£ã®äœæ¥ã«éããããªããŸããïŒæ³£ïŒ ãŸããèªååã®ä»çµã¿ã¯ããããã®åãçµã¿ã«ãªãã®ã§ã楜ãããã®ã¯ããå°ãå
ã«ãªãããã§ãã ãšããããšã§å
šãTechãªBlogã«ãªã£ãŠãããæçž®ã§ããããæ¥œãããåã®TerraformããŒãžã§ã³ã¢ããæ¹éãšéçšæŽçãã§ããã ç§ãã¡ã®ããŒã ã§ã¯ããšãã«åã仲éãç©æ¥µçã«åéããŠããŸããå°ãã§ãèå³ããæã¡ããã ããŸãããããã²ã«ãžã¥ã¢ã«é¢è«ãããå¿åãã ããïŒ Application Developers www.wantedly.com SRE www.wantedly.com *1 : æ°å瀟å¡ã§ã¯ããããŸãã *2 : SREããŒã ã§ã¯äžé±éããµã€ã¯ã«ãšããŠåã¡ã³ããŒã®ã¿ã¹ã¯ãèšç»ããŠããŸãããã®èšç»ãã¡ã³ããŒå
šå¡ã§è©±ãåã£ãŠæ±ºããäŒã§ãã *3 : æ¬èšäºå·çæç¹ã§ãåŒããŒã ã§ã¯Public Registryã®ModuleãHCP Terraformã®Private Registryã®Moduleã¯å©çšããŠããªãã®ã§Moduleã®ããŒãžã§ã³ã«ã€ããŠã¯å¯Ÿè±¡å€ãšããŠããŸãã
ã¿ãªãããããã«ã¡ã¯ïŒmyTOKYOGAS ããã³ããšã³ãããŒã ã«æå±ããŠãããŸãçžå·ãšç³ããŸãã2024幎4æ16æ¥ã17æ¥ã«ã DevOpsDays Tokyo 2024 ããéå¬ãããŸããããã ã¯ãªãŒã ã®äžå³¶ãã¹ããŒã«ãŒãšããŠç»å£ããããããã²å¿æŽã«è¡ãããŠæ¬²ãããšç«åè£ãç¡äºèš±å¯ãããã ããã®ã§åå ããŠããŸããïŒæ¥å調æŽããŠãã ãã£ãããŒã ã®çæ§æ¬åœã«ããããšãããããŸãïŒ ã¯ããã« DevOpsDaysãšã¯ DevOpsã®ã°ããŒãã«ãã¬ã³ã èªåçæã掻çšãããéçšä¿å®ã³ã¹ããæãã Error/Alert/Runbook ã®äžå
éçŽç®¡ç ãã©ã³ã¯ããŒã¹éçºã®å°å
¥ã§èŠãããDevOpsã®æè¡ã»ããã»ã¹ã»æåãšã®ç¹ãã ã»ãã¥ãªãã£ãã©ã¯ãã£ã¹ã®ç¶ç¶çãªå®è·µãã»ãã¥ã¢ãªã·ã¹ãã æ§ç¯ãç®æããŠã ãŸãšã  ã¯ããã« ä»åã®èšäºã§ã¯ãã«ã³ãã¡ã¬ã³ã¹ã«åå ããåŠã³ããäžéšã»ãã·ã§ã³ãããã¯ã¢ããããŠçºä¿¡ããŠãããŸããã¡ãªã¿ã«ãçžå·ã¯DevOpsãšããèšèã¯ç¥ã£ãŠãããã®ã®ã ããªãŒã©ã³ã¹ ãšããŠå€åããŠããæã¯åŒ·ãæèããããšã¯ãããŸããã§ããããã å
補éçºãé²ããŠããäžã§DevOpsã¯éèŠãªããŒãã§ããã æ±äº¬ã¬ã¹ ã«å
¥ç€ŸããŠããã¯ç¹ã«åŒ·ãé¢å¿ãæã£ãŠããŸãããç§ã®çµæŽã«èå³ãããæ¹ã¯å
¥ç€Ÿãšã³ããªã®èšäºããã²ã芧ãã ããã tech-blog.tokyo-gas.co.jp DevOpsDaysãšã¯ DevOpsDaysãšã¯ããªãã§ããïŒãšããæ¹ãããã£ããããšæããŸããç§ãããã§ãããDevOpsDaysãšã¯ãäžçåå°ã§éå¬ãããŠããã°ããŒãã«ã«ã³ãã¡ã¬ã³ã¹ã§ããœãããŠã§ã¢éçºãITã€ã³ãã©éçšããããŠDevOpsã®å®è·µã«ãã©ãŒã«ã¹ããŠãããæå
端ã®ã㯠ãã ãžã®æŽ»çšæ³ã¯ãã¡ããå
é²äŒæ¥ã§å¿
èŠãšãããŠããèæ¯ãŸã§ãçè§£ããæ£ããçµç¹å
ã«å±éããããã®æŽç·Žãããç¥èŠãåŸããããšã®ããšã§ããããŸãããDevOpsãå®è·µããŠåŸãç¥èŠãå
±æããå Žã§ããããšãDevOpsDays Tokyoã®çºèµ·äººã§ããå·å£æäŒžããã¯è©±ãããŠããŸããã Home | devopsdaystokyo ããäžéšæç²ãããŠããã ããŠãããŸãã ã¡ãªã¿ã«äŒå Žã¯å€§åŽãã©ã€ãã³ã¢ããŒã«ãšãããšããã§ãããã±ãã賌å
¥æã«ãªã³ãµã€ããšãªã³ã©ã€ã³ã®éžæãã§ããŸããä»åç§ã¯ããªã³ãµã€ãã§åå ããŸããã äœè«ã§ããããåŒåœãåºãŸããããããä»åã§ããçŸå³ããããŠæåããŸããã ããã§ã¯ãåŠã³ãåŸãã»ãã·ã§ã³ã«ã€ããŠæžããŠãããŸãã  DevOpsã®ã°ããŒãã«ãã¬ã³ã DevOpsã«é¢ãããã¬ã³ããç¥ããã»ãã·ã§ã³ã§ãããThe State of DevOps Report2023ãåœå
å€ã®è«æã»ã«ã³ãã¡ã¬ã³ã¹ããäžéšæç²ããŠè©±ãããŠããŸãããäžã§ãæ°ã«ãªã£ãå
容ã¯ã以äžã§ãã ãŠãŒã¶ãŒäžå¿ã§éçºãé²ããããŒã ã¯ããªããªãŒé床ãä»äºãžã®æºè¶³åºŠã¯åäžãããã çãå°œãçå矀 ã«ãªãããã æ©èœäžå¿ã§éçºãé²ããããŒã ã¯ããã çãå°œãçå矀 ã«ãªãããã ãã©ã³ã¹ããšã£ãŠããããŒã ããããããããªããšããªããªãŒé床ããŠãŒã¶ãŒäžå¿ã§éçºãé²ããããŒã ããã¯å£ã ããŸãæèããŠããªãã£ãã®ã§ãããããã¯ããã ãªãšæããçµéšããã£ãã®ã§ãŠãŒã¶ãŒäžå¿ãšæ©èœäžå¿ã®éçºã®é²ãæ¹ã®ãã©ã³ã¹ã«ã€ããŠã¯ããŒã ã§èããå¿
èŠããããªãšæ°ä»ããããŸããã èªåçæã掻çšãããéçšä¿å®ã³ã¹ããæãã Error/Alert/Runbook ã®äžå
éçŽç®¡ç ãã¡ãã®ã»ãã·ã§ã³ã§ã¯ãã¢ã©ãŒãã®é©åãªèšå®ãšè¿
éãªå¯ŸåŠã®éèŠæ§ã匷調ãã€ã€ããšã©ãŒæ
å ±ãšå¯ŸåŠæ¹æ³ãäžå
管çããèªååããããšã®å©ç¹ã«ã€ããŠè©±ãããŠããŸãããå°è±¡ã«æ®ã£ãŠããå
容ã¯ãã¢ã©ãŒãã®å¯Ÿå¿ãå±äººåãããªãããšã®éèŠæ§ã§ããã¢ã©ãŒããçºçããéã«ã誰ããããã«è¡åã«ç§»ããããã«ãªãããã«ã¯ãRunBookãçšæããããšã广çã ãšè©±ãããŠããŸããã åœããŒã ã§ããRunBookã®å°å
¥ã¯å€§ããªã¡ãªãããããããã ãšæããŸãããã¢ã©ãŒããžã®å¯Ÿå¿ãå±äººåããããããŒã å
šäœã§è¿
éã«å¯ŸåŠã§ããäœå¶ãæŽããããšã¯ããµãŒãã¹ã®å®å®éçšã«ãããŠéèŠãªã®ã§åãçµãã§ãããããšæããŸããã speakerdeck.com ãã©ã³ã¯ããŒã¹éçºã®å°å
¥ã§èŠãããDevOpsã®æè¡ã»ããã»ã¹ã»æåãšã®ç¹ãã ãã©ã³ã¯ããŒã¹éçºã®å°å
¥ãããŸã§ã«ã¶ã€ãã£ã課é¡ãã©ãä¹ãè¶ãããã®å®äœéšãå
±æããŠãã ããã»ãã·ã§ã³ã§ãããããã³ããšã³ãã®ãã«ãªã¯ ãšã¹ ããããŒãžããããŸã§ã«2ã¶æä»¥äžããã£ãŠããŸã課é¡ãããããªãªãŒã¹ãã°ã«ã®å®è£
ã»ã¿ã¹ã¯çްååã®åãçµãããšã§ãªãŒãã¿ã€ã ã®ççž®ãå³ã£ãããã§ãããŸãããªãŒãã¿ã€ã ççž®ãç®çãšããFour Keysæ¹åããŒã ãçµæãããã®ã®ã¡ã³ããŒãããªãŒãã¿ã€ã ççž®ã ããããã¹ãããšã§ã¯ãªããšåçºããã£ãããã§ããããã§ãããŒã ã®ç®çãããªãŒãã¿ã€ã ã®ççž®ããããã顧客ã«ããå€ãã®äŸ¡å€ãå±ããããšãã«å€æŽãããšãããšããœãŒããè峿·±ãã£ãã§ãã ãã®ã»ãã·ã§ã³ãéããŠããã©ã³ã¯ããŒã¹éçºãå°å
¥ããçç±ããªãŒãã¿ã€ã ãççž®ããç®çãªã©ã®èæ¯ãããŒã ã¡ã³ããŒã«äŒããçŽåŸæãæã£ãŠãããããšã®éèŠæ§ãåèªèããŸãããããã¯åžžã«æèããŠããã¹ããã€ã³ãã ãšæããŸããã speakerdeck.com ã»ãã¥ãªãã£ã ã©ã¯ ãã£ã¹ã®ç¶ç¶çãªå®è·µãã»ãã¥ã¢ãªã·ã¹ãã æ§ç¯ãç®æããŠã ãã®ã»ãã·ã§ã³ã§ã¯ãDevOpsã®å®è·µã«ãããã»ãã¥ãªãã£åäžã®ããã«ãOWASPã®DevSecOps lifecycleã«æ²¿ã£ãã ã©ã¯ ãã£ã¹ãåãå
¥ããæ¹æ³ãšããã®å®è·µã«ããã課é¡ãšä¹ãè¶ãæ¹ã«ã€ããŠè©±ãããŠããŸãããDevSecOps lifecycleã®åãã§ãŒãºã§å®æœããå§ãããææ³ã玹ä»ã圹ç«ã€æžç±ã®ç޹ä»ãããŠãã ãããŸããããã®ã»ãã·ã§ã³ã§ç¹ã«è峿·±ãã£ãã®ã¯ãCI/CDãžã®ã»ãã¥ãªãã£æŽ»åã®çµã¿èŸŒã¿æ¹ã§SCAãSASTã»DASTãªã©ã®ãã¹ãææ³ãåãå
¥ããããšã§æ©æã«ã»ãã¥ãªãã£åé¡ãæ€åºãã察åŠããããšãéèŠã§ãããšããããšã§ããã åœããŒã ã§ã¯ãOWASP ZAPã䜿çšããDASTã®èªååã«åãçµãã§ãããšããã§ãããã®ããããã®ã»ãã·ã§ã³ã§ç޹ä»ãããã»ãã¥ãªãã£ã ã©ã¯ ãã£ã¹ã¯éåžžã«åèã«ãªããŸãããäžæ¹ã§ãã«ãªã¹ãšã³ãžãã¢ãªã³ã°ãªã©ããŸã åãçµããŠããªã掻åããã£ãã®ã§ããŒã ã§çžè«ããŠããããåãå
¥ããŠãããããšæããŸããã speakerdeck.com ãŸãšã ã«ã³ãã¡ã¬ã³ã¹ã®åå èªäœåããŠã ã£ãã®ã§å
šãŠãæ°é®®ã§ããããåŒåœãçŸå³ããã£ããåã»ãã·ã§ã³ãåŠã³ã®ããå
容ãå€ãã£ãã§ããåœããŒã ã«å°å
¥ã§ããããªå
容ããã£ãã®ã§åãå
¥ããŠãããããªããšæããŸãããä»åã¯Day1ã®å
å®¹ãæžãããŠããã ããŸãããæ¬¡åã¯Day2ã®å
容ã«ã€ããŠæžããŠãããŸãã  ãã æ±äº¬ã¬ã¹ ã«èå³ãæã£ãŠããã ããŸãããããã²ä»¥äžãã芧ãã ããã Application Developers www.wantedly.com SRE www.wantedly.com ããã§ã¯ãæåŸãŸã§ãèªã¿ããã ããããããšãããããŸããïŒ
ã¯ãããŸããŠïŒ æ±äº¬ã¬ã¹ ãªãã³ã°æŠç¥éšã® SRE ããŒã ã«æå±ããŠãããŸãè¿«ç°ãšç³ããŸãã ç§ã¯2024幎1æã« æ±äº¬ã¬ã¹ ã«å
¥ç€ŸããçŸåš myTOKYOGAS ããã³ããšã³ãã®ã€ã³ãã©éçšããã€ã¯ããµãŒãã¹ãã©ãããã©ãŒã ã®æ§ç¯ãæ
åœããŠããŸãã ä»åã®èšäºã§ã¯ãTerraform ãæŽ»çšããã€ã³ãã©ç°å¢ã®æ§ç¯ã«ã€ããŠã玹ä»ããŸãã Terraform ãšã¯ïŒ ããŒã ã«ããã Terraform ã®äœ¿ãæ¹ ãªã AWS ç°å¢ã§ã Terraform ãæ¡çšããã®ã çæ³ãšèª²é¡ ãããã« Terraform ãšã¯ïŒ HashiCorp 瀟ãæäŸãã Infrastructure as Code (IaC) ããŒã«ã§ã ãããªãã¯ã¯ã©ãŠã ãã¯ãããæ§ã
ãªã€ã³ãã©èšå®ãã³ãŒãã§ç®¡çããããšãã§ããŸãã www.terraform.io ããŒã ã«ããã Terraform ã®äœ¿ãæ¹ myTOKYOGAS ããã³ããšã³ãã§ã¯ãåºæ¬çã« Terraform ãçšã㊠Azure ç°å¢ãæ§ç¯ããŠããŸããTerraform ã³ãŒã㯠GitHub äžã§ç®¡çãã GitHub Actions ãå®è¡ããããšã§å®éã®ç°å¢ãæ§ç¯ããŠããŸããããŒã«ã«ç«¯æ«ã§ã®Â terraform apply ã®å®è¡ãé¿ããããšã§ããã€èª°ãç°å¢ã«æãå ããã®ããšãã£ãå±¥æŽãããã«ãããããã«ãªã£ãŠããŸãã ãŸããçŸåšç§ãã¡ã®ããŒã ã§ã¯ AWS äžã§ Amazon EKS ãäžå¿ãšãããã€ã¯ããµãŒãã¹ãã©ãããã©ãŒã ãæ§ç¯ããŠããã®ã§ãããæ§ç¯ã®ããã®ããŒã«ãšã㊠Terraform ãæ¡çšããŸããã ãã€ã¯ããµãŒãã¹ãã©ãããã©ãŒã ã®è©³çްã«ã€ããŠã¯ä»¥äžã®èšäºããã²ã芧ãã ããã tech-blog.tokyo-gas.co.jp ãªã AWS ç°å¢ã§ã Terraform ãæ¡çšããã®ã AWS ã«ããã IaC ãšããã°ã AWS CloudFormation ã AWS Cloud Development Kit (CDK) ãéžæè¢ãšããŠãããããŸãããç§ãã¡ã®ããŒã ã§ã¯ã以äžã®çç±ã§ Terraform å°å
¥ã決ããŸããã myTOKYOGAS ããã³ããšã³ãã§ Azure ã Terraform ã§æ§ç¯ã»ç®¡çããŠãããããŒã å
ã«ããŠããŠãèç©ãããŠããããš AWS ã Azure ã«éãããåœããŒã ã䜿çšããŠããä»ã®ãããã¯ã (Datadog, PagerDuty ç) ã Terraform ã§æ§ç¯ã»ç®¡çã§ããããš ãŸãã4æãã Terraform ã«éåžžã«æããã¡ã³ããŒã仲éã«å ãã£ãããšãçç±ã®äžã€ã§ãïŒ ãã ããäžåºŠ Terraform ã«æ±ºãããããã£ãšäœ¿ãç¶ãããšããããã§ã¯ãªããããããŒã ã«ãšã£ãŠé©ãããããã¯ããããã°ããŒã å
ã§çžè«ãã€ã€ãåžžã«æè»æ§ãæã£ãŠæåãªéžæãããŠãããããšèããŠããŸãã çæ³ãšèª²é¡ IaC ã®å€§ããªã¡ãªããã®äžã€ã¯ãã€ã³ãã©ã®ç¶æ
ã宣èšçã«ã³ãŒãã§è¡šçŸã§ããããšã ãšèããŠããŸãããããŠäžåºŠäœæããã³ãŒããè€è£œããã°ããã«æ°ããç°å¢ãåºæ¥äžããããšããç¶æ
ãçæ³ã ãšæã£ãŠããŸããçŽ æ©ãã€ã³ãã©ç°å¢ãçšæã§ããããã«ãªãã°ãã¢ããªã±ãŒã·ã§ã³ã®æ¹åãæ°æ©èœè¿œå ã®ã¹ããŒããäžãããçµæãšããŠã客ããŸãžã®äŸ¡å€æäŸãæ©ããããšãã§ããŸãããŸããå¿
èŠãªãšãã«å¿
èŠãªç°å¢ãçšæã§ããããã«ãªãã°ã ã¯ã©ãŠã å©çšæã®åæžã«ãã€ãªããããšãã§ããŸãã ããããTerraform 以å€ã®æ¹æ³ã§äœæãããªãœãŒã¹ããããšé çªãæèããŠæ§ç¯ããå¿
èŠããã£ããã ç§å¯éµ ããã¹ã¯ãŒããªã©ã»ãã¥ãªãã£ãªã¹ã¯ãéã¿ããš Terraform ã§ç®¡çãã¹ãã§ã¯ãªããªãœãŒã¹ããã£ãããšãåçŽã«ã³ãŒããè€è£œããã ãã§ã¯ãã¹ãŠã®ãªãœãŒã¹ãæ§ç¯ããããšãã§ããªã課é¡ã«çŽé¢ããŠããŸãã å°ã现ãã話ã«ãªã£ãŠããŸãã®ã§ãããå
·äœäŸãäžã€ç޹ä»ããŸããç§ãã¡ã® Amazon EKS ã¯ã©ã¹ã¿ ã«ã¯ AWS Load Balancer Controller ãå°å
¥ãããŠããããã Kubernetes ãªãœãŒã¹ã® Ingress ãäœæããããšã§ã ã¯ã©ã¹ã¿ å€éšããã®éä¿¡ãåãã Application Load Balancer (ALB) ãäœæããŠããŸãã tech-blog.tokyo-gas.co.jp ç¬èªãã¡ã€ã³ ãèšå®ãã HTTPS ã§ ALB ã«æ¥ç¶ãããããã Amazon Route 53 ã§ã® A ã¬ã³ãŒãäœæã AWS Certificate Manager ã§ã®èšŒææžçºè¡ãå¿
èŠã«ãªããŸãããŸããå€éšããã®æ»æãé²ãããã« AWS WAF ã ALB ã«çŽã¥ããããšãæ±ããããŸãããããã® AWS ãªãœãŒã¹ã Terraform ã§äœæããã®ã§ãããA ã¬ã³ãŒã㯠ALB ãäœæãããåŸã§ãªããšç»é²ã§ããªãããããŸãã¯èšŒææžãš WAF ãå
ã« Terraform ã§äœæããæ¬¡ã« EKS ã¯ã©ã¹ã¿ äžã« Ingress ããããã€ããããšã§ ALB ãäœæããæåŸã« ALB ã® DNS åã A ã¬ã³ãŒãã«ç»é²ããããšããæç¶ãçãªæ¹æ³ã§æ§ç¯ãããããšã«ãªããŸãã *1 ä»ã®ãšããäžã€äžã€ã®äœæ¥ã®è² è·ã¯å€§ããã¯ãªãã®ã§ããããã®ããã«æé ã«åŸã£ãŠæ§ç¯ããé
ç®ãå¢ãããšã宣èšçãªè¡šçŸã®è¯ãã倱ããã人çºçãªãã¹ãæ§ç¯ã¹ããŒãäœäžã«ã€ãªããã®ã§æ¬æ¥ã¯é¿ããããšèããŠããŸããä»åã®äŸã«éãããTerraform ã®äžçã«éããªããªãœãŒã¹ãã©ã管çããŠããã®ãã倧ããªèª²é¡ã§ãããããŒã ã§æ¥ã
ãã£ã¹ã«ãã·ã§ã³ããªããèªåãã¡ã«ãšã£ãŠæé©ãªã ã©ã¯ ãã£ã¹ã暡玢ããŠããŸããããïŒ ãããã« ã芧ããã ãããšãããç§ãã¡ã®ããŒã ã§ã¯ Terraform ãæŽ»çšã㊠AWS ã Azure ã®ç°å¢ããªãã¹ã宣èšçã«æ§ç¯ã»ç®¡çããŠããŸããäžæ¹ãæ§ã
ãªèª²é¡ã«ãçŽé¢ããŠãããã©ãããã°ããæ©ãã»æ£ç¢ºã«ç°å¢ãçšæããã客ããŸã«ãã¡æ©ã䟡å€ãæäŸã§ããããæ¥ã
ããŒã ã§è°è«ããªããæ€èšãé²ããŠããŸãïŒ ç§ãã¡ã®ããŒã ã§ã¯ããšãã«åã仲éãç©æ¥µçã«åéããŠããŸããSRE ã®ã¿ãªãããœãããŠã§ã¢ãšã³ãžãã¢ã®ããžã·ã§ã³ãããããŸãã®ã§ãå°ãã§ãèå³ããæã¡ããã ããŸãããããã²ã«ãžã¥ã¢ã«é¢è«ãããå¿åãã ããïŒ Application Developers www.wantedly.com SRE www.wantedly.com æåŸãŸã§ãèªã¿ããã ãããããšãããããŸããããŸã次åã®èšäºã§ãäŒãããŸãããïŒ *1 : Terraform ã§ Ingress ãäœæãããšããæ¹æ³ããããŸãããArgoCD ãçšãã GitOps ãå®çŸããããã« Kubernetes ãªãœãŒã¹ã¯ Terraform ãšã¯å¥ã®ã©ã€ããµã€ã¯ã«ã§ç®¡çããããšèããŠããŸãããããæ§ç¯ãéçšãé²ããäžã§æè»ã«æ¹éãæ±ºããŠãããããšæã£ãŠããŸãã
24幎床ãããšã³ãžã㢠ãªã³ã°ã ããŒãžã£ãŒå
ŒSREããŒã ãªãŒããŒãšããŠæŽ»åãéå§ããæå±±ã§ããä»åã¯æ°å¹ŽåºŠãšããããšã§ãããšã ãæžããŠã¿ãŸããã æã
ã®ããŒã ã¯ã24幎床ãããªãã³ã°æŠç¥éšãšããéšçœ²ã«ç§»ããŸããããã®éšçœ²ã¯ B2C åéã«ãããæ§ã
ãªæœçãçœåŒãã圹å²ãæ
ã£ãŠãããæã
ã®ããŒã ã myTOKYOGAS ã®æ ãè¶
ããŠãæ°ããªãã£ã¬ã³ãžãæåŸ
ãããŠããŸãã4æã«ã¯æ°ããªä»²éããžã§ã€ã³ããã¹ã¿ãŒã ããã·ã¥ ã§è»¢ã°ã¬ãããä»ãã®ç¬éãé§ãæããŠããŸãã ããããæ²ããŠãã倧ããªããã·ã§ã³ã¯å€ãã£ãŠããŸãããããã¯ãã客ããŸã«æäŸãããããã¯ãã®äŸ¡å€ããšã³ãžãã¢ãªã³ã°ã§åäžãããããšãã§ãã ãœãããŠã§ã¢ãã¡ãŒã¹ãã®æä»£ãšèšãããŠä¹
ããã§ãããæ§ã
ãªç°å¢å€åã®äžã§ããœãããŠã§ã¢ãšã³ãžãã¢ã«å¯ŸããæåŸ
ã¯ãŸããŸã倧ãããªã£ãŠãããšæããŠããŸãããã®æåŸ
ãåããæã
ã®ããŒã ãæ¡å€§ããå§ããä»å¹ŽåºŠã®æ¡çšç®æšãããªãã®ã¹ãã¬ãããŽãŒã«ãèšå®ãããŸãããããããããã¯äŒç€Ÿããã®å€§ããªæåŸ
å€ã§ããããšåãæ¢ããŠããŸããïŒãã¡ããããããã¯ãã®éçºã䟡å€ã¯ãšã³ãžãã¢ã®äººæ°ã§æ±ºãŸããã®ã§ã¯ãããŸãããïŒ ãã®äžã§ãããžã§ã³ãæ²ããããã·ã§ã³ãæç¢ºã«ããåã䟡å€èгã»ååããã£ãŠåãããšã¯å€§åã ãšèããŠããŸããããã·ã§ã³ã¯åè¿°ã®ãšããã§ãããç§ãã¡ã®ããžã§ã³ã¯ãªã«ãã ããã¯ãäºæ¥ãšãšã³ãžãã¢ã®èåãã§ããäºæ¥äŒç€Ÿã§ã®å
補éçºã¯ããã ãšã³ãžãã¢ãäºæ¥äŒç€Ÿã«ãããšããã ãã§ã¯ãããŸããããœãããŠã§ã¢ãšã³ãžãã¢ãšããŠã®æè¡ãé«ããªããããäºæ¥ ãã¡ã€ã³ ã« deep dive ãããããããªããã°ãå€ããæ¥ãæã
ããDX ããããïŒããšå£°ã倧ããããŠããããšãã«ã®ãŒäºæ¥ã®ãããªããšãç¥ããªãã®ïŒããšèšãããŠããŸãããã§ãã äžæ¹ãèåãšããããã«ã¯ããããŸã§ã®ããžãã¹éšéã®æ¹ã
ã«ãããœãããŠã§ã¢ã®ããšãç¥ã£ãŠãããå¿
èŠããããšèããŸããæ£çŽãªãšããã以åã®äžå³¶ã®æçš¿ *1 ã«ããããšãããç§ãå
¥ç€Ÿããé ã¯ãä»ã®ãããªããŒã ç¶æ
ã«ãªããšã¯äºæ³ãããŠããŸããã§ããããã®ååŠåå¿ããæ°ããéšã§ãç¶ããŠãããããããã«éšã暪æããè¶å¢ããŠæ³¢åãããŠããããšã§ã æ±äº¬ã¬ã¹ ãšããäŒç€Ÿã§ã®çã® DX ãå®çŸã§ãããšä¿¡ããŠããŸãã ããã§ã¯ãããŒã ã®äŸ¡å€èгã»ååã¯ãªã«ãã倧ããäžã€å®çŸ©ããŸããã ã客ããŸèµ·ç¹ ãããã¯ãå¿å å§åçåœäºè
æè æåŸã¯ã©ããã§èŠãããšãããæ°ãããŸãããä»ã®ä»²éã¯ãšã³ãžãã¢ã®ã¿ãªãããPdM/PO ã¯ãã¡ããããã¶ã€ããŒãããããŒã®æ¹ã
ãå«ããã¿ãªããæ¬åœã«ã客ããŸã«çæ¯ã«åãåã£ãŠãããšæããŠããŸããã ãããããã客ããŸãšã®æ¥ç¹ããªã¢ã«ããããžã¿ã«ã«å€ãã£ãŠããäžããœãããŠã§ã¢ã®éèŠæ§ãæããã¿ããªãåãæ¹åãåããŠãããã®ã ãªããšã ããã«ããšã³ãžãã¢ãªã³ã°ãæçµçã«ã¯ã客ããŸã«å±ãããããã¯ãã®äŸ¡å€ãé«ããããã®ææ®µã§ãããšããå¿åããçµæãšããŠãšã³ãžãã¢ãªã³ã°ã®åãé«ããŠãããšèããŠããŸãããªããªããã客ããŸã®ããšãèãããšããããéãæ°ããæ©èœã®ããªããªãŒãè¡ããå®å®ããä¿¡é Œæ§ãããã©ãããã©ãŒã ãæ§ç¯ããå¿
èŠãããããã®ããã«ã¯é«åºŠãªæè¡ãèªååã®åãæŽ»çšããªããã°ãå®çŸã§ããªãããã§ãã ãããã¯ãæçµçã«ã©ãã ãåœäºè
æèããã£ãŠè¡åããŠããã®ã次第ã ãšæããŸããç±ãæ³ããæã£ãŠãããããããè¡åã«å€ããŠãäžã«è¿°ã¹ããããªããšãå®çŸã§ããã ããã䟡å€èгããã£ãŠã24幎床ãæã
ã®ããŒã ã¯ãŸããŸãã®ãã£ã¬ã³ãžãããŠãããããšèããŠããŸããç§èªèº«ã®ããã·ã§ã³ã¯ããã£ã¬ã³ãžãå®è¡ãã仲éãå¿«é©ã«åãããšãåºæ¥ãç°å¢ãæŽãããããã JTC ã«ããã倧ããªå£ãšåãåãã仲éãã客ããŸãžã®äŸ¡å€æäŸã«éäžã§ããããã«ããããšã§ãããŸã ãŸã æªçã§ãåãè¶³ããªãã»ã»ã»ããæããæ¯æ¥ã§ããã仲éãããæ¥œãããããŠããŸãããããããšãããããŸãããšèšããããšãèšèã«ããã®ã¯æ¥ããããã§ããããšãŠãå¬ããã§ããããã¡ãããæè¬ã®æ°æã¡ã§ãã£ã±ãã§ãã ãããªããšã ã«ãªã£ãŠããŸããŸãããã24幎床ãã¿ãªããã«åœããŒã ã®æŽ»åãªã©ããã®ããã°ã§ãå±ãããŠãããããšæã£ãŠããŸãã®ã§ããã²èªãã§ããã ããã幞ãã§ãã æåŸãŸã§ãèªã¿ããã ããããããšãããããŸããïŒ æ°ããªä»²éãåéããŠããŸãïŒ ãããªããšããŒãªããŒã ã¯ãæ°ããªä»²éãåéããŠããŸãïŒãšãã«ãšãã«ã®ãŒ ãã©ãããã©ãŒã㌠ãç®æãããïŒäºæ¥ãšãšã³ãžãã¢ã®èåããããïŒãããªç±ãæ³ãããã£ãæ¹ã¯ãã²ãæ°è»œã«ã«ãžã¥ã¢ã«é¢è«ãããå¿åãã ããïŒ www.wantedly.com www.wantedly.com *1 : Tech Lead äžå³¶ã®æ³ãã蟌ããããæçš¿ã§ããæªèªã®æ¹ã¯ãã²ãèªã¿ããã ããããšæããŸãã tech-blog.tokyo-gas.co.jp
ã¯ãããŸããŠïŒã¢ãã€ã«ã¢ããªããŒã ãæ
åœããŠããåæ²¢ã§ãïŒ å
補éçºããŒã ã¯è€æ°ã®ããŒã ã§æ§æãããŠãããç§ã¯ãã¢ãã€ã«ã¢ããªããŒã ãã§ã®éçºãæ
åœããŠããŸãã æ±äº¬ã¬ã¹ ãæ²ããŠãã倧ããªç®æšã§ããããCO2ãããã»ãŒããããªãŒããã«è²¢ç®ãã¹ããã客ããŸãžã®æ°ããªäŸ¡å€æäŸãã¢ãã€ã«ã¢ããªã«ãã£ãŠå®çŸããŠããããã«çºè¶³ããããŒã ã§ãã ä»ã¯ãŸã ãããã¯ãã®å
容ã«ã€ããŠã¯ã玹ä»ã§ããªãã®ã§ãããæè¡ã¹ã¿ãã¯ãéçºææ³ãªã©ããŒã ãã©ã®ãããªåœ¢ã§æ¥ã
éçºãè¡ãªã£ãŠããã®ããã玹ä»ã§ããã°ãšæããŸãã éçºã®æµã ãããã¯ãããžã§ã³ãè¡åèŠç¯ ã¹ã¯ã©ã ã€ãã³ã ã³ãã¥ãã±ãŒã·ã§ã³ æè¡ã¹ã¿ã㯠ãããã« éçºã®æµã ã¢ãã€ã«ã¢ããªããŒã ã§ã¯ ã¹ã¯ã©ã ãæ¡çšãã1 ã¹ããªã³ã 1 é±éã§éçºãè¡ã£ãŠããŸãã å
補éçºããŒã ã§ã¯ããã¥ã¡ã³ã管çã«ã¯Notionããªã³ã©ã€ã³ãã¯ã€ãããŒããšããŠMiroãã¿ã¹ã¯ç®¡çããŒã«ã§ã¯Linearãã³ãã¥ãã±ãŒã·ã§ã³ããŒã«ã«ã¯Slackãšãã£ãããŒã«ãå°å
¥ãããŠãããç§ãã¡ã®ããŒã ã§ããããã®ããŒã«ãæå¹æŽ»çšããªããéçºãé²ããŠãããŸãã ãããã¯ãããžã§ã³ãè¡åèŠç¯ ãããã¯ãã®ããžã§ã³ã ã¹ã¯ã©ã ã§åºãã¯ãŒãã³ã°ã¢ã° ãªãŒã¡ã³ã ã DONE ã®å®çŸ©ãã¹ããªã³ããã©ã³ãã³ã°ãã¬ãã¥ãŒã§ã®è°äºé²ã ã·ã¹ãã ã¢ãŒããã¯ã㣠ãã³ãŒãã£ã³ã°ã«ãŒã«ããããŠããŒã ã§ã®è¡åèŠç¯ãšãã£ããã®ã¯ Notion ã§ãŸãšããŠãããŒã å
šå¡ããã€ã§ã確èªã§ããããã«ããŠããŸãã  ããŒã ã®Notion ã¹ã¯ã©ã ã€ãã³ã ã¹ããªã³ããã©ã³ãã³ã°ããã€ãªãŒ ã¹ã¯ã©ã ãã¹ããªã³ãã¬ãã¥ãŒããããã¯ã ããã¯ãã° ãªãã¡ã€ã³ã¡ã³ã ããã¯ã㰠㯠Linear ãšããã¿ã¹ã¯ç®¡çããŒã«ã§ç®¡çããŠããããããçšããŠãã©ã³ãã³ã°ããã€ãªãŒ ã¹ã¯ã©ã ãªã©åã»ã¬ã¢ããŒãè¡ã£ãŠããŸãã Linear ã¯ãµã€ã¯ã«(âã¹ããªã³ã)ãšåŒã°ããæéãåºåã£ãéçºç®¡çãå¯èœãªããŒã«ã§ãã ãã®ãµã€ã¯ã«ã«ã¯ååãã€ããããšãã§ããã¹ããªã³ããã©ã³ãã³ã°ã§ã㣠ã©ã¯ ã¿ãŒã®ååãªã©ãã€ããçãè¡ããã³ãã¥ãã±ãŒã·ã§ã³ã®ä¿é²ãå³ã£ãŠããŸãã æ¬æ¥ã¯ã¹ããªã³ããŽãŒã«ãæèã§ãããããªã¹ããªã³ãåãã€ããã®ãè¯ããšæããŸãããã¹ããªã³ããã©ã³ãã³ã°ãªã©ã§èªåãããã ãšæãã㣠ã©ã¯ ã¿ãŒããã©ã³ãã³ã°ããŒã«ãŒã®ããã«åºãåãã®ã¯ ãªããªãé¢çœããã¹ããªã³ãéå§æã«ããŒã ã®çãäžããšããŠæ©èœããŠãããšæããŠããŸãã linear.app Linearã®ç»é¢ ã¬ããã¹ãã¯ãã£ã ã¬ããã¹ãã¯ãã£ãã§ã¯ãMiroã䜿çšããŠæ¯ãè¿ã宿œããŠããŸããã KPT ã ãã¬ãŒã ã¯ãŒã¯ ãçšããŠæ¯ãè¿ããè¡ãããšãå€ãã§ããã äžæºãäžå®ãæºãŸã£ãŠããããªãšãã¯ãè±¡ãæ»ãã éãååããè¡ããªã©ç¶æ³ã«å¿ããŠæ¯ãè¿ãã® ãã¬ãŒã ã¯ãŒã¯ ã倿ŽããŠããŸãïŒ è±¡ãæ»ãã éãåå ã³ãã¥ãã±ãŒã·ã§ã³ ã¹ã¯ã©ã ã€ãã³ã以å€ã§ã®ã³ãã¥ãã±ãŒã·ã§ã³ã¯ãSlackã®ããã«ã掻çšããŠããŸãã å¿
èŠã«å¿ããŠã¢ãããã ãã¢ãã ãããããæã«ã¯éè«ããããããªããéçºãé²ããŠããŸãã ãªã¢ãŒãã¯ãŒã¯ãå€ããªã³ã©ã€ã³ã§ã®å¯Ÿå¿ãå€ãããŒã ãªã®ã§ãããããŒã«ã掻çšãããŒã å
ã§ã¯æŽ»çºãªã³ãã¥ãã±ãŒã·ã§ã³ãè¡ãããšãã§ããŠããŸãã æè¡ã¹ã¿ã㯠ã¢ãã€ã«ã¢ããªããŒã ã§ã¯ãFlutter ãæ¡çšããŠéçºãé²ããŠããŸãã æšä»ã®ã¢ãã€ã«ã¢ããªãšã³ãžãã¢ã®æ¡çšã®é£ããã«å ãã iOS ãš Android ã®äž¡æ¹ã§åäœããã¢ããªãåäžã®ã³ãŒãããŒã¹ããéçºã§ãã ã¯ãã¹ãã©ãããã©ãŒã ã§ã®éçºã¯ãå°äººæ°ã§éçºãé²ããå
補éçºããŒã ã«ãããããŠãããšå€æããŸããã éçºãé²ããäžã§ãåäžã³ãŒãã§ UI ãã¶ã€ã³ãçµ±äžããŠéçºã§ããããéçºå¹çãè¯ããå¿
èŠã«å¿ã㊠OS å¥ã«å®è£
ã§ããæè»æ§ããããäœããããããã UI ããããªããããã UI ã®èšå®ã§ããªãããªããšæã£ãŠæ¢ããš Flutter åŽã§å®è£
ãããŠããå¯èœã ã£ãããšãããããªäœéšãå€ãããšãããéçºäœéšãè¯ã ãã¬ãŒã ã¯ãŒã¯ ã ãšæããŠããŸãã ä»åã®èšäºã§ã¯è©³çްãªå
容ã«ã€ããŠã¯ã話ãããŸããããä»åŸã¯Flutterã®éçºäºäŸãªã©ãèšäºã«ããŠãããããšæããŸãã ãããã« ä»åã¯ã¢ãã€ã« ã¢ããªéçº ããŒã ã®éçºã®æµããæè¡ã¹ã¿ãã¯ã«ã€ããŠè»œãã玹ä»ãããŠããã ããŸããã å
補éçºããŒã ã§ã¯ãã¢ãã€ã«ã¢ããªã«ã€ããŠãå
補åãä»åŸæšé²ããŠãããŸãã çŸåšãœãããŠã§ã¢ãšã³ãžãã¢ãSREã®ããžã·ã§ã³ã«ãŠç©æ¥µçã«æ¡çšãè¡ãªã£ãŠããŸãã Webãšã³ãžãã¢ã ãã§ãªããã¢ãã€ã«ãšã³ãžãã¢ã察象ã§ãã®ã§ããã²ãèå³ãããæ¹ã¯ä»¥äžãã芧ãã ããã Application Developers www.wantedly.com SRE www.wantedly.com
ã¯ãããŸããŠïŒ æ±äº¬ã¬ã¹ ã§myTOKYOGASããã³ããšã³ãããŒã ãæ
åœããŠããäžå¶ã§ãïŒ æ¬çš¿ã§ã¯ãåœããŒã ã®ãããã¯ãéçºã«ãããŠãããã±ãŒãžæŽæ°ãšãªãªãŒã¹äœæ¥ãåãäžããŠãå
補éçºã®æ§åãã玹ä»ãããŠé ããã°ãšæããŸãã ããã±ãŒãžæŽæ°ã«ã€ã㊠Dependabotã«ããèªåæŽæ° ã³ã³ããã®ã»ãã¥ãªãã£è匱æ§èšºæã«ã€ã㊠ãªãªãŒã¹äœæ¥ã«ã€ã㊠ãã¹ãçšã®æ€èšŒç°å¢ ãã©ã³ãéçšã«ã€ã㊠ãããã€äœæ¥ã«ã€ã㊠ãããã« ãããã¯ãã®æè¡ã¹ã¿ãã¯ã«ã€ããŠã¯ããã¡ããã芧ãã ããã note.com ããã±ãŒãžæŽæ°ã«ã€ã㊠ããã±ãŒãžæŽæ°ã¯å°å³ãªäœæ¥ãããããªãã§ãããæŽæ°ããã«é·æéã«æž¡ã£ãŠæŸçœ®ããŠãããšã»ãã¥ãªãã£ã«é¢ãã èåŒ±æ§ ã®åé¡ãé倧ãªãã°ã®ä¿®æ£ãèŠèœãšããããªã¹ã¯ããããŸãããã®ããã宿çã«æŽæ°ããªãããããã¯ãã«åæ ãç¶ããŠããããã®äœå¶ãéçšãæŽããŠããããšãéèŠããšæããŸããæã
ã®ããŒã ã§ã¯åºæ¬çã«1Sprint2é±éã®ãµã€ã¯ã«ã§åããŠãããæ°èŠæ©èœéçºããã°ä¿®æ£ãªã©ã®ãªãªãŒã¹ããªãå Žåã§ããã¢ããªã®ããã±ãŒãžæŽæ°ãã³ã³ããã® èåŒ±æ§ èšºæã宿çã«è¡ããããã¯ãã«åæ ããŠããããã«ãåºæ¬çã«1Sprintã§1å以äžã¯å®æãªãªãŒã¹ãè¡ãæ¹éã§éçºãè¡ãªã£ãŠãããŸãã Sprintã®ã¹ã±ãžã¥ãŒã« Dependabotã«ããèªåæŽæ° ããã±ãŒãžæŽæ°äœæ¥ã«ã€ããŠã¯ãåºæ¬çã«ã¯ã dependabot ããå©çšããŠããŸããdependabotãå°å
¥ããããšã«ãã£ãŠãäŸåããããã±ãŒãžã®ã¢ããããŒãã宿çã«ãã§ãã¯ããããšãã§ããŸãããŸããdependabotã«ãã£ãŠèªåçæãããPull RequestïŒä»¥äžãPRïŒã§ã¯ã changelog ã察å¿ããã³ãããã®å
容ã確èªããããšãã§ããŸãã dependabotãèªåçæããPull Request ãŸããPRã®äœæãããªã¬ãŒãšããŠãã¹ãã³ãŒããå®è¡ãã Github ActionsïŒCIãžã§ãïŒãçšæããŠãããããdependabotã«ããPRãèªåçæããããšãèªåçã«ãã¹ãã³ãŒããåããŠæ©èœé¢ã§ ãªã°ã¬ãã·ã§ã³ ãçºçããŠããªããã確èªããããšãã§ããŸãã ãã¹ãã³ãŒããå®è¡ããCIãžã§ã åœããŒã ã®ãããã¯ãã¯ããã³ãç»é¢ãBFFãTypeScriptãæ¡çšããŠãããããã©ã¡ããããã±ãŒãžãããŒãžã£ã¯npmãå©çšããŠããŸããã©ã¡ãããã€ããŒããŒãžã§ã³ã®æŽæ°ããæ€ç¥ããããã«èšå®ããŠãããBFFã¯1æ¥1åã®ééã§å®æå®è¡ããŠããŸããããã³ããšã³ãã§å©çšããŠããããã±ãŒãžã«é¢ããŠã¯æŽæ°é »åºŠãå€ãåŸåããã£ãŠãçŸåšã¯1é±éã«1åã®é »åºŠã§å®æå®è¡ããŠããŸããnpmã§ç®¡çãããããã±ãŒãžã«ã¯å®éã®çšŒåç°å¢ã§äœ¿ãããŠããdependenciesãšãéçºæã®ã¿ã«å©çšãããdevDependenciesã®2ã€ããããŸããdependenciesã®ããã±ãŒãžã«é¢ããŠæŽæ°ããã£ãå Žåã¯ããã¹ãã³ãŒããå
šãŠåããŠããããšã確èªãã changelog ã®å
容ããã§ãã¯ããäžã§ããŒãžããããã«ããŠããŸããäžæ¹ã®devDependenciesã®ããã±ãŒãžã«é¢ããŠã¯å®æå®è¡ãåŸ
ããnpm-check-updatesãªã©ã®ããŒã«ã䜿ã£ãŠäžæ¬ã§ãŸãšããŠæåæŽæ°ããããšããããŸãã dependenciesã®ããã±ãŒãžã«ã€ããŠã¯ããããã¯ãã®ã³ãŒãã®ã©ã®éšåã§ãã©ã®æ©èœã«äŸåããŠããã®ããææ¡ããŠããããšã§ãããçšåºŠã¯ããã±ãŒãžã«äŸåããæ©èœã«é¢ãããã¹ãã³ãŒããæžãããšãå¯èœããšæããŸããããããã¡ãžã£ãŒããŒãžã§ã³ãæŽæ°ãããŠ åŸæ¹äºæ æ§ã倱ããããããªå€æŽãçºçããŠããŸããšäºåã«çšæãããã¹ãã³ãŒããæå³ããªããªãããã¹ãã³ãŒãèªäœãæ¹ä¿®ããã³ã¹ããçãŸããŠããŸããããè²»çšå¯Ÿå¹æãšããŠã¯ããŸãæ¡ç®ãåããªããšæããŸãããã®ããCIã§åãããã¹ãã³ãŒãã§ã¯ãããã±ãŒãžãæäŸããæ©èœã«çŠç¹ãåœãŠãããããŸã§ãããã¯ããšããŠæåŸ
ãããæ©èœèŠä»¶ãæºãããŠããããšãã芳ç¹ã§æžãããã«å¿ãããŠããŸãã ã³ã³ããã®ã»ãã¥ãªã㣠èåŒ±æ§ èšºæã«ã€ã㊠ããã³ãããŒã ã®éçºé åãšããŠãããã¯ãšã³ã API ããè¿åŽãããããŒã¿ãçµ±åçã«éçŽããŠããã³ãç»é¢ã«æç»ããããããã«æŽåœ¢ãã責åãæ
ãBFFïŒBackend for FrontendsïŒããããŸããBFFã¯ãAzure App Serviceã®Web App for Containersã®äžã§åããŠããŸããå
šäœã®æ§æãšããŠã¯ã以äžã®ã€ã¡ãŒãžã«ãªããŸãã myTOKYOGASã®ã·ã¹ãã æ§æ ã³ã³ãã㯠VM ãšæ¯èŒãããšããŒã¿ããªãã£ã®èгç¹ã§åªããŠããäžæ¹ã§ã²ã¹ããšãã¹ãã®åé¢ã¬ãã«ã匱ããããã»ãã¥ãªã㣠èåŒ±æ§ ã«å¯ŸããŠã¯ãã现å¿ã®æ³šæãæãå¿
èŠããããšæããŸããåœããŒã ã§ã¯ãã³ã³ããã€ã¡ãŒãžã®ãªã¹ã¯ã«ã€ããŠãCIã®ãã¹ãå®è¡æãšå®æçã«å®è¡ããããžã§ããçšã㊠èåŒ±æ§ èšºæã宿œããä»çµã¿ãå°å
¥ããŠããŸããCIã®ã¯ãŒã¯ãããŒãšã¯å¥ã«å®æå®è¡ã®ãžã§ããçšæã㊠èåŒ±æ§ èšºæãè¡ãããšã§ãã³ã³ããã€ã¡ãŒãžã®äœææã ãã§ãªãäœæåŸã«æ°ãã èåŒ±æ§ ãèŠã€ãã£ãå Žåã«ãæ€ç¥ã§ããäœå¶ãæŽããŠããŸãã èåŒ±æ§ èšºæã®ã¯ãŒã¯ãã㌠ã³ã³ããã€ã¡ãŒãžã® èåŒ±æ§ èšºæããŒã«ãšããŠã¯ãTrivyãå©çšããŠããŸããCIã®ãã¹ãå®è¡æã§ã¯ã èåŒ±æ§ ã®é倧床ã¬ãã«ïŒseverityïŒã¯MEDIUM,HIGH,CRITICALã èåŒ±æ§ ã¿ã€ãã¯osãšlibraryãèšå®ããŠããŸãããŸããéçºã®æµããæ¢ããªãããä¿®æ£ããŸã æäŸãããŠããªã èåŒ±æ§ ã«é¢ããŠã¯ããšã©ãŒãšããªãèšå®ã«ããŠãããŸããäžæ¹ã§ã宿å®è¡ãããžã§ãã®æ¹ã§ã¯å
šãŠã®é倧床ã¬ãã«ïŒseverityïŒãæ€èšŒããŠç¹å®ã®Slackãã£ã³ãã«ã«éç¥ããéçšãè¡ãªã£ãŠããŸãã èåŒ±æ§ èšºæçµæã®slackéç¥ ãã§ã«è§£æ¶æžã¿ã®ããŒãžã§ã³ãååšãã èåŒ±æ§ ãèŠã€ãã£ãå Žåã¯ãã³ã³ããã€ã¡ãŒãžãåãã«ãããããšã«ãã£ãŠææ°çã®ããã±ãŒãžãåæ ãããŠã èåŒ±æ§ ã®ãšã©ãŒãè§£æ¶ããããšã確èªã§ãããããããã€ãè¡ãæµãã«ãªããŸããäžæ¹ã§ãæ°ãã«ãŸã æªè§£æ¶ãª èåŒ±æ§ ãèŠã€ãã£ãå Žåã¯ããšã³ãžãã¢ã èåŒ±æ§ ã®å
容ã粟æ»ããæ·±å»åºŠã«å¿ããŠåå¥ã«å¯Ÿå¿èŠåŠãæ€èšããŸãã ãªãªãŒã¹äœæ¥ã«ã€ã㊠ãã¹ãçšã®æ€èšŒç°å¢ 次ã«ãæ€èšŒç°å¢ã«ã€ããŠç°¡åã«ã玹ä»ãããŠé ããŸãããªãªãŒã¹ãé »ç¹ãã€ç¶ç¶çã«å®æœããŠããäžã§ããã¹ããè¡ãããã®æ€èšŒç°å¢ã®æŽåã¯äžå¯æ¬ ããšæããŸããçŸåšã¯Webçšãã¢ãã€ã«çšã瀟å
åãã®3çš®é¡ã®ãããã€å
ããããããããã«å¯ŸããŠè€æ°ã®æ€èšŒç°å¢ãçšæããŠããŸãããããã€å
ãšç°å¢æ°ãæãåããããš10çš®é¡ä»¥äžã®æ€èšŒç°å¢ã§æ¥ã
ã®éçºãšäžŠè¡ããªãããã¹ãã宿œãããŠããŸããå®éã«ã ã¹ãã¢ã« ãŠã³ãã䜿ã£ãŠåäœç¢ºèªãè¡ãããŒã ããããããåé¢ä¿è
ãšé£æºããªããæ©èœéçºãé²ããŠãããŸãããã®ãããåºæ¬æ¹éãšããŠéçºãè¡ãããã³ãããŒã åŽã§ã¬ãã¥ãŒãå®äºãããããã€å¯èœãªç¶æ
ã«ãªã£ããšããŠãããã«ããŒãžã¯ãããçŸåšã®åäœç¢ºèªã®å¯Ÿå¿ç¶æ³ã«å¿ããŠé©å®å¿
èŠãªãã®ã ããããŒãžããŠãããããªæµããšãªã£ãŠããŸãã以äžãå
šäœã®ã€ã¡ãŒãžã«ãªããŸãã ãããã€å
ãšæ€èšŒç°å¢ã®ã€ã¡ãŒãž ãã©ã³ãéçšã«ã€ã㊠ãã©ã³ãéçšã«ã€ããŠã¯ãåºæ¬çã«developãããã©ã«ããã©ã³ããšããŠã¬ãã¥ãŒæžã¿ã«ãªã£ãPRãåã蟌ãã§ãããææ°çã®developãã©ã³ããåæ€èšŒç°å¢ã«åæ ããæµãã«ãªã£ãŠããŸããæ€èšŒç°å¢ã«ã¯ãã¢ãã¯çšã®ãµã³ãã«ããŒã¿ãå©çšããç°å¢ãšããã¯ãšã³ããå€éšãµãŒãã¹ã® API ãšçéããŠå®ããŒã¿ãå©çšããç°å¢ã«å€§å¥ãããŸããæ€èšŒäœæ¥ã¯åæ©èœéçºããã°ä¿®æ£ãªã©ã®å
容ã«å¿ããŠãããããã®ç°å¢ãé©åã«äœ¿ãåããªãã宿œãããŠããŸãããã¹ãŠã®æ€èšŒäœæ¥ãç¡äºã«å®äºããããmainãã©ã³ãã«åæ ããŠæ¬çªãªãªãŒã¹ã宿œããæµãã«ãªã£ãŠããŸãã ãã©ã³ãéçš éçºè
ã¯developããfeature, hotfix, pkgãªã©ã® åœåèŠå ã«åŸã£ããã©ã³ããåããLinearã§ç®¡çããããã±ããïŒæ©èœéçº, ãã°ä¿®æ£, ããã±ãŒãžæŽæ°ãªã©ïŒã«çæããŠãããŸãïŒã¿ã¹ã¯ç®¡çã«ã€ããŠã¯ã ãã¡ã ã§ãè§ŠããŠããŸãïŒããããã® åœåèŠå ã«åŸã£ããã©ã³ããäœæããããšã§PRãäœæããéã«èªåçã«å€æŽå
容ã衚ãã©ãã«ãä»äžãããä»çµã¿ã«ãªã£ãŠããŸãã Pull Request(ãµã³ãã«)ã«èªåä»äžãããã©ãã« æ¬çªãªãªãŒã¹ãå®äºããåŸã«ãªãªãŒã¹ããŒããäœæããŸãããã®éã«PRã«ä»äžãããã©ãã«ããšã«å€æŽå
å®¹ãæŽçããŠèªåã§ãªãªãŒã¹ããŒããäœæãããžã§ããåãããŠããŸãããŸãããªãªãŒã¹ããŒããäœæããéã«ã¯ã»ãã³ãã£ãã¯ããŒãžã§ãã³ã°ã«åºã¥ããŠããŒãžã§ã³ã¿ã°ãçºè¡ããŸãïŒ åŸæ¹äºæ æ§ã®æç¡ãä¿®æ£å
容ãå å³ããŠãªãªãŒã¹ããšã«ããŒãžã§ã³ãä»ããŠç®¡çããŠããŸãïŒã ãªãªãŒã¹ããŒãã®äœæ(ãµã³ãã«) ãããã€äœæ¥ã«ã€ã㊠ãããã€ããè³æãšããŠã¯ãNext.jsã®éçãªãã«ãïŒStatic ExportsïŒã«ãã£ãŠçæãããwebã¢ã»ãããšNestJSãåããã³ã³ããã€ã¡ãŒãžãåºæ¬ã«ãªããŸããããããAzure Static Web AppsãšãAzure App Serviceã«ãããã€ããããã® Github ActionsïŒCDãžã§ãïŒãå®çŸ©ãããŠãããããããããå®è¡ããã ãã§ãããã€äœæ¥ã¯å®äºããŸãã Azure Static Web Appsãžã®ãããã€ã¯ããã«ããããããã€ãŸã§ã äžæ°é貫 ã§è¡ã£ãŠããã Github ActionsïŒ Azure/static-web-apps-deploy ïŒãçšæãããŠããããããããå©çšããã ãã§ç°¡åã«ãããã€çšã®ã¯ãŒã¯ãããŒãæ§ç¯ããããšãã§ããŸãããŸãããããã€ååŸã§ã¯Datadogã®RUM Development Trackingãå©çšããŠææ°çã®ã¢ããªãé©åã«ãšã³ããŠãŒã¶ãŒãžé
ä¿¡ãããããšã確èªããŠããŸãã Azure Static Web Appsã®ãããããã€ç¢ºèª Azure App Serviceãžã®ãããã€ã¯ãããŠã³ã¿ã€ã ãçºçãããªããã ã¹ãããæ©èœ ãå©çšããBlue-Greenã®ãããã€æ¹åŒãæ¡çšããŠããŸãããªãªãŒã¹ã®åæ¥ã«ãã¬ã¹ãããç°å¢ã«äºåã«ãããã€ããŠãããåœæ¥ã¯éçšäžã¹ããããž ã¹ã¯ãã äœæ¥ã®ã¿ã宿œããæ¹éã«ããŠããŸãããŸãããªãªãŒã¹çŽåŸã«äœããã®äžå
·åãçºçããå Žåã¯ãå床 ã¹ã¯ãã ãå®è¡ããã ãã§ ããŒã«ãã㯠ã§ããç¶æ
ã«ãªã£ãŠããŸãã Azure App Serviceã«ã¯ã¢ããªã§å©çšããã ç°å¢å€æ° ãæåã§ç»é²ããŠããŸããäžæ¹ãã¢ããªåŽã§ã¯.envãã¡ã€ã«ãå©çšãã ç°å¢å€æ° ã®ç®¡çãè¡ã£ãŠããŸããæ°èŠæ©èœéçºã«äŒŽãã¢ããªäžã§æ°ãã ç°å¢å€æ° ã远å ããããšãAzure App ServiceåŽã§ ç°å¢å€æ° ã®è¿œå èšå®ãå¿ããŠããŸãå¯èœæ§ãèããããŸãããã®ãããåœããŒã ã§ã¯ãã¬ã¹ãããç°å¢ãžãããã€ããéã« ç°å¢å€æ° ã®å·®åãã§ãã¯ãè¡ãããšã§äžæŽåãçºçããªãããã«ããŠããŸãã ç°å¢å€æ° ã®å·®åãã§ã㯠ãŸãã ã¹ã¯ãã æã«ã倿Žåãšå€æŽåŸã® ç°å¢å€æ° ã®å·®åããã§ãã¯ããããšã§ãæå³ããªã倿Žãçºçããªãããã«çްå¿ã®æ³šæãæã£ãŠããŸãã ã¹ã¯ãã æã® ç°å¢å€æ° ã®å·®å確èª(ãµã³ãã«) Blue-Greenã®ãããã€æ¹åŒãå°å
¥ããããšã§ãããŠã³ã¿ã€ã ã®çºçãé²ããªãããããã€ã«ãããå®è¡æéãççž®ããããšãã§ããŸãã ãããã« ä»åã¯ãããã±ãŒãžæŽæ°ãšãªãªãŒã¹äœæ¥ã«çŠç¹ãåœãŠãŠãããããã®è©³çްã«è§Šãããšããããããå
šäœã®æµãã倧æ ã®ã€ã¡ãŒãžãæŽãã§é ãããããããã³ãããŒã ã«ãããéçºæ¥åã®äžéšãã玹ä»ãããŠé ããŸãããããã³ãããŒã ã¯ãŸã çºè¶³ããã°ããã®æ®µéã§ãå®ãŸã£ãã«ãŒã«ãæ¹éãªã©ãå°ãªããæèŠãåºãåããªããæè»ã«å€åããªããæé·ããŠããéçšã«ãããŸãããŸãã解決ããã課é¡ãææŠãããããšãªã©ãããããæ±ããŠããç¶æ³ã§ããå人çãªææ³ã«ãªã£ãŠããŸããŸããããŒã ã®é°å²æ°ãšããŠã¯éåžžã«è¯ããèªç±ã«æèŠãèšãåãã颚åãããããšã³ãžãã¢ãšããŠåããããç°å¢ã ãšæããŠããŸãã çŸåšãœãããŠã§ã¢ãšã³ãžãã¢ã®ããžã·ã§ã³ã«ãŠç©æ¥µçã«æ¡çšãè¡ãªã£ãŠããŸãã Application Developers www.wantedly.com SRE www.wantedly.com ããå°ãã§ãèå³ãæã£ãŠé ããããã«ãžã¥ã¢ã«é¢è«ããã§ãè¯ãã®ã§ãé£çµ¡é ãããšå¬ããã§ãïŒãã²ãäžç·ã«ããè¯ããããã¯ããéçºããŠãããŸãããïŒ
ã¿ãªãããããã«ã¡ã¯ïŒmyTOKYOGAS ããã³ããšã³ãããŒã ã«æå±ããŠãããŸãçžå·ãšç³ããŸãã 2024幎1æã« æ±äº¬ã¬ã¹ ã®ä»²éå
¥ããããæ©3ã¶æãçµã¡ãŸããã ãã®ãšã³ããªã§ã¯ã ããªãŒã©ã³ã¹ ãã æ±äº¬ã¬ã¹ ã«å
¥ç€Ÿããã«è³ã£ãçµç·¯ã«ã€ããŠãæãæç« ã§æçž®ã§ããæžããŠããããšæããŸãã®ã§æåŸãŸã§ãèªã¿ããã ããã幞ãã§ãã ãããŸã§ã®çµæŽ æ±äº¬ã¬ã¹ãšã®åºäŒã ãªãæ±äº¬ã¬ã¹ã«å
¥ç€Ÿããã®ã å
¥ç€ŸåŸã®æ°ã¥ã ãªãŒãã³ãªã³ãã¥ãã±ãŒã·ã§ã³æå ãã¬ãã·ãã«ãªåãæ¹ 貞äžãããPCã®ã¹ããã¯ãé«ã ä»ãäœããŠããã®ã ãããã« ãããŸã§ã®çµæŽ å
¥ç€Ÿä»¥å㯠ããªãŒã©ã³ã¹ ãšã³ãžãã¢ãšããŠæŽ»åããŠãããŸããã 2022幎10æã« ããªãŒã©ã³ã¹ ã®éãæ©ã¿å§ããçŽ1幎åŸã®2024幎1æã« æ±äº¬ã¬ã¹ ãžæ£ç€Ÿå¡ãšããŠå
¥ç€ŸããŸããã ããªãŒã©ã³ã¹ ã«ãªãåã¯ãSESäŒç€Ÿã§æ¥åå§èšãšã³ãžãã¢ãšããŠå€åããŠãããäž»ã«ããã¯ãšã³ãéçºã«åŸäºããŠããŸããã 䜿çšèšèªã¯äž»ã« Java ã§ãWebã¢ããªã±ãŒã·ã§ã³ã®éçºãæãããŠããŸããã å®ã¯å€§åŠåæ¥åŸãç§ã®ãã£ãªã¢ã¯å€å²ã«ããã£ãŠããŸãã ãã«ã¡ã³ããã³ã¹äŒç€Ÿã§èšå管çãããããçåœä¿éºäŒç€Ÿã§å¶æ¥ãçµéšããããããŒããããç®æãããã«äŒç€ŸãèŸããŠããªãŒã¿ãŒç掻ãéã£ãããšããããŸãã æ¯ãè¿ããšãèªåã§ãé©ãã»ã©å€åœ©ãªçµæŽãæ©ãã§ãããšæããŸãã ããããçµéšãçµãŠãšã³ãžãã¢ãšãªããçŸåšã«è³ããŸã§çŽ5幎ãçµã¡ãŸããããå
æ°ã«æŽ»åãç¶ããŠããŸãã æ±äº¬ã¬ã¹ ãšã®åºäŒã ããªãŒã©ã³ã¹ ãšããŠæŽ»åãå§ããŠéããªãé ãmyTOKYOGASã®ããã³ããšã³ããªãã¬ã€ã¹æ¡ä»¶ãžã®åç»ãæ©ã«ã æ±äº¬ã¬ã¹ ãšã®åããŠã®åºäŒããæãããŸããã åœæãç§ã¯ Java 以å€ã® ããã°ã©ãã³ã°èšèª ã«ãææŠããããšããåŒ·ãææ¬²ãæã£ãŠãããç¹ã«å人çã«åŠç¿ããŠããTypeScriptã䜿çšããŠãããããžã§ã¯ããæ¢ããŠããŸããã é¢è«ã®éã«ãNestJSãGraphQLãæ¡çšããŠããããšãèããããã¯ãŸãã«ææŠãããæè¡ã ãšæããŸããã ãæ±ããŠãã人ç©åã«åèŽããã®ã§ããã°ããã²åå ãããŠãã ããïŒããšç±æãäŒãããã®ãããžã§ã¯ãã«åå ããããšãã§ããŸããã ãããžã§ã¯ãã§çšããããŠããè©³çŽ°ãªæè¡ã¹ã¿ãã¯ã«ã€ããŠã¯ãå¥ã®èšäºã§è©³ãã説æããŠããŸãã®ã§ããã²ãã¡ããã芧ãã ããã tech-blog.tokyo-gas.co.jp ãªã æ±äº¬ã¬ã¹ ã«å
¥ç€Ÿããã®ã åè¿°ã®éããå
¥ç€Ÿåã«çŽ1幎é ããªãŒã©ã³ã¹ ãšããŠmyTOKYOGASãããžã§ã¯ãã«åç»ããŠãããŸããã ãã®éã«ã æ±äº¬ã¬ã¹ ã§åããšã³ãžãã¢ãã¡ã®ããããã¯ããæ¹åããããšããç±æãšåœäºè
æèã®é«ãã«åŒ·ã圱é¿ãåããŸããã ç§èªèº«ããªããããšã³ãžãã¢åã¿ãããªãã®ãæç¢ºã§ã¯ãªãã£ãã®ã§ãã æ±äº¬ã¬ã¹ ã§åããšã³ãžãã¢ã®å§¿ãèŠãŠèªåããªããããšã³ãžãã¢åã¯ããã ïŒãšæã£ãã®ãå
¥ç€Ÿããã«è³ã£ãäžçªã®çç±ã§ãã ãŸããmyTOKYOGASã®éçºã«é¢ããäžã§ãããã¯ããžã®æçãããããããããã«è¯ãããŠãããããšããæ°æã¡ãèœçããŠããããšã倧ããã£ãããªãšæããŸãã ãã ãæ£çŽè¿·ããšäžå®ã¯ãããŸããã ããããæè¡ã磚ããªãã ããªãŒã©ã³ã¹ ãšããŠãã£ãŠãããïŒãšæ¯å·»ããŠããã¿ã€ãã³ã°ã ã£ãã®ããããŸããããã©ã€ããŒããªè©±ã§ã¯ãããŸãããåäŸãçãŸããã°ããã ã£ãã®ã§ ããªãŒã©ã³ã¹ ã®ãããªæè»ãªåãæ¹ãã§ããæ¹ãéœåãè¯ããªãšæã£ããããããªãæ©ã¿ãŸããã ãã®èŸºãã®æ©ã¿ã¯ã«ãžã¥ã¢ã«é¢è«ã®æ©äŒãèšããŠãã ãã£ãããšã§ãã£ãªã¢ã®ããšãåè²ãŠã®ããšãäŒç€Ÿã®å¶åºŠã®ããšãªã©çžè«ã«ä¹ã£ãŠãããããšã§è§£æ¶ããŸããã æ±äº¬ã¬ã¹ ã«å°ãã§ãèå³ãæã£ãŠãã ãã£ãŠããã®ã§ããã°ãã²ãæ°è»œã«ã«ãžã¥ã¢ã«é¢è«ãããŠã¿ãŠãã ãããã ç°å¢ã倧ããå€ããããšãžã®äžå®ã¯æåŸãŸã§æ®ããŸããããå
補éçºããŒã ã®ç«ã¡äžãåæã«é¢ãããæ©äŒã¯çšã ãšæãããŸã1幎éäžç·ã«éçºããŠããã¡ã³ããŒãšãŸã ãŸã äžç·ã«åããããšããæãããå
¥ç€Ÿã決ãã倧ããªèŠå ãšãªããŸããã æçµçã«ã¯ãåŠ»ã®æ¯ããšåŸæŒãããã£ãŠãå
¥ç€Ÿã決æããŸããããã€ãæ¯ããŠãããŠããããšãããããŸãã å
¥ç€ŸåŸã®æ°ã¥ã ãªãŒãã³ãªã³ãã¥ãã±ãŒã·ã§ã³æå ããŒã å
ã§ã¯ã誰ããèªç±ã«æèŠã亀æãã ãã¢ããã°ã©ãã³ã° ãã¢ãããã°ã©ãã³ã°ãéããŠç¥èãå
±æãããªãŒãã³ãªæåãæ ¹ä»ããŠããŸããã ãŸããå人ã®timesãã£ã³ãã«ãäœã£ãŠãã ãã奜ããªããšãåãããããªç°å¢ãæŽã£ãŠããã®ã§ãªã¢ãŒãã¯ãŒã¯ãããŠããŠãã³ãã¥ãã±ãŒã·ã§ã³ã¯æŽ»çºã«åãããšãã§ããŠããŸãã ãã¬ãã·ãã«ãªåãæ¹ ããªãŒã©ã³ã¹ æä»£ã®èªç±ãªåãæ¹ã«æ
£ããŠããç§ã§ãããæå±ããŠããçµç¹ã§ã¯ã¹ãŒããŒãã¬ãã¯ã¹å¶åºŠã®ãããã§ãçæŽ»ãªãºã ã倧ããå€ããããšãªããå®¶æãšã®æéã倧åã«ããªããä»äºãé²ããããšãã§ããŠããŸãã åäŸã®ãè¿ããéé¢ãªã©ããã©ã€ããŒããªçšäºãæ°è»œã«å¯Ÿå¿ã§ããæè»æ§ã¯ãåãäžã§éåžžã«äŸ¡å€ããããšæããŠããŸãã 貞äžãããPCã®ã¹ããã¯ãé«ã 现ããªç¹ãããããŸããããéçºPCã®ã¹ããã¯ã¯ãéçºäœæ¥ãå¿«é©ã«é²ããäžã§éåžžã«éèŠã ãšå人çã«æã£ãŠããŸãã ç§ã®å Žåã Macbook Pro M3ïŒã¡ã¢ãª36GBïŒã貞äžããŠããã ããŸããã ä»ã®æã¹ãã¬ã¹ãªãã¹ã ãŒãºã«éçºæ¥åãã§ããŠããŸãã ä»ãäœããŠããã®ã çŸåšãç§ã¯myTOKYOGASã®éçšä¿å®ãšæ°æ©èœã®éçºã«åãçµãã§ããŸãã å
¥ç€ŸããŠããã«ãæ°èŠæ©èœã®éçºãä»»ããŠé ããŠãŒã¶ãŒããŒãºã® ãã¢ãª ã³ã°ããèŠä»¶å®çŸ©ãèšèšãéçºããããŠç¡äºãªãªãŒã¹ãŸã§ããããšãã§ããŸããã åœããŒã ã§ã¯ç©æ¥µçã«æèŠãåºãã°æ°ããææŠã®æ©äŒãäžããŠãããç°å¢ãæŽã£ãŠããèªå次第ã§ãããããªçµéšãã§ããç°å¢ã ãšæããŠããŸãã SESã ããªãŒã©ã³ã¹ ãšããŠãããžã§ã¯ãã«é¢ãã£ãŠããææã¯ãã¯ã©ã€ã¢ã³ããæ±ãããã®ãäœãããšãä»äºã§ããã ããããä»ã¯ãŠãŒã¶ãŒã®èª²é¡ã解決ããããã«ã©ãããã°è¯ããããªãŒããŒã·ãããæã£ãŠèããŠãææ¡ããŠãäœã£ãŠããããšãã§ããç°å¢ã«ããŸãã ãã äœã£ãŠçµããã§ã¯ãªãããããã¯ããè²ãŠããšããçµéšãããããšãã§ããŠãããããããæããŠããŸãã 2023幎11æã«myTOKYOGASã¯ãªãã¥ãŒã¢ã«ããã°ããã§ãŸã ãŸã 課é¡ãå±±ç©ã¿ã§ãããŠãŒã¶ãŒç®ç·ã§èããæã«äœãåªå
ãã¹ãããèããªããããè¯ããããã¯ãã«ãªãããã«è²¢ç®ããŠãããããšæã£ãŠããŸãã ãããã« ããªãŒã©ã³ã¹ ãã æ±äº¬ã¬ã¹ ã«å
¥ç€Ÿããçµç·¯ã«ã€ããŠã話ãããŠããã ããŸããã å°ãç¹æ®ãªçµç·¯ã§ã¯ãããŸãããåèã«ãªããŸããã§ããããïŒ ç§ã¯ æ±äº¬ã¬ã¹ ã«å
¥ç€ŸããŠè¯ãã£ããšæã£ãŠããŸãã ãããã¯ããããè¯ãããŠããããšããç±éãæã£ãã¡ã³ããŒãšæ¥ã
åç£ç¢ç£šããªããéããããšãã§ããŠãšãŠãå
å®ããŠããŸãã ãã æ±äº¬ã¬ã¹ ã«èå³ãæã£ãŠããã ããŸãããããã²ä»¥äžãã芧ãã ããã Application Developers www.wantedly.com SRE www.wantedly.com ããã§ã¯ãæåŸãŸã§ãèªã¿ããã ããããããšãããããŸããïŒ
ã¿ãªããããã«ã¡ã¯ãæå±±ã§ããè±ç²çã«å¿
æ»ã«æãæ¯æ¥ã§ãããæ°ã¥ããã3æãæ®ããããã§ãããå士ã®ã¿ãªãããããã°ã£ãŠä¹ãè¶ããŸãããïŒ ããŠä»åã¯ã ç§ã®ååèšäºïŒAmazon EKS å°å
¥ ã«ç¶ããŠãå°ãã ãæ·±å ãã㊠Ingress ã®éšåã«ã€ããŠæžããŠã¿ãããšæããŸãã Amazon EKS ã® Ingress ãèãã ALBC + Istio å
šäœæ§æ æ§ç¯ããŠã¿ã - ALBã®äœæ - Istio ã³ã¢ã³ã³ããŒãã³ãã®ã€ã³ã¹ããŒã« Gateway ãªãœãŒã¹ã®äœæ Virtual Service ã®äœæ å®éã«ãã£ãŠã¿ãŠ ãããã« Amazon EKS ã® Ingress ãèãã â ã¯ã©ãŠã ãã³ããŒãæäŸãããããŒãžã Kubernetes ããããšããããšã¯ã Ingress ãèãããšããããšã â ãã®ãããªèšèããå倧ãªãå
äººã®æ¹ã«èããããšããããŸããïŒãªãã§ãïŒ EKS ã®æ§ç¯ã«ã€ããŠãåœå㯠AWS Load Balancer Controller ã®ã¿å©çšããŠé²ããŠããŸããããã®åŸã2023幎æ«é ã« Kubernetes ã® Gateway API ã GA ãããããšããã£ãŠããã¡ãã«èµãåãããšèããŠããææããããå®é Ingress ã®ããšãèããŠããæéã¯é·ãã£ããããªæ°ãããŸãã ãããã AWS ã§ã® Gateway API å®è£
ã§ããã VPC Lattice ã¯ã ã¯ã©ã¹ã¿ ãŒå士ã®éä¿¡ã«äœ¿ãããšãäž»ããçšéãšããŠãããå€éšããã® ãã©ãã£ã㯠ãåãã Ingress ãšããŠã¯æŽ»çšã§ããªãããã§ããã(2024幎3æçŸåš) *1 å人çã«ã¯ãGKE ãæäŸããŠãããããªããŒã«éã®è²¬ä»»ãæç¢ºã«åé¢ãããæ§æã«ãããã£ãã®ã§ããã AWS ã§ã¯ã¡ãã£ãšãŸã æ©ãâŠãšããããšã§ãä»ã®ææ®µãèããããšã«ãåèãŸã§ã«ã以äžã GKE ã®æäŸããŠãããã®ã§ãããšãŠãåããããããªãŒã£ãŠæããŸãã åŒçšå
: https://cloud.google.com/kubernetes-engine/docs/concepts/gateway-api?hl=ja#platform-managed_gateway_per_namespace cloud.google.com ããŠããããªçŽäœæ²æãçµãŠãæçµçã«ã¯ AWS Load Balancer Controller (ä»¥äž ALBC) ãå©çšããããã§ãæè»ãª ãã©ãã£ã㯠ã³ã³ ãããŒã« ãå¯èœãšãªã Istio ãå©çšããããšã«ãªããŸãããåè¿°ã®ãšãããALBC ã¯æåããå©çšããŠã¯ããã®ã§ããããã€ã¯ããµãŒãã¹ã远å ãããéã« Namespace ã®åå²ãè¡ããšã Ingress ã®æšæºä»æ§ã§ã¯ Namespace ãè·šãã ã«ãŒãã£ã³ã°èšå®ãåºæ¥ãŸããããªã®ã§ãããã Ingress ã Namespace ããšã«äœæãããããªããŠããšããããšãALBC ã«ãã£ãŠ Ingress åäœã§ ALB ãäœæãããŠããŸããŸãã e.g. Ingress ãããã§ã¹ã apiVersion : networking.k8s.io/v1 kind : Ingress metadata : # ããã§æå®ãã namespace å
ã®ãµãŒãã¹ã®ã¿ãã¹ããŒã¹ã«ãŒãã£ã³ã°ã«æå®å¯èœ namespace : service-A name : service-A-ingress annotations : alb.ingress.kubernetes.io/scheme : internet-facing alb.ingress.kubernetes.io/target-type : ip alb.ingress.kubernetes.io/healthcheck-path : / alb.ingress.kubernetes.io/wafv2-acl-arn : arn:aws:wafv2:ap-northeast-1:123456789012:regional/webacl/xxxx-web-acl-ap-northeast-1-dev/xxxx-xxxx spec : # ããã§ alb ãšå®çŸ©ããããšã§ ALB ãäœæããã ingressClassName : alb rules : - http : paths : - path : / pathType : Prefix backend : service : name : service-A port : number : 80 ãããã£ãèæ¯ããããªãããããã«ä»åŸã®ãµãŒãã¹æ¡å€§ãèŠæ®ãããšãããµãŒãã¹ééä¿¡ãçºçããã§ããããããã®ã¿ã€ãã³ã°ã§ Service Mesh ã®æ©æµãåããããããã«ããŠããã®ããã¹ãã ãšèããIstio ãå°å
¥ããããšã«ããŸãããIstio ã«ããçç±ã¯ãéå»ã«éçšçµéšã®ããã¡ã³ããŒããããã æè¿èªå®è©Šéšãåºãã ã ããã¡ã¯ãã¹ã¿ã³ããŒã ã«ãªã£ãŠãããšæããŠããã®ããããŸãããæåŸã¯ãSRE ãšããŠãäºãã«ããã°ã£ãŠãããïŒããšäŒè©±ããªããæ±ºããã®ãèŠããŠããŸãã(è³å
è£æ£ãå
¥ã£ãŠãããâŠ) 話ãåããšçŽåŸæã倧äºã§ããïŒç§ã¯æ¯æ¥ãè²ã
ãšæããŠããã£ãŠãããæ¥ã
æè¬ã§ãã ãããã AWS ã«ããã®ã«ããªãã§ App Mesh 䜿ããªãã®ïŒããšããç¹ã«ã€ããŠã¯ãæåŸãŸã§æ©ãã ã®ã§ãããã¡ãã£ãšããã§ã¯æžãã¥ããã®ã§ãã©ããã§ã話ã§ããããšâŠèŠç¬ ALBC + Istio å
šäœæ§æ ç°¡åãªæ§æå³ã¯ä»¥äžã®ãšããã§ãã ALBC + Istio æ§æå³ å
šäœæ§æãšããŠã¯ãALB Ingress ãã Istio Ingress Gatewy ãã¿ãŒã²ãããšããŠæ§æãããããŸã§ã Gateway ã¬ã€ã€ãŒãšããŠå®çŸ©ããŠãã¢ããªã±ãŒã·ã§ã³ãžã®ã«ãŒãã£ã³ã°ã«ã¯ã Istio Virtual Service ã䜿çšããŠããŸãã Virtual Service ããåãã€ã¯ããµãŒãã¹ã® Service ã«ã«ãŒãã£ã³ã°ãããããšã§ãäžã€ã® ALB ããåãµãŒãã¹ãžæµããŠãããããªæ§æãšãªããŸããã以äžã®ããã¥ã¡ã³ãã«ãã Shared gateway ã®ãã¿ãŒã³ã§ãã istio.io ã¯ãã㯠Istio Ingress Gateway ããã®ãŸãŸããããžã§ãã³ã°ããããã Service type ã LoadBalancer ã«ãªã£ãŠããã Internal 㪠NLB ãåºæ¥ãŠããŸããâŠãããã¡ã³ããŒãããæå±±ãããïŸ
ïŸïŸïŸïœœïœ¶ïœºïŸããšãããããææãããã ããæ¥ãã§ Istio Ingress Gateway ãå®çŸ©ããŠãã Argo CD ã® values.yaml ã«ä»¥äžã远èšâŠïŒæã€ã¹ããã®ã¯é Œãã仲éã§ããã # äžéšæç²... replicaCount : 2 autoscaling : enabled : true minReplicas : 2 maxReplicas : 4 # æ¥ãã§è¿œèšã£ã£ service : type : NodePort è²ã
調ã¹ãŠãããšãã AWS å
¬åŒã®ããã°ãéåžžã«åèã«ãªããŸããã®ã§ããã¡ãã§ç޹ä»ããããšæããŸãã aws.amazon.com aws.amazon.com æ§ç¯ããŠã¿ã - ALBã®äœæ - ã ãã¶çްãããªã£ãŠããŸãã®ã§ãããå®éã® ãããã§ã¹ã ããæç²ãã€ã€ãç¶ããæžããŠã¿ãŸãããŸã ALBC ã« ALB ãäœã£ãŠãããããã以äžã® ãããã§ã¹ã ãäœæããŸãããªããALBC èªäœã¯ Argo CD + Helm ã§ã€ã³ã¹ããŒã«ããŠããŸãã(äžéšæç²ããŠããããããã®ãŸãŸäœ¿ããšåããªãå¯èœæ§ããããŸã) # alb-istio-ingress-gateway.yaml apiVersion : networking.k8s.io/v1 kind : Ingress metadata : name : alb-istio-ingress-gateway namespace : istio-ingress annotations : # äžéšæç²... alb.ingress.kubernetes.io/group.name : istio-ingressgateway # istio ingress gateway service ãã¿ãŒã²ãããšããŠãã«ã¹ãã§ãã¯ã宿œ alb.ingress.kubernetes.io/healthcheck-path : /healthz/ready alb.ingress.kubernetes.io/healthcheck-port : "15021" alb.ingress.kubernetes.io/healthcheck-protocol : HTTP alb.ingress.kubernetes.io/scheme : internet-facing alb.ingress.kubernetes.io/target-type : ip alb.ingress.kubernetes.io/certificate-arn : arn:aws:acm:ap-northeast-1:123456789012:certificate/xxxxxxxx-xxxx-xxxxxxxxx alb.ingress.kubernetes.io/ssl-policy : ELBSecurityPolicy-TLS13-1-2-2021-06 alb.ingress.kubernetes.io/wafv2-acl-arn : arn:aws:wafv2:ap-northeast-1:123456789012:regional/webacl/xxx-wafv2-web-acl-ap-northeast-1/xxxxxxxx-xxxx-xxxxxxxxx spec : ingressClassName : alb rules : - http : paths : - path : /* pathType : ImplementationSpecific backend : service : name : istio-ingressgateway port : number : 80 Istio ã³ã¢ ã³ã³ããŒãã³ã ã®ã€ã³ã¹ããŒã« 次ã«ãIstio ã®ã³ã¢ ã³ã³ããŒãã³ã ãã€ã³ã¹ããŒã«ããŸããå
·äœçã«ã¯ä»¥äžã®3çš®é¡ã§ãã istio-base istiod istio-ingress ãããã Argo CD + Helm ã§å°å
¥ããŸããæ³šæç¹ãšããŠã¯ã istio-ingress ã®ãããã€æã« istio-base ãš istiod ã確å®ã«ãããã€ãããŠããªããšãšã©ãŒã«ãªãããšãããããšãããšããã§ãããããArgo CD ã§ 3çš®é¡ã® ã³ã³ããŒãã³ã ãäžæ°ã« AutoSync ãããŠããŸããäŸåé¢ä¿ãèæ
®ãããã以äžã® Issues ã«ããããã«æŽŸæã«è»¢ã³ãŸããã github.com ããã§ Istio Ingress Gateway ã®ãµãŒãã¹ãäœæãããŸãããã®ãµãŒãã¹ãåè¿°ãã Ingress ã§æå®ããŠãã圢ãšãªããŸãã( name: istio-ingressgateway ã®ãšããã§ã) Gateway ãªãœãŒã¹ã®äœæ ç¶ã㊠Gateway ãªãœãŒã¹ãäœæããŸãããã㯠Helm ãå©çšããã以äžã®ãã㪠ãããã§ã¹ã ãå®çŸ©ããŸããããã§ã¯ Istio Ingress Gateway ã® Pod ãš ãã€ã³ãã£ã³ã° ãããããã selector ã«ãŠ istio: ingressgateway ãå®çŸ©ããŠãããŸãã # sample-gateway.yaml apiVersion : networking.istio.io/v1beta1 kind : Gateway metadata : name : sample-gateway namespace : istio-ingress spec : selector : istio : ingressgateway servers : - hosts : - "*" port : name : http number : 80 protocol : HTTP äœæãããªãœãŒã¹ã¯ kubectl get gateway.networking.istio.io -n istio-ingress ã®ã³ãã³ãã§èŠã€ããããšãå¯èœã§ããæ¬¡ã¯ Virtual Service ã« ãã©ãã£ã㯠ã転éãããŠããå¿
èŠããããŸããã以äžã®ããã¥ã¡ã³ãã«ãèšèŒãããŠããããã«ãVirtual Service ã Gateway ã«ãã€ã³ããããããšã§ã ãã©ãã£ã㯠転éãå¶åŸ¡ããããšãå¯èœã«ãªã£ãŠããŸãã istio.io The Gateway specification above describes the L4-L6 properties of a load balancer. A VirtualService can then be bound to a gateway to control the forwarding of traffic arriving at a particular host or gateway port. å®éã®æ§ç¯æã«ã¯ããããŸã§æ§ç¯ããã®ã«çµæ§ãªæéãæãã£ãŠããŸããŸãã⊠Gateway ã®ãšãããçè§£ãé£ãããããã¥ã¡ã³ããèªãã§ããŠãã€ãã€ããã£ããæ¥ãªãã£ãã®ã§ãVirtual Service ãŸã§å®éã«äœã£ãŠããŸãã Kiali ã䜿ã£ãŠå¯èŠåããªããçè§£ããŠãããŸãããå®éã«æãåãããŠäœã£ãŠããŸãã®ã倧åã§ããâŠïŒ ãšããããã§ããããŸã§ã§ã以äžã®ãªã¬ã³ãžæ å
ãŸã§ãäœæãããŸãããæåŸã¯ Virtual Service ã®äœæã§ãã Gateway Layer Virtual Service ã®äœæ Virtual Service ã¯åã¢ããªã±ãŒã·ã§ã³çš ãããã§ã¹ã ã®æ¹ã«å®çŸ©ããŠããŸããå
·äœçã«ã¯ä»¥äžã®ãããªæãã§ãã apiVersion : networking.istio.io/v1alpha3 kind : VirtualService metadata : name : service-A-virtual-service namespace : service-A spec : hosts : - "*" gateways : # ããã§Gatewayãæå® - istio-ingress/sample-gateway http : - match : - uri : prefix : /api/v1/service-A route : - destination : host : service-A.service-A.svc.cluster.local port : number : 80 åè¿°ã®ãšãããVirtual Service ã Gateway ã«ãã€ã³ãããå¿
èŠããããŸããããã¯äžèšã³ã¡ã³ãç®æã§ Gateway ãæå®ããããšã§ããã€ã³ãããããšãå¯èœã§ãããããŸã§ã§ãç¡äºã«ãµãŒãã¹ãŸã§ ãã©ãã£ãã¯ ãæµããããã«ãªããŸããïŒ Virtual Service ãš Gateway ã®ãã€ã³ã å®éã«ãã£ãŠã¿ãŠ çè§£ãããŸã§ã¯æ¬åœã«å€§å€ã§ããããå®éã«æ§ç¯ããŠåãããŠãããšããããªã«äŸ¿å©ãªãã®ã¯ãªãïŒãšããã®ãççŽãªãšããã§ããå€ãã®ãµãŒãã¹ã§ Istio ãå©çšãããŠããã®ãçŽåŸããŸããããã ã Kubernetes ãšéããµã€ã¯ã«ã§ã®ããŒãžã§ã³ã¢ããïŒå幎ã»ã©ïŒããã£ãããIstio èªèº«ã Gateway API ã®å®è£
ãããŒã¿çã§æäŸãããŠãããããã®ã§ãããã§çµãããšæºè¶³ãããåžžã«ã¢ããããŒãã远ãããç¶ããªããšãããªããªããšæããŠããŸããã¡ããã©ä»ã KubeCon + CloudNativeCon Europe 2024 ãéå¬ãããŠããŸããã ããã° ãæèŠããŠè¿œããããŠãããšããã§ãïŒ ãããã« ä»åã¯å
補éçºããŒã ã® Amazon EKS Ingress ã«ã€ããŠç޹ä»ããŸãããããã¯æ¬åœã«èã«ãªããšãããªã®ã§ãSRE ããŒã ãšããŠã Priority ãäžããŠå¯Ÿå¿ããŠããããã§ãïŒå¹Žå
ã«ã¯ Istio Gateway API å®è£
ãããŒã¿ããæ£åŒããŒãžã§ã³ã«ãªãããã§ãããä»ã®ãã¡ã«æ€èšŒããŠããããã§ããã ç§ãã¡ã®ããŒã ã¯çŸåšãç©æ¥µçãªæ¡çšæŽ»åãè¡ã£ãŠããŸãïŒãèå³ã®ããæ¹ã¯ããã²ä»¥äžãã芧ãã ããã www.wantedly.com ããã§ã¯ãæåŸãŸã§ãèªã¿ããã ããããããšãããããŸããïŒãŸã次åã®æçš¿ã§ãäŒãããŸãããïŒ *1 : ãçžè«ã«ä¹ã£ãŠããã ãã SA ã®æ¹ã«ã¯ãã€ãæè¬ãããããŸããïŒããããšãããããŸãïŒ
ã¿ãªããããã«ã¡ã¯ïŒ ãšã³ãžãã¢ãªã³ã°ããŒã ãªãŒããŒå
ŒSREã®æå±±ã§ãã ä»åã¯ããã€ã¯ããµãŒãã¹ãã©ãããã©ãŒã ãšããŠã® Amazon EKS å°å
¥ãã«ã€ããŠæçš¿ããŸãïŒ ç¬¬äžåŒŸã¯å°å
¥ã«ããã£ãçµç·¯ãªã©ãã玹ä»ã以éã¯çްãããšãããã玹ä»ã§ããããªã»ã»ã»ãšæã£ãŠããŸãã Amazon EKS ãšã¯ïŒ å°å
¥ã®ã¢ãããŒã·ã§ã³ ã©ããªæãã§äœ¿ã£ãŠããã®ãïŒ ç£èŠããŒã« Karpenter Bottlerocket Kubernetes ã¯å€§å€ïŒ ãããã« ãšãã«åã仲éãåéããŠããŸãïŒ Amazon EKS ãšã¯ïŒ ã¿ãªãã倧奜ã㪠AWS ãæäŸãããããŒãžã Kubernetes ãµãŒãã¹ã§ãã Kubernetes ã³ã³ ãããŒã« ãã¬ãŒã³ããŒãã®å¯çšæ§ãšã¹ã±ãŒã©ããªãã£ã AWS ãèªåçã«ç®¡çããããšã§ãããŒã ã®éçšè² è·ã倧å¹
ã«åæžããŠãããçŽ æŽããããµãŒãã¹ã§ããç§èªèº«ã Kubernetes ãå匷ã㊠Certified Kubernetes Administrator ãååŸãããŸã§ã¯ãå®ã¯ãããŒãžã Kubernetes ãµãŒãã¹ã®ããããã¿ãã€ãã€ãçè§£ããããŠããŸããã§ããããããå匷ããŠããäžã§ãã³ã³ ãããŒã« ãã¬ãŒã³ã® ã³ã³ããŒãã³ã 管çã€ãããªãã»ã»ã»ïŒãã etcd ã®ããã¯ã¢ãããå«ãã管çãŸã§èããã®ãã»ã»ã»ããšãã£ãããšãã²ãã²ããšæããæ¹ã㊠ã¯ã©ãŠã ãã³ããŒãæäŸããŠããã䟡å€ã«æ°ä»ããä»ã§ã¯æ¯æ¥æè¬ããªããéãããŠããŸãã å°å
¥ã®ã¢ãããŒã·ã§ã³ ã©ããªæè¡ãããããšæããŸãããç§ãã¡ã¯äºæ¥ããã³ãããã¯ããã°ããŒã¹ãããããã«ãœãããŠã§ã¢ãšã³ãžãã¢ãšããŠæŽ»åããŠããŸããä»åã¯ããµãŒãã¹å€æŽã®æè»æ§ãæãªãããçŸåšã® ã¢ãŒããã¯ã㣠ããªããšãããããã«ããã€ã¯ããµãŒãã¹ãžã®ãã£ã¬ã³ãžã決æããŸããããããŠãã€ã¯ããµãŒãã¹ã®ãã©ãããã©ãŒã ãšããŠãã³ã³ãããããã®ã¢ããªã±ãŒã·ã§ã³ããŒã ã®æåŸ
ã«å¿ããããã«ã¯ãã³ã³ãã ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ ãå¿
èŠãšãªããŸãããã§ã« myTOKYOGAS ã®ããã³ããšã³ã㯠Azure äžã§çšŒåããŠããŸãããããã¯è²ã
ãªäºæ
ããã£ãããããåœæã®ç§ã«éžææš©ã¯ãããŸããã§ããã ããããä»åã®ãã€ã¯ããµãŒãã¹ãã©ãããã©ãŒã ã¯ããŒãããã®ãã£ã¬ã³ãžãåºæ¥ããšããããšã§ãç§ã¯ãã¡ãããããŒã ã®ã¡ã³ããŒãæ
£ã芪ããã§ãã AWS ãæ¡çšããããšãšããŸããããã®ãããçŽç²ã« Kubernetes ã®ãããŒãžããµãŒãã¹åå£«ãæ¯èŒããããã§ã¯ãªãããŠãŒã¶ãŒã°ã«ãŒããªã©ã®ã³ãã¥ããã£ã掻æ§ã§ããããšããã¬ããžã®å€ãããªã«ãã SA (Solutions Architect) ã®æ¹ã
èªèº«ããŠãŒã¶ãŒã«ãšã£ãŠã® Trusted Advisor ã§ããããšããã AWS ãéžæãããšããèæ¯ããããŸãããã¡ããã AWS ã®ä»ãµãŒãã¹çŸ€ãçŽ æŽããããã®ãå€ãã®ã§ãããã§äžèªç±ããããšã¯ç¡ãã ãããšæã£ãŠããŸããã AWS ã®æ©èœã¢ããããŒãã¯9å²ãã客ããŸã®å£°ããå®çŸãããŠããŸãã®ã§ããã®ãããã AWS ã®åŒ·ã¿ã§ãããšèããŠããŸãã ãã ã AWS ã§ããã° ECS ããããŸãã®ã§ãEKS ã¯ãªãŒããŒã¹ããã¯ãããããªãã»ã»ã»äœåºŠããã®ããã«èããŸããããããæçµçã«ã¯ç¶ç¶çã«åŠç¿ããããŒã ã®éžæãšã㊠Kubernetes ããã£ãŠãããïŒãšãªã£ãããã EKS ã®å°å
¥ã«è³ããŸããã ãã®ããã㯠JAWS ã® LT ã§ãã話ããããŠããã ããŸããã®ã§ã以äžã¹ã©ã€ããã芧ããã ããããšæããŸãïŒ AmazonEKSãã£ãŠããããšã宣èšããŠèªãã远ã蟌ãLT speakerdeck.com ã©ããªæãã§äœ¿ã£ãŠããã®ãïŒ EKS å°å
¥ã«ããã£ãŠããŸãã¯å°ããå§ããŠããŸãããã§ã«å€ãã®ãã€ã¯ããµãŒãã¹ãååšããããããç§»è¡ããããã§ã¯ãããŸããã®ã§ãå°ããå§ããŠéçšããªãããå°æ¥çã«åŸ
ã¡åããããã°ã€ãã³ããæ©ãã«æ€èšŒããããŒã ã®ãã¬ããžããããŠãããããšèããŠããŸãïŒç¹ã« ã¯ã©ã¹ã¿ ãŒã¢ããã°ã¬ãŒãã¯ã»ã»ã»ä»ããç·åŒµããŸãã»ã»ã»ïŒïŒ åœåã¯éçšè² è·ãå°ãã§ãåæžãããã Fargate ã®å©çšãèããŠãããã®ã§ããã Istio ã® ãµã€ãã«ãŒ ãäžæãæ©èœããªãã£ãããè²ã
ãã£ãæ«ã«ãããŒãžãããŒãã°ã«ãŒãã®å©çšãšãªããŸããã AWS ã Kubernetes åšãã®ãšã³ã·ã¹ãã ãšããŠäž»ã«æ¡çšããŠãããã®ã¯ä»¥äžã®ãšããã§ãã AWS Load Balancer Controller Istio Argo CD Kustomize ãŸã ãŸã å°ãªãã§ãããä»åŸã©ãã©ãæ€èšŒãé²ããŠå°å
¥ããŠããããã§ãïŒäžèšã«ã€ããŠã¯ãããããå¥éèšäºã«ã§ããããªãšãæã£ãŠããŸãã ãã®ä»ã«ãã以äžã®ããã«çŸåšé²è¡ç³»ã§é²ããŠãããã®ããããŸãã ç£èŠããŒã« å°çšããŒã«ã®å°å
¥ãèããŠããã®ã§ããã Container Insights with enhanced observability for Amazon EKS ã詊è¡ãå§ãããšããã§ããŠããã®è©äŸ¡çµæããã£ãŠæ±ºããŠãããããšæã£ãŠããŸãã23幎11æã«çºè¡šãããã°ããã§ãããå²ãšããæãã§ããã©ãããŠããã°ã®äº é課é ãçºçããŠããŸããŸãããå°ããå§ããä»ã®ãã§ãŒãºã§ã¯å
åããªãšæããŠããŸãã aws.amazon.com Karpenter ãŸããEKS ã§ã¯ãããŒãžãããŒãã°ã«ãŒããå©çšããŠãããã®ã®ããã¡ãã䞊è¡ã㊠Karpenter ãæ€èšŒããŠããŸããæäŸãããµãŒãã¹ã»ä»åŸæäŸããŠãããµãŒãã¹ã¯ãäžæ¥ãéããŠè² è·ã®èŠèŸŒã¿ãç«ããªããããKarpenter ã¯äžæããããã°çµ¶å€§ãªå¹æãçã¿åºãããã®ãšèããŠããŸãã aws.amazon.com Bottlerocket ãã®ä»ã«ãããã©ãããã©ãŒã ããŒã ãå©çšãããããŒãžãããŒãã°ã«ãŒãã® AMI ãšã㊠Bottlerocket ãæ¡çšããŠããŸãã aws.amazon.com Bottlerocket ã¯ã³ã³ãããå®è¡ããããã«äžå¯æ¬ ãªãœãããŠã§ã¢ã®ã¿ãå«ãŸããŠãããã¢ã¿ã㯠ãµãŒãã§ã¹ ã管çè² è·ã®åæžãå¯èœã§ããäžæ¹ããŠãŒã¶ãŒããŒã¿ãèšå®ããŠæž¡ããããªããšãã§ããªããããå¿
èŠãšãªã£ãå Žåã«ã¯ãŒã¯ããŒãçšã¯ãŒã«ãŒããŒãã® AMI ãçµ±äžã§ããªããªã£ãŠããŸããŸãããã®ããããã©ãããã©ãŒã ããŒã ãå©çšãããããŒãžãããŒãã°ã«ãŒãã® AMI ã«éå®ããŠããæ¬¡ç¬¬ã§ããä»ã¯äž»ã« GitHub Actions ã® Self-hosted Runner åãã®ããŒãã°ã«ãŒãã® OS ãšããŠå©çšã»æ€èšŒããŠãããããã¯å¥éãã¡ã³ããŒããæçš¿ããŠãããããšæã£ãŠããŸãïŒ Kubernetes ã¯å€§å€ïŒ 倧å€ã ãšæããŸãã ãã ãããã¯ã©ããªæè¡ã§ãã£ãŠãçªãè©°ããã°åãã ãšæã£ãŠããŸãããããŒã ã§çŽåŸããäžã§éžæããã®ã§ããã°ããããæé©ãªéžæã ãšèããŠããŸããåè¿°ã®ã¹ã©ã€ãã§ãè§ŠããŠããŸããããããã¯ãã¯ããŒã ã§äœãäžããŠãããã®ã§ãã®ã§ãããã§åæãåã£ãŠé²ããŠãããã®ã§ããã°ã倧å€ããæ¥œãã¿ãªããé²ããŠãããã®ããªããšã ãŸããä»ã¯ Kubernetes ãæé©ã§ãã£ãŠããæ°å¹ŽåŸããŸãæ°ããªæè¡ãã¬ã³ããåºãŠãããšæã£ãŠããŸããããæ¯ãåã®ããã«äŸããããŸããã Kubernetes ã« Bet ãããšãããããããã®ãšãã®ãããã¯ããããŒã ç¶æ³ã«å¿ããŠãæ°å¹ŽåŸãåã軞ã§å€æåºæ¥ãããã«ããŠããããã§ãã ãããã« ãŸã㯠Amazon EKS å°å
¥ã®çµç·¯ã»èæ¯ãªã©ã«ã€ããŠã玹ä»ããŸããïŒãŸã ãŸã èžã匵ã£ãŠããã€ã¯ããµãŒãã¹ãã£ãŠãŸãïŒ Kubernetes ãã£ãŠãŸãïŒããšèšãã«ã¯çšé ããããããŸãããããã®å°ããªäžæ©ãçå®ã«é²ããŠãããããšæã£ãŠããŸãïŒæ¬¡åã®æçš¿ã¯ã AWS Load Balancer Controller + Istio Ingress ããããæžããããªãšæã£ãŠããŸãïŒäºå®ïŒ GitHub Actions, Bottlerocket ã¯ã¡ã³ããŒãæžããŠãããâŠã¯ãã§ãïŒ ãšãã«åã仲éãåéããŠããŸãïŒ ç§ãã¡ã®ããŒã ã¯çŸåšãç©æ¥µçãªæ¡çšæŽ»åãè¡ã£ãŠããŸãïŒãèå³ã®ããæ¹ã¯ããã²ä»¥äžãã芧ãã ããã Application Developers www.wantedly.com SRE www.wantedly.com ããã§ã¯ãæåŸãŸã§ãèªã¿ããã ããããããšãããããŸããïŒãŸã次åã®æçš¿ã§ãäŒãããŸãããïŒ
ããã«ã¡ã¯ã æ±äº¬ã¬ã¹ ã®CXæšé²éšããžã¿ã« ããŒã±ãã£ã³ã° ã°ã«ãŒãã§ãã ã¯ãªãŒã ãããŠãããŸãäžå³¶ã§ãã æ±äº¬ã¬ã¹ ã§ã¯ãmyTOKYOGASãã®ãªãã¥ãŒã¢ã«ãããžã§ã¯ãã«ãããŠãäºæ¥çµç¹å
ã«å
補éçºããŒã ãç«ã¡äžãã2023幎11æã«ãµãŒãã¹ã€ã³ãŸã§ããéããŸãããä»ã§ã¯èªåãã¹ããCI/CDã®çšŒåã¯ãã¡ããã®ããšãå
補éçºããŒã ã«ãŠïŒé±é1ã¹ããªã³ãã§ã® ã¢ãžã£ã€ã« éçºãšä¿å®éçšãŸã§ã責任ãæã£ãŠè¡ãããšãã§ããããã«ãªããŸããã ä»åã¯æã
ãåããŠå
補åã«æãã ãããžã§ã¯ãã§ããmyTOKYOGASã®ãªãã¬ã€ã¹ãšäžŠè¡ããŠç«ã¡äžããé²ããå
補éçºããŒã ã«ã€ããŠã話ãããããšæããŸãã å
補éçºããŒã ã®ç«ã¡äžã ç§ã¯2022幎5æã«ãä»ã®çµç¹ã§åããŠã®ãšã³ãžãã¢ãšããŠãžã§ã€ã³ããŸãããããããå
補åãæãç«ã¡ãããŒã ãç«ã¡äžããã®ã¯ç§ã§ã¯ãããŸããã以äžã®èšäºãæžãã æ±äº¬ã¬ã¹ ã«æ°åãããã£ãšå€ããŠãããããŒãžã£ãŒã®åå·ã§ãã note.com ãã¡ããåå·ã¯ãšã³ãžãã¢ã§ã¯ãããŸãããããããç§ããžã§ã€ã³ããåããããã®åå·ã«ãã£ãŠãã¶ã€ã³ã®å
補åãå€éšã®æ¹ã«éçºã¯ãé¡ããããã®ã®ãèªåãã¡ã§éçºãã³ã³ ãããŒã« ã§ããããã«ãããããšããåãçµã¿ãè¡ãããŠããŸããããŸãã«ãéçºã®ããšã¯ããããªããªãã«ãæ¬æ°ã§å
補ããããã ããšããåœäºè
æèãç±éãæã£ãŠçµç¹å€é©ãããããšè©Šã¿ãŠããæäžã§ããã ç§ã¯ æ±äº¬ã¬ã¹ ãïŒç€Ÿç®ã§ããŸããŸãªå€§äŒæ¥ã§å
補åã«åãçµãã§ããŸããããã®äžã§ãããŸããã£ããšæããéçºã¯ããšã³ãžãã¢ãšããžãã¹ã®è·é¢ãè¿ããäœããçŸå Žã«ãåœäºè
æèããšãç±éããããã®ã§ãããšã³ãžãã¢ãããã äœããã ãã§ãªãããããããæ©èœã©ãã§ããïŒããšäžç·ã«ãµãŒãã¹ã®ããšãèããããããªãšã³ãžãã¢ãäºæ¥ã«æº¶ã蟌ãã è·å Žã§ãããããã§ãã空æ°ã æ±äº¬ã¬ã¹ ã«ã¯ããã®ã§ã¯ãªãããããèããŠã颿¥ãåããŠã¿ãããšã«ããŸããã ãããŒãžã£ãŒã®åå·ãšã®é¢æ¥ã¯ãå€ãã®äºæ¥äŒç€Ÿã§å
補åã«ææŠããŠããç§ã«ãšã£ãŠãè¡æçãªãã®ã§ããããæ¬æ°ã§å
補åãããDXãããã ããã®ãŸãŸã§ã¯ãã¡ãªãã ïŒããšããç±éã¯ãã¡ããããšã³ãžãã¢ã§ã¯ãªãåå·ãGraphQLãNestJSãªã©æè¡ã®è©±ãèªå ããã ãŠããã®ã§ããDXãå
補åããããŒãžã£ãŒãšããŠé²ããã¹ããå°ãã§ããšã³ãžãã¢ã®æ°æã¡ãçè§£ã察çã«è©±ãããã«ã ã·ã¹ãã éçº ã®æ¬ãèªãã ããããã°ã©ãã³ã°ã®åŠç¿ããããããŠããã®ã§ããããã®å§¿ã«å§åçãªåœäºè
æèãšç±éãæããŸãã *1 ããããæ±ºãæãšãªããç§ã¯ãšã³ãžãã¢ãšã㊠æ±äº¬ã¬ã¹ ã«å
¥ç€Ÿããããšã決ããæ¬æ Œçã«å
補åãã¹ã¿ãŒããããããšã«ãªãã®ã§ããã éçºç°å¢ã®æ§ç¯ å
¥ç€ŸããŠãŸãåé¡ã«ãªãã§ããããšèããŠããã®ãããšã³ãžãã¢ãéçºãè¡ããç°å¢ã§ãããŸããããæŽåãããŠããªããã°ãéçºè
äœéšãæªããªãããšã³ãžãã¢ã¯ æ±äº¬ã¬ã¹ ã«æ¥ãŠãããªããäœããç§ãéçºãã§ããŸããããããããšã³ãžãã¢ãã»ãšãã©å€åããŠããªãæ¥ç³»ã®å€§äŒæ¥ã«ãããŠãéå»ã®çµéšãããããã®ç°å¢æŽåã容æã§ã¯ãªããšæããŠãããæåã¯å³ããç°å¢ã§ãéçºãé²ããŠãããªããšãããªãããšãèŠæããŠããŸããããããããã®äºæ³ã¯èŠãããŸãã çŸåšãå
補éçºããŒã ã§ã¯ä»¥äžã®ãããªéçºç°å¢ã§éçºãè¡ã£ãŠããŸãã éçºç°å¢ éçºç«¯æ« Macbook Pro , Windows ç«¯æ« ã³ãŒã管ç Github ããã¥ã¡ã³ã Notion ãããžã§ã¯ã管ç Linear ãã¶ã€ã³ Figma , Miro ã³ãã¥ãã±ãŒã·ã§ã³ Slack ãã®äžã§å
¥ç€ŸåŸãç§ãå°å
¥ãé²èšããã®ã¯ãéçºç«¯æ«ã ãã§ãããã以å€ã¯ãå
ããããã¡ã³ããŒãèªåãã¡ã§å°å
¥ãŸã§é²ããŠããŸãããå¶ç¶ãå¿
ç¶ãã(ã¯ãªãŒã³ ã¢ãŒããã¯ãã£ ã®æ¬ãèªãã§ããã)èªãè¶£å³ã§ ã·ã¹ãã éçº ã®å匷ãããŠãã瀟å¡ãããããéçºã« VPN ãããããããCIãåãã«ã¯ GitHub Actions䜿ãããããããªã©ãèããŠãå°å
¥ãŸã§æžãŸããŠãããŠããã®ã§ããããã ãã§ã¯ãããŸãããéçºç«¯æ«ãæããã®ã«å¿
èŠãªç€Ÿå
ã®æç¶ãã¯ãã¹ãŠå·»ãåã£ãŠãããã®ã§ãããšã³ãžãã¢ã¯éçºã«éäžããŠããããããã«ããããšããã§ã«å
補åãé²ããããšããŠãããŠããã¡ã³ããŒã®ããã¯ã¢ããããããç§ã¯ããã«éçºã«çæããããšãã§ããŸããã éçºã¹ã³ãŒããæ±ºãã ãmyTOKYOGASãã¯ãã£ãããšæ¬¡ã®ãããªæ§æã«ãªã£ãŠããŸãã æè¡ã¹ã¿ã㯠ããã³ããšã³ã React, TypeScript, Next.js, Apollo Client, Tailwind CSS BFF TypeScript, NetsJS, GraphQL, Redis, MongoDB, PostgresDB ãã¹ã Jest, Playwright ã€ã³ãã© Azure, AWS ãã®ä» Docker, Github Actions, Terraform, Datadog, PagerDuty, Trivy myTOKYOGASã®æ§æ æè¡ã¹ã¿ãã¯ã¯ç°ãªããã®ã®ããã®æ§æã¯å
補ååãåæ§ã§ããããã®ãããžã§ã¯ãã§ã¯ãããŠãŒã¶ã«è¿ãããã³ããšã³ããšBFFããŸãå
補åããããšã§ãããã¯ãã®æ¹åããã¡æ©ããŠãŒã¶ã«å±ããããšãã§ããäœå¶ãæ§ç¯ãããšãã倿ããããŠããŸãããäžæ¹ã§ãããã¯ãšã³ãã«ã€ããŠã¯ã¬ã¬ã·ãŒãªåºå¹¹ã·ã¹ãã ãšã®ãããã·ã®åœ¹å²ãæãããŠããããšã æ±äº¬ã¬ã¹ ã® ãã¡ã€ã³ ç¥èãè©°ã蟌ãŸããŠãããäžæŠå
補åã¯èŠéãããŸãããããããªãããããã¯ãšã³ãã«ã€ããŠã¯ãæ°æ©èœã®ããã® API éçºãé床æ¹åã®ããã®æ¹ä¿®ãèæœåãããªã³ãã¬ãã¹ãã ã¯ã©ãŠã ç°å¢ãžã®ç§»è¡ãã·ã¹ãã åäŒç€Ÿã® æ±äº¬ã¬ã¹ iãããã«ãã宿œãããèšç»ãšãªã£ãŠããŸããã ãã®èšç»ã«ãããŠãå
補éçºããŒã ãæ
åœããé å㯠ã¢ãžã£ã€ã« ã§ã®éçºã宿œããããšãšãªã£ãŠããã æ±äº¬ã¬ã¹ iããããæ
åœããé åã«ãããŠã¯ãŠã©ãŒã¿ãã©ãŒã«ã§éçºã宿œããããšãšãªã£ãŠããŸããããã®ããããµãŒãã¹ã€ã³ã¯2023幎11æãšå®ããããŠããŸãããéçºé¢ä»¥å€ã§ã倿¹é¢ã§å€ãã®äººãã¡ãåãããšã«ãªã£ãŠããããã®äºå®ã¯å®¹æã«ãããããã®ã§ã¯ãããŸããã§ããã ã¿ãªããããæ°ã¥ãã§ãããããããã§ãã ã¢ãžã£ã€ã« éçºã ãã©ããŠã©ãŒã¿ãã©ãŒã«ã«åãããŠããå°»ããæ±ºãŸã£ãŠããã®ã§ãããå°»ã®æ±ºãŸã£ã ã¢ãžã£ã€ã« ãç§ã¯ãããã å°»ãžã£ã€ã« ããšèªãã§ããŸãããã®ç¶æ³ã«å¯ŸããŠã以äžãè¡ããŸããã æ©èœã®å
šéããã£ããã§ãè¯ãã®ã§ããŸãåºãããšã MVPãå®çŸ©ããçŸæç¹ã§å®å
šã«çå€ããªéçºã¹ã±ãžã¥ãŒã«ãšãªã£ãŠããªãããšã確èªããããšã ã¹ããªã³ãæ¯ã«ããã·ãã£ãèšæž¬ããéçºãéã«åããªããšå€æããããã®ã¯ROIã«åºã¥ããŠåªå
床ã倿ããåªå
床ãäœããšå€æãããæ©èœã®éçºã¯ãµãŒãã¹ã€ã³åŸãšããããšã ãããŠãããäžã€ãæã
ãããããããšã¯ããŠãŒã¶ã«æè»ãã€è¿
éã«äŸ¡å€ãå±ããããšã§ãã ãµãŒãã¹ã€ã³ åŸã®ããŒã ã§ã ã¢ãžã£ã€ã« éçºãè¡ãããã«ã¯ãDevOpsã®å®çŸã¯å¿
é ããã®æ ¹å¹¹ãšãªãèªåãã¹ãã¯å¿
ãå®çŸããå¿
èŠããããšèããŠããŸããã ã¢ãžã£ã€ã« éçºã ãµãŒãã¹ã€ã³ åŸã®äœå¶ã§ãé²ããããã«ããã¹ãã³ãŒãããã£ããæžãããã® å·¥æ° ãå å³ããŠéçºãé²ããŠããããšã å
補ãããŠãã以äžãç¡å°œèµã«ãšã³ãžãã¢ãå¢ãããŠãã¹ã±ãžã¥ãŒã«ã®åé¡ã解決ããããšã¯ã§ããŸããã æ±äº¬ã¬ã¹ ã«ã¯ãããããè«ççã«èª¬æããããšã§ãçè§£ããŠãããæåããããŸããããããã®è©±ãããæããäœãšãããïŒãã§ã¯ãªãããä»åããæåçã¯äœãïŒããäžç·ã«èããŠãããæåããããŸãããéçºã®è©±ã ãããšãã£ãŠããã®è§£æ±ºããšã³ãžãã¢ã«äžžæãããŠããããšã¯ãããŸããã§ããããããžã§ã¯ãã®ç¶æ
ãåžžã«å¯èŠåããŠçŸç¶ãææ¡ãã§ããããã«ããŠãããã¡ã³ããŒããµãŒãã¹ã€ã³ã«éã«åããªãæ©èœãåºãŠããæãé¢ä¿åæã«è¿
éã«èª¿æŽã«åããŠãããã¡ã³ããŒãªã©ãéçºä»¥å€ã®ãšããã§å€ãã®äººãã¡ãåã貞ããŠãããŸããã圌ãã®æ¯æŽããããç§ã¯ãã«ã¹ãããã«ã§éçºã®ããšã«éäžããããšãã§ããŸãããçµæçã«ã¯ãéçºãé²ããªããé©å®ç¶æ³å€æãè¡ããããã€ãã®æ©èœããµãŒãã¹ã€ã³æã¯å®è£
ããªããšå€æããããšã§ãã¹ã±ãžã¥ãŒã«ã«åãŸããããªåœ¢ã§éçºãé²ããŠããããšãã§ããŸããã éçºäœå¶ã®æ§ç¯ãšãµãŒãã¹ã€ã³ãž ããçšåºŠéçºèŠæš¡ãèŠããŠããæç¹ã§éçºã¡ã³ããŒã¯ãç§ãš æ±äº¬ã¬ã¹ iãããããåºåããŠããŠãããã¡ã³ããŒã ããªãŒã©ã³ã¹ ã®æ°åãšããç¶æ³ã§ãããéçºäœå¶ã«ãããŠã¯ã以äžã®èª²é¡ãèŠããŠããŸããã ã€ã³ãã©ãæ§ç¯ã§ãã人æãããªã ç§èªèº«ã AWS ã§ç°å¢æ§ç¯ã®çµéšã¯ããã®ã§ãããäž»æŠå Žã¯ã¢ããªã±ãŒã·ã§ã³éçºã§ããå ããŠãããã«äœ¿ããã㪠ã¯ã©ãŠã ç°å¢ãAzureãããªããAzureã®å匷ãä»ããå§ããªãããã¢ããªã®éçºãããŠããŠã¯ãã€ã³ãã©æ§ç¯ãéã«åãããã«ãããŸããã§ãããããã§ãåœæ AWS ã«å€åããŠããæå±± *2 ãå§èªããŸããããç§ã¯äŒç€Ÿã®å€ããDXã¯èµ·ããã®ã¯é£ãããšèããŠããã æ±äº¬ã¬ã¹ ã«é¢çœããããŒãžã£ãŒããããããã§ããã°ãå
補åãæåããããããšç¢ºä¿¡ããŠãããããšããããŒãžã£ãŒã®åå·ãšãäŒã£ãŠãããããã®ç±éã«è§ŠããŠæå±±ã æ±äº¬ã¬ã¹ ã«æ¥ãŠãããããšã«ãªããŸããããã以æ¥ã圌ã®å£çã¯ããããã㯠GAFA ããããã©ãGASã®æä»£ã ïŒãã«ãªã£ãŠããŸãã æ¢åã®ã·ã¹ãã ç¥èã ãã¡ã€ã³ ç¥èãè¶³ããªã åœç¶ã§ããããªãã¬ã€ã¹ã«ã¯æ¢åã®ã·ã¹ãã ã®ç¥èã ãã¡ã€ã³ ç¥èãå¿
é ã§ãããç§ã®ãããªäžéã®ãšã³ãžãã¢ã«ã¯ããããã®ç¥èŠããããŸãããããã§ãæ¢åã®ã·ã¹ãã ã«è©³ããæ¹ã«å£°ããããããŒã ã«åç»ããŠããããŸãããããã«å ãããã§ã«åç»ããŠãããŠãã æ±äº¬ã¬ã¹ iãããã®ãšã³ãžãã¢ã«ã远å ã§åç»ããŠããã ããŸããã圌ãã®ç¥èã人èã«ãã£ãŠãæ¢åã·ã¹ãã ãå°ããã€è§£ãã»ãããŠãããŸãããç¹ã« æ±äº¬ã¬ã¹ iãããã®ãšã³ãžãã¢ãå
補éçºããŒã ã«ãåç»ããæ¢åã·ã¹ãã ãšã®æ¥ç¶ã®ããã®ã³ãã¥ãã±ãŒã·ã§ã³ããšã£ãŠãããããšãæ¥ã
ã® ã·ã¹ãã ãšã³ãžã㢠ãšããŠã®æ¥åã§ç²åŸããŠãã ãã¡ã€ã³ ç¥èã䜿ã£ãŠãããã³ãŒãã«èœãšããŠãããããšããããŠå
補åãšããæ¥é²çãªåãçµã¿ã«ãé¢ãããæãã¿ãªãæ¢åã®ã·ã¹ãã ã®æ
å ±ã ãã¡ã€ã³ ç¥èãæäŸããŠãããããã¯ãšã³ãã®éçºã¡ã³ããŒã®ååã¯ä»åã®å
補åæåã®äžã€ã®ããŒãã€ã³ãã«ãªã£ãŠããŸãã note.com ãããããšã³ãžãã¢ãè¶³ããªã éçºåœåãæã
ãäœãã®ã¯BFFãšããã³ããšã³ãã®é åã§ãããBFFã¯ç»é¢æç»ãªã©ã®ããã®èãããžãã¯ã ããã®ã£ãŠããããšãæ³å®ããŠããŸãããããããå®éã«èŠãŠã¿ããšãé·ãæŽå²ã®äžã§BFFãšåŒã¶ã«ã¯ç»é¢æç»ãªã©ã«é¢ä¿ãªãããžãã¯ãããŸãã«æã¡ãããŠããããšã«å ããBFFããåŒã³åºãããã¯ãšã³ã API ãã®ãã®ãç»é¢ãšå¯çµåããŠããŸã£ãŠãããã®ãªã©ãããããæéããªã©ã®ãããªãšã³ãã£ãã£ã«çžåœãããããªæ
å ±ãæ§æããããšãé£ããç¶æ³ã§ãããåŒãç¶ããã¡ããBFFã«ãªãããšã¯æ³£ãæ³£ãåãå
¥ãããã®ã®ãããããã®ãŸãŸå¥èšèªã«çœ®ãæãããããªãªãã¬ã€ã¹ãããŠããŸã£ãŠã¯ãäœãããããããšæã£ãæããã®æ¹ä¿®ããŠã©ãŒã¿ãã©ãŒã«ã§éçºãè¡ãããã¯ãšã³ãã«ãåãã§ããŸãã ãŠã©ãŒã¿ãŒãã©ãŒã« ãš ã¢ãžã£ã€ã« éçºãæ··åšãã ã·ã¹ãã éçº ã«ãããŠããã®ïŒã€ã®çµå床ãé«ããªããšã ã¢ãžã£ã€ã« éçºã¯ã§ããªããå®å
šã«ã¯é²ãããšã¯ã§ããªããŠããããã¯ç·©åããªããšãããªããšæããŸããããããããããã®æ¹ä¿®ããããšãªããšããããªãã® å·¥æ° ã«ãªãããšãæ³å®ãããŸãããããã§ã瀟å¡ã®ãšã³ãžãã¢æ¡çšãé²ãããšãšãã«ã ããªãŒã©ã³ã¹ ã®ãšã³ãžãã¢ã«ããåç»ããã ããéçºäœå¶ãå¢åŒ·ããŠãããŸããã ããããŠå
補åãžã®ããŒã¹ãæãã2023幎11æã®ãµãŒãã¹ã€ã³ã«åããŠéçºãå éããŠãããŸããã ãµãŒãã¹ã€ã³ãšçµç¹ã«èµ·ããå€å ãã®åŸãæ°ããmyTOKYOGASã¯2023幎11æã«äºå®éããµãŒãã¹ã€ã³ããèªåãã¹ããCI/CDã®çšŒåã¯ãã¡ããã®ããšãå
補éçºããŒã ã«ãŠïŒé±é1ã¹ããªã³ãã§ã® ã¢ãžã£ã€ã« éçºãšä¿å®éçšãŸã§ã責任ãæã£ãŠè¡ãããšãã§ããããã«ãªããŸããã ããããäžçªã®ææã¯å
補åã«æåããããšã§ã¯ãªãããããžã§ã¯ããéããŠãããšã³ãžãã¢ä»¥å€ã®ã¡ã³ããŒã ã·ã¹ãã éçº ãä»äººäºãšæããªãããã«ãªã£ããããšããããŠãããšã³ãžãã¢ããã äœãã ãã§ã¯ãªããŠããããã¯ããããããã°ãããªãã®ã§ã¯ïŒãšãããžãã¹ã®ã¡ã³ããŒãšå¯Ÿçã«è°è«ããããŒã å
šäœã§è¯ããããã¯ããäœã£ãŠããããšãããšã³ãžãã¢ãšããžãã¹ã¡ã³ããŒã溶ãåã£ãæåãã§ããããšã ãšæã£ãŠããŸããç§ã¯ããšã³ãžãã¢ãäºæ¥ã«æº¶ã蟌ã¿ããããã¯ããä»ãŸã§ã«ãªãéåºŠã§æè»ã«äŸ¡å€æäŸã§ããããã«ãªãããã®çµæçŸå Žã«ç±éãçãŸããåãæ¹ãæåãå€ããããããŠãããããçãŸãããããã¯ããå€ããããããŠã顧客äœéšãå€ãã£ãŠãããããããå··ã§ããDXã§ã¯ãªãã®ãïŒãšæãã®ã§ããæåãåãæ¹ãå€ããªããŠã¯DXãªããŠã§ããªãã®ã§ã¯ãªãããšã ãããžã§ã¯ããšäžŠè¡ããŠé²ããŠããæ¡çšæŽ»åã§ãæåã¯ç§ããããªãã£ããšã³ãžãã¢ãåŸã
ã«å¢ãéçºããŒã ã倧ãããªã£ãŠããŸãããçŸåšã¯åªç§ãªãšã³ãžãã¢ãåç»ããŠãããããšã§ãmyTOKYOGASã®éçºããŒã ã圌ãã«ä»»ããããã«ããŠããŸããããããææéçºããŒã ã®ãã©ã³ãã³ã°ãã¬ããã¹ãã¯ãã£ããèŠãèŠããããšããããŸããä»ããããžã§ã¯ããéããŠçãŸããæåã¯å€±ãããŠããããå
šå¡ããããã¯ããããããã«ã¯ïŒããŒã ããããªãã«ã¯ïŒãšããããšãè°è«ããæ¹åãé²ããŠããŸããããã«ã¯ãã¯ãåœäºè
æèãšç±éããããŸãããã®æåãããéãmyTOKYOGASéçºããŒã ã¯ãããããã©ãã©ããŠãŒã¶ã®äœéšãå€ããŠãã£ãŠãããã¯ãã§ãã ãããã« myTOKYOGASã®å
補åã§ãTerraformã«ãã£ãŠã€ã³ãã©æ§ç¯ã¯ã³ãŒãåãããCI/CDã§èªåãã¹ãã èåŒ±æ§ èšºæãåãããããã€ãèªååãããŸãããDatadogã«ã¢ããªã±ãŒã·ã§ã³ã¯åžžã«ç£èŠãããäœãããã°PagerDutyã§ããã«ãšã³ãžãã¢ã«éç¥ãããŸãããããã®ã㯠ãã ãžãŒ ã¯ãæã
ããŠãŒã¶ã«è¿
éãã€æè»ã«äŸ¡å€ãå±ããããšã®ã§ããç°å¢ãæäŸããŠãããŸãããããããçµå±ã¯ãããã®ç°å¢ããã£ãŠãããããã¯ãã«é¢ãã人ãã¡å
šå¡ãåœäºè
æèãæã£ãŠãã©ãããã°é¡§å®¢äœéšããããªããããèãããããã䜿ãããªããããã« ãã€ã³ãã»ãã ãšåãæ¹ãå€ããªããã°ãæå³ããããŸããããããŠãããã¯ããžãã¹ãè¡ãèªåãã¡æ¬¡ç¬¬ã§ããããå€ããDXãå¿
èŠã§ãããããšèšãããŠå€ããããã®ã§ã¯ãªããšæã£ãŠããŸãããªããªãããã®ãDXãå¿
èŠããšããèšèã«ã¯ç±ãšåœäºè
æèããªãããããæãŠãã®ã¯åœäºè
ã§ããèªåãã¡ã ãã§ããæè¡ã®å°å
¥ããšã³ãžãã¢ã®æ¡çšã ãã§ã¯ãDXãå
補åãäžæãè¡ããªããDXãå
補åãæåãããã«ã¯ããšã³ãžãã¢ãããžãã¹ã¡ã³ããŒããã¶ã€ããŒããå
šå¡ãåœäºè
æèãæã£ãŠãåãæ¹åãåããæåãäœããªãã¡ããªããªãã®ã ãšããããšãç§èªèº«æ¹ããŠæããããããŸããã æ±äº¬ã¬ã¹ ã«ã¯åå·ãšãããããŒãžã£ãŒãããŸãããããããçãŸããããã®ãŸãŸãããã¡ã ãå€ãããªããŠã¯ãªããªããããšããåœäºè
æèãšç±éããããæå±±ã®åç»ã ãã¡ã€ã³ ç¥èãæã£ãiãããã¡ã³ããŒã®åç»ããã®åŸã®ç¶ã
ãšåç»ããŠããããšã³ãžãã¢ããããŠçŸå Žãžã®åœäºè
æèãšç±éã®äŒæã«ã€ãªãã£ãŠãããŸãããããããå
šéšç¹ãã£ãããããã æ±äº¬ã¬ã¹ ã®å
補åã®åãçµã¿ã¯æåãããããšãã§ããŸããããã®ç±éãšåœäºè
æèããªããã°ãã©ããã§æåãžã®ããŒã¹ãæ¬ ããŠå
補åã¯å€±æããŠããã®ã§ã¯ãªãããšæããŸãã æã
ã¯ãŸã ãŸã å°ããªçµç¹ã§ãmyTOKYOGASå
補åã¯ã æ±äº¬ã¬ã¹ ãããžã¿ã«ã®äžçã§ãéžã°ããäŒç€Ÿã§ããããã®ãã¯ããã®äžæ©ã§ãããããã倧ããªäžæ©ã ãšæã£ãŠããŸãã å
¥ç€ŸåŸããã£ãããšã§ããã ã¢ãžã£ã€ã« éçºãå
補åã®åãçµã¿ã¯æã
ã®ããŒã ã ãã§ãªããä»ã®éšãªã©ã§ãåãçµãŸããŠãããšãããããããã§ãã æ±äº¬ã¬ã¹ ã®ãããããªãšããã§ãéçºããæã®å
åãããããšããåããçãŸããŠããŠããã®ã§ã¯ãªãããªãšæããŸããæã
ãçŸå ŽããçãŸããç±éãšåœäºè
ææãçµ¶ããã¬ããã æ±äº¬ã¬ã¹ ã®DXãé²ããŠãããããšæããŸãã *1 : ãããŒãžã£ãŒã®åå·ã¯ä»ã«ãèšäºãæžããŠããŸãããã²ãèªãã§ããã ãããããã ã®ãµã©ãªãŒãã³ãšããŠæ¥ã
ãéããã®ã§ã¯ãªããäŒç€ŸãéããŠäžã®äžãè¯ããããããã®ç±éãäŒããã®ã§ã¯ãªãããšæããŸãã note.com note.com *2 : ã®ã¡ã«ç§ã®äžåžã«ãªããŸããä»ã¯å
補éçºããŒã ã®Team Leadã§ããç§èªèº«äžåžã ãªãã¡ã© ã«ãããšããã®ã¯åããŠã®çµéšã§ãã