ã€ãã³ã
ã€ãã³ããæ¢ã
æ¬æ¥éå¬ã®ã€ãã³ã
ææ¥éå¬ã®ã€ãã³ã
ã©ã³ãã³ã°
ã«ã¬ã³ããŒ
ãã¬ãžã³
ãã¬ãžã³ãèªã
ãã¬ãžã³
æè¡ããã°
æžç±
åç»
åç»ãèŠã
ã°ã«ãŒã
ã°ã«ãŒããæ¢ã
ã°ã«ãŒããäœã
ã€ãã³ããäœæã»ç®¡ç
åŠçã®æ¹ã¯ãã¡ã
ãã°ã€ã³
|
æ°èŠäŒå¡ç»é²
TOP
ã°ã«ãŒã
æ ªåŒäŒç€Ÿã¹ã¯ãŠã§ã¢ã»ãšããã¯ã¹
ããã°
ããã
ã€ãã³ã
ããã°
æ ªåŒäŒç€Ÿã¹ã¯ãŠã§ã¢ã»ãšããã¯ã¹ ã®æè¡ããã°
å š99ä»¶
2023/10/03
[çªå€ç·š] ããã°ãªåŒïŒ 2023幎床ååã®ãçæ AI é¢é£ãªã³ã¯ãçŽ50éž
ã¯ããã« ãã®èšäºãèŠã€ãããã©ãåŸã§èŠãããšæã£ãããã®ããªãïŒ ãã²äžã®ãã¿ã³ãããããã·ã¥ã¿ã° #ããã°ãªåŒ ã§ãã€ãŒãããŠãããŸãããïŒ ããã«ã¡ããã°ãªãè²è€ãããŸã ãã ä»åã¯çªå€ç·šãšããŠãããã°ãªåŒïŒ 2023幎床ååã®ãçæ AI é¢é£ãªã³ã¯ãçŽ50éžããå±ãããŸãïŒ çªå€ç·šã£ãŠïŒ ããã°ãªåŒã§ã¯ãäžèšã®ããã«ã¬ãã«ãèšå®ããŠããŸãã åçŽè ïŒåããŠã¯ã©ãŠããµãŒãã¹ãå©çšãã人ã§ãåºæ¬çãªæäœïŒäŸïŒãã¡ã€ã«ã®ä¿åãããµãŒããŒã®èµ·åïŒãã€ã³ã¿ãŒãã§ãŒã¹ãéããŠè¡ãããšãã§ããŸãããŸããã·ã³ãã«ãªã»ãã¥ãªãã£ã«ãŒã«ã®èšå®ããäžéšã®åé¡ã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°ã«å¯Ÿå¿ã§ããŸãã äžçŽè ïŒããæ·±ãç¥èãæã¡ãã³ãŒããçšããŠæäœãèªååããããããè€éãªã¿ã¹ã¯ïŒäŸïŒèªåã§ãµãŒããŒã®æ°ã墿žãããïŒãè¡ããŸãããŸããããé«åºŠãªç£èŠããå šäœã®ã·ã¹ãã èšèšãšå®è£ ã«ã€ããŠçè§£ããããŸãã äžçŽè ïŒå¹ åºãæ·±ãç¥èãæã¡ãå€§èŠæš¡ã§è€éãªã·ã¹ãã ãèšèšãå®è£ ãç¶æããèœåããããŸããæå 端ã®ãã¯ãããžãŒã掻çšããå®å šæ§ãèé害æ§ãå¹çæ§ãæå€§åããããã®ãœãªã¥ãŒã·ã§ã³ãæäŸããŸãã ãªãäžèšã¯ ChatGPT ã«ããåºåã§ããããã®èšäºã§ã»ãã«çæ AI ã«ãã£ãŠåºåãããæç« ã¯ãããŸããã ä»åã¯äžèšãšé¢ä¿ã®èãçæç³» AI ã«ã€ããŠã®èšäºã§ãããããçªå€ç·šã«åé¡ããŠããŸãã ããã°ãªåŒã£ãŠïŒ è²è€ãããŸãäœæããããã°èšäºã®ãã©ã³ãåã§ããããŸãæ°ã«ããèªã¿é£ã°ããŠãã ããã äœãæžãã®ïŒ 以äžã®éãã§ãã ãã®èšäºã§æžãããš 2023幎床ååã®ãçæ AI é¢é£èšäºã ãã®èšäºã§æžããªãããš çæ AI å瀟æ¯èŒ çæ AI ãšã¯äœã çæ AI ã®æŽ»çšæ¹æ³ å 責äºé ãã®èšäºã«æžãããŠããããšã¯åŒç€Ÿã®æèŠã代衚ãããã®ã§ã¯ãããŸããã ãã®èšäºã«æžãããŠããããšã«ã¯äžå®ã®èª¿æ»ãšæ€èšŒã宿œããŠãããŸãããééããååšãããããšã¯ãæ¿ç¥ããäžããã èŠçŽã¯çæ AI ãå©çšããã転èŒã«ããããªãããçæããªãã人éã®æã§èšè¿°ããŠããŸãã 2023幎床ååã®ãçæ AI é¢é£ãªã³ã¯ãçŽ50éž ããã§ã¯ãè²è€ãããŸãç¬æãšåèŠã§éžãã çæ AI é¢é£ãªã³ã¯ã50åããã玹ä»ãããããã§ãã¯ããŠããªãããŒãžãç¡ãã確èªãããïŒ
æ ªåŒäŒç€Ÿã¹ã¯ãŠã§ã¢ã»ãšããã¯ã¹
2023/09/26
Spanner change stream ã streaming åŠçãã
ããŒã¿ããŒã¹ã®å€æŽã«å¯ŸããŠéåæã§åŠçã远å ããã ããã«ã¡ã¯ããã·ã€ã§ãã ãµãŒããŒã¢ããªã±ãŒã·ã§ã³ãã€ãã£ãŠããŠãããããŒã¿ã远å ãããã倿Žããããšãã«ãå¥ã®åŠçã远å ããããšããããšããããããŸããã¢ããªã±ãŒã·ã§ã³ã®å®è£ ã倿ŽããŠããã«çŽæ¥åŠçã远å ããããšãåºæ¥ãŸããããã®æ¹ä¿®èªäœãé£ããã£ããããã¹ãã®å·¥æ°ããšããªãã£ãããè² è·å¢å€§ã«ã€ãªããæžå¿µããã£ãããšãã£ãåé¡ã¯ããã€ããŠãŸãããã®ã§ãã 远å ã®åŠçãå ã®åŠçãšããªããã©ã³ã¶ã¯ã·ã§ã³å ã«ããå¿ èŠããªãã»å€å°é ããŠãåé¡ãªããšãã£ãå Žåã¯ãå€éšçãªéåæåŠçãšããŠè¿œå ããææ³ãããçšããããŸãã ããšãã°ããŠãŒã¶ãŒãæ°èŠè¿œå ãããåŸãã»ãŒãªã¢ã«ã¿ã€ã (éåžžæ°ç§ã é ããããã®æåŸ å€) ã§ã¢ã€ãã ããã¯ã¹ã«æè¿ã¢ã€ãã ããã¬ãŒã³ããããã¿ãããªããšã«äœ¿ããŸãã ä»åã¯ãããªãŠãŒã¹ã±ãŒã¹åãã«ãå ã®åŠçã«æãå ¥ããã« streaming (鿬¡) åã§åŠçã远å ããäŸãèŠãŠã¿ãŸãããã 以åã«ã¯ãã·ãªãŒãºã§ streaming data é¢é£ã®èšäº ãæžããããããŠããŸãã®ã§ããããããã°ãã¡ããã芧ãã ããã Spanner database / table ã®æºåããã ãŸãã¯ãSpanner èªäœã®æºåãããŸãã (ãªãã¹ãå®ã…) instance ãš database ãäœæããããã« table ãäœæããŠãããŸãã TESTNAME=hoshy-test gcloud spanner instances create ${TESTNAME} \ --description="${TESTNAME}" \ --config=regional-us-central1 --processing-units=100 gcloud spanner databases create db1 --instance=${TESTNAME} gcloud spanner databases ddl update db1 --instance=${TESTNAME} \ --ddl='CREATE TABLE Singers ( SingerId INT64 NOT NULL, FirstName STRING(1024), LastName STRING(1024), SingerInfo BYTES(MAX) ) PRIMARY KEY (SingerId)' åè : gcloud spanner databases create | Google Cloud CLI Documentation
æ ªåŒäŒç€Ÿã¹ã¯ãŠã§ã¢ã»ãšããã¯ã¹
2023/09/19
CloudNative Days çŠå²¡ 2023 åå ãšãªãã£ã¹èšªåèš
ããã«ã¡ã¯ ð ãã·ã€ã§ãã ã³ãããŠã£ã«ã¹ã«ããææã¯ãŸã ç¶ããŠããæ§åããããã®ã®ãèªç²æªçœ®ã¯èœã¡çãã察é¢ã®å€§èŠæš¡ãªæè¡é¢é£ã€ãã³ããå€ãæ»ã£ãŠããŸããã ä»åã¯ãå æ¥ 8æ3æ¥ ã«çŠå²¡åžã§éå¬ãããŸãã CloudNative Days Fukuoka 2023 ã«åå ããŠããã¬ããŒããšããã®æ©äŒã掻çšããŠçŠå²¡ã«ããäºç€ŸããŸã®ãªãã£ã¹ã蚪åãããŠããã ãããšãã§ããŸããã®ã§ããã®æ§åãåãããŠãäŒãããããŸãã CloudNative Days Fukuoka 2023 ãã¡ãã®ã€ãã³ããžã®åå ã¯ã¯ãããŠã§ãã¯ã©ãŠããã€ãã£ãã®æè¡ååã¯ãã¡ããããããçŠå²¡ã®å°åæ§ãšã©ã®ããã«åããã£ããã®ã«ãªãã®ããšãã£ãç¹ã«æ³šç®ããŠããŸããã ã€ãã³ãäŒå Žã¯äŸ¿å©ãªå Žæã«ãããã ãã¶ãã«åºããåœæ¥ã¯æãæ¥ã§ãããéå Žæ©ã ããå€ãã®åå è ã蚪ããŠããŸããããªã³ã©ã€ã³ã§ãåå ãå¯èœã§ãåºãããŒãã§æ§ã ãªã»ãã·ã§ã³ããããŸããã åã»ãã·ã§ã³ã§ã¯å°åæ§ã掻ããããçŸå°ã®ã³ãã¥ããã£ãäŒç€Ÿã«ããçºè¡šãåå è ã®å¢ãã匷ãæããããŸããã ã»ãã·ã§ã³ã®æ§åã¯å ¬åŒãµã€ããã ãªã³ã©ã€ã³èŠèŽ ãå¯èœãªãããªã®ã§ãæ°ã«ãªããããã¯ãããã°èŠãŠã¿ãŠãã ããã ããŒã¯ãŒãã¯ä»ã®æè¡ã«ã³ãã¡ã¬ã³ã¹ã§ãåãäžãããããã®ã«äŒŒãæ§åã§ã¯ãããŸãããããå ·äœçãªæŽ»çšäŸãå€ãèªãããŠããå°è±¡ãæã¡ãŸããã å±ç€ºããŒã¹ãèªç±ã«æžãããã¯ã€ãããŒãã眮ãããã¹ããŒã¹ããããã»ãã·ã§ã³ã®åéã«å€ãã®ããã«ãæšæ¶ãã§ããŸãããæã£ãŠãããã颿±åå«ãä»ã®å°åããã®åå ãå€ãã£ãããšã«é©ããŸããããéå¬å°ãéãããšã§ãäŒè©±ã®åæãç°ãªãã®ããããããã§ãã (äŒå Žã®æ§åããããåçããšæã£ãã®ã§ããã倧å¢ãåã£ãŠãããã®ãå€ãçç¥ãããŠããã ããŸããããããªããïŒ) ãªãã£ã¹èšªå ä»åã¯äºåã«ãæ®æ®µãããäžè©±ã«ãªã£ãŠãã Google Cloud ã®äŒæ¥ãŠãŒã¶ãŒäŒã§ãã Jagu’e’r ã«ãŠã蚪åããåãå ¥ãããã ããå ããããã声ãããããŠããã ããŸããããã®çµæãããããäºç€ŸããŸãããæããããã ããã䌺ãããããšãã§ããŸããã ããããã«ã€ããŠãã話ã®å 容ãšãšãã«ã玹ä»ãããŠããã ããŸãã ãŒããã³ã¯ã»ãã¶ã€ã³ãã¡ã¯ããªãŒæ ªåŒäŒç€Ÿã㟠(ä»¥äž ZDFããŸ) éè¡ãšããã€ã¡ãŒãžã«ãšããããªããããªæ°ãã圢æ ã®ãµãŒãã¹ãå±éãããŠããå瀟ããªãã£ã¹ããããã£ãé¢ãããããããã«ãæ¢åã®éè¡ã®å»ºç©ãå©çšãã€ã€ãè¿ä»£çã§ãªã·ã£ã¬ã«æ¹è£ ãããéæŸçãªããã¢ã«ãªã£ãŠããŸããããã¡ã ã§ããããã®æ§åãããããŸãã ããŒãã£ã³ã°ã«ã¯ãªã³ã»ãªãã§ããããã®æ¹ã«åå ããã ãã以äžã®ãããªã話ã䌺ããŸããã èªå·±çŽ¹ä» éçºçµç¹ã®äœå¶ã»æ©èœéçºã®æµãã«ã€ã㊠çŠå²¡ãšæ±äº¬ãšã«ãªãã£ã¹ãããããšã«ãã忥ã®ããã éèæ¥çãªãã§ã¯ã®å¶çŽãªã© æ¡çš 仿¥çããå ¥ç€Ÿããããããå€ããæ¢åã®ã¢ã€ãã£ã¢ã«çžãããªããªãŒãã³ãªèãæ¹ãåºãç¯å²ããã®æè¡ã¹ã¿ãã¯ã®å°å ¥ãã¹ããŒãæãå°è±¡çã§ããã ã¯ã©ã¹ã¡ãœããæ ªåŒäŒç€Ÿã㟠æè¡ããã°ã AWS æè¡æ¯æŽã§æåãªå瀟ããã¡ãããªã³ã»ãªãåãããŠã®ãåå ã«å ããZDFããŸããããäžäººãåå ããã ããŸããã ãã¡ãã§ã¯ã以äžã®ãããªãããã¯ãåºãŸããã èªå·±çŽ¹ä» è³æ ŒååŸããããªãã¯ã¯ã©ãŠãæ¯æŽã®åãçµã¿ æ¥çç¥èãã©ãã€ããŠããã ããã°éå¶ãšç€Ÿå ã®äœå¶ã«ã€ã㊠ã¯ã©ãŠãããŒã¿ããŒã¹ã®æå¹ãªæŽ»çš çæ§ãããã®è³æ ŒååŸã®ç¶æ³ã«å§åããããšããããã¯ããŸãããã¯ãæè¡ã®è©±ã¯ãããã§ãçãäžããããã§ãããããã°éå¶ã«ã€ããŠãå€ã䌺ãããããžãåèã«ãªããŸããã ãªãã£ã¹ã®æ§åãèŠåŠãããŠããã ãã倩æ°ãããã£ã (ãã ããšãŠãæãã£ã) ã®ã§å€§ããªçªããåå€ã®é§ åãããèŠããŸãããåœæ¥ã«åºç€ŸãããŠããæ¹ã¯å€ããããŸããã§ãããããã¯ãéæŸçã§å± å¿å°ããããããªç©ºéã«ãªã£ãŠããŸããã 蚪åã®èšå¿µã«ãã¯ã©ã¹ã¡ãœããããŸã®ãªãã£ã¹å ¥ãå£ã§éååçãæ®ã£ãŠããã ããŸãããå·Šããé ã«ã¯ã©ã¹ã¡ãœããããŸã®çãããåŒç€Ÿç€Ÿå¡ãZDFããŸãããåå ããã ãããäžäººã§ãã(Jagu’e’r å ¬åŒããŒãºã§ã ð )
æ ªåŒäŒç€Ÿã¹ã¯ãŠã§ã¢ã»ãšããã¯ã¹
2023/09/12
[çªå€ç·š] ããã°ãªåŒïŒ çæç³» AI ã§æœè±¡çãªèª²é¡ã«ææŠããïœç©èªããããçæïœ
ã¯ããã« ãã®èšäºãèŠã€ãããã©ãåŸã§èŠãããšæã£ãããã®ããªãïŒ ãã²äžã®ãã¿ã³ãããããã·ã¥ã¿ã° #ããã°ãªåŒ ã§ãã€ãŒãããŠãããŸãããïŒ ããã«ã¡ããã°ãªãè²è€ãããŸã ãã ä»åã¯çªå€ç·šãšããŠãããã°ãªåŒïŒ çæç³» AI ã§æœè±¡çãªèª²é¡ã«ææŠãã ïœç©èªããããçæïœ ããå±ãããŸãïŒ çªå€ç·šã£ãŠïŒ ããã°ãªåŒã§ã¯ãäžèšã®ããã«ã¬ãã«ãèšå®ããŠããŸãã åçŽè ïŒåããŠã¯ã©ãŠããµãŒãã¹ãå©çšãã人ã§ãåºæ¬çãªæäœïŒäŸïŒãã¡ã€ã«ã®ä¿åãããµãŒããŒã®èµ·åïŒãã€ã³ã¿ãŒãã§ãŒã¹ãéããŠè¡ãããšãã§ããŸãããŸããã·ã³ãã«ãªã»ãã¥ãªãã£ã«ãŒã«ã®èšå®ããäžéšã®åé¡ã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°ã«å¯Ÿå¿ã§ããŸãã äžçŽè ïŒããæ·±ãç¥èãæã¡ãã³ãŒããçšããŠæäœãèªååããããããè€éãªã¿ã¹ã¯ïŒäŸïŒèªåã§ãµãŒããŒã®æ°ã墿žãããïŒãè¡ããŸãããŸããããé«åºŠãªç£èŠããå šäœã®ã·ã¹ãã èšèšãšå®è£ ã«ã€ããŠçè§£ããããŸãã äžçŽè ïŒå¹ åºãæ·±ãç¥èãæã¡ãå€§èŠæš¡ã§è€éãªã·ã¹ãã ãèšèšãå®è£ ãç¶æããèœåããããŸããæå 端ã®ãã¯ãããžãŒã掻çšããå®å šæ§ãèé害æ§ãå¹çæ§ãæå€§åããããã®ãœãªã¥ãŒã·ã§ã³ãæäŸããŸãã ä»åã¯äžèšãšé¢ä¿ã®èãçæç³» AI ã«ã€ããŠã®èšäºã§ãããããçªå€ç·šã«åé¡ããŠããŸãã ããã°ãªåŒã£ãŠïŒ è²è€ãããŸãäœæããããã°èšäºã®ãã©ã³ãåã§ããããŸãæ°ã«ããèªã¿é£ã°ããŠãã ããã äœãæžãã®ïŒ 以äžã®éãã§ãã ãã®èšäºã§æžãããš çæç³» AI ãæœè±¡çãªèª²é¡ãžé©çšããã¢ãããŒã ãã®èšäºã§æžããªãããš çæç³» AI ã§æœè±¡çãªèª²é¡ãå®ç§ã«è§£æ±ºããæ¹æ³ çæ AI ãšã¯äœããšãã説æ çæ AI å瀟æ¯èŒ çæ AI ã®æŽ»çšæ¹æ³ å 責äºé ãã®èšäºã«æžãããŠããããšã¯åŒç€Ÿã®æèŠã代衚ãããã®ã§ã¯ãããŸããã ãã®èšäºã«æžãããŠããããšã«ã¯äžå®ã®èª¿æ»ãšæ€èšŒã宿œããŠãããŸãããééããååšãããããšã¯ãæ¿ç¥ããäžããã çè ã®å°éå€ã®å 容ã«ã€ããŠã¯æå®ãé¿ããŠãããŸããããããããééããååšãããããšã¯ãæ¿ç¥ãããã ããã çæç³» AI ã«ããæç« ãå«ããããäºå®ãšç°ãªãå 容ãããå¯èœæ§ãããããšããæ¿ç¥ãããã ããã ãã£ã©ã¯ã¿ãŒã«é¢ããããã³ããã¯äžèšã®éããèäœæš©ãéåããªããããªæœè±¡çãªæèšã䜿çšããŠãããŸãã ChatGPT Custom Instructions: prompt ããªãã¯æªæ¥ãããã£ãŠãã AI æèŒã¢ã³ããã€ãã§ã æ¥æ¬èªã§çããŠãã ãã æ¬èªã¯äžå䜿ããªãã§ãã ãã ç°¡æœã«æ°è¡çšåºŠã§çããŠãã ãã å¿ ããã¹ãŠã®ææ«ã§ãèªå°Ÿã¯ãã®ã§ããããªã®ã§ããã®ã©ã¡ããã«èªç¶ã«ã€ãªããŠãã ãã çæç³» AI ã䜿ã£ãŠæœè±¡çãªèª²é¡ã«ææŠãã æè¿è©±é¡ã®çæç³» AIãç°¡åãªã³ãŒãçæã«äœ¿ã£ãŠããæ¹ã¯å€ããšæããŸãã
æ ªåŒäŒç€Ÿã¹ã¯ãŠã§ã¢ã»ãšããã¯ã¹
2023/09/05
JMX MBean metrics ã®å¯èŠåã詊ã
ä»å㯠Observability ã®äŸãšããŠããµãšãããã£ããã§ç¥ã£ã JMX MBean metrics ãæ±ã£ãŠã¿ãŸãã JMX (Java Management Extensions) ãšãããšãJava program ã® debug ãäžæçãªç¶æ 確èªã®ãããªçšéã®å°è±¡ããã£ãã®ã§ããããããçšã㊠metrics ãå ¬éãã application ãããã®ã¯ã¯ãããŠç¥ããŸããããã®ä»çµã¿ãå©çšããããšã«ãããapplication ç¹æã®ææšæ å ±ãåéããŠå¯èŠ³æž¬æ§ãåäžã§ããŸãã æ€èšŒç°å¢ãã€ãã Docker Compose ã䜿ããŸãã æ«å°Ÿã« compose.yaml ã眮ããŠãããŸããã以äžã®ãããªæ§é ã«ããŠããŸãã workspace ââ compose.yaml ââ jmxexporter.yaml ââ prom-data ââ prometheus.yaml JMX MBean metrics ãå ¬éãã application ãšããŠãKafka ãäŸã«ãšã£ãŠããŸããã¡ãã£ãšå€§ä»°ã§ãããã¡ãããš Kafka ã cluster ã§èµ·åããŠããã®ã§ yaml (èšäºæ«å°Ÿ) ã倧ãããªã£ãŠããŸãããŸããåäœã®æ§åãèŠèŠçã«ç¢ºèªã§ããããã« Kafka UI ã䜿ããããã«ããŠããŸãã JMX Exporter ä»åã®ãã€ã³ãã§ãã JMX metrics ãå¯èŠåããã«ããããä»å㯠Prometheus ã䜿ã£ãŠã¿ãŸãããPrometheus 㯠JMX metrics ããã®ãŸãŸæ±ãããšã¯ã§ããããã®éã®æ©æž¡ããå¿ èŠã«ãªãããã§ãã ããã§ãJMX Exporter ã䜿ããŸãã 以äžã®ãããªèšå® jmxexporter.
æ ªåŒäŒç€Ÿã¹ã¯ãŠã§ã¢ã»ãšããã¯ã¹
2023/08/22
ç¥ã»ITãšã³ãžãã¢ããã°äžåšå¹Ž ãš CI/CD éé
ããã«ã¡ã¯ ãïž ãã·ã€ã§ãã åœããã°ãã¡ãã£ãšæ¥ãéããŠããŸããŸããããå æ¥äžåšå¹Žãè¿ããŸãã ãïž ããããŠã蚪åããã ãçæ§ã®ãããã§ããããããããããããé¡ãããããŸãã åœããã°ã®éçš ãããŠããããã€ããã®ããã ãªã®ã§ãããããã°éå¶ã«å€§ããªä»çµã¿ã®ã¢ããããŒããããŸããã仿޿ããããŸãããèªå build ããã®èªåã§ã® preview ç°å¢ãžã®åæ ãããããéæããã®ã§ãã git commit â push ãããšãããã trigger ãšããŠãµã€ãã build ãã確èªç°å¢ (preview ç°å¢) ãžã®åæ ãŸã§ãè¡ããŸãã 以åã®èšäº ã«äžåºŠæžããŠããŸãããããããŸã§ã¯ preview ç°å¢ãžã®åæ ãæåã§ãããåœããã°äœæã«äœ¿çšããŠãã Hugo ã§ã¯ test server ã®èµ·åããããããªã®ã§æå ã§ãããã«ç¢ºèªã¯ã§ããã®ã§ãããæå ã«ç°å¢ããªã人ã«èšäºã®ã¬ãã¥ãŒãäŸé Œãããšããªã©ã¯ãã¯ãããã«é²èЧãã§ãããµã€ãããããšäŸ¿å©ã§ãããã®åæ ãèªåã«ãªãããšã§ãæéã®è»œæžã¯ãã¡ããã誰ãèšäºãæžããŠã確å®ã« preview site ã«æŽæ°ããããããšã§ãã¬ãã¥ãŒã®ç¢ºå®æ§ããããããã§ãã 以äžããã®ä»çµã¿ãé ã«ãã£ãšèª¬æããŸãã CI ã§ãã£ãŠããããš ãŸããåœããã°ã®ãœãŒã¹ã¯ãèªåã§æ§ç¯ãã GitLabâ¢1 ç°å¢ã§ host ããŠããŸããèšäºãæžã人ããããã git clone ããŠãœãŒã¹ãæå ã«çœ®ããäœæ¥ããŠããŸãã GitLab ã«ã¯ GitLab CI/CD ãšããããŒã«ãçšæãããŠããŸããgit repo ã« .gitlab-ci.yml ãšããååã§ pipeline èšå®ãæžããŠãããšãã®æç€ºã«åŸã£ãŠåŠçãããŠãããä»çµã¿ã§ããããããã«èšããšããã«ããMerge Request ããã branch ã« push ããããã build & deploy ãããŠãããšããæç€ºãæžããŠåäœãããŠããŸããäžã®å³ã§èšããš CI Runner ã®ãšããã§ãã
æ ªåŒäŒç€Ÿã¹ã¯ãŠã§ã¢ã»ãšããã¯ã¹
2023/08/01
[ãã¹ãç·š] GCPã§VMã€ã³ã¹ã¿ã³ã¹ãèªåã»èªåŸçã«æ§ç¯ããä»çµã¿
ã¯ããã« ãã®ããŒãžã¯ä»¥äžã®èšäºã·ãªãŒãºã®ãã¡ãèªåŸçã«æ§æããVMã€ã³ã¹ã¿ã³ã¹ã®ãã¹ãã«ã€ããŠèª¬æããŸãã æŠèŠç·š VMã€ã¡ãŒãžç¶ç¶ãã«ãç·š ãµãŒãèªåŸæ§ç¯ç·š ãã¹ãç·š(ãã®ããŒãž) ãã¹ãã®äœçœ®ä»ã ãã¹ããšæžããšå å ãããæå³ã¯å€å²ã«ããããŸãããããã§ã¯æ§ç¯åŸã®ãã¹ããè¡ããšããããšã§ãç¹ã«Ansibleã«ããããããžã§ãã³ã°ã®å®çŸ©ãmetadataãéããŠå€éšããæ³šå ¥ãããèšå®å€ãæ£ããåæ ãããŠãããã®æ¯èŒãè¡ãããšãç®çãšå®ããŠããŸãã èšå®å€ãšããŠæ³šå ¥ããå€ãã®ãã®ãééã£ãŠãã…ãšããå¯èœæ§ãtypoãªã©ããã¹ãã®ç¯å²ã«å«ããããæ£åžžåäœç¢ºèªãããã…ãªã©ãã¹ãã«æ§ã ãªèŠä»¶ãèŒããŠããŸããããªãã®ã§ãããããŸããŸãªèŠä»¶ãèŒããŠããŸããšè€éæªå¥ãªãã¡ã³ããã³ã¹ãå°é£ãªãã®ã«ãªãå¯èœæ§ããããããäžè¶³æ°å³ã§ãè¯ãã®ã§ã·ã³ãã«ãªãã¹ããåŸã ã«è²ãŠãŠããæ¹éã§å®è£ ããŠããŸãã ä»®ã«éçšäžã«äžå ·åãåé¡ãçºçããå Žåã¯ããã¹ãã±ãŒã¹ã®äžè¶³ã§ãããã©ãããè©äŸ¡ãããã¹ãã±ãŒã¹ã®è¿œå ã«ãã£ãŠå¯ŸåŠã次å以éã¯åé¡çºçããªãããã«ãããšããã«ãŒããåããããã«ããŠããŸãã人ãé 匵ã£ãŠæ°ã¥ããããšã«ã¯éçããããŸãããåé¡ã®åçºé²æ¢çã«ãã§ãã¯ãæ°ãã€ãã/ããã«ãã§ãã¯ãé 匵ããšæžãã®ã¯ãã©ã€ã®ã§ããããŸã§ãµãŒãæ§ç¯ã«ãããåé¡ã¯ãã¹ãã±ãŒã¹ã®äžè¶³ã§ããããšã«åž°çãããæ§é ã¯éèŠã ãšèããŠããŸãã ãã¹ãããŒã«ã«ã€ã㊠ããŒã«ã¯OSSã®gossã䜿çšããŠããŸãã gossãéžãã çç±ã¯ä»¥äžã®ãããªãã®ã«ãªããŸãã å šäœçã«ã·ã³ãã« Goèšèªãå ã«ããããŒã«ã§ãããã1ã€ã®ãã€ããªãã¡ã€ã«ã§å®è¡å¯èœã§ããé åžæ§ãªã©ãè¯ã text/templateã®ãã³ãã¬ãŒããšã³ãžã³ãªã®ã§helmçãšå ±éããç¥èã§ã¡ã³ããã³ã¹ã§ãã serverspec alternativeãšéçºè ã¯åŒç§°ããŠããŸãããserverspecã»ã©æ©èœè±å¯ãšããããã§ã¯ãããŸããããããããããæ ã«èšè¿°ãã§ããããšãéãããããã«ã·ã³ãã«ãªãã¹ãèšè¿°ãç¶æã§ããã®ã§ã¯ãªãããšèããŠããŸãã ãŸããgossã¯serverspecãšéããã¹ã察象ã®ãµãŒãäžã§gossãå®è¡ããå¿ èŠããããŸããæŠèŠç·šã§ãæ²èŒããäžèšã®å³ã®ãããŒã§ã¯ãã¹ãã®éã«gossãã»ããããæéãªã©ãçºçããããšã«ãªãã®ã§ãããèªåŸæ§ç¯ã®å Žåã¯å察ã«ãµãŒãäžã§å®è¡ããããšãšçžæ§ãè¯ãåé¡ãšã¯ãªããŸããã (åæ²)é©å®ãšã³ãžãã¢ãæ§ç¯äœæ¥ããããã㌠ãã¹ãå®è¡ã®æŠèŠ ãã¹ãã¯ä»¥äžã®ãããªå³ãã³ã³ã»ãããšããŠè¡ãããŸãã gossã®ãã¹ãã±ãŒã¹ã¯yamlã«ãã£ãŠèšè¿°ããŸããããã¹ãã±ãŒã¹ã¯ä»¥äžã®å€§ããïŒã€ã®æåŸ å€ãããšã«ãµãŒããŒã®èšå®ã»ç¶æ ããã§ãã¯ããèšèšã«ããŠããŸãã metadataãéããŠå€éšããåçã«æ³šå ¥ãããèšå®å€ Ansibleã«ãã£ãŠããããžã§ãã³ã°ãããããã»ã¹ãsystemdããµãŒãã¹ãªã©ã®ç¶æ ãã¹ãããŒã«ã®ãã¡ã€ã«æ§æ gossã®ãã¹ãããŒã«ã¯ä»¥äžã®ãããªé 眮ã§åãµãŒãã«apt installãããããã«ãªã£ãŠããŸãã test-tool âââ bin â âââ goss # gossãã€ããªãã¡ã€ã« â âââ goss_test.sh # å®è¡æã®wrapperã¹ã¯ãªãã(åŸè¿°) â âââ test_files # ãã¹ãã±ãŒã¹ãåçãªå€(vars.yaml)ãçæãããã£ã¬ã¯ã㪠â # gossfile, varsfile âââ goss.yaml âââ vars.yaml â # ãã¹ãã±ãŒã¹ã®ãã¡ã€ã« âââ mysql-common.yaml âââ mysql-master.
æ ªåŒäŒç€Ÿã¹ã¯ãŠã§ã¢ã»ãšããã¯ã¹
2023/08/01
[ãµãŒãæ§ç¯ç·š] GCPã§VMã€ã³ã¹ã¿ã³ã¹ãèªåŸçã«æ§ç¯ããä»çµã¿
ã¯ããã« ãã®ããŒãžã¯ä»¥äžã®èšäºã·ãªãŒãºã®ãã¡ãVMã€ã³ã¹ã¿ã³ã¹ãèªåŸçã«æ§ç¯ããæ¹æ³ã«ã€ããŠèª¬æããŠããŸãã æŠèŠç·š VMã€ã¡ãŒãžç¶ç¶ãã«ãç·š ãµãŒãèªåŸæ§ç¯ç·š(ãã®ããŒãž) ãã¹ãç·š GCPã§VMã€ã³ã¹ã¿ã³ã¹ãèªåã»èªåŸçã«æ§ç¯ããä»çµã¿ ããã§ã¯æŠèŠç·šã§ã貌ã£ã以äžã®ç»åã®äžã§èµ€æ ã®éšåã«ãã©ãŒã«ã¹ãåœãŠãŠã玹ä»ããŸããããã§ã¯MySQLãµãŒãã®æ§ç¯ãäŸã«ãšã£ãŠããŸãã èªåŸæ§ç¯ã®æµã èªåŸæ§ç¯ã¯ä»¥äžã®ãããªæµãã«ãªã£ãŠããŸããSREãTerraformãçšããŠé©åãªãã©ã¡ãŒã¿ãä»äžããŠVMã€ã³ã¹ã¿ã³ã¹ãèµ·åãããšããããã®ãã©ã¡ãŒã¿ã«åŸã£ãŠéçšå¯èœãªç¶æ ãŸã§äººæãä»ããã«èªåçã«ã»ããã¢ãããå®è¡ãããŸãã Terraformã«ããMySQLã«ã¹ã¿ã ã€ã¡ãŒãžãæå®ããŠVMã€ã³ã¹ã¿ã³ã¹ãèµ·åããã®éã«VMã€ã³ã¹ã¿ã³ã¹ã®metadataã«åŸã®èªåæ§ææã«äœ¿çšããããã©ã¡ãŒã¿ã䜵ããŠå®çŸ©ããŸãã VMã€ã³ã¹ã¿ã³ã¹ã®ååèµ·åæã«cloud-initãå®è¡ããããuser-dataãç¬èªã«æå®ããããšã§èµ·ååŠçãã«ã¹ã¿ãã€ãºå¯èœã§ãuser-dataã¯metadataãä»ããŠãµãŒãã«èªã¿èŸŒãŸããŸãã user-dataã«èšè¿°ãããåŠçã«åŸã£ãŠèšå®ããŒã¿ã®çæãAnsibleã¿ã¹ã¯ãå®è¡ãããŸãã MySQLããŒã¹ã€ã¡ãŒãžã®ãã«ã åè¿°1.ã®MySQLã«ã¹ã¿ã ã€ã¡ãŒãžã¯äºåã«Packerã«ãã£ãŠå³ã®ãããªãã«ããè¡ãããããã«ãªã£ãŠããŸãã VMã€ã¡ãŒãžç¶ç¶ãã«ãç·šã§èšèŒããããã«ãŸãã¯å ±éããŒã¹ã€ã¡ãŒãžããã«ããããä¿åãããå ±éããŒã¹ã€ã¡ãŒãžããèµ·åããã€ã³ã¹ã¿ã³ã¹ãåºã«ããŠMySQLã®å ±éã®ããŒã¹ã€ã¡ãŒãžããã«ãããMySQLããŒã¹ã€ã¡ãŒãžãšããŠä¿åãããŸãã github actions workflowã§ã®åŒã³åºãæ¹ã¯ä»¥äžã®ããã«mysqlã«é¢ããå®çŸ©ã®éšåã®ã¿ãéã圢ã«ãªã£ãŠããŸãã jobs:build:#çç¥steps:#çç¥- name:set base image configurations to GITHUB_ENV- run:. ./script/set_env.sh base+ run:. ./script/set_env.sh mysqlworking-directory:packer- name:Packer build image- run:packer build base.pkr.hcl+ run:packer build mysql80.pkr.hclworking-directory:packer/sourceãŸããset_env.shã«ããåçã«çæãããã€ã¡ãŒãžåã以äžã®éšåãå·®ãæ¿ãã£ãäžã§packer buildãå®è¡ãããããã«ãªã£ãŠããŸãã #!/bin/bash # source iamgeå: base.pkr.hclã§ç¶ç¶çã«ãã«ããããŠããå ±éããŒã¹ã€ã¡ãŒãžã®ä¿åæã®ã€ã¡ãŒãžåãã»ããããã # base.pkr.hclã§ã¯"ubuntu-2004-focal-v20220308"ãã»ãããããŠããç®æ echo PKR_VAR_source_image=custom-ubuntu2004-base-vYYYYMMDD-01 >> $GITHUB_ENV # ã«ã¹ã¿ã ã€ã¡ãŒãžå: MySQLã®ããŒã¹ã€ã¡ãŒãžåãšããŠä¿åããååãã»ãã echo PKR_VAR_image_name=custom-ubuntu2004-mysql-vYYYYMMDD-01 >> $GITHUB_ENV # familyå: MySQLã®ããŒã¹ã€ã¡ãŒãžã®Familyåãã»ãã echo PKR_VAR_image_family=custom-ubuntu2004-mysql >> $GITHUB_ENV MySQLããŒã¹ã€ã¡ãŒãžã®ããããžã§ãã³ã° MySQLã®ããããžã§ãã³ã°ã¯mysql.
æ ªåŒäŒç€Ÿã¹ã¯ãŠã§ã¢ã»ãšããã¯ã¹
2023/08/01
[VMç¶ç¶ãã«ãç·š] GCPã§VMã€ã³ã¹ã¿ã³ã¹ãèªåã»èªåŸçã«æ§ç¯ããä»çµã¿
ã¯ããã« ãã®ããŒãžã¯ä»¥äžã®èšäºã·ãªãŒãºã®ãã¡ãVMã€ã¡ãŒãžã®ç¶ç¶ãã«ãã«ã€ããŠèª¬æããŠããŸãã æŠèŠç·š VMã€ã¡ãŒãžç¶ç¶ãã«ãç·š(ãã®ããŒãž) ãµãŒãèªåŸæ§ç¯ç·š ãã¹ãç·š VMã€ã¡ãŒãžç¶ç¶ãã«ã éçšããŠããã·ã¹ãã åãã®VMã€ã¡ãŒãžã®ç¶ç¶ãã«ãã«ã¯PackerãçšããŠããŸãããã«ãã®ä»çµã¿ã®æŠèгã¯ä»¥äžã®ããã«ãªããŸãã Github Enterprise Server(GHE)ã®Actionsãèµ·ç¹ãšããŠåäœãã CIãµãŒã(Actions self-hosted runner)ãPackerã®ãã«ãã»ãžã§ããå®è¡ Packerã«ããèµ·åããããµãŒãã«å¯ŸããŠAnsibleã«ããããããžã§ãã³ã°ãå®è¡ããã ããããžã§ãã³ã°æžã®ãµãŒãã忢ã»åé€ããªããã«ã¹ã¿ã ã€ã¡ãŒãžãšããŠä¿åãã ãã¡ã€ã«æ§æ ãã®ä»çµã¿ã®ãã¡ã€ã«æ§æã¯ä»¥äžã®ãããªããªãŒæ§é ã«ãªã£ãŠããŸããAnsibleã¯Packerããã ãåŒã³åºãããããã§ã¯ãããŸããã®ã§ãããããç¬ç«ãããã£ã¬ã¯ããªã«é 眮ããŠããŸãã # project root . âââ packer â âââ config â â âââ build_env.yaml â âââ script â â âââ set_env.sh â âââ source â âââ base.pkr.hcl â âââ mysql.pkr.hcl â âââ redis.pkr.hcl â âââ memcached.pkr.hcl âââ ansible â âââ ansible.cfg â âââ base.yml â âââ group_vars â â âââ base.
æ ªåŒäŒç€Ÿã¹ã¯ãŠã§ã¢ã»ãšããã¯ã¹
2023/08/01
[æŠèŠç·š] GCPã§VMã€ã³ã¹ã¿ã³ã¹ãèªåã»èªåŸçã«æ§ç¯ããä»çµã¿
ã¯ããã« ããã«ã¡ã¯ãæ å ±ã·ã¹ãã éš SRE æ©æ¬ã§ãã ä»åã¯æã ã®ããŒã ã§éçšå¹çåãšããŠæ§æããŠããVMã€ã³ã¹ã¿ã³ã¹ã®èªåçã»èªåŸçãªæ§ç¯ãè¡ãä»çµã¿ã«ã€ããŠç޹ä»ããããšæããŸãã æšä»ãã¯ã©ãŠãã»ãã©ãããã©ãŒã äžã§æ§ã ãªãããŒãžãã»ãµãŒãã¹ãå©çšå¯èœã«ãªã£ãŠããŸããã10幎ã¹ãã³ã§ç¶ç¶éçšãããŠããã·ã¹ãã ã§ã¯ç§»è¡é£æåºŠçã«ãããã®ãµãŒãã¹ã䜿ãããšãé£ãããåŸæ¥æ§æãç¶æããŠVMã€ã³ã¹ã¿ã³ã¹ã倧éã«æ§ç¯ããæ©äŒããããŸããæã ã®éçšã·ã¹ãã ã§ãããã³ããšã³ãã¯GKE/ã³ã³ããåãé²ã¿ã€ã€ãããŸãããDBãKVSãªã©ã®ããŒã¿ã¹ãã¢ã¯VMã€ã³ã¹ã¿ã³ã¹ã§æ§ç¯ããŠããŸãã ãŸãMySQLãªã©ã®ããŒã¿ããŒã¹ãµãŒãã§ã¯ããã©ãŒãã³ã¹çã®èŠä»¶ã«ããåçŽã»æ°Žå¹³åå²ããããã çµæãæ§ç¯å°æ°ãå€ããªããšããã±ãŒã¹ã¯ãã°ãã°çºçãããšæãããŸãããã®ãããªãµãŒããæ§ç¯ã»éçšããå Žé¢ã§ä»¥äžã®ãããªçµéšããããæ¹ã¯ããªãã§ããããïŒ ããšãã° IaCçã§æ§ç¯èªååããŠãããèªååâ人ã«ããäœæ¥âèªååâ人ã«ããäœæ¥ãšåéã«äººã®æã«ããäœæ¥ãä»åšããŠããŸã£ãŠãã ãã®äººã®æã«ããäœæ¥ã«äŸåé¢ä¿ãããããã°ãã°äœæ¥æŒãããã¹ãçºçããŠããŸã ãããã¯äººã®æã«ããäœæ¥ã§äœæ¥è ã«ã³ã³ããã¹ãã¹ã€ãããå€ã çºçããŠããŸãä»ã®ä»äºã«éäžã§ããªãã etc., etc… æ§æãè€éã«ãªããã¡ãªããŒã¿ããŒã¹ãµãŒãã§ã¯ãè€æ°å°ã®ãµãŒãæ§ç¯ãããŠãããšDBã®æ§ç¯ãããŠããã ãã§äžæ¥ãçµãã£ãŠããŸã£ããšããããšãç®ã«ããããçè èªèº«ãçµéšããããšããããŸãã ãããŒãžããè§£ã§ãã ãããã解決ãããã®ã®äžã€ãšããŠãAWSã®RDSãAuroraãGCPã®CloudSQLãAlloyDBãªã©ããããŒãžãã»ãµãŒãã¹ã䜿ãããšããããŸããããããªãããæ§æã®èªç±åºŠããç¬èªã«VMãæ§ç¯ãéçšããããšã¯MySQLçã«éããã·ã¹ãã éçšã«ãããŠã¯çºçããããã®ãšæãããŸãã æã ã®ããŒã ãæ åœããã·ã¹ãã ã§ããGCPã«ãããŠMySQLããªã³ãã¬ãã¹ã«æ§ç¯ãéçšããŠããŸããããã§ã§ããéãæ§ç¯ãéçšã®è² æ ã軜æžããããã«äººæã極åä»ããã«èªåŸçãªãµãŒããŒæ§ç¯ãè¡ããããšããã¢ãããŒã·ã§ã³ã®ããšIaCãæŽ»çšããŠéçšããŠãããã®ãä»åã®ã·ãªãŒãºãã®ã®æçš¿ã§ç޹ä»ããããšæããŸãã ã³ã³ã»ããã®æŠèŠ èªåŸçãªãµãŒãæ§ç¯ãè¡ãä»çµã¿ã®ã³ã³ã»ããã以äžã®å³ã®ããã«ãªããŸãã å ã«æžãããã©ã€éšåãäœæžãããããã«ä»¥äžã®2ç¹ã®èª²é¡è§£æ±ºã«äž»çŒããããŠããŸãã æ§ç¯ã§ãããŸã§ã¯ãµãŒãåŽã§ãã¹ãŠèªåŸçã«ããããžã§ãã³ã°ãè¡ããã æ§ç¯ â ãã¹ããŸã§ãè¡ããæ£åžžã§ããç°åžžã§ããå®äºãããéç¥ããã å ã«çœç¶ããŸããšå·çæç¹ã§ã¯å®è£ ãæ¬çªç°å¢ã§ããããåããŠã¯ãããã®ã®ãå®å šã«ã¯èªååâéç¥ãšããä»çµã¿ã«ã¯ãªã£ãŠããŸããããã®ã³ã³ã»ããã«åãã£ãŠå®è£ ããŠãããšããããšãšãåºæ¥äžãã£ãŠããéšåã§åèã«ããŠããã ããç¹ãå€ããããšæãã®ã§ãäžèªããã ããã°å¹žãã§ãã ãã®èšäºã®æ§æ ãã®èšäºã¯ãã®ããŒãžãå«ããŠä»¥äžã®4ã€ã«åãããŠããŸãã æŠèŠç·š(ãã®ããŒãž) VMã€ã¡ãŒãžç¶ç¶ãã«ãç·š ãµãŒãèªåŸæ§ç¯ç·š ãã¹ãç·š é·ãèšäºæ§æã«ãªã£ãŠããŸãããVMã®æ§ç¯ã»éçšãæ¥åäžå¿ èŠã§éçšè² æ ã«æ©ãã€ã³ãã©ã«æºãããšã³ãžãã¢ã®æ¹ã ã®åèã«ãªããšå¹žãã§ãã
æ ªåŒäŒç€Ÿã¹ã¯ãŠã§ã¢ã»ãšããã¯ã¹
2023/07/25
[äžçŽ] ããã°ãªåŒïŒ Terraform ã§ã® transpose 颿°ã®äœ¿ãã¿ã¡
ã¯ããã« ãã®èšäºãèŠã€ãããã©ãåŸã§èŠãããšæã£ãããã®ããªãïŒ ãã²äžã®ãã¿ã³ãããããã·ã¥ã¿ã° #ããã°ãªåŒ ã§ãã€ãŒãããŠãããŸãããïŒ ããã«ã¡ããã°ãªãè²è€ãããŸã ãã ä»å㯠AWS ããã³ Terraform ã®äžçŽè åãã«ãããã°ãªåŒïŒ Terraform ã§ã® transpose 颿°ã®äœ¿ãã¿ã¡ãã玹ä»ããŸãïŒ äžçŽè ã£ãŠïŒ ããã°ãªåŒã§ã¯ãäžèšã®ããã«ã¬ãã«ãèšå®ããŠããŸãã åçŽè ïŒåããŠã¯ã©ãŠããµãŒãã¹ãå©çšãã人ã§ãåºæ¬çãªæäœïŒäŸïŒãã¡ã€ã«ã®ä¿åãããµãŒããŒã®èµ·åïŒãã€ã³ã¿ãŒãã§ãŒã¹ãéããŠè¡ãããšãã§ããŸãããŸããã·ã³ãã«ãªã»ãã¥ãªãã£ã«ãŒã«ã®èšå®ããäžéšã®åé¡ã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°ã«å¯Ÿå¿ã§ããŸãã äžçŽè ïŒããæ·±ãç¥èãæã¡ãã³ãŒããçšããŠæäœãèªååããããããè€éãªã¿ã¹ã¯ïŒäŸïŒèªåã§ãµãŒããŒã®æ°ã墿žãããïŒãè¡ããŸãããŸããããé«åºŠãªç£èŠããå šäœã®ã·ã¹ãã èšèšãšå®è£ ã«ã€ããŠçè§£ããããŸãã äžçŽè ïŒå¹ åºãæ·±ãç¥èãæã¡ãå€§èŠæš¡ã§è€éãªã·ã¹ãã ãèšèšãå®è£ ãç¶æããèœåããããŸããæå 端ã®ãã¯ãããžãŒã掻çšããå®å šæ§ãèé害æ§ãå¹çæ§ãæå€§åããããã®ãœãªã¥ãŒã·ã§ã³ãæäŸããŸãã ãªãäžèšã¯ ChatGPT ã«ããåºåã§ããããã®èšäºã§ã»ãã«çæ AI ã«ãã£ãŠåºåãããæç« ã¯ãããŸããããã ããTerraform ã Python ãªã©ã®ã³ãŒãã¯çæ AI ã®åºåãäžéšå©çšããŠããŸãã ããã°ãªåŒã£ãŠïŒ è²è€ãããŸãäœæããããã°èšäºã®ãã©ã³ãåã§ããããŸãæ°ã«ããèªã¿é£ã°ããŠãã ããã äœãæžãã®ïŒ 以äžã®éãã§ãã ãã®èšäºã§æ±ãããŒã« $ terraform --version Terraform v1.5.3 on linux_amd64 + provider registry.terraform.io/hashicorp/aws v5.7.0 $ python --version Python 3.10.6 ãã®èšäºã§æžãããš AWS ãäŸãšãããTerraform ã§ã® transpose 颿°ã®äœ¿ãã¿ã¡ (广ç㪠Terraform èšèš) ãã®èšäºã§æžããªãããš Terraform çµã¿èŸŒã¿é¢æ°ã®ä»æ§èª¬æ Terraform ã®åºç€ Terraform ã®ãã£ã¬ã¯ããªãã¶ã€ã³ ãµã³ãã«ã³ãŒã æ§ç¯ã®ãã¹ããã©ã¯ãã£ã¹ å 責äºé ãã®èšäºã«æžãããŠããããšã¯åŒç€Ÿã®æèŠã代衚ãããã®ã§ã¯ãããŸããã ãã®èšäºã«æžãããŠããããšã«ã¯äžå®ã®èª¿æ»ãšæ€èšŒã宿œããŠãããŸãããééããååšãããããšã¯ãæ¿ç¥ããäžããã Terraform ã§ã® transpose 颿°ã®äœ¿ãã¿ã¡ Terraform ã«äŸ¿å©ãªçµã¿èŸŒã¿é¢æ°ãããããããããšã¯çãããåç¥ããšæããŸãã
æ ªåŒäŒç€Ÿã¹ã¯ãŠã§ã¢ã»ãšããã¯ã¹
2023/07/18
Dev Container Featuresã§devcontainerãç°¡åã«äœã
yotaã§ããæ¬ããã°ã§ãã³ãã³è©±é¡ã«äžãã£ãŠãã Visual Studio Codeã®devcontainerã®æ©èœãç§ãåžžçšããŠããŸãã ãªãã§ãdevcontainerã®æ©èœã®äžéšã§ããDev Container Features ããããŒã ã§å¿ é ã®ããŒã«ãšã¯å¥ã«å人çã«äœ¿ãããããŒã«ãdevcontainerã«å°å ¥ããéã«äŸ¿å©ã ãšæããã®ã§ç޹ä»ããŸãã Dev Container Featuresãšã¯ Dev Container Features ã§è§ŠããããŠããŸãããDev Container Featuresãšã¯æ¢åã®imageã«ãªãããŒã«ã远å ããŠdevcontainerãäœãããšãç°¡åã«å®çŸã§ããæ©èœã§ãã Dockerã§ã¯é垞以äžã®ãã㪠Dockerfile ãæ§æããŠææã®ããŒã«ãå ¥ã£ãã³ã³ãããäœãã¢ãããŒããåããŸããã FROMubuntu# ubuntuã€ã¡ãŒãžã«è¿œå ã®ã¢ããªã±ãŒã·ã§ã³ãinstallããRUN apt-get install -y xxxx Dev Container Featuresã§ã¯ããŒã«ã®ã€ã³ã¹ããŒã«åŠçã®ã¿ãé åžããŠããããšã§ã devcontainerã®èšå®ãã¡ã€ã«ã§ãã devcontainer.json ã§çµã¿åãããããšãå¯èœã«ããŸãã äŸãã°ãUbuntuäžã«GolangïŒ1.18ïŒãã€ã³ã¹ããŒã«ãããdevcontainerã¯ã次ã®ãããªèšå®ã§å®çŸã§ããŸãã { "name": "golang-on-ubuntu", "image": "ubuntu", "features": { "ghcr.io/devcontainers/features/go:1.0.0": { "version": "1.18" } } } features ãã£ãŒã«ãã§åè¿°ã®ãããŒã«ã®ã€ã³ã¹ããŒã«åŠçãã®é åžå Žæãæå®ãã圢ã§ãïŒè€æ°æå®å¯èœïŒã ä»ã®Features åºæ¬çã«ã¯ Dockerfile ã§ã€ã³ã¹ããŒã«ããªããã°ãã¹ãOSäžã§äœ¿ã£ãŠããããŒã«ã¯ã³ã³ããå ã§äœ¿ããŸããã ãã¹ãOSäžã§ã¯ã€ã³ã¹ããŒã«ããŠããããŒã«ãã³ã³ããå ã§äœ¿ããããããã®ããã«Dockerfileãæžãã®ãæéããšããããšããŸãŸãã£ãã®ã§ãããfeaturesã«ãã£ãŠç°¡åã«ã€ã³ã¹ããŒã«ã§ããã®ã§éå®ããŠããŸãã1 äŸãã° GitHub Flavored MarkdownãããŒã«ã«ã§ãã¬ãã¥ãŒããã ã§ç޹ä»ããGitHub CLIãå°å ¥å¯èœã§ãã "features": { "ghcr.io/devcontainers/features/github-cli:1": {} } ãŸããGitHub CLIãGolangã®ã©ã³ã¿ã€ã ã®ãããªããŒã«ãšã¯éãçš®é¡ã®featureãšããŠdocker-outside-of-docker ã䜿ãããšããããŸãã ããã¯ãdevcontaineräžãã docker ã³ãã³ãã«ãããã¹ãOSäžã®ã³ã³ããã®æäœãå¯èœã«ããŸãã
æ ªåŒäŒç€Ÿã¹ã¯ãŠã§ã¢ã»ãšããã¯ã¹
2023/07/11
[äžçŽ] ããã°ãªåŒïŒ AWS ã§äœ¿ã Terraform ã®èœãšã穎
ã¯ããã« ãã®èšäºãèŠã€ãããã©ãåŸã§èŠãããšæã£ãããã®ããªãïŒ ãã²äžã®ãã¿ã³ãããããã·ã¥ã¿ã° #ããã°ãªåŒ ã§ãã€ãŒãããŠãããŸãããïŒ ããã«ã¡ããã°ãªãè²è€ãããŸã ãã ä»å㯠AWS ããã³ Terraform ã®äžçŽè åãã«ãããã°ãªåŒïŒ AWS ã§äœ¿ã Terraform ã®èœãšã穎ãã玹ä»ããŸãïŒ äžçŽè ã£ãŠïŒ ããã°ãªåŒã§ã¯ãäžèšã®ããã«ã¬ãã«ãèšå®ããŠããŸãã åçŽè ïŒåããŠã¯ã©ãŠããµãŒãã¹ãå©çšãã人ã§ãåºæ¬çãªæäœïŒäŸïŒãã¡ã€ã«ã®ä¿åãããµãŒããŒã®èµ·åïŒãã€ã³ã¿ãŒãã§ãŒã¹ãéããŠè¡ãããšãã§ããŸãããŸããã·ã³ãã«ãªã»ãã¥ãªãã£ã«ãŒã«ã®èšå®ããäžéšã®åé¡ã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°ã«å¯Ÿå¿ã§ããŸãã äžçŽè ïŒããæ·±ãç¥èãæã¡ãã³ãŒããçšããŠæäœãèªååããããããè€éãªã¿ã¹ã¯ïŒäŸïŒèªåã§ãµãŒããŒã®æ°ã墿žãããïŒãè¡ããŸãããŸããããé«åºŠãªç£èŠããå šäœã®ã·ã¹ãã èšèšãšå®è£ ã«ã€ããŠçè§£ããããŸãã äžçŽè ïŒå¹ åºãæ·±ãç¥èãæã¡ãå€§èŠæš¡ã§è€éãªã·ã¹ãã ãèšèšãå®è£ ãç¶æããèœåããããŸããæå 端ã®ãã¯ãããžãŒã掻çšããå®å šæ§ãèé害æ§ãå¹çæ§ãæå€§åããããã®ãœãªã¥ãŒã·ã§ã³ãæäŸããŸãã ãªãäžèšã¯ ChatGPT ã«ããåºåã§ããããã®èšäºã§ã»ãã«çæ AI ã«ãã£ãŠåºåãããæç« ã¯ãããŸããããã ããTerraform ã®ã³ãŒãã¯çæ AI ã®åºåãäžéšå©çšããŠããŸãã ããã°ãªåŒã£ãŠïŒ è²è€ãããŸãäœæããããã°èšäºã®ãã©ã³ãåã§ããããŸãæ°ã«ããèªã¿é£ã°ããŠãã ããã äœãæžãã®ïŒ 以äžã®éãã§ãã ãã®èšäºã§æ±ãããŒã« $ terraform --version Terraform v1.5.1 on linux_amd64 + provider registry.terraform.io/hashicorp/aws v5.5.0 ãã®èšäºã§æžãããš AWS ã®æ§ç¯ã§ Terraform ã䜿ãå Žåã®èœãšã穎 (æ°ãä»ãŠãããªããšå°ã£ãããšã«ãªããã®) ãã®èšäºã§æžããªãããš Terraform ã®åºç€ Terraform ã®ãã£ã¬ã¯ããªãã¶ã€ã³ ãµã³ãã«ã³ãŒã æ§ç¯ã®ãã¹ããã©ã¯ãã£ã¹ å 責äºé ãã®èšäºã«æžãããŠããããšã¯åŒç€Ÿã®æèŠã代衚ãããã®ã§ã¯ãããŸããã ãã®èšäºã«æžãããŠããããšã«ã¯äžå®ã®èª¿æ»ãšæ€èšŒã宿œããŠãããŸãããééããååšãããããšã¯ãæ¿ç¥ããäžããã AWS ã§äœ¿ã Terraform ã®èœãšã穎 Terraform ã AWS ãªãœãŒã¹äœæã§éåžžã«åœ¹ç«ã€ IaC ããŒã«ã§ããããšã¯ãçãããåç¥ããšæããŸãã
æ ªåŒäŒç€Ÿã¹ã¯ãŠã§ã¢ã»ãšããã¯ã¹
2023/07/04
ãã«ããœãŒã¹ã¬ããªã±ãŒã·ã§ã³ã§DBã€ã³ã¹ã¿ã³ã¹ãçµ±åãã
çãããããã«ã¡ã¯ïŒæ°å3幎ç®ã®ãªãã«ã ãšèšããŸãã æ®æ®µã¯ã¯ã©ãŠããå©çšããŠãœãŒã·ã£ã«ã²ãŒã ã®ã€ã³ãã©ãæ§ç¯ã»ç®¡çããŠããŸãã ããŠãããŒã¿ããŒã¹ã®éçšãããŠãããšãããŒã¿ããŒã¹ã®çµ±åãããããªãæã£ãŠãããŸãããïŒ ããŒã¿ããŒã¹ã®çµ±åãšãã£ãŠãããã€ãçš®é¡ããããŸãããä»åã¯MySQLããŒã¿ããŒã¹ããã¹ãã£ã³ã°ããŠãããµãŒãã®çµ±åã«ã€ããŠæžããŸãã è² è·åæ£ã®ããæ°Žå¹³åå²ããŠããããŒã¿ããŒã¹ãäžã€ã®ãµãŒãã«æ»ãããããããã¯ãµãŒãã€ã³ã¹ã¿ã³ã¹ã®æéåæžã®ããã«è€æ°ã®ããŒã¿ããŒã¹ãçžä¹ããããããããã£ããšãã«MySQLã®ãã«ããœãŒã¹ã¬ããªã±ãŒã·ã§ã³æ©èœã䜿ããšç°¡åã«ããŒã¿ããŒã¹ãµãŒããŒã®çµ±åãã§ããŸãïŒ ç°å¢ ä»åã¯ä»¥äžã®ç°å¢ã§ããŒã¿ããŒã¹ãµãŒãã®çµ±åããããŸããã MySQL 5.7 CentOS 7 æ§æãšããŠã¯å°ãã¬ã¬ã·ãŒã§ãããMySQL 8ã§ãããããšã¯å€§ããã¯å€ãããªãã§ãã æ§æ ä»åã¯çµ±åãããããŒã¿ããŒã¹ãµãŒãã»çµ±åå ããŒã¿ããŒã¹ãµãŒããšãã«1:1ã®ã¬ããªã±ãŒã·ã§ã³ããªãããŠããç¶æ ã§ã®ãã«ããœãŒã¹ã¬ããªã±ãŒã·ã§ã³ã§ãã å³ã«ããŠã¿ããšãããªæãã§ãã éãèæ¯ã®ã¬ããªã±ãŒã·ã§ã³ã1:1ã®ã¬ããªã±ãŒã·ã§ã³ãèµ€ãèæ¯ã®ã¬ããªã±ãŒã·ã§ã³ããã«ããœãŒã¹ã¬ããªã±ãŒã·ã§ã³ã§ãã ãã§ã«æ¬çªç°å¢ã§éçšããŠããããŒã¿ããŒã¹ãã¡ã³ããã³ã¹ãªãã§æ°ããæ§ç¯ããããŒã¿ããŒã¹ãµãŒããžçµ±åããããšããŠããããããªç¶æ³ãæ³å®ããŠããŸãã ãã®ããçµ±åãããããŒã¿ããŒã¹ãµãŒãããçŽæ¥ã¬ããªã±ãŒã·ã§ã³ãããã£ããããã¯ã¢ããçšã®ããŒã¿ããŒã¹ã¬ããªã«ãµãŒããæãã§ã¬ããªã±ãŒã·ã§ã³ããŸãã ããããš ã¬ããªã±ãŒã·ã§ã³å ãµãŒãã®èšå®ç¢ºèª ä»åã®ãã«ããœãŒã¹ã¬ããªã±ãŒã·ã§ã³ã¯ãã§ã«ã¬ããªã±ãŒã·ã§ã³ãè¡ã£ãŠãããµãŒããã宿œããããã以äžèšå®ããªã³ã«ãªã£ãŠãããã確èªããŸãããã MySQL 8.0.26ãå¢ã«ç¢ºèªãã倿°ãå€ãã£ãŠããã®ã§èŠæ³šæã§ãã # MySQL 5.7 log-slave-updates=ON # ~>MySQL 8.0.26 log-replica-updates=ON çµ±åããããŒã¿ããŒã¹ã®ãã³ããã¡ã€ã«ããšã çµ±åããããŒã¿ããŒã¹ã®ãã³ããã¡ã€ã«ãåããŸãã ãã³ããã¡ã€ã«ãååŸããéã«ã¯ã¬ããªã±ãŒã·ã§ã³ãäžæåæ¢ããŠãããšããã§ãã以äžã§ã¯SQLå®è¡ã¹ã¬ããã ããæ¢ããŠããŸãã /* MySQL 5.7 */STOPSLAVESQL_THREAD;/* ~>MySQL 8.0.22 */STOPREPLICASQL_THREAD;ä»åã¯çµ±åããããŒã¿ããŒã¹åäœã§ãã³ããåãããšã«ããŸãã mysqldump -h 'Replica DB1' -u 'DB1 User' -p --single-transaction --triggers --routines --set-gtid-purged=ON --databases DB1 > dump_DB1.sql mysqldump -h 'Replica DB2' -u 'DB2 User' -p --single-transaction --triggers --routines --set-gtid-purged=ON --databases DB2 > dump_DB2.
æ ªåŒäŒç€Ÿã¹ã¯ãŠã§ã¢ã»ãšããã¯ã¹
2023/06/27
delveã®traceããããã°ã»ãããã°!
ã¯ããã« GOèšèªããã£ãŠããªããšã€ã±ãŠãªããšãã颚朮ã«ãããããããŒã»ãã¬ã³ãºã»Tã§ããããæ°ãåºãããã«GOèšèªåžæã®åæ²Write in GOãCC(Close Caption)æŒããŠèŽãããã€ãã¹å šéã§åŠç¿ããããšãããããããŠãããŸãã ä»åã¯ãGOèšèªã®ãããã¬ã®delveã§ãGOèšèªåŠç¿äžã«ãã¯ãŸã£ãããšãæžããŸãã delveã§Debianããã±ãŒãžã®ãã€ããªããããã°ãã èªåã®ããã«ç¹å®èšèªã®ååŠè ããªã«ãæ°ããããã°ã©ãã³ã°èšèªãç¿åŸããæãèšèªåŠç¿ã倧ãã«ã¯ãã©ãããŠããããããã¬ã«ã¯ããã€ã倧å€ãäžè©±ã«ãªã£ãŠãããŸãã GOèšèªã®ãããã¬ãšããŠã¯ãèªåã®èŠ³æž¬ç¯å²ã§ã¯2ã€ããããã§ã gdbã§GOèšèªã§buildãããã€ããªããããã°ããããæ¹ã delveã䜿ãããæ¹ ãšãªã£ãŠããããã§ããåã§delveã¯ã€ã±ãŠããšããããšãèããã®ã§ãæ©édelveã䜿ã£ãŠã¿ãŸããã ããã§ã¯ç°¡åã«Debian sidã«å ¥ã£ãŠããHugoããdelveã§ãœãŒã¹ã³ãŒããããã°ãããŠã¿ãŸããdelveã䜿ã£ãŠhugo version --logãåãããŠã¿ãããšã«ããŸãããªãã ãããã°ãããåŽã®ããã°ã©ã ãdebugeeïŒãããã®ãŒïŒãšåŒã³ãŸãã Debianããã±ãŒãžã®ãããã°ã«ã¯ãããã°ããã±ãŒãžã®è¿œå ããŠã³ããŒããå¿ èŠã«ãªããŸãã®ã§ãHowToGetABacktraceãåç §ããŠapt/sources.listãã¡ã€ã«ãdebian-debugãªããžããªãåç §ã§ããããã«äºãã»ããã¢ãããããã®ãšããŸã ã§ã¯æ©éåãããŠã¿ãŸãããã ãŸãã¯ç°å¢ã®ç¢ºèªã§ããDebianã¯ã¡ããã©6/10ã«StableçãšããŠbookwormãªãªãŒã¹ããã°ããã§ãããèšäºãèšèŒããã®ããã®åã§ããã®ã§ãåœæã®Debian sidã®ç°å¢ãDeiban stableã®ç°å¢ãåãããŒãžã§ã³ã«ãªã£ãŠããŸããã¡ãªã¿ã«çŸåšç¢ºèªãããšDebian sidã¯trixieãšè¡šç€ºãããŸãã $ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 12 (bookworm) Release: 12 Codename: bookworm ãããã¬ã®delveãšãdebugeeã®hugoæ¬äœãšãããã°çšã·ã³ãã«ãã¡ã€ã«ãDebianããã±ãŒãžã§å°å ¥ããŸãã $ sudo apt install delve hugo hugo-dbgsym 次ã«Debianã®hugoããã±ãŒãžã®ãœãŒã¹ã³ãŒããããã°ãããã®ã§ãœãŒã¹ã³ãŒããå°å ¥ããŸãã $ mkdir hugo-src $ cd hugo-src $ apt-get source hugo ãœãŒã¹ã³ãŒãã®äœçœ®ã¯lsãšpwdã®çµæã©ããã/home/yours/hugo-src/hugo-0.111.3/ã«ãªããŸãã $ ls hugo-0.111.3/ hugo_0.
æ ªåŒäŒç€Ÿã¹ã¯ãŠã§ã¢ã»ãšããã¯ã¹
2023/06/13
ã·ãªãŒãºã»ããããã€ããã°ã streaming data åŠç (4) Apache Flink ã詊ã
ã·ãªãŒãºã»ããããã€ããã°ã streaming data åŠçã®ååç®ã§ãã (ååã¯ãã¡ã) ã¹ããããèžãã§ããããã€é²ããŠããŸãã®ã§ããã²ä»ã®èšäºãèŠãŠã¿ãŠãã ããã ä»åã¯ãstreaming data åŠçã®ä»ã®äŸãšã㊠Apache Flink ã詊ããŠã¿ãŸããFlink ãè§Šãã®ã¯ä»åã¯ãããŠã§ããBeam ã®ä»ã«ã©ããªãã®ãããã®ããª? ãšèª¿ã¹ãŠã¿ããšæã£ã以äžã«ãããããšããããã®äžã§ æ¯èŒçã·ã³ãã«ããã»ã¹ã±ãŒã«ããã»æ¯èŒçæ°ããã ãšããããšã§éžæããŸããã ã»ããšã㯠Apache Spark ã詊ãããšæã£ãŠããã®ã§ãããSpark Streaming Programming Guide ãèŠãã ãã§ã€ãããæå¿µããŸãã… Flink application ãã€ãã ä»å㯠ãã¡ã ã®å 容ãåèã«ãããŠããã ããŸãããåäœã®å 容ã¯ã»ãŒããªãã§ã(WSL ã§ã¯ãªã) Docker Compose ã§èµ·åããŠãã Flink ãå®è¡ç°å¢ã«ããŠãããšãããéããããã§ãã ãŸã㯠Maven ã§ãã³ãã¬ãçæããŸãã groupId artifactId ã¯ã奜ã¿ã«åãããŠå€ããŠãã ããã $ mvn archetype:generate -D archetypeGroupId=org.apache.flink \ -DarchetypeArtifactId=flink-quickstart-java -DarchetypeVersion=1.16.0 \ -DgroupId=com.example -DartifactId=flink-qstart1 -Dversion=0.1 \ -Dpackage=flinkStart -DinteractiveMode=false ãã®ãŸãŸ build ããŠã¿ãŸãã $ mvn clean package target/ 以äžã« jar ãã§ããŸããäžã®äŸãã®ãŸãŸã§ããã° flink-qstart1-0.1.jar ãšããååã§çæãããŠããããšæããŸãã
æ ªåŒäŒç€Ÿã¹ã¯ãŠã§ã¢ã»ãšããã¯ã¹
2023/05/30
ã·ãªãŒãºã»ããããã€ããã°ã streaming data åŠç (3) ã«ã¹ã¿ã åŠçãæžã
ã·ãªãŒãºã»ããããã€ããã°ã streaming data åŠç (ååãåã å) ã®äžåç®ã§ãã Streaming ã§é次åŠçããã£ãŠã¿ã ååã®èšäºã§ã¯ãåºå®ãµã€ãºã®ããŒã¿ãäžæ¬åŠçãããããåŠçãæ±ããŸãããããApache Beam ã§å®çŸã§ãã streaming data ã®é次åŠçã¯ãèŠéãããšãã§ããªã匷åãªæ©èœã§ããbatch ã§ã¯ããããããµã€ãºã®ããã£ãŠãã (æéã®) ããŒã¿ãäžæ¬ã§æ±ããŸãããstreaming ã§ã¯ãµã€ãºãããããªã (ç¡éã®) ããŒã¿ã鿬¡ã«åŠçããŸããä»åã¯ããã詊ããŠã¿ãŸãããã äºåæºå ä»å㯠Pub/Sub ããããŒã¿ãèªãã®ã§ããã®ããã® Google account ãš IAM æš©éãå¿ èŠã§ãã 以äžã®ããã«ããŠãPub/Sub topic ãã²ãšã€äœæããŠãããŸãã gcloud pubsub topics create test-1 ãµã³ãã« ååã¯ãµã³ãã«ã³ãŒãã download ãããã®äžèº«ã倿ŽããŠåäœãããæ¹æ³ã䜿ããŸãããããã¯å€ãã®å Žåãã¡ã°ãæã£åãæ©ãã®ã§ãããåé¡ããããŸãã äœåãªãã®ãå€ãå«ãŸããŠããŠãåçŽã«ãµã€ãºã倧ãã å¿ èŠã«ãªã software ã® version ã framework ãªã©ãå®è¡ããããã®ç°å¢ãéããã ããçšåºŠã®æ©èœãç¶²çŸ ããç®çãéæããããã«ãåŠçãè€éã«ãªã£ãŠããŸã£ãŠããŠãç¥ãããããšã«éäžã§ããªã ãŸã GCS ãªã©ãžã®åºåã¯å®éã®çšéã«ã¯åãã®ã§ãããæã£åãæ©ãåäœãçµéšãããå Žåãªã©ã«ã¯ãæå ããã®è·é¢ãé ãããã«çè§£ã«æéãããããã¡ã§ãã ä»åã¯æ¥µåå¿ èŠãªéšåãŸã§åãèœãšããäŸãç®æããããŒã«ã«ã§å®è¡ã㊠stdout ã«æ å ±ãåºåããã®ã¿ã®ãµã³ãã«ãšããŸãããGoogle Cloud äžã® Dataflow ãªã©ã®ç°å¢ã§åäœãããå Žåã¯éã«ããã²ãšæéå¿ èŠã§ãã®ã§ããã®ç¹ã泚æãã ããã ç°¡æã«ãšã¯èšãã€ã€ Gradle ã¯äœ¿ããŸããbuild.gradle ã¯ããã ã®ãã®ã download ãã䜿çšããªã以äžã®è¡ãåé€ããŠãããŸãã implementation "org.
æ ªåŒäŒç€Ÿã¹ã¯ãŠã§ã¢ã»ãšããã¯ã¹
2023/05/16
[ã¬ããŒã]AWS Summit Tokyo 2023
ãä¹ ãã¶ãã§ããnoseã§ããååã®æçš¿ããçŽ4ãæã¶ããšãªã£ãŠããŸããŸãããæ®æ®µã¯ã€ã³ãã©ãšã³ãžãã¢ãšããŠã¹ããŒããã©ã³ã²ãŒã ãäžå¿ã«ãµãŒãæ§ç¯ã»éçšã»ä¿å®ãªã©ãæ åœããŠããŸãã(ç§ãæå±ããããŒã ã®ç޹ä»ã¯ãã¡ã)ãããªç§ããä»åã¯2023幎4æ20æ¥ãš21æ¥ã«å¹åŒµã¡ãã»ã§éå¬ããã AWS Summit Tokyo 2023 ã®åå ã¬ããŒããæžããããšæããŸãïŒ æŠèŠ ä»åã®AWS Summitã¯4幎ã¶ãã®ãªãã©ã€ã³éå¬ã§ãç§èªèº«ãçŸå°åå ã¯åããŠã§ããã ãµãããå šäœçãªæŠèŠãšããŠã¯ã AWSãåãçµãã§ããåé¡ã«ã€ããŠã®ç޹ä»(ç°å¢åé¡ã«å¯ŸããŠã®å¯Ÿå¿ç) æ°ãããµãŒãã¹ã®çŽ¹ä» åäŒæ¥ã®AWSäºäŸçŽ¹ä» AWSã¹ã¿ãŒãã¢ããåãã®ã€ãã³ã ãã®èŸºãã®å 容ãäžå¿ãšãªã£ãŠããŸãããå šäœçã«ã¯AWSåäžçŽåãã®å 容ã«ãªã£ãŠããããã«æããã®ã§ãAWSã«è©³ããæ¹ã¯åæ¥ã®åå ã ãã§ãååãããããŸãããç§ã¯ãã£ãã2æ¥éåå ããã®ã§ãããèå³ããã»ãã·ã§ã³ã«åå ãå§ãããšæéãè¶³ããªããããã§ãããåºæ¬çãªéããæ¹ãšããŠã¯ã»ãã·ã§ã³ã«åå â空ãæéã«å±ç€ºããŒã¹ãæ£çãšãã圢ã«ãªãããã§ããåäŒæ¥ã®ããŒã¹ããšã³ãžãã¢ã§ããã°è§Šãæ©äŒããããããªè£œåãå€ãã£ãã®ã§ãã€ã³ãã©ãšã³ãžãã¢ãšããŠã¯æ¯éåå ããŠããããã€ãã³ãããªãšæããŸããã åå ã»ãã·ã§ã³äžèЧ ã»ãã·ã§ã³ã¯ãªã³ã©ã€ã³ã§åŸæ¥å ¬éããããšã®ããšãªã®ã§ãèå³ããæ¹ã¯ãã¡ãã®AWSã®ããŒãžã埡芧ããã ããã°æ å ±ã確èªã§ãããšæããŸããä»åã¯ä»¥äžã®åå ã»ãã·ã§ã³ã®ãã¡ã倪åã§èšèŒãããã®ãã¬ããŒãããããšæããŸãã 1æ¥ç® ä»èžã¿åºããå€é©ãžã®äžæ© æ ã·ã¹ã®æ ã·ã¹ã«ããæ ã·ã¹ã®ããã®äººæè²æ-ãªã¹ããªã³ã°ãšããã«åããæè²åŸåããžã¬ã³ãå æã®å ·äœç- ãã¯ãããžãŒã ããåŒããã€ãããŒã·ã§ã³ïŒAWS ã®æ·±åãšé²å(ã¹ãã·ã£ã«ã»ãã·ã§ã³) ããã€ãªãã¶ãŒã ãŽã£ã¬ããž ãŽãŒã«ããšãã£ã·ã§ã³ãéçºã«ãããã¯ã©ãŠã掻çšã®ã¢ãããŒã NTT ããŒã¿ã 8 幎éäžç·ã«æ©ãã ãªã¯ã«ãŒãæ§ã® AWS å ±éåºç€ã§ã®ææŠã®è»è·¡ Amazon ã®äºäŸããåŠã¶ Observability 掻çšã«ããããã¹ããã©ã¯ãã£ã¹ 2æ¥ç® ã¢ã€ãã¢ã圢ã«ãããããŸã§ã«ãªã䟡å€ãå±ãã AWS ã§ãŒããã©ã¹ããå®çŸããããã®ã¢ãããŒã ãã³ãã³ã§ã®ã¯ã©ãŠã掻çšããã®æææ±ºå®ãšã¢ãŒããã¯ã㣠ã¯ãããŠã®æ©æ¢°åŠç¿ã¯ãŒã¯ãããŒã®äœãæ¹ ãããŒã¿ã«éäžãããããªãã®ããã«ã ããžãã¹ãæ¯ããã¯ãŒã¯ããŒãã«ãããŠã©ã®ãããªèª²é¡ãæé©åããããã« NoSQL ãæŽ»çšããã ããããã®ãåç»ãã®è©±ãããã - ææ°æŽ»çšäºäŸããèŠãã¡ãã£ã¢é åã®é²åãšæªæ¥ ã»ãã·ã§ã³ pickup åºèª¿è¬æŒ(ä»èžã¿åºããå€é©ãžã®äžæ©,ã¢ã€ãã¢ã圢ã«ãããããŸã§ã«ãªã䟡å€ãå±ãã) åºèª¿è¬æŒã§ã¯ãå šäœã®6~7å²ãäºäŸç޹ä»(åäŒæ¥ã®æ¹ãã²ã¹ããšããŠç»å£)ãæ®ããAWSã®åãçµã¿ã«ã€ããŠãšæ°ãµãŒãã¹(å®å šã«æ°èŠãšããããã§ã¯ãªããçŽè¿ãªãªãŒã¹ãããæ³šç®ãµãŒãã¹ãªã©)ã«ã€ããŠã§ãããå人çã«ã¯ãAWSã®ä»åŸã®æ¹éã ã£ããæ°ãµãŒãã¹ã®ç޹ä»ãªã©ãäžå¿ãªã®ããªãšæã£ãŠããã®ã§å°ãæå€ã§ããã(ã©ã¡ãããšãããšAWS re:Inventããã®åœ¹å²ã«è¿ããã§ãã)
æ ªåŒäŒç€Ÿã¹ã¯ãŠã§ã¢ã»ãšããã¯ã¹
2023/05/09
ã§ããïŒTCP/IPã¹ã¿ãã¯æ¹é ïŒ
TCP/IPã¹ã¿ãã¯ãæ¹é !ïŒ ãµãŒãã¹ã®éä¿¡ãã©ãã«ãè§£æããå ŽåãåŒç€Ÿã§ã¯éä¿¡ãã±ãããååŸããŠåå ãæ¢ãããšããããŸããããããããšããã£ãŠãããšããã®ãã¡TCP/IPã®ãããšãã«ã€ããŠéäžã§èªç±ã«ãã±ãããåŒãããããã®ã«…ãšããæ¬²æããµã€ãµã€ãšæ¹§ããŠãããšããæ¥ãŸãã ããããããšLinuxã®ãããã¯ãŒã¯ã¹ã¿ãã¯ã®ãœãŒã¹ã³ãŒãã«æããšããããããã£ãšæè»œã«æ¹é ããŠãªã«ãã§ãããããªäœãã§ã¯ãããŸããããããå°ããŸãããæ¹é ãžã®æããã¶ã€ããæ¹æ³ãæ¢ãå¿ èŠããããŸãããšããããã§ã ãŠãŒã¶ã©ã³ãã§ç°¡æã®TCP/IPãã©ã€ããå®è£ ãããŠããã æ§é ããããããããŠãç°¡åã«æ¹é ã§ããŠãããã£ãšå®éšã§ããããªãã® ãæ¢ãããšãããPyTCP(https://github.com/ccie18643/PyTCP)ããããŸããã®ã§ã玹ä»ããŸãã ãããªãäœè«ïŒscapyã¯ã©ããªã®ïŒ ãã±ãããçŽæ¥ããã£ããã®ãéä¿¡ãããšããããšã§ããã°ãCTFãªã©ã§ããªãã¿ã®scapy(https://scapy.net/)ãšããPython補ã®ãããã¯ãŒã¯çšããŒã«ïŒã©ã€ãã©ãªïŒïŒããããããªãïŒãšããæ¹ãããã£ããããšæããŸãããã¡ãããæãã®ãŸãŸã®ãã±ãããçºçããŠæåã䌺ããšããçšéã§ããã°scapyã¯éåžžã«è¯ãããŒã«ã§ããããããªãããsocketãlistenããç¶æ ã§ãTCPéä¿¡éäžã®ãã±ããã誰ã«ã(OSã«ãïŒ)éªéãããã«åŒã£ãŠå®éšããã…ãšãªããšãTCP/IPãã©ã€ããã®ãã®ã®æåãå€ãããè¡åã«é§ãããããšã§ãããïŒããã§ã¯ããããåãã®äººåãã®è©±ãããŸãã å®éã®äŸ ãã¡ãã«å®éã«èµ·ããéä¿¡äžå ·åã®ãã±ããã®ããåããwiresharkã§å³ç€ºãããã®ãèŒããŸãã TCPã®ããåãããåç¥ã®æ¹ã¯SYNã®ããšã«ã¯SYN-ACKãè¿åŽãããŠããŠ…ãšæãããæ¹ãããã£ããããšæããŸããããããçŸå®ã«ã¯SYNã®ããšã«åªã®ACKãè¿åŽãããŠãã¡ãããšããçŸè±¡ãèµ·ããŠãŸããèŠãŠã®éããSYNã®åéã®ãã³ã«åªã®ACKãè¿ã£ãŠãããšããæåã§ããçŸå®ã¯ãã€ãå°èª¬ããå¥ãªãã§ãïŒåœæ¹ACKããã£ããRSTãã¡ãããšéã£ãŠãã®ã«ïŒ ãããçºçãããšããšãããµãŒãã¹ãåºãã£ãŠããŸããã客æ§ã«ãšã©ãŒãèŠããŠããŸããšããåé¡ãçºçããŠããŸãã®ã§ãã¢ããªã±ãŒã·ã§ã³åŽã§ãªããšãããããšããã®ãä»åã®çžè«ã§ããåçŸç100%ã§çºçã§ããã°ãã¢ããªã±ãŒã·ã§ã³åŽã®æåè§£æã容æãªã®ã§ãããçºçæ¡ä»¶ãããããããããšãããçºçããã®ã§ã調æ»ããŸãŸãªããªããšããç¶æ³ã§ãã å³ã®ãããšãã100%ãã€ã§ãçºçã§ããã°ãã¢ããªã±ãŒã·ã§ã³åŽã§ã®å¯Ÿçã奜ãã«èª¿æ»ãšè©Šè¡é¯èª€ãã§ããã®ã«ãïœã ãã£ãŠã¿ã ãã®è¬ã®ãã±ããã®ãããšãã100%åçŸããããã°ã©ã (tcpchallenge_ack_only.py)ãæ²èŒããŸããããã°ã©ã ã®èª¬æã¯åŸã§æ²èŒããŸãã®ã§ãããã§ã¯æ©éDebian sidã§åãããŠã¿ãŸãã PyTCPã䜿ãã«ã¯ãLinuxã®ã»ããã¢ããæžã®tapããã€ã¹ãšãbridgeããã€ã¹ãå¿ èŠã§ãã®ã§ããŸãã¯ããããã»ããã¢ããããŸãã $ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 12 (bookworm) Release: 12 Codename: bookworm # tap ããã€ã¹(tap7)ãšããªããž(br3)ã®æºå $ sudo apt install bridge-utils $ sudo ip tuntap add name tap7 mode tap $ sudo ip link set dev tap7 up $ sudo brctl addbr br3 $ sudo brctl addif br3 tap7 $ sudo ip address add 192.
æ ªåŒäŒç€Ÿã¹ã¯ãŠã§ã¢ã»ãšããã¯ã¹
2023/04/25
30åã§å ¥éãã Helm
Kubernetes ã®å©çšã·ãŒã³ã¯å¹ åºãçšéã«åºãããé·æèšç»ã§ã«ã¹ã¿ã ã¢ããªã±ãŒã·ã§ã³ãéçºããŠãããã€ãã以å€ã«ããã±ã£ãš cluster ã«ã¢ããªã±ãŒã·ã§ã³ãå ¥ããŠäœ¿ã£ãŠã¿ããšãã£ãããšãå€ãèŠãããããã«ãªããŸããã åçŽãªã¢ããªã±ãŒã·ã§ã³ã§ã¯ kubectl apply ã§æžããã®ãå€ãã§ãããããã£ããè€éãªæ§æã®ãã®ãããŸã倿°ã䜿ã£ãŠåäœã倿Žããããšããªã©ã§ã¯ Helm ããã䜿ãããŠããŸãã æã Kubernetes ã«ã€ããŠè©±ããŠãããšãã«ãkubectl ã¯ãã䜿ãããšã«ãªã£ãã helm ã¯ãŸã æ £ããŠããªããã ãããšãã声ãèãããããã«ãªããŸããã ããã§ã¯ããããã£ãã±ãŒã¹ã§ã® kubectl -> helm éã®ã®ã£ãããåããããšãæ³å®ããŠãHelm ã®å šäœæãããã£ãŠæ¥åžžçã«äœ¿ããããã«ãªããŸã§ã 30 åãããã§ã¡ãã¡ãã£ãšãã£ãŠã¿ãŸãããã ãããã : kubectl kubectl 㯠Kubernetes cluster (master) ãšäŒè©±ããããã® cli ã§ããcluster ãžã®æš©éãåæãšããŠãæ å ±ã®ååŸãæŽæ°ãè¡ããŸãããŸãã¯ãããã§ããªããšå ã«é²ããŸããã ããããæãã§äœ¿ããŸãã $ kubectl get pods -n default ä»å㯠GKE ã minikube ãªã©ã§ãã§ã« Kubernetes cluster ã®æºåãããããããŸã§ã¯çè§£ããŠããã»ã§ããŠãããã®ãšããŠå ã«é²ããŸãã ãšã«ãã Helm ã䜿ã£ãŠã¿ã ãŸããæå ã§ helm ã䜿ããããã«ããŸããå ¬åŒã® install æé ããåç §ãã ãããmacOS ã§ã¯ brewãWindows ã§ã¯ choco ã®æ¹æ³ãæžãããŠããŸããkubectl 㯠gcloud components ã§å ¥ããããšãã§ããŸãããhelm ã¯èŠããšããç¡ãããã§ãããæå ã®ç°å¢ã«åãã㊠install ããŠãã ããã
æ ªåŒäŒç€Ÿã¹ã¯ãŠã§ã¢ã»ãšããã¯ã¹
1
2
3
4
5
ã³ã³ãã³ã
ããã
ã€ãã³ã
ããã°
ã°ã«ãŒãã«é¢ãããåãåãã