
- TOP
- ã¿ã°äžèЧ
- Vagrant
Vagrant
ã€ãã³ã

ãã¬ãžã³
該åœããã³ã³ãã³ããèŠã€ãããŸããã§ãã
æè¡ããã°
ã¿ãªãããããã«ã¡ã¯ãSCSKã®Masedatiã§ãïŒ æè¿ã®ç§ãé±2ã§ã©ãŒã¡ã³å±ã«éã£ãŠããŸããE.A.Kã£ãŠæé«ã§ããïŒ ããŠããŠãä»å¹Žã§æ°å3幎ç®ãè¿ããç§ã§ãããæšå¹ŽåºŠã¯æ°äººæå°å¡ãšããŠOJTã«æºãã£ãŠããŸããã ãã®äžã§æ¹ããŠæããã®ã¯ã æ°äººã®çããã¯æ¥ã
èŠããããšãå€ãããªããªãã¢ãŠããããã«ãŸã§æãåããªã ãšãã課é¡ã§ãã ç§ã1幎ç®ã ã£ãé ãã¢ãŠããããã®æ©äŒãæäŸããåãçµã¿ãšããŠã æ1åã®ããã°çºä¿¡ãæ¯æŽããã æ°äººããã°ãã©ãœã³ ããå®éšçã«å§ãŸããŸããã åœæã¯æ°äººãšããŠããã°çºä¿¡ã«ææŠããç«å Žã§ãããã æè¡ãèšèªåãçºä¿¡ããçµéšã¯ãéåžžã«è¯ãåºæ¿ ãšãªã£ãã®ãèŠããŠããŸãã ãã®çµéšãèžãŸãã2024å¹ŽåºŠãæ°äººã®çãããèªãããã¯ããã°ãæžããæ¥œãã¿ãªããã¢ãŠããããã«åãçµããå ŽãšããŠã ã æ°äººããã°ãã©ãœã³ ããç¶ç¶éå¬ããããšã«ããŸããã äŒç»æŠèŠ æ°äººãšæå°å¡ããã¢ãçµã¿ãæ°äººãããã°èšäºãå·çãâ»ãã¢ã¯æããšã«äº€ä»£ æå°å¡ã¯èšäºã«å¯ŸããŠãã£ãŒãããã¯ãè¡ãããã®åŸãããã°ãå
¬é 宿œæé㯠2024幎12æã2025幎3æ ã§ã æ1æ¬ã®æçš¿ ãç®å® æè¡ã«é¢é£ããå
容ããŸãã¯ããã«æºããå
容ã§ããã°ããŒãã¯èªç± ååéå¬ã®ãæ°äººããã°ãã©ãœã³ãã®æŽ»åå ±å ã¯âãã¡ãã æ°å
¥ç€Ÿå¡ãããã°ãæžãå§ãããã£ãããšã¯ïŒïŒ åœç€Ÿæ°äººãã¡ãããã¯ããã°ãæžããŠã¿ããã blog.usize-tech.com 2024.05.07 ãããããªãã§ããã°ãæžãã®ãïŒïŒåæ²ïŒ 人ã«äŒããããšããããšã§èªåã®çè§£ã«ãªãã æã®äººã¯èšããŸããã100åã®è³Œèªããã1åã®å¯çš¿ãã ãšã æ°äººã¯ã€ã³ãããããæ©äŒã¯å€ãã§ããã¢ãŠããããããããšã§ç¥èå®çã«å¯äžã§ããŸãã ãããã¯ããã°ãæžãããšããéã®æåã®äžæ©ãäœãã ããã¯ããã°ãªããŠç€Ÿå€ã«çºä¿¡ã§ãããªããŠããããšã³ãžãã¢ã ããªãã ããšããçæã®åãé€ããè§£æ¶ããããšãã§ããŸãã æ°äººè²æã®äžã§å
茩瀟å¡ããªãŒãããŠãããããšã§æ°äººæ§ã®æåã®äžæ©ãä¿ãããšãã§ããŸãã 瀟å
å€ã«é¡ã売ããã£ã³ã¹ãäœãã 瀟å€çºä¿¡ããããšã«ãã人ç®ã«ã€ããååãé¡ã売ããŠãããŸãã ãããªãã¯ãªæŽ»åãè©äŸ¡ãããããªä»çµã¿ã瀟å€ã«ã¯ããã®ã§ãããã«åãäžããŠãããããšã§åœç€ŸãšããŠãå人ãšããŠã察å€çãªè©äŸ¡ãåãããã®ã¯çŽ æŽãããããšã§ãããŸã瀟å
åãã«ã¯å ±åäŒãè¡ãããšæ°äººæ§ãšåœ¹è·è
ãã€ãªãããããªæŽ»åã«ãçºå±ã§ããŸãã åãçµã¿çŽ¹ä» ãšããããšã§ä»æåãçµãã æ°äººæ§6åã®èšäºã玹ä»ããããšæããŸãã æ¬ã€ãã³ããéããŠçºä¿¡ãããããã°äžèЧã¯âãã¡ãïŒ æ°äººããã°ãã©ãœã³ 2024 ã2024/12æïœ2024/3æéå¬ãSCSKã®æ°äººãã¡ãèªç±ãªããŒãã§æ¯æã¯ã©ãŠãæè¡ããã¯ãããžãŒã«é¢ããèšäºããå±ãããŸãã blog.usize-tech.com 2024.11.27 ãµãµããã âäž»ãªæ¥åå
容 ã»DWHåºç€æ§ç¯ïŒSnowflakeïŒ ã»DBæ§ç¯ïŒOracleïŒ âè¶£å³ ãã©ã€ãã»ç¥ç€Ÿä»é£ããã âæçš¿èšäº ãµãµãããã®èšäº Snowflakeã®ææ°æ©èœããæ°ç±³ãšã³ãžãã¢ã®èŠç¹ãã培åºçã«è§£åãããSnowflakeå
¥éããã° ãšãªã£ãŠããŸãã Snowflakeã«èå³ã¯ããããã©ãäœããå§ããã°è¯ããåãããªãâŠææ°æ©èœã£ãŠé£ãããâŠãããªæ©ã¿ãæ±ããæ¹ã«ããããã²èªãã§ããã ãããå
容ã§ãã ç¹ã«ãCortex AIã䜿ããããã¥ã¡ã³ãæ€çŽ¢ã¢ã·ã¹ã¿ã³ããå®éã«æ§ç¯ããŠããéçšããåºç€ããå¿çšãŸã§ãäžã€äžã€äžå¯§ã«è§£èª¬ããŠããã ããŸããã âšææ³ãã€ãžã§ã¹ãâš ç¥èæŽçããã³æ°æ
å ±ãã£ããã¢ãã â ð 調æ»ãæ€èšŒã®ä»æ¹ã«æ
£ããããšãã§ãã â âïž ç¿æ
£çãªæçš¿ã倧åã ãšæãã â ååŠè
ã«ãäŒããããã«å·çããããšã¯é£ããã»ã»ã» â ð¡ 客芳çãªèŠç¹ãæã€ããšã®å€§åãã«æ°ä»ãã â ä»åŸã«ã€ã㊠ð æå±çµç¹ã®ãã¬ãŒã³ã¹åäžã«ã€ãªããããã ãã PV æ°ãæèããŠæçš¿ããŠãããã ã³ãŠãã âäž»ãªæ¥åå
容 ã» USiZE ã«é¢é£ããä¿å®éçš/æ©èœéçº âè¶£å³ ãšã¯ã¹ããªãŒã ã¹ããŒãã»ã¹ã㌠âæçš¿èšäº ã³ãŠããã®èšäº Rubrikã®æ§ã
ãªåŽé¢ãæ·±ãçè§£ããŠããã ãããããªã³ã³ãã³ã ãå¯çš¿ããã ããŸããïŒ Rubrikãã®ãã®ã®æŠèŠãæäŸãããæ©èœããããŠããã¯ã¢ãã管çã®å
šäœåã«ã€ããŠè©³ãã解説ãããŠããŸãã ãŸããRubrikãåããã©ã³ãµã ãŠã§ã¢å¯Ÿçæ©èœã®ä»çµã¿ãšæ€èšŒãæ©å¯ããŒã¿ã®å¯èŠåãšç®¡çã容æã«ããSensitive Data Discoveryã«ã€ããŠãæãäžããŠããã ããŸããã ããã«ã¯ãRubrikãšAWSãšã®é£æºã«æ³šç®ããEC2ã®ããã¯ã¢ãããèªååããããã®èšå®æé ãããã¢ãŒã«ã€ãã«è³ããŸã§ã®å
·äœçãªæµããæ€èšŒãããŠããŸãã âšææ³ãã€ãžã§ã¹ãâš Rubrikã«å¯Ÿããçè§£ã®ä¿é² ðªå®éã«æãåãããŠæ€èšŒããäžã§ãç¥èãå®çããããšãã§ããâ âã¢ãŠããããã®å¹æ ð€èªéšçœ²ä»¥å€ãšã®äº€æµãå¢ãã ð€äŒãããããèšèéžã³ãæ§æã®å·¥å€«ã®ç¿åŸ ä»åŸã«ã€ããŠâ ðšããå€ãã®äººã«å±ããããã¿ã€ãã«ãèŠãæ¹ã工倫ãããâ ð¥å®åã§åŸãç¥èŠãããããããçºä¿¡ãç¶ããŠãããã ãªããã âäž»ãªæ¥åå
容 ã» USiZE ã«é¢é£ããéçš âæçš¿èšäº ãªãããã®èšäº å®åçµéšã«åºã¥ããITæè¡æ
å ± ãå¯çš¿ããã ããŸããïŒ PowerShellãITILãvCLSãVagrant/VirtualBoxã®æè¡ã§ã®èª²é¡è§£æ±ºããåŠç¿å
容ã®å
±æãŸã§åºãæ
å ±çºä¿¡ãããŠããŸããã ç¹ã« vSphereã®vCLSä»®æ³ãã·ã³ã«ã€ããŠã®ããã° ãå¿
èŠã§ããããããvCLSãšã¯äœãªã®ããvCLSãæå¹ã§ãããšã©ããªããããšãããã®ããç¡å¹ã«ãããšã©ã®ãããªåœ±é¿ãããã®ããäžå¿ã«èª¿ã¹ãŠãŸãšããŠããã ããŸããã âšææ³ãã€ãžã§ã¹ãâš çºä¿¡æŽ»åã«å¯Ÿããå¿ççããŒãã«ã®äœäž ðãããŸã§äœããçºä¿¡ããçµéšãã»ãšãã©ãªãã£ãã®ã§ãããªãèŠæŠ ðªã€ãã³ããéããŠãâèªåã®äžã§äœãšãªãæžãæ¹ã®ãããªãã®ããããããã« ðæ
å ±ã®ãŸãšãæ¹ãããã°ã®æžãæ¹ãžã®ç解床åäž æ
å ±èª¿æ»ã®æ·±åâ ãã¬ãªãããã âäž»ãªæ¥åå
容 ã»ã³ã³ããæ§ç¯ ã»IaaSã¯ã©ãŠãç§»è¡äœæ¥ âè¶£å³ æçã»ã¹ããŒãèŠ³æŠ âæçš¿èšäº ãã¬ãªããããã®èšäº AWS Fargateã³ã³ãããžã®ãã°ã€ã³æ¹æ³ãAWS Cloud9ã®ä»£æ¿ãµãŒãã¹æ¯èŒãšãã£ãã AWSãå©çšããäžã§å€ãã®æ¹ãæ±ããèª²é¡ ãäžå¿ã«èšäºå·çããã ããŸããã ã³ã³ãœãŒã«ç»é¢ã®ã¹ã¯ãªãŒã³ã·ã§ãããè±å¯ã«æ²èŒããåæäœã®æå³ãäžå¯§ã«è§£èª¬ããŠããŸããèªè
ã®çæ§ãå®éã«æãåãããªããçè§£ãæ·±ããããããã«å·¥å€«ãããŠããã®ãäŒãããŸãã âšææ³ãã€ãžã§ã¹ãâš ææ§ã ã£ãç¥èãæŽçâ âïžæåã«æžãèµ·ããããšã§èªåã®äžã®èããæŽçããªããã人ã«èª¬æã§ããã¬ãã«ãŸã§ãã£ãŠããããšãã§ããïŒ ã¢ãŠããããã§ã¹ãã«ã¢ãã ðèªå以å€ã®èªã¿æãäœãæ±ããŠããã®ããç¥ãããšãã§ããã ðšãµãŒãã¹ã®çè§£ã ãã§ãªããçžæã«èªãã§ãããããã°ãšããŠãã¶ã€ã³åãéããããšãã§ãããâ ð£ïžæå°å¡ãã£ãŒãããã¯ãããæ°ããªç¥èŠãåŸãããšãã§ããã ä»éšçœ²ãšã®äº€æµ ðšâð«ã€ãã³ãåå è
ã®ããã°ãèªãããšã§ãèªç¶ã«æ¥å以å€ã®ãµãŒãã¹ã®ç¥èãç¥ãããšãã§ããã ã¯ã¿ãããã âäž»ãªæ¥åå
容 ã» S-Cred + ãã©ãããã©ãŒã éçš âè¶£å³ å¹å¥æ¥œïŒã¯ã©ãªãããïŒã»æ²¹ãã°ããããããš âæçš¿èšäº ã¯ã¿ããããã®èšäº Amazon Bedrockã®ææ°æ©èœãDatadogãã³ãºãªã³ ã«ã€ããŠå¯çš¿ããã ããŸããã ç¹ã«ãre:Invent 2024ã§çºè¡šããã ãAmazon Bedrock Multi-Agent Collaborationããæéã§æ€èšŒããããã° ã¯ããããã§ãã ææããªãäžã®ç¬åã§ã®ãã³ãºãªã³ã®ãããâãšã©ãŒãç¹°ãè¿ããèŠåŽãå«ããŠããã ããããšã§ãAWSå
¬åŒèšäºãèŠãŠè§Šã£ãŠã¿ã人ã«ãšã£ãŠæçšãªãã®ã«ãªã£ããšæããŸãã âšææ³ãã€ãžã§ã¹ãâš ããã°çºä¿¡ã®å£çªç Ž âïžæåã®æçš¿ã§å
茩ããã®ã¢ã·ã¹ããåããããšã§ãâèªã¿ãããããã°å·çã®ããã®äœæ³ãç¥ãããšãã§ããâ ðã€ãã³ããšããŠäžå®åæ°ã®æçš¿ãè¡ãããšã§æçš¿ã®ä»æ¹ãåãã & ç¿æ
£åâ æå°å¡ã¬ãã¥ãŒããã®åŠã³ ðèªã¿æã®æ±ããŠããããšãæèããèšè¿°âïŒäŸïŒãã³ãºãªã³æèŠæéâã®èšèŒïŒ ðšèŠèŠçãªåãããããâãæèããèšè¿°ïŒå³ãæ¹è¡ã®æŽ»çšâ/å
å®¹ã®æçæ§/â衚çŸã®çµ±äžïŒ ãã¬ããã âäž»ãªæ¥åå
容 ã»DBæ§ç¯ïŒMySQLïŒ âè¶£å³ ã¹ããŒããŒãã»ãç¬ãèžäººã®YouTubeãèŠãããš âæçš¿èšäº ãã¬ãããã®èšäº MySQLã¬ããªã±ãŒã·ã§ã³äžå¿ã«ãæ¥åã§åŸãç¥èã®ã¢ãŠãããã ãšããŠããã°ãäœæããã ããŸããã ã¬ããªã±ãŒã·ã§ã³ååŠè
ã«ããååŠè
åãã®è§£èª¬ãšãªã£ãŠããŸããMySQLã¬ããªã±ãŒã·ã§ã³æ¹åŒã®æ¯èŒæ€èšãããå®éã®æ¡ä»¶ã«ãããèæ
®ã®ãã€ã³ããããã«ã¯ãAmazon QuickSightã§ã®éèšé¢æ°å©çšæã®ãšã©ãŒã®å
±æãšå¯ŸåŠæ³ãŸã§ãå®è·µçãªããŠããŠãçºä¿¡ããã ããŠããŸãã âšææ³ãã€ãžã§ã¹ãâš ããã°çºä¿¡ã®å£çªç Žâ ð€æè¡ããã°ã¯æ·å±
ãé«ãããã«æããŠããããèªåã§ãæžãããšãã§ãããšããèªä¿¡ã«ã€ãªãã£ãâ ã¢ãŠããããã®å ŽãšããŠæé©â ð§ æ¥åã§äžåºŠåŠãã ç¥èãæ¯ãè¿ãããšãã§ããç¥èãæŽçãããâ ä»åŸã«ã€ããŠâ ðç¥èŠãåºããããã®æ¥åç¥è以å€ã®ããã°å·çã«ããã£ã¬ã³ãžãããïŒ å®èµ°ããææ³ ã€ãã³ãã¯ãã ã¢ãŠããããç¿æ
£ã®è²æ ãã çµç¹ã³ãã¥ãã±ãŒã·ã§ã³ã®æŽ»æ§å ãã 瀟å€ããã®è©äŸ¡ç²åŸã®ãã£ããäœã ããšãã3ã€ã®ç¹ã§ãæåŸ
以äžã®ææãäžããããšãã§ããŸããã æšå¹Žã«æ¯ã¹ãŠãæ°äººã®çããããã¯å€çš®å€æ§ãªæè¡çºä¿¡ãããŠããã ããŸããã ç§èªèº«ããç¥ããªãã£ãæè¡ãç¥èã«è§Šããããšãã§ãã倧å€å匷ã«ãªããŸããã ã€ãã³ããéããŠãåå è
å士ãäºãã«åºæ¿ãåããæ°ããªåŠã³ãåŸãããæ¿å¯ãªæé ã ã£ãã®ã§ã¯ãªãã§ããããã ç©æ¥µçã«åå ã®å£°ããããŠãã ãã£ãæ°äººã®çããã«ãå¿ããæ¬æã衚ããŸãã ãŸããæ¬ã€ãã³ãã®éå¶ã«ãååããã ããçããŸã«ãããã®å ŽãåããŠæè¬ç³ãäžããŸããããããšãããããŸããã æ¬ããã°ãé²èЧããã瀟å
ã®çæ§ãž 2025幎床ãã æ°äººããã°ãã©ãœã³ ãã®éå¬ãäºå®ããŠããŸãã ãåå ããŠã¿ããããèå³ãããããšããæå°å¡/æ°äººã®æ¹ã¯ãç§ãŸã§ãã²ãæ°è»œã«ãé£çµ¡ãã ããïŒäœåäœåã
ããã«ã¡ã¯ãéèãœãªã¥ãŒã·ã§ã³äºæ¥éšã®å«ã§ãã åç·š ã§ã¯ã Unreal Editorãå«ã Windows ã³ã³ããã€ã¡ãŒãžã®æ§ç¯ãå®äºããŸããã æ¬èšäºã§ã¯ã åç·š ã§æ§ç¯ããã³ã³ããã€ã¡ãŒãžãå©çšãã Amazon EKSïŒä»¥äžEKSïŒã® Windows Node AMIãäœæããŸãã EKSã®ããã¥ã¡ã³ã ããããšã AWS ã¯ãŠãŒã¶ãŒåãã«æé©åããã EKS optimized WindowsAMI ãæäŸããŠããããšãããããŸããã ãã®EKS optimized WindowsAMIã«ã¯EKSã§ã®åäœå¯èœãª ããã«ãŠã§ã¢ ãã€ã³ã¹ããŒã«ãããŠããŸããã åç·š ã§æ§ç¯ããã³ã³ããã€ã¡ãŒãžããµããŒãããã«ã¯äžè¶³ããŠããéšåããŸã å€ãååšããŸãã ãã®ããããã®èšäºã§ã¯ Unreal Editorçšã®ã«ã¹ã¿ã Windows AMIãæ§ç¯ããŸãã ã¯ããã« Packerã«ã€ã㊠Packerã®ç¹åŸŽãšæ©èœïŒ äœ¿çšæé 宿œæé 1. PackerããŒã«ã®ã€ã³ã¹ããŒã« 2. Packerã®ãã³ãã¬ãŒããã¡ã€ã«ã®äœæ Packerãã³ãã¬ãŒããã¡ã€ã« 3. Windowsã€ã¡ãŒãžã®ãã«ããšãã¹ã çµããã« åèæç® ã¯ããã« æ¬èšäºã§ã¯ã以äžãåæç¥èãšããŠæ±ããŸãã AWS ã®åºæ¬æäœ EKSã®äœ¿çšçµéš ã³ã³ããéçºçµéš PowerShell ã¹ã¯ãªãã ã®äœæçµéš ä»åã§ã¯ãHashiCorp瀟ãæäŸãã Packer ããŒã«ã䜿çšããŠAMIãäœæããŸãã ãŸãã AWS ãæäŸããEC2 Image Builderã䜿çšããŠAMIãäœæããããšãå¯èœã§ããã以äžã®çç±ã§Packerãéžå®ããŸããã ã€ã¡ãŒãžäœæããã»ã¹ãå®å
šã«å¶åŸ¡ããã ä»åŸãæ¢åã®CI/CDããã»ã¹ã«çµ±åããäºå®ããã Packerã«ã€ã㊠Packerã¯ãHashiCorpã«ãã£ãŠéçºããã ãªãŒãã³ãœãŒã¹ ã®ããŒã«ã§ãç°ãªããã©ãããã©ãŒã åãã«ãµãŒããŒã€ã¡ãŒãžãèªåã§äœæããããã®ãã®ã§ãã éçºè
ãã·ã¹ãã 管çè
ããã³ãã¬ãŒããã¡ã€ã«ãéããŠã€ã¡ãŒãžãå®çŸ©ãã AWS ãAzureã Google Cloud Platformãªã©è€æ°ã® ã¯ã©ãŠã ãµãŒãã¹åãã®ã€ã¡ãŒãžãäœæã§ããŸãã Packerã®ç¹åŸŽãšæ©èœïŒ ã€ã¡ãŒãžã®èªåäœæ ïŒ Packerã¯OSã®ã€ã¡ãŒãžãèªåäœæããæåã§ã®ã€ã¡ãŒãžäœæãèšå®ã®æéãšè€éãã軜æžããŸãã ãã«ããã©ãããã©ãŒã ã«å¯Ÿå¿ ïŒPackerã¯è€æ°ã® ã¯ã©ãŠã ãã©ãããã©ãŒã ãšä»®æ³åæè¡ããµããŒãããŠãããç°ãªãç°å¢éã§ã®äžè²«æ§ãä¿é²ããŸãã ã«ã¹ã¿ãã€ãºãšæ¡åŒµæ§ ïŒ Packerã®èšå®ã¯ã·ã³ãã«ãªãã³ãã¬ãŒããã¡ã€ã«ã䜿çšããŠè¡ããããŠãŒã¶ãŒã¯å
·äœçãªããŒãºã«å¿ããŠã€ã¡ãŒãžãã«ã¹ã¿ãã€ãºã§ããŸããããã«ãPackerã¯å€ãã®ãã«ããŒãäºåã«èšå®ããããã³ãã¬ãŒãã ãã©ã°ã€ã³ ããµããŒãããŠãããæ©èœãæ¡åŒµã§ããŸãã DevOpsããŒã«ãã§ãŒã³ãšã®çµ±å ïŒ Packerã¯ã Vagrant ãTerraformãªã©ã®ä»ã®DevOpsããŒã«ãšå®¹æã«çµ±åã§ããCI/CDã®ããã»ã¹ããµããŒãããŸãã äœ¿çšæé ãã³ãã¬ãŒãã®äœæ ïŒãŠãŒã¶ãŒã¯ãŸããã€ã¡ãŒãžã®äœææ¹æ³ãå®çŸ©ãããã³ãã¬ãŒããã¡ã€ã«ãäœæããå¿
èŠããããŸãã ãã«ãã®å®è¡ ïŒPackerã® ã³ãã³ãã©ã€ã³ ããŒã«ã䜿çšããŠãã«ããå®è¡ããŸãã å
·äœçãªäœææé ã¯ã次ã®ã»ã¯ã·ã§ã³ã§è©³ãã説æããŸãã 宿œæé PackerããŒã«ã®ã€ã³ã¹ããŒã« Packerã®ãã³ãã¬ãŒããã¡ã€ã«ã®äœæ Windows ã€ã¡ãŒãžã®ãã«ããšãã¹ãã®å®è¡ 䜿çšããç°å¢ããã³ãœãããŠã§ã¢ã®ããŒãžã§ã³ã¯ä»¥äžã®ãšããã§ãïŒ OSïŒ Windows 11 Pro 22H2 x64 RAM: 32GB CPU: i5-13600K Packer: v1.10.0 eksctl: 0.176.0 AWS CLI : version 2 1. PackerããŒã«ã®ã€ã³ã¹ããŒã« Packerã®ã€ã³ã¹ããŒã«ã¯Terraformãšåæ§ã«éåžžã«ç°¡åã§ãã exeãã¡ã€ã«ãããŠã³ããŒããã ç°å¢å€æ° ã«è¿œå ããã ãã§ã€ã³ã¹ããŒã«ãå®äºããŸãã # Packerã®ããŠã³ããŒãURL https://developer.hashicorp.com/packer/install # ç°å¢å€æ°ã®èšå® `Control Panel` â `System` â `System Settings` â `Environment Variables`ãé ã«éãã `System variables`ã®ããã¯ã¹å
ã§`PATH`倿°ãããã«ã¯ãªãã¯ããŠç·šéç»é¢ãéããŸãã 倿°å€ã®æåŸã«å®è¡ãã¡ã€ã«ã®æåšPathã远å ããŸããäŸïŒC:\path ãŸãã Chocolatey ã䜿çšã㊠Windows ãœãããŠã§ã¢ã管çããŠãããŠãŒã¶ãŒã¯ã以äžã®ã³ãã³ããå®è¡ããã ãã§ã€ã³ã¹ããŒã«ãå®äºããŸãã $ choco install packer â»ä»ã®ã·ã¹ãã ã®ãŠãŒã¶ãŒã¯ãPackerã® ã€ã³ã¹ããŒã«ã¬ã€ã ãåèã«ã€ã³ã¹ããŒã«ããŠãã ããã ã€ã³ã¹ããŒã«å®äºåŸãPackerãæ£ããã€ã³ã¹ããŒã«ãããŠããã確èªããŸãïŒ # 以äžã®ã³ãã³ããå®è¡ããæ£ããããŒãžã§ã³æ
å ±ã衚瀺ãããã°ã€ã³ã¹ããŒã«æå $ packer version Packer v1.10.0 2. Packerã®ãã³ãã¬ãŒããã¡ã€ã«ã®äœæ æ§ç¯ãã Windows AMIã«å«ããå¿
èŠããããœãããŠã§ã¢ã¯ä»¥äžã®ãšããã§ãã ä»åã¯ã Windows ããŒãäžã§ Unreal Editorãå«ãã³ã³ããã€ã¡ãŒãžãå®è¡ããçºã GPU é¢é£ã®ãœãããŠã§ã¢ãå«ããŠããŸãã NVIDIA GPU drivers Vulkan runtime library DirectX shader compiler â»æ¬èšäºã§ã¯åãæ±ããŸããããEKSãæŽ»çšããŠã³ã³ãããéçšããæé ã«ã€ããŠã¯ unrealcontainers ãåç
§ããŠãã ããã ãŸãã Unreal Editorã³ã³ããã®èµ·åé床ãåäžãããããã«ã Windows AMIå
ã«äºåã«ãã£ãã·ã¥ããŠããå¿
èŠããããŸãã æ¬¡ã«ããã³ãã¬ãŒããã¡ã€ã«ã®äœæã«åãæãããŸãã Packerãã³ãã¬ãŒããã¡ã€ã« Packerãã³ãã¬ãŒãã®ãã©ãŒããããšææ³ã¯Terraformãšåæ§ã§ãããTerraformã®äœ¿çšçµéšããããŠãŒã¶ãŒã¯ããã«äœ¿ãããªããã§ãããã Terraformã®äœ¿çšçµéšããªããŠãŒã¶ãŒã§ãå¿é
ãããŸããããã³ãã¬ãŒãã®å®çŸ©å
容ã¯éåžžã«çŽæçã§ãäœãããããšããŠããã®ããçè§£ããããã§ãã ã§ã¯ããã³ãã¬ãŒããã¡ã€ã«ïŒeks-worker-node-ami.pkr.hclïŒã®äœæãéå§ããŸãããã ãŸããå¿
èŠãª ãã©ã°ã€ã³ ããã³ãã®ããŒãžã§ã³æ
å ±ãå®çŸ©ããŸãã #ã¿ãŒã²ããã®ã¯ã©ãŠããµãŒãã¹ã¯awsã§ãããã packer { required_plugins { amazon = { version = ">= 1.0.9" source = "github.com/hashicorp/amazon" } } } AMIäœæã®EC2ãå®çŸ©ãã ãã®èšå®ã¯ãPackerãEC2 ã€ã³ã¹ã¿ã³ã¹ ãæ§ç¯ããããããAMIãäœæããããã«äœ¿çšãããã©ã¡ãŒã¿ãšèšå®ãæå®ããŸãã å©çšãããPackerã®Sourceå㯠amazon-ebs ã§ãã äž»ãªãã©ã¡ãŒã¿ã«ã¯ãAMIåããœãŒã¹AMIã ã€ã³ã¹ã¿ã³ã¹ ã¿ã€ãããªãŒãžã§ã³ãªã©ããããŸãã ããã§ã¯ã AWS ãæäŸãã EKS optimized WindowsAMI ãããŒã¹ã€ã¡ãŒãžãšããŠäœ¿çšãããã®äžã«å¿
èŠãªã·ã¹ãã ç°å¢ãæ§ç¯ããŸãã EKS optimized WindowsAMI ã«ã¯ãEKSã«æ¥ç¶ããããã«å¿
èŠãªOSç°å¢ãæ¢ã«æ§ç¯ãããŠããããããã®åºç€ã䜿çšããããšã§ããã»ã¹ãç°¡çŽ åã§ããŸãã source "amazon-ebs" "eks-worker-node" { ami_name = "eks-windows-worker-node" # AMI name instance_type = "g4dn.2xlarge" # instancetype region = "ap-northeast-1" # region vpc_id = "vpc-xxxxxxxxxxxxxxxxx" # VPC id subnet_id = "subnet-xxxxxxxxxxxxxx" # Subnet id # base AMI source_ami_filter { filters = { name = "Windows_Server-2022-English-Full-EKS_Optimized-1.28-*" root-device-type = "ebs" virtualization-type = "hvm" } most_recent = true owners = [ "amazon" ] } # Expand the boot disk to 120GB launch_block_device_mappings { device_name = "/dev/sda1" volume_size = 120 volume_type = "gp3" delete_on_termination = true } # Allow S3 access for the VM temporary_iam_instance_profile_policy_document { Version = "2012-10-17" Statement { Action = [ "s3:Get*" , "s3:List*" , "s3:Describe*" , "s3-object-lambda:Get*" , "s3-object-lambda:List*" ] Effect = "Allow" Resource = [ "*" ] } } # Use our startup script to enable SSH access user_data_file = "$ { path.root } /scripts/startup.ps1" # Use SSH for running commands in the VM communicator = "ssh" ssh_username = "Administrator" ssh_timeout = "30m" # Don't automatically stop the instance, since sysprep will perform the shutdown disable_stop_instance = true } ãã«ãããã»ã¹ãäœæãã ããã§ãAMIåãåç
§ãããœãŒã¹åïŒäžèšã§æ§ç¯ããEC2 ã€ã³ã¹ã¿ã³ã¹ ïŒãèšå®ããæåŸã« Powershell ã¹ã¯ãªãã ãå®è¡ããŠå¿
èŠãªç°å¢ãæ§ç¯ããŸãã ãã«ããå®äºããAMIã¯ã AWS ã³ã³ãœãŒã«ã§ç¢ºèªã§ããŸãã build { name = "eks-worker-windows-node" sources = [ "source.amazon-ebs.eks-worker-node" ] # Run our setup script provisioner "powershell" { script = "$ { path.root } /scripts/setup_base_eks_optimized_ami.ps1" } # Perform cleanup and shut down the VM provisioner "powershell" { script = "$ { path.root } /scripts/cleanup.ps1" valid_exit_codes = [ 0 , 2300218 ] } } ãããŸã§ã§ãAMIäœæã®ãã³ãã¬ãŒããã¡ã€ã«ã®äœæãå®äºããŸããã æ¬¡ã«ãç°å¢ãæ§ç¯ããããã® PowerShell ã¹ã¯ãªãã ãäœæããŸãã â ã¹ã¿ãŒãã¢ãã ã¹ã¯ãªãã ïŒstartup.ps1ïŒ ãã® ã¹ã¯ãªãã ã®ç®çã¯ãEC2ã® SSH ãæ§æããåŸç¶ã®EC2ãžã®ãã°ã€ã³ããã³æ§ç¯ ã¹ã¯ãªãã ã®å®è¡ã«äœ¿çšããããšã§ãã EC2ã®metaServiceã«ã¯IMDSv1ãšIMDSv2ã®2ã€ã®ããŒãžã§ã³ããããŸãã ãèªèº«ã®EC2èšå®ã«å¿ããŠã察å¿ããããŒãžã§ã³ã®ã³ãŒããéžæããŠãã ããã # startup.ps1 <powershell> # Install the OpenSSH server and set the sshd service to start automatically at system startup Add-WindowsCapability -Online -Name OpenSSH.Server~~~~ 0.0.1.0 Set-Service -Name sshd -StartupType 'Automatic' # Create the OpenSSH configuration directory if it doesn't already exist $sshDir = 'C:\ProgramData\ssh' if (( Test-Path -Path $sshDir ) -eq $false ) { New-Item -Path $sshDir -ItemType Directory -Force | Out-Null } # Retrieve the SHH public key from the EC2 metadata service $authorisedKeys = " $sshDir \administrators_authorized_keys" # IMDSv2 #$response = Invoke-WebRequest -Uri "http://169.254.169.254/latest/api/token" -Method PUT -Headers @{"X-aws-ec2-metadata-token-ttl-seconds"="21600"} #$token = $response.Content #$metadata = Invoke-WebRequest -Uri "http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key" -Headers @{"X-aws-ec2-metadata-token"=$token} #$metadata.Content | Out-File -FilePath "$authorisedKeys" # Retrieve the SHH public key from the EC2 metadata service # IMDSv1 curl.exe 'http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key' -o " $authorisedKeys " # Set the required ACLs for the authorised keys file icacls.exe " $authorisedKeys " / inheritance:r / grant "Administrators:F" / grant "SYSTEM:F" # Install the Windows feature for containers, which will require a reboot Install-WindowsFeature -Name Containers -IncludeAllSubFeature # Restart the VM Restart-Computer < / powershell> â¡ æ§ç¯ ã¹ã¯ãªãã ïŒsetup.ps1ïŒ ãŸãã䜿çšããããŒãžã§ã³æ
å ±ããã³ã€ã³ã¹ããŒã«ã«äœ¿çšããäžæãã©ã«ããŒãèšå®ããŸãã # setup.ps1 # Constants $Containered_Ver = "1.7.11" $eks_optimized_ami_windows_Ver = "1.28.0" $ContainerdPath = "$env:ProgramFiles\containerd" $TempRoot = "C:\TempEKSArtifactDir" $TempPath = "$TempRoot\EKS-Artifacts" # Create each of our directories Write-Host "Create each of our directories" foreach ($dir in @($TempRoot, $TempPath)) { New-Item -Path $dir -ItemType Directory -Force | Out-Null } ããŒãžã§ã³éžå®ã«é¢ããŠæ³šæãã¹ã2ç¹ã¯æ¬¡ã®éãã§ãïŒ Windows Serverã®ã³ã³ããã©ã³ã¿ã€ã ã®éžå®ã«ã€ããŠã¯ã Microsoftå
¬åŒãcontainerdã®äœ¿çšãæšå¥šããŠããŸã ãDockerã¯çŸåšãµããŒããããŠããããcontainerdã®ã¿ã GPU ãµããŒããªã©ã® Windows Containerã®é«åºŠãªæ©èœããµããŒãããŠããŸãã Kubernetes ã§ Windows Containerã® GPU ãµããŒã ãã©ã°ã€ã³ ã䜿çšããããã«ã¯ãcontainerdã®ããŒãžã§ã³ã1.7.0以äžã§ããå¿
èŠããããŸãã åèïŒ https://github.com/TensorWorks/DirectX-Device-Plugins?tab=readme-ov-file EKS optimized WindowsAMI ã«ãã£ãã·ã¥ã€ã¡ãŒãžã远å ããããã«ã¯ã EKS optimized WindowsAMI ã®æ§ç¯ Image Builder Component ã䜿çšããå¿
èŠããããŸããå
·äœçãªããŒãžã§ã³ã¯ Kubernetes ã®ããŒãžã§ã³ã«äŸåããŸãããä»åã¯1.28.0ããŒãžã§ã³ã䜿çšããŸãã æ¬¡ã«ãå¿
èŠãªãœãããŠã§ã¢ãé ã«ã€ã³ã¹ããŒã«ããŸãã NVIDIA GPU drivers # Install the NVIDIA GPU drivers Write-Host "Install the NVIDIA GPU drivers" $driverBucket = 'ec2-windows-nvidia-drivers' $driver = Get-S3Object -BucketName $driverBucket -KeyPrefix 'latest' -Region 'us-east-1' | Where-Object {$_.Key.Contains('server2022')} Copy-S3Object -BucketName $driverBucket -Key $driver.Key -LocalFile "$TempRoot\driver.exe" -Region 'us-east-1' Start-Process -FilePath "$TempRoot\driver.exe" -ArgumentList @('-s', '-noreboot') -NoNewWindow -Wait Vulkan runtime library # install the Vulkan runtime library Invoke-WebRequest -Uri "https://sdk.lunarg.com/sdk/download/latest/windows/vulkan-runtime-components.zip?u=" -OutFile "$env:TEMP\vulkan-runtime-components.zip" Expand-Archive -Path "$env:TEMP\vulkan-runtime-components.zip" -DestinationPath "$env:TEMP" Copy-Item -Path "*\x64\vulkan-1.dll" -Destination C:\Windows\System32\ DirectX shader compiler # Retrieve the DirectX shader compiler files needed for DirectX Raytracing (DXR) Invoke-WebRequest -Uri "https://github.com/microsoft/DirectXShaderCompiler/releases/download/v1.6.2104/dxc_2021_04-20.zip" -OutFile "$env:TEMP\dxc.zip" Expand-Archive -Path "$env:TEMP\dxc.zip" -DestinationPath "$env:TEMP" Copy-Item -Path "$env:TEMP\bin\x64\dxcompiler.dll" C:\Windows\System32\ Copy-Item -Path "$env:TEMP\bin\x64\dxil.dll" C:\Windows\System32\ # Clean up any temp files generated during prerequisite installation Remove-Item -LiteralPath "$env:TEMP" -Recurse -Force New-Item -Type directory -Path "$env:TEMP" ãããŠã EKS optimized WindowsAMI ã«å«ãŸããŠããContainerdã®ããŒãžã§ã³ãæŽæ°ããŸãïŒ1.6.18â1.7.1ïŒ # TEMPORARY UNTIL EKS ADDS SUPPORT FOR CONTAINERD v1.7.11: # Download and extract the containerd 1.711 release build Write-Host "Download and extract the containerd 1.7.11 release build" $webClient = New-Object System.Net.WebClient $containerdTarball = " $TempPath \containerd- $Containered_Ver .tar.gz" $containerdFiles = " $TempPath \containerd- $Containered_Ver " $webClient .DownloadFile( "https://github.com/containerd/containerd/releases/download/v $Containered_Ver /containerd- $Containered_Ver -windows-amd64.tar.gz" , $containerdTarball ) New-Item -Path " $containerdFiles " -ItemType Directory -Force | Out-Null tar.exe -xvzf " $containerdTarball " -C " $containerdFiles " # Stop containerd service Stop-Service -Name "containerd" -Force # Upgrade container version from 1.6.18 to 1.7.11 Write-Host "Upgrade container version from 1.6.18 to 1.7.11" Move-Item -Path " $containerdFiles \bin\containerd.exe" -Destination " $ContainerdPath \containerd.exe" -Force Move-Item -Path " $containerdFiles \bin\containerd-shim-runhcs-v1.exe" -Destination " $ContainerdPath \containerd-shim-runhcs-v1.exe" -Force Move-Item -Path " $containerdFiles \bin\ctr.exe" -Destination " $ContainerdPath \ctr.exe" -Force # restart containerd service Start-Service -Name containerd # Clean up the containerd intermediate files Write-Host "Clean up the containerd intermediate files" Remove-Item -Path " $containerdFiles " -Recurse -Force Remove-Item -Path " $containerdTarball " -Force æåŸã«ã EKS optimized WindowsAMI ã®Image Builder ã³ã³ããŒãã³ã ã䜿çšããŠãåç·šã§äœæããã³ã³ããã€ã¡ãŒãžããã£ãã·ã¥ã€ã¡ãŒãžãšããŠè¿œå ããŸãã # Download the EKS artifacts archive Write-Host "Download the EKS artifacts archive" $webClient .DownloadFile( "https://ec2imagebuilder-managed-resources-us-east-1-prod.s3.amazonaws.com/components/eks-optimized-ami-windows/ $eks_optimized_ami_windows_Ver /EKS-Artifacts.zip" , "C:\EKS-Artifacts.zip" ) # Extract the EKS artifacts archive Write-Host "Extract the EKS artifacts archive" Expand-Archive -Path "C:\EKS-Artifacts.zip" -DestinationPath $TempRoot Remove-Item -Path "C:\EKS-Artifacts.zip" -Force # Add the unreal-engine-dev-windows-5.1:latest to the list of images to pre-pull Write-Host "Add the unreal-engine-dev-windows-5.1:latest image" $baseLayersFile = " $TempPath \eks.baselayers.config" $baseLayers = Get-Content -Path $baseLayersFile -Raw | ConvertFrom-Json $baseLayers .ue += "unreal-engine-dev-windows-5.1:latest" $patchedJson = ConvertTo-Json -Depth 100 -InputObject $baseLayers Set-Content -Path $baseLayersFile -Value $patchedJson -NoNewline # Get added new BaseLayers Write-Host "Perform EKS worker node setup" Push-Location $TempPath .\ Get-EKSBaseLayers .ps1 -ConfigFile eks.baselayers.config -ContainerRuntime containerd Pop-Location # Perform cleanup Write-Host "Perform cleanup" Remove-Item -Path " $TempRoot " -Recurse -Force ⢠ã¯ãªãŒã³ ã¹ã¯ãªãã ïŒcleanup.ps1ïŒ ãã® ã¹ã¯ãªãã ã®ç®çã¯ãã¹ã¿ãŒãã¢ãã ã¹ã¯ãªãã ïŒstartup.ps1ïŒã§èšå®ãã SSH ç°å¢ãåé€ããsysprepïŒã·ã¹ãã æºåïŒãéå§ããããšã§ãã # cleanup.ps1 # Perform cleanup Set-Service -Name sshd -StartupType 'Manual' Remove-Item -Path 'C:\ProgramData\ssh\administrators_authorized_keys' -Force # Remove the file for this script, since Packer won't have a chance to perform its own cleanup Remove-Item -Path $PSCommandPath -Force # Perform sysprep and shut down the VM # Need delete edge account for sysprep & " $Env:ProgramFiles \Amazon\EC2Launch\EC2Launch.exe" sysprep --shutdown = true 3. Windows ã€ã¡ãŒãžã®ãã«ããšãã¹ã ãã³ãã¬ãŒããã¡ã€ã«ã«å¯ŸããŠPackerã³ãã³ããå®è¡ãã Windows AMIã®ãã«ããéå§ããŸãã ãã«ãã³ãã³ã $ packer build .\eks-worker-node-ami.pkr.hcl ...åºåãã°... ==> Wait completed after 52 minutes 42 seconds ==> Builds finished. ãã«ãå®äºã®ç¢ºèª AWS Console â EC2 â ã€ã¡ãŒãž â AMI ã§äœæãããAMIã確èªã§ããŸãã Windows AMIã®ãã¹ã AMIããã¹ãããããã«ãeksctlã䜿çšããŠEKSãäœæããŸãã 以äžã® yaml ãã¡ã€ã«ã§ã¯ã2ã€ã®nodegroupãå«ã Kubernetes ã¯ã©ã¹ã¿ ãŒãå®çŸ©ããŠããŸãã # test_windows_node_eksctl.yaml apiVersion : eksctl.io/v1alpha5 kind : ClusterConfig metadata : name : test-windows-node-cluster region : ap-northeast-1 version : '1.28' nodeGroups : - name : windows-ng instanceType : g4dn.2xlarge ami : [ äœæããAMI id, ami-xxxxx ] amiFamily : WindowsServer2022FullContainer volumeSize : 120 minSize : 1 maxSize : 1 - name : linux-ng amiFamily : AmazonLinux2 minSize : 1 maxSize : 1 EKSã®äœæãéå§ããŸãïŒ $ eksctl create cluster -f test_windows_node_eksctl.yaml å®äºç¢ºèª eksctlã®ã³ãã³ãå®è¡ã«ããã AWS ã¯CloudFormationãåŒã³åºããŠãªãœãŒã¹ãäœæããŸãã CloudFormationã§ã®ç¢ºèª EKS管çã³ã³ãœãŒã«ã§ã®ç¢ºèª ã¯ã©ã¹ã¿ ãŒã®ç¢ºèª ããŒãã°ã«ãŒãã®ç¢ºèª Session Manager ã䜿çšã㊠Windows ããŒãã«ãã°ã€ã³ãããœãããŠã§ã¢ã®ã€ã³ã¹ããŒã«ããã³ã€ã¡ãŒãžã®ãã£ãã·ã¥ãç¢ºèª containerdã®ããŒãžã§ã³ã1.7.11ã§ããããšãç¢ºèª NVIDIA GPU ãã©ã€ããŒãç¢ºèª Vulkanãš DirectX ãç¢ºèª unreal -engine-dev- windows -5.1:latestããã£ãã·ã¥ãããŠããããšãç¢ºèª çµããã« æ¬èšäºãèªãããšã§ãUEã¢ããªçšã®ã«ã¹ã¿ã Windows Node AMIã®äœææ¹æ³ã«ã€ããŠçè§£ããŠããã ãããšæããŸãã ãã¡ããããã®èšäºã§äœæãã ã¹ã¯ãªãã 㯠Unreal Editorã®åäœèŠä»¶ã«åºã¥ããŠããŸããããã«ããã³ãã¬ãŒããã¡ã€ã«ã¯å
±éã®ãã®ã§ãã ä»åŸãèªè
㯠AWS æäŸã® EKS optimized WindowsAMI ããèªèº«ã®ãããžã§ã¯ãèŠä»¶ãæºãããªããšæããå Žåããã®èšäºãåèã«ã㊠ã¹ã¯ãªãã ã眮ãæããŠç¬èªã® Windows AMIãäœæã§ããŸãã ãã®èšäºã§ã¯ã Windows Containerã§ã® GPU å©çšèŠä»¶ã«ã€ããŠèšåããŸãããããã«èå³ãæãããæ¹ãããã§ãããã æ¬¡åã®èšäºã§ã¯ãä»åäœæãã Windows ããŒãã䜿çšããŠã Unreal Engine ã®Pixel Streamingãããžã§ã¯ããå®çŸããæ¹æ³ã«ã€ããŠèª¬æããŸãã ã©ãããæ¥œãã¿ã«ã çŸåšã é»é ç·ç 㯠web3é åã®ã°ã«ãŒã暪æçµç¹ ãç«ã¡äžããWeb3ããã³ ã¡ã¿ããŒã¹ é åã®R&Dãè¡ã£ãŠãããŸãïŒã«ããŽãªãŒã3DCGãã®èšäºã¯ ãã¡ã ïŒã ããæ¬é åã«ãèå³ã®ããæ¹ããäžç·ã«ãã£ã¬ã³ãžããŠããããæ¹ã¯ããã²ãæ°è»œã«ãé£çµ¡ãã ããïŒ ç§ãã¡ãšåãããŒã ã§åããŠããã仲éããåŸ
ã¡ããŠãããŸãïŒ é»éç·ç ã®æ¡çšããŒãž åèæç® Amazon EKS EKS optimized WindowsAMI Packer amazon-ebs Windows install-the-container-runtime DirectX-Device-Plugins å·çïŒ @chen.sun ãã¬ãã¥ãŒïŒ 寺山 èŒ (@terayama.akira) ïŒ Shodo ã§å·çãããŸãã ïŒ
ãã®èšäºã¯ãã€ãã³ããã PERSOLïŒããŒãœã«ïŒã°ã«ãŒã Tech Talk #3 - æè¡è² åµãšã®åãåãæ¹ - ããéå¬ããŸããã ã®çºè¡šå
容ã§ãã ããŒãœã«ããŒã«ãã£ã³ã°ã¹ã®å²©ç°ãšç³ããŸããããŒãœã«ããŒã«ãã£ã³ã°ã¹ã¯ããŒãœã«ã°ã«ãŒãã®ããŒã«ãã£ã³ã°ã¹äŒç€Ÿã§ãåã°ã«ãŒãäŒç€Ÿã«å
±éã®ITåºç€ãªã©ãæäŸããŠããŸãã æ©éãçºè¡šã®æ¹ã«ç§»ãããŠããã ããŸãã ããªãã¡ã¯ã¿ãªã³ã°ãç¹°ãè¿ããŠOSSåãã話ããšããã¿ã€ãã«ã§çºè¡šãããäºå®ã ã£ããã§ãããã¡ãã£ãšã¿ã€ãã«ãæåŸã§å€ããŸããã ãæè¡çè² åµãè² åµã§ã¯çµããããªããOSSåã«ããæªããããšãç®æããããšã³ãžãã¢ç°å¢ããšããããšã§ãæ¬æ¥ã¯çºè¡šãããŠããã ããããšæããŸãã
åç»
該åœããã³ã³ãã³ããèŠã€ãããŸããã§ãã
æžç±
該åœããã³ã³ãã³ããèŠã€ãããŸããã§ãã











