ã€ãã³ã
ã€ãã³ããæ¢ã
æ¬æ¥éå¬ã®ã€ãã³ã
ææ¥éå¬ã®ã€ãã³ã
ã©ã³ãã³ã°
ã«ã¬ã³ããŒ
ãã¬ãžã³
ãã¬ãžã³ãèªã
ãã¬ãžã³
æè¡ããã°
æžç±
åç»
åç»ãèŠã
ã°ã«ãŒã
ã°ã«ãŒããæ¢ã
ã°ã«ãŒããäœã
ã€ãã³ããäœæã»ç®¡ç
åŠçã®æ¹ã¯ãã¡ã
ãã°ã€ã³
|
æ°èŠäŒå¡ç»é²
TOP
ã°ã«ãŒã
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
ããã°
ããã
ã€ãã³ã
ããã°
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã®æè¡ããã°
å š1411ä»¶
2020/09/25
<![CDATA[ 2020 幎床æ°åãšã³ãžãã¢ç ä¿®ã«ã€ã㊠]]>
ããã«ã¡ã¯ã ãžã§ãã¡ãã¬ãŒ ã®éçºããŒã ã§ãšã³ãžãã¢ãããŠããæ°å± ã§ãã ã¯ããã« 2020 幎 4 æã«ãæ°åãšã³ãžã㢠3 åãå ¥ç€ŸããŸããã å ¥ç€ŸåŸã¯æ°åãšã³ãžãã¢ç ä¿®ã宿œããå æ¥ 8 æ 25 æ¥ã®æçµå ±åäŒããã£ãŠçµäºããŸããã ã³ãããŠã€ã«ã¹ã®åœ±é¿ã§å ¥ç€Ÿéããªããã«ãªã¢ãŒãå€åãšãªããäžæ £ããªãšããããããŸããããæ¬å¹ŽåºŠã®ç ä¿®ã®åãçµã¿ã玹ä»ããŸãã 2020 幎床æ°åãšã³ãžã㢠ç ä¿®ã®æŠèŠ ã¡ãã¬ãŒã§ã¯æšå¹ŽåºŠããæ°åãšã³ãžãã¢ãè¿ããŠãããåãããŠç ä¿®ãéå§ããŸããã åããŠã®ç ä¿®ãã©ã®ãããªèŠç¹ã§èšç»ã»å®æœãããã«ã€ããŠã¯ãæšå¹Žå¹³æšããã¡ãã«ãŸãšããŠããŸãã 2019 幎床ãšã³ãžãã¢æ°åã®ç ä¿®ã«ã€ã㊠- Medley Developer Blog ä»å¹Žã¯äººäºéšã®ãååãããã ããªãããæšå¹Žã®å 容ãå°ãã¢ããããŒãããŠè¡ããŸããã ç ä¿®ã®ç®çã¯ã æ°åã¡ã³ããŒãåã空éã§äºãã«åºæ¿ãåããªããã瀟äŒäººãžã®æè転æãã¯ãããæ¥åéè¡ã«å¿ èŠãšãªãåºç€ç¥èãšã¹ãã«ãç¿åŸããããš ã§ãã ç ä¿®ã¯ä»¥äžã® 4 ã€ã®ãã§ãŒãºã«åºåã£ãŠè¡ããŸããã ç ä¿®ã®ãã§ãŒãº ç ä¿®ã®å 容 ãããã 4 ã€ã®ãã§ãŒãºæ¯ã«å 容ã玹ä»ããŸãã ãã§ãŒãº 1ïŒç€ŸäŒäºº&ã¡ãã¬ãŒåºç€ç ä¿® 1. ãªãªãšã³ããŒã·ã§ã³ ã¡ãã¬ãŒã®äºæ¥ãçµç¹ã倧åã«ããŠããè¡åèŠç¯ãªã©ã®æŠèŠèª¬æ ã»ãã¥ãªãã£ç ä¿®ãšã³ã³ãã©ã€ã¢ã³ã¹ç ä¿® 2. ããžãã¹ç ä¿® ããžãã¹ãããŒç ä¿® ããžãã¹ã¹ãã«ç ä¿® ããžãã¹ã¹ã¿ã³ã¹ç ä¿®ïŒå€éšç ä¿®ïŒ ãã§ãŒãº 1 ã§ã¯ãå»çãã«ã¹ã±ã¢ã®æªæ¥ãã€ãããã¡ã³ããŒã®äžå¡ãšããŠå€§åã«ããŠæ¬²ããããšãåŠã¶ãã§ãŒãºã§ããã 瀟äŒäººãšããŠã®æäœéã®ãããŒãã¹ã¿ã³ã¹ã¯å¿è«ã§ãããã¡ãã¬ãŒã§åãäžã§åå°ãšãªããã€ã³ããããã§åŠã³ã å»çãã«ã¹ã±ã¢åéã®èª²é¡ã解決ããäžå¡ ãšããŠå ±ã«ãããã¯ããäœãããã®ããŒã¹ãç¯ãããšæããŸãã ãã§ãŒãº 2ïŒãšã³ãžãã¢åºç€ç ä¿® 1. éçºåºç€ 1 è¬çŸ©ãã¡ãã¬ãŒãæ±ãããšã³ãžãã¢ãšã¯ã ãžã§ãã¡ãã¬ãŒ ãš CLINICS ã®äºæ¥ã»ãããã¯ãã«ã€ããŠã®æŠèŠèª¬æ Ruby on RailsïŒä»¥äž RailsïŒã®åºç€ãã¬ãŒãã³ã° 2. éçºå®è·µ ããŒã éçºäœéš 3. éçºåºç€ 2 æžç± ãWeb ãæ¯ããæè¡ -HTTPãURIãHTMLããã㊠RESTã ã®èŒªèªäŒ ããã¥ã¡ã³ããŒã·ã§ã³ç ä¿®ãšãã¬ãŒã³ããŒã·ã§ã³ç ä¿® äžéå ±åäŒã®æºåãšå®æœ ãã§ãŒãº 2 ããéçºã®ç ä¿®ãã¹ã¿ãŒãããŸããã éçºåºç€ 1 éçºã®ç ä¿®ã«å ¥ãåã«ããšã³ãžãã¢ã®å·è¡åœ¹å¡ ç°äžãããã¡ãã¬ãŒãæ±ãããšã³ãžãã¢ãšã¯ããšããããŒãã§è¬çŸ©ãè¡ããŸãããã¡ãã¬ãŒãã©ããããšã³ãžãã¢ãæ±ããŠããã®ããç®æããšããã®èŠç¹åãããè¡ããããããè¡ãç ä¿®ã«å¯Ÿããæèãåãçµã¿ã®è³ªãäžããããšãç®æããŸããã ã¡ãã¬ãŒãæ±ãããšã³ãžãã¢åã«ã€ããŠã¯ CTO 平山ã®èšäºã«ã詳ããæžããŠããŸãã ã¡ãã¬ãŒå¹³å±±ã®äžå€®çªç Ž: THE ãšã³ãžã㢠ãã®åŸãžã§ãã¡ãã¬ãŒãš CLINICS ã®äºæ¥ã»ãããã¯ãã«ã€ããŠã®æŠèŠèª¬æãRails ã®åºç€ãã¬ãŒãã³ã°ãè¡ããŸãããã¡ãã¬ãŒã®ãããã¯ã㯠Rails 補ã§ããRails ããŠã§ãã¢ããªã±ãŒã·ã§ã³éçºã«æ £ããŠããªãæ°åã¡ã³ããŒã¯ãRails ã®åºç€ãã¬ãŒãã³ã°ã§ Ruby on Rails ãã¥ãŒããªã¢ã« ã䜿ã£ãŠåºç€ããã¿ã£ã¡ãåŠã³ãŸãã Ruby on Rails ãã¥ãŒããªã¢ã«ã®é²ãæ¹ ããã§å€§åãªããšã¯ãæŒ ç¶ãšã²ãããåçµããŠãã¥ãŒããªã¢ã«ãé²ããã®ã§ã¯ãªããæ¯æ¥ã®ãã£ãŒãããã¯äŒã§ãã£ãããã®æ¥ã®é²æãåŠã³ãå ±æããäžæç¹ã¯ã¡ã³ã¿ãŒã«è³ªåããŠãããããã«ããããšã§ãã ã¡ã³ã¿ãŒã¯ãæ°åã¡ã³ããŒãçè§£ãæµ ããŸãŸé²ããŠãããçè§£ããŠããŠæ¬²ãããšãããããå æžã«ãªã£ãŠãããé²ãæ¹ãåŠã³ã®æ¹åæ§ããºã¬ãŠãå Žåãªã©ã¯ã¢ããã€ã¹ãå ¥ããŠè»éä¿®æ£ããããšãå¿æããŸããã ãŸããå®éã®éçºã§ã¯ããã ãããšãã£ãå®åãèžãŸããã¢ããã€ã¹ããæèããŠããããšãäŒããŠãããŸããã 20 æ°å S ããã®ææ³ ãæ¯æ¥ã®ãã£ãŒãããã¯äŒã®äžã§ããã®æ¥åŠãã æè¡ããžã§ãã¡ãã¬ãŒã§ã¯ã©ã®ããã«å©çšãããŠããã®ããã©ããã£ãããšã«çæããŠå©çšããŠããã®ããªã©ã確èªã§ããã®ã§ãçŸå Žã®äººã®æèŠãå°ããã€ç¥ãããšãã§ãããã æ°åã¡ã³ããŒã¯æ¯æ¥ãªãºã è¯ã鲿ãåºããã¡ã³ã¿ãŒã¯æ°åã¡ã³ããŒã®ãã©ããŒãšåŒãäžããæèããææãæå€§åã§ããããåªããŸããã éçºå®è·µ ç¶ããŠéçºå®è·µã§ã¯ããŒã éçºãè¡ããŸãããååãŸã§ã¯åèªåå¥ã«é²ããŠããŸããããããã§ã¯ãžã§ãã¡ãã¬ãŒã«é¢ãã課é¡è§£æ±ºãç®çãšãããããžã§ã¯ãã«å¯ŸããŠãããŒã ã§åãåãç ä¿®ã§ããã éçºå®è·µã®ç®çãšéæãã¹ãããš å®åã§ã¯ããŒã éçºãåºæ¬ãšãªããããŒã ã¡ã³ããŒãšã®ååã¯å¿ é ã§ããåŠçæä»£ã«æ¥åã¬ãã«ã®ããŒã éçºãçµéšããŠããã®ã¯çšã§ãããå®åã«å ¥ãåã«ããŒã ã§ãããžã§ã¯ãæšé²ãããšã¯ã©ãããããšããç¥ãã®ã¯ããšãŠã䟡å€ããããšæããŸãã å ããŠãããŒã ã§èª²é¡ãã©ã解決ããŠããã®ãããæ°åã¡ã³ããŒå士ã§è©±ãåã£ãŠæ±ºããå¿ èŠãããã®ã§ã課é¡è§£æ±ºåãé€ããããšæããŸãã ä»åã¯ãããã¿ã€ããäœã£ãŠææçºè¡šãããšãããŸã§ã§ãããããããžã§ã¯ãæšé²ã«ãããŠã¯ã¹ã±ãžã¥ãŒãªã³ã°ãèŠä»¶å®çŸ©ãåçš®èšèšãéçºãããŒãã³ãã¥ãã±ãŒã·ã§ã³ãããŒã®æŽåãå®è£ ããã¹ãããªã©ãªã©ãããããšã¯å°œããŸããã ãŸãããã®ããã»ã¹ã®äžã§å¯ãªã³ãã¥ãã±ãŒã·ã§ã³ãå¿ èŠäžå¯æ¬ ãšãªãã®ã§ãæ°åã¡ã³ããŒéã®ããŒã ã¯ãŒã¯ãåäžãããäºãã®ããšãæŽã«ç¥ãããšãã§ãããšæããŸãã ãã®æ®µéã§ãããŒã ã§ãããžã§ã¯ããæšé²ããããšã®å šäœæãç¥ãããããžã§ã¯ãæšé²ã®èŠæ©èŠéãå®äœéšã§ããã®ã¯å€§ããªçµéšå€ã«ãªã£ããšæããŸãã 20 æ°å O ããã®ææ³ ãåæ©èœã®åœ±é¿ãäºãã«åããªãããã«ãã©ã³ãã现ååãããã©ã³ãæŠç¥ã GitHub ãçšããã³ãŒã管çã«ã€ããŠçè§£ã§ãããäžæ¹ã§ãUI ãèããéã«ããŒã ã®åã¡ã³ããŒã®èªèã®ãºã¬ãçããããšããåºç€ã¯åã¡ã³ããŒã®é²æã®è©³çŽ°ãææ¡ã§ããŠããªãã£ãããšããå ±ã»é£ã»çžã®éèŠæ§ãåèªèãããã 20 æ°å T ããã®ææ³ ãåããŠã®ããŒã éçºã§ãã£ãããšãããå®è£ ã®åºç€ã¯ãã©ã®ãã¡ã€ã«ãªãç·šéããŠãä»ã®ã¡ã³ããŒã®äœæ¥ã«åœ±é¿ããªãã®ããåäœç¢ºèªã®ããã®ç»é¢ãäœããã¡ã€ã«ã¯èªç±ã«äœæããŠè¯ãã®ããã©ã®ããŒãã«ããé¢ä¿ããä»ã®ããŒãã«ã®æ å ±ãå«ããæ å ±ãååŸãããããªã©ã«æ©ãã§ãããä»ã«ãªã£ãŠæ¯ãè¿ããšããŒã å ã§è©±ãã°è§£æ±ºããããšã«å¯ŸããŠãæè¡çã«ãå¿ççã«ãé£ãããæãããã ###éçºåºç€ 2 ãã§ãŒãº 2 æåŸã®éçºåºç€ 2 ã§ã¯ãæžç± ãWeb ãæ¯ããæè¡ -HTTPãURIãHTMLããã㊠RESTã ã®èŒªèªäŒãè¡ããŸããããã£ãšåã®ãã§ãŒãºã§ã®å®æœãæ€èšããŸããããéçºåºç€ 1 ãšéçºå®è·µãçµãåŸã®æ¹ãæžç±ã®å 容ã®çŽåŸæãé«ããªãã ãããšãã倿ã§ããã®æ®µéã§ã®å®æœãšãªããŸããã ãã®åŸãäžéå ±åäŒã«åããããã¥ã¡ã³ããŒã·ã§ã³ç ä¿®ãšãã¬ãŒã³ããŒã·ã§ã³ç ä¿®ãè¡ããŸãããä»äºãé²ããŠããäžã§ã¯ãèæ¯ãç®çãæ£ããã¹ããŒã¯ãã«ããŒãžå ±æããªããé²ããŠããããšãå¿ èŠã§ãäŒãããããšãé©åã«æç« ãšããŠæŽçããä»è ãžåãããããäŒããŠããããšãæ±ããããŸããäžéå ±åäŒã§ã¯ããããã£ãããšãæèããªãããããŸã§ã®ç ä¿®ã§ãã£ãŠããããšãææãåŠã³ãã¬ããŒãã«ãŸãšãããããã¯ãéçºå®€ã®å®€é·ãšå¯å®€é·ãã¡ã³ã¿ãŒé£ã®åã§ãã¬ãŒã³ããŒã·ã§ã³ããŠå ±åããŸããã ãã§ãŒãº 3ïŒäºæ¥éš OJT 1.代衚åç· åœ¹å»åž« è±ç°ã®è¬çŸ© æ¥æ¬ã«ãããå»çå¶åºŠã®èª²é¡ãšããã«å¯Ÿããã¡ãã¬ãŒã®äœçœ®ä»ãã«ã€ããŠã®è¬çŸ© 2.ãžã§ãã¡ãã¬ãŒéçº OJT ãžã§ãã¡ãã¬ãŒã®å®éã®éçº Issue ã«å¯Ÿå¿ãããžã§ãã¡ãã¬ãŒã®éçºããã»ã¹ãäœéš ãã§ãŒãº 3 ã®æåã¯è±ç°ä»£è¡šã®è¬çŸ©ãåããŸãããåºç€çãªç ä¿®ãçµãããžã§ãã¡ãã¬ãŒéçº OJT ã«å ¥ãåã«ã¡ãã¬ãŒç€Ÿã®ç€ŸäŒçæçŸ©ãªã©ãæ¹ããŠä»£è¡šããäŒããŠããã ããŸããã ç¶ããŠããžã§ãã¡ãã¬ãŒéçº OJT ã¯ä»¥äžã®çããæã£ãŠé²ããŸããã ãžã§ãã¡ãã¬ãŒéçº OJT ã®çã å®éã«è¡ã£ãããšã¯ãæå§ãã«å°ããäžå ·åç³» Issue ã®å¯Ÿå¿ã«åãçµãã åŸããµãŒããŒã¬ã¹ãã³ã¹æ¹åã® Issue ã«åãçµããšãããã®ã§ããã ãµãŒããŒã¬ã¹ãã³ã¹ã®æ¹åã¯ã1 人 1 ç»é¢ãæ åœããããããã¡ã€ã«ããŒã«ã§åæ â æ¹åã§ããããªç®æãèª¿æ» â æ¹åæ¹éã®æ€èš â ææ¡ â å®è£ â ã¬ãã¥ãŒ â ãªãªãŒã¹ããšãããµã€ã¯ã«ãåããŸããã 1 ã€ç®ã® Issue 察å¿ã§ãå¿æããããšã§ãããèšããããã®ãå®è£ ããã®ã§ã¯ãªãã ãã課é¡ã解決ããããã«ã©ããããè¯ãããèªåã§äž»äœçã«èããããšãéèŠããŸãããå®è£ åãšåãããã課é¡è§£æ±ºåã倧åã«ããŠããããã§ãã ãšã¯ããææãäœãåºããªããšããã®ã¯ã粟ç¥è¡çäžè¯ããªãã®ã§ãæ¥ã ã®æäŒãšå€äŒã«ãŠé²æãç¶æ³ããã£ãã確èªããªããé©å®ãã©ããŒãã€ã³ããããè¡ãããã³ãã«ãªããããªéå» Issue ã®ãªã³ã¯ãæž¡ããŠåèã«ããŠããã£ãããã¡ã³ã¿ãŒã®é©åãªããã¯ã¢ãããå¿ èŠã§ãã ä»åã® OJT ãéããŠå®åãç¥ãããšã§ãå®éã«ãšã³ãžãã¢ãšããŠä»äºãããã€ã¡ãŒãžã沞ããåæã«ä»äºãããäžã§è¶³ããªãããšãæç¢ºã«ãªããŸããèªåã®èª²é¡ãšåãåãããšã§ãçŽè¿ã®èªèº«ã®åŠç¿ãã©ã³ã®è»éä¿®æ£ãã§ããŸãã 課é¡ã¯ç°¡åãªãã®ã§ã¯ãããŸããã§ããããæçµçã« 1 人 1 ã€ä»¥äžã®ãµãŒããŒã¬ã¹ãã³ã¹æ¹å PR ããªãªãŒã¹ããããšãã§ããŸããã S ããã®ææ³ ãé床ããã©ãŒãã³ã¹ã®æªãã³ãŒãã«å¯Ÿããå èŠããªããžã§ã¯ããçæããããŠããªãããç¡é§ã«éä¿¡ãèµ°ãããŠããªãããªã©ãåŠã¹ããã O ããã®ææ³ ãIssue ãæ¬è³ªçã«è§£æ±ºããã¡ãã¬ãŒã®éçºå§¿å¢ã«ã€ããŠåŠãã ãIssue ã衚é¢çã«è§£æ±ºããã®ã§ã¯ãªããèæ¯ãç®çãé¢é£ããã³ãŒããªã©ã®äžæç¹ã調æ»ããååã«çè§£ã»çŽåŸããäžã§ä¿®æ£ããããšã®æèä»ããã§ããããŸããIssue ã«é¢é£ããäžéšåã®ã³ãŒããä¿®æ£ããã°è¯ããšããçãèŠéãæãããä¿®æ£ã«ãã圱é¿ç¯å²ãèæ ®ããäžã§å šäœã®æé©åãèããããšãéèŠã§ãããšåŠãã ãã ãã§ãŒãº 4ïŒæçµå ±å 1. æçµå ±åäŒ æçµå ±åäŒã®æºåãšå®æœ æåŸã®ãã§ãŒãº 4 ã§ã¯ããããŸã§ã®ç ä¿®ã§ãã£ãŠããããšãææãåŠã³ãã¬ããŒãã«ãŸãšãã圹å¡é£ã®åã§ãã¬ãŒã³ããŒã·ã§ã³ããŠå ±åããŸããã 圹å¡é£ã®åãªã®ã§ç·åŒµã¯æé«æœ®ã«ãªããŸãããèªåéãç ä¿®ãéããŠäœãåŸãŠã©ãæé·ããããä»åŸã©ããããšã³ãžãã¢ãç®æããŠããã®ãããªã©ã圹å¡é£ã®åã§ã¢ããŒã«ãã貎éãªæ©äŒãšãªããŸããã 1 人 10 åã®æ å ã§åœ¹å¡é£ã«ã©ãããæ å ±ãã©ããã衚çŸã§ãã¬ãŒã³ããŒã·ã§ã³ããããèããæ©äŒã«ããªã£ãã®ã§ãæ å ±æŽçåã衚çŸåãå¹ãããå Žã«ããªããŸããã ãããã« 2020 å¹ŽåºŠã®æ°åãšã³ãžãã¢ç ä¿®ãç¡äºçµäºããããšãã§ããŸãããæ¹ããŠãæ°åã¡ã³ããŒã®ã¿ãªãããé¢ä¿è ã®ã¿ãªããæ¬åœã«ãç²ãæ§ã§ããã æ¯ãè¿ããšãã¡ãã¬ãŒç€Ÿå¡ãšããŠã®ãã€ã³ããéçºã®åºæ¬çãªããšããã£ããã€ã³ããããã€ã€ãæ°åã¡ã³ããŒãäž»äœçã«èª²é¡è§£æ±ºã«åãçµãç ä¿®ãã§ããããã«æããŸãã å¿ èŠãªæè¡ã¹ã¿ãã¯ã 1 ãã 10 ãŸã§æåäžå¯§ã«è³æã«èœãšã蟌ã¿ãè¬çŸ©åœ¢åŒã§è¡ãç ä¿®ã身ã«ãªãããšã¯å€ãã§ããã ã¡ãã¬ãŒã®ç ä¿®ã®ãããªèª²é¡è§£æ±ºãå®äœéšããç ä¿®ã¯ããå®åã«ç¹ããå®è·µçãªç ä¿®ã ãšæããŸãã å°ãããŒããªé¢ããããããããŸãããããã®ãããªç ä¿®ãä¹ãè¶ããå»çãã«ã¹ã±ã¢åéã®èª²é¡è§£æ±ºã«åãçµã¿ããåŠçãšã³ãžãã¢ã®ã¿ãªãããå°ãã§ãèå³ãæã£ãŠããã ãããšå¹žãã§ãã ãã¡ããäžéãšã³ãžãã¢ã®æ¹ããã²ãæ°è»œã«ã話ãããŸãããã https://www.medley.jp/jobs/
GitHub
,
Ruby on Rails
,
ã»ãã¥ãªãã£
,
èªæžäŒ
,
ãã¹ã
,
HealthTech
,
Serverless
,
èšèš
,
åŠç
,
éçºããã»ã¹
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/09/25
<![CDATA[ 2020 幎床æ°åãšã³ãžãã¢ç ä¿®ã«ã€ã㊠]]>
ããã«ã¡ã¯ã ãžã§ãã¡ãã¬ãŒ ã®éçºããŒã ã§ãšã³ãžãã¢ãããŠããæ°å± ã§ãã ã¯ããã« 2020 幎 4 æã«ãæ°åãšã³ãžã㢠3 åãå ¥ç€ŸããŸããã å ¥ç€ŸåŸã¯æ°åãšã³ãžãã¢ç ä¿®ã宿œããå æ¥ 8 æ 25 æ¥ã®æçµå ±åäŒããã£ãŠçµäºããŸããã ã³ãããŠã€ã«ã¹ã®åœ±é¿ã§å ¥ç€Ÿéããªããã«ãªã¢ãŒãå€åãšãªããäžæ £ããªãšããããããŸããããæ¬å¹ŽåºŠã®ç ä¿®ã®åãçµã¿ã玹ä»ããŸãã 2020 幎床æ°åãšã³ãžã㢠ç ä¿®ã®æŠèŠ ã¡ãã¬ãŒã§ã¯æšå¹ŽåºŠããæ°åãšã³ãžãã¢ãè¿ããŠãããåãããŠç ä¿®ãéå§ããŸããã åããŠã®ç ä¿®ãã©ã®ãããªèŠç¹ã§èšç»ã»å®æœãããã«ã€ããŠã¯ãæšå¹Žå¹³æšããã¡ãã«ãŸãšããŠããŸãã 2019 幎床ãšã³ãžãã¢æ°åã®ç ä¿®ã«ã€ã㊠- Medley Developer Blog ä»å¹Žã¯äººäºéšã®ãååãããã ããªãããæšå¹Žã®å 容ãå°ãã¢ããããŒãããŠè¡ããŸããã ç ä¿®ã®ç®çã¯ã æ°åã¡ã³ããŒãåã空éã§äºãã«åºæ¿ãåããªããã瀟äŒäººãžã®æè転æãã¯ãããæ¥åéè¡ã«å¿ èŠãšãªãåºç€ç¥èãšã¹ãã«ãç¿åŸããããš ã§ãã ç ä¿®ã¯ä»¥äžã® 4 ã€ã®ãã§ãŒãºã«åºåã£ãŠè¡ããŸããã ç ä¿®ã®ãã§ãŒãº ç ä¿®ã®å 容 ãããã 4 ã€ã®ãã§ãŒãºæ¯ã«å 容ã玹ä»ããŸãã ãã§ãŒãº 1ïŒç€ŸäŒäºº&ã¡ãã¬ãŒåºç€ç ä¿® 1. ãªãªãšã³ããŒã·ã§ã³ ã¡ãã¬ãŒã®äºæ¥ãçµç¹ã倧åã«ããŠããè¡åèŠç¯ãªã©ã®æŠèŠèª¬æ ã»ãã¥ãªãã£ç ä¿®ãšã³ã³ãã©ã€ã¢ã³ã¹ç ä¿® 2. ããžãã¹ç ä¿® ããžãã¹ãããŒç ä¿® ããžãã¹ã¹ãã«ç ä¿® ããžãã¹ã¹ã¿ã³ã¹ç ä¿®ïŒå€éšç ä¿®ïŒ ãã§ãŒãº 1 ã§ã¯ãå»çãã«ã¹ã±ã¢ã®æªæ¥ãã€ãããã¡ã³ããŒã®äžå¡ãšããŠå€§åã«ããŠæ¬²ããããšãåŠã¶ãã§ãŒãºã§ããã 瀟äŒäººãšããŠã®æäœéã®ãããŒãã¹ã¿ã³ã¹ã¯å¿è«ã§ãããã¡ãã¬ãŒã§åãäžã§åå°ãšãªããã€ã³ããããã§åŠã³ã å»çãã«ã¹ã±ã¢åéã®èª²é¡ã解決ããäžå¡ ãšããŠå ±ã«ãããã¯ããäœãããã®ããŒã¹ãç¯ãããšæããŸãã ãã§ãŒãº 2ïŒãšã³ãžãã¢åºç€ç ä¿® 1. éçºåºç€ 1 è¬çŸ©ãã¡ãã¬ãŒãæ±ãããšã³ãžãã¢ãšã¯ã ãžã§ãã¡ãã¬ãŒ ãš CLINICS ã®äºæ¥ã»ãããã¯ãã«ã€ããŠã®æŠèŠèª¬æ Ruby on RailsïŒä»¥äž RailsïŒã®åºç€ãã¬ãŒãã³ã° 2. éçºå®è·µ ããŒã éçºäœéš 3. éçºåºç€ 2 æžç± ãWeb ãæ¯ããæè¡ -HTTPãURIãHTMLããã㊠RESTã ã®èŒªèªäŒ ããã¥ã¡ã³ããŒã·ã§ã³ç ä¿®ãšãã¬ãŒã³ããŒã·ã§ã³ç ä¿® äžéå ±åäŒã®æºåãšå®æœ ãã§ãŒãº 2 ããéçºã®ç ä¿®ãã¹ã¿ãŒãããŸããã éçºåºç€ 1 éçºã®ç ä¿®ã«å ¥ãåã«ããšã³ãžãã¢ã®å·è¡åœ¹å¡ ç°äžãããã¡ãã¬ãŒãæ±ãããšã³ãžãã¢ãšã¯ããšããããŒãã§è¬çŸ©ãè¡ããŸãããã¡ãã¬ãŒãã©ããããšã³ãžãã¢ãæ±ããŠããã®ããç®æããšããã®èŠç¹åãããè¡ããããããè¡ãç ä¿®ã«å¯Ÿããæèãåãçµã¿ã®è³ªãäžããããšãç®æããŸããã ã¡ãã¬ãŒãæ±ãããšã³ãžãã¢åã«ã€ããŠã¯ CTO 平山ã®èšäºã«ã詳ããæžããŠããŸãã ã¡ãã¬ãŒå¹³å±±ã®äžå€®çªç Ž: THE ãšã³ãžã㢠ãã®åŸãžã§ãã¡ãã¬ãŒãš CLINICS ã®äºæ¥ã»ãããã¯ãã«ã€ããŠã®æŠèŠèª¬æãRails ã®åºç€ãã¬ãŒãã³ã°ãè¡ããŸãããã¡ãã¬ãŒã®ãããã¯ã㯠Rails 補ã§ããRails ããŠã§ãã¢ããªã±ãŒã·ã§ã³éçºã«æ £ããŠããªãæ°åã¡ã³ããŒã¯ãRails ã®åºç€ãã¬ãŒãã³ã°ã§ Ruby on Rails ãã¥ãŒããªã¢ã« ã䜿ã£ãŠåºç€ããã¿ã£ã¡ãåŠã³ãŸãã Ruby on Rails ãã¥ãŒããªã¢ã«ã®é²ãæ¹ ããã§å€§åãªããšã¯ãæŒ ç¶ãšã²ãããåçµããŠãã¥ãŒããªã¢ã«ãé²ããã®ã§ã¯ãªããæ¯æ¥ã®ãã£ãŒãããã¯äŒã§ãã£ãããã®æ¥ã®é²æãåŠã³ãå ±æããäžæç¹ã¯ã¡ã³ã¿ãŒã«è³ªåããŠãããããã«ããããšã§ãã ã¡ã³ã¿ãŒã¯ãæ°åã¡ã³ããŒãçè§£ãæµ ããŸãŸé²ããŠãããçè§£ããŠããŠæ¬²ãããšãããããå æžã«ãªã£ãŠãããé²ãæ¹ãåŠã³ã®æ¹åæ§ããºã¬ãŠãå Žåãªã©ã¯ã¢ããã€ã¹ãå ¥ããŠè»éä¿®æ£ããããšãå¿æããŸããã ãŸããå®éã®éçºã§ã¯ããã ãããšãã£ãå®åãèžãŸããã¢ããã€ã¹ããæèããŠããããšãäŒããŠãããŸããã 20 æ°å S ããã®ææ³ ãæ¯æ¥ã®ãã£ãŒãããã¯äŒã®äžã§ããã®æ¥åŠãã æè¡ããžã§ãã¡ãã¬ãŒã§ã¯ã©ã®ããã«å©çšãããŠããã®ããã©ããã£ãããšã«çæããŠå©çšããŠããã®ããªã©ã確èªã§ããã®ã§ãçŸå Žã®äººã®æèŠãå°ããã€ç¥ãããšãã§ãããã æ°åã¡ã³ããŒã¯æ¯æ¥ãªãºã è¯ã鲿ãåºããã¡ã³ã¿ãŒã¯æ°åã¡ã³ããŒã®ãã©ããŒãšåŒãäžããæèããææãæå€§åã§ããããåªããŸããã éçºå®è·µ ç¶ããŠéçºå®è·µã§ã¯ããŒã éçºãè¡ããŸãããååãŸã§ã¯åèªåå¥ã«é²ããŠããŸããããããã§ã¯ãžã§ãã¡ãã¬ãŒã«é¢ãã課é¡è§£æ±ºãç®çãšãããããžã§ã¯ãã«å¯ŸããŠãããŒã ã§åãåãç ä¿®ã§ããã éçºå®è·µã®ç®çãšéæãã¹ãããš å®åã§ã¯ããŒã éçºãåºæ¬ãšãªããããŒã ã¡ã³ããŒãšã®ååã¯å¿ é ã§ããåŠçæä»£ã«æ¥åã¬ãã«ã®ããŒã éçºãçµéšããŠããã®ã¯çšã§ãããå®åã«å ¥ãåã«ããŒã ã§ãããžã§ã¯ãæšé²ãããšã¯ã©ãããããšããç¥ãã®ã¯ããšãŠã䟡å€ããããšæããŸãã å ããŠãããŒã ã§èª²é¡ãã©ã解決ããŠããã®ãããæ°åã¡ã³ããŒå士ã§è©±ãåã£ãŠæ±ºããå¿ èŠãããã®ã§ã課é¡è§£æ±ºåãé€ããããšæããŸãã ä»åã¯ãããã¿ã€ããäœã£ãŠææçºè¡šãããšãããŸã§ã§ãããããããžã§ã¯ãæšé²ã«ãããŠã¯ã¹ã±ãžã¥ãŒãªã³ã°ãèŠä»¶å®çŸ©ãåçš®èšèšãéçºãããŒãã³ãã¥ãã±ãŒã·ã§ã³ãããŒã®æŽåãå®è£ ããã¹ãããªã©ãªã©ãããããšã¯å°œããŸããã ãŸãããã®ããã»ã¹ã®äžã§å¯ãªã³ãã¥ãã±ãŒã·ã§ã³ãå¿ èŠäžå¯æ¬ ãšãªãã®ã§ãæ°åã¡ã³ããŒéã®ããŒã ã¯ãŒã¯ãåäžãããäºãã®ããšãæŽã«ç¥ãããšãã§ãããšæããŸãã ãã®æ®µéã§ãããŒã ã§ãããžã§ã¯ããæšé²ããããšã®å šäœæãç¥ãããããžã§ã¯ãæšé²ã®èŠæ©èŠéãå®äœéšã§ããã®ã¯å€§ããªçµéšå€ã«ãªã£ããšæããŸãã 20 æ°å O ããã®ææ³ ãåæ©èœã®åœ±é¿ãäºãã«åããªãããã«ãã©ã³ãã现ååãããã©ã³ãæŠç¥ã GitHub ãçšããã³ãŒã管çã«ã€ããŠçè§£ã§ãããäžæ¹ã§ãUI ãèããéã«ããŒã ã®åã¡ã³ããŒã®èªèã®ãºã¬ãçããããšããåºç€ã¯åã¡ã³ããŒã®é²æã®è©³çŽ°ãææ¡ã§ããŠããªãã£ãããšããå ±ã»é£ã»çžã®éèŠæ§ãåèªèãããã 20 æ°å T ããã®ææ³ ãåããŠã®ããŒã éçºã§ãã£ãããšãããå®è£ ã®åºç€ã¯ãã©ã®ãã¡ã€ã«ãªãç·šéããŠãä»ã®ã¡ã³ããŒã®äœæ¥ã«åœ±é¿ããªãã®ããåäœç¢ºèªã®ããã®ç»é¢ãäœããã¡ã€ã«ã¯èªç±ã«äœæããŠè¯ãã®ããã©ã®ããŒãã«ããé¢ä¿ããä»ã®ããŒãã«ã®æ å ±ãå«ããæ å ±ãååŸãããããªã©ã«æ©ãã§ãããä»ã«ãªã£ãŠæ¯ãè¿ããšããŒã å ã§è©±ãã°è§£æ±ºããããšã«å¯ŸããŠãæè¡çã«ãå¿ççã«ãé£ãããæãããã ###éçºåºç€ 2 ãã§ãŒãº 2 æåŸã®éçºåºç€ 2 ã§ã¯ãæžç± ãWeb ãæ¯ããæè¡ -HTTPãURIãHTMLããã㊠RESTã ã®èŒªèªäŒãè¡ããŸããããã£ãšåã®ãã§ãŒãºã§ã®å®æœãæ€èšããŸããããéçºåºç€ 1 ãšéçºå®è·µãçµãåŸã®æ¹ãæžç±ã®å 容ã®çŽåŸæãé«ããªãã ãããšãã倿ã§ããã®æ®µéã§ã®å®æœãšãªããŸããã ãã®åŸãäžéå ±åäŒã«åããããã¥ã¡ã³ããŒã·ã§ã³ç ä¿®ãšãã¬ãŒã³ããŒã·ã§ã³ç ä¿®ãè¡ããŸãããä»äºãé²ããŠããäžã§ã¯ãèæ¯ãç®çãæ£ããã¹ããŒã¯ãã«ããŒãžå ±æããªããé²ããŠããããšãå¿ èŠã§ãäŒãããããšãé©åã«æç« ãšããŠæŽçããä»è ãžåãããããäŒããŠããããšãæ±ããããŸããäžéå ±åäŒã§ã¯ããããã£ãããšãæèããªãããããŸã§ã®ç ä¿®ã§ãã£ãŠããããšãææãåŠã³ãã¬ããŒãã«ãŸãšãããããã¯ãéçºå®€ã®å®€é·ãšå¯å®€é·ãã¡ã³ã¿ãŒé£ã®åã§ãã¬ãŒã³ããŒã·ã§ã³ããŠå ±åããŸããã ãã§ãŒãº 3ïŒäºæ¥éš OJT 1.代衚åç· åœ¹å»åž« è±ç°ã®è¬çŸ© æ¥æ¬ã«ãããå»çå¶åºŠã®èª²é¡ãšããã«å¯Ÿããã¡ãã¬ãŒã®äœçœ®ä»ãã«ã€ããŠã®è¬çŸ© 2.ãžã§ãã¡ãã¬ãŒéçº OJT ãžã§ãã¡ãã¬ãŒã®å®éã®éçº Issue ã«å¯Ÿå¿ãããžã§ãã¡ãã¬ãŒã®éçºããã»ã¹ãäœéš ãã§ãŒãº 3 ã®æåã¯è±ç°ä»£è¡šã®è¬çŸ©ãåããŸãããåºç€çãªç ä¿®ãçµãããžã§ãã¡ãã¬ãŒéçº OJT ã«å ¥ãåã«ã¡ãã¬ãŒç€Ÿã®ç€ŸäŒçæçŸ©ãªã©ãæ¹ããŠä»£è¡šããäŒããŠããã ããŸããã ç¶ããŠããžã§ãã¡ãã¬ãŒéçº OJT ã¯ä»¥äžã®çããæã£ãŠé²ããŸããã ãžã§ãã¡ãã¬ãŒéçº OJT ã®çã å®éã«è¡ã£ãããšã¯ãæå§ãã«å°ããäžå ·åç³» Issue ã®å¯Ÿå¿ã«åãçµãã åŸããµãŒããŒã¬ã¹ãã³ã¹æ¹åã® Issue ã«åãçµããšãããã®ã§ããã ãµãŒããŒã¬ã¹ãã³ã¹ã®æ¹åã¯ã1 人 1 ç»é¢ãæ åœããããããã¡ã€ã«ããŒã«ã§åæ â æ¹åã§ããããªç®æãèª¿æ» â æ¹åæ¹éã®æ€èš â ææ¡ â å®è£ â ã¬ãã¥ãŒ â ãªãªãŒã¹ããšãããµã€ã¯ã«ãåããŸããã 1 ã€ç®ã® Issue 察å¿ã§ãå¿æããããšã§ãããèšããããã®ãå®è£ ããã®ã§ã¯ãªãã ãã課é¡ã解決ããããã«ã©ããããè¯ãããèªåã§äž»äœçã«èããããšãéèŠããŸãããå®è£ åãšåãããã課é¡è§£æ±ºåã倧åã«ããŠããããã§ãã ãšã¯ããææãäœãåºããªããšããã®ã¯ã粟ç¥è¡çäžè¯ããªãã®ã§ãæ¥ã ã®æäŒãšå€äŒã«ãŠé²æãç¶æ³ããã£ãã確èªããªããé©å®ãã©ããŒãã€ã³ããããè¡ãããã³ãã«ãªããããªéå» Issue ã®ãªã³ã¯ãæž¡ããŠåèã«ããŠããã£ãããã¡ã³ã¿ãŒã®é©åãªããã¯ã¢ãããå¿ èŠã§ãã ä»åã® OJT ãéããŠå®åãç¥ãããšã§ãå®éã«ãšã³ãžãã¢ãšããŠä»äºãããã€ã¡ãŒãžã沞ããåæã«ä»äºãããäžã§è¶³ããªãããšãæç¢ºã«ãªããŸããèªåã®èª²é¡ãšåãåãããšã§ãçŽè¿ã®èªèº«ã®åŠç¿ãã©ã³ã®è»éä¿®æ£ãã§ããŸãã 課é¡ã¯ç°¡åãªãã®ã§ã¯ãããŸããã§ããããæçµçã« 1 人 1 ã€ä»¥äžã®ãµãŒããŒã¬ã¹ãã³ã¹æ¹å PR ããªãªãŒã¹ããããšãã§ããŸããã S ããã®ææ³ ãé床ããã©ãŒãã³ã¹ã®æªãã³ãŒãã«å¯Ÿããå èŠããªããžã§ã¯ããçæããããŠããªãããç¡é§ã«éä¿¡ãèµ°ãããŠããªãããªã©ãåŠã¹ããã O ããã®ææ³ ãIssue ãæ¬è³ªçã«è§£æ±ºããã¡ãã¬ãŒã®éçºå§¿å¢ã«ã€ããŠåŠãã ãIssue ã衚é¢çã«è§£æ±ºããã®ã§ã¯ãªããèæ¯ãç®çãé¢é£ããã³ãŒããªã©ã®äžæç¹ã調æ»ããååã«çè§£ã»çŽåŸããäžã§ä¿®æ£ããããšã®æèä»ããã§ããããŸããIssue ã«é¢é£ããäžéšåã®ã³ãŒããä¿®æ£ããã°è¯ããšããçãèŠéãæãããä¿®æ£ã«ãã圱é¿ç¯å²ãèæ ®ããäžã§å šäœã®æé©åãèããããšãéèŠã§ãããšåŠãã ãã ãã§ãŒãº 4ïŒæçµå ±å 1. æçµå ±åäŒ æçµå ±åäŒã®æºåãšå®æœ æåŸã®ãã§ãŒãº 4 ã§ã¯ããããŸã§ã®ç ä¿®ã§ãã£ãŠããããšãææãåŠã³ãã¬ããŒãã«ãŸãšãã圹å¡é£ã®åã§ãã¬ãŒã³ããŒã·ã§ã³ããŠå ±åããŸããã 圹å¡é£ã®åãªã®ã§ç·åŒµã¯æé«æœ®ã«ãªããŸãããèªåéãç ä¿®ãéããŠäœãåŸãŠã©ãæé·ããããä»åŸã©ããããšã³ãžãã¢ãç®æããŠããã®ãããªã©ã圹å¡é£ã®åã§ã¢ããŒã«ãã貎éãªæ©äŒãšãªããŸããã 1 人 10 åã®æ å ã§åœ¹å¡é£ã«ã©ãããæ å ±ãã©ããã衚çŸã§ãã¬ãŒã³ããŒã·ã§ã³ããããèããæ©äŒã«ããªã£ãã®ã§ãæ å ±æŽçåã衚çŸåãå¹ãããå Žã«ããªããŸããã ãããã« 2020 å¹ŽåºŠã®æ°åãšã³ãžãã¢ç ä¿®ãç¡äºçµäºããããšãã§ããŸãããæ¹ããŠãæ°åã¡ã³ããŒã®ã¿ãªãããé¢ä¿è ã®ã¿ãªããæ¬åœã«ãç²ãæ§ã§ããã æ¯ãè¿ããšãã¡ãã¬ãŒç€Ÿå¡ãšããŠã®ãã€ã³ããéçºã®åºæ¬çãªããšããã£ããã€ã³ããããã€ã€ãæ°åã¡ã³ããŒãäž»äœçã«èª²é¡è§£æ±ºã«åãçµãç ä¿®ãã§ããããã«æããŸãã å¿ èŠãªæè¡ã¹ã¿ãã¯ã 1 ãã 10 ãŸã§æåäžå¯§ã«è³æã«èœãšã蟌ã¿ãè¬çŸ©åœ¢åŒã§è¡ãç ä¿®ã身ã«ãªãããšã¯å€ãã§ããã ã¡ãã¬ãŒã®ç ä¿®ã®ãããªèª²é¡è§£æ±ºãå®äœéšããç ä¿®ã¯ããå®åã«ç¹ããå®è·µçãªç ä¿®ã ãšæããŸãã å°ãããŒããªé¢ããããããããŸãããããã®ãããªç ä¿®ãä¹ãè¶ããå»çãã«ã¹ã±ã¢åéã®èª²é¡è§£æ±ºã«åãçµã¿ããåŠçãšã³ãžãã¢ã®ã¿ãªãããå°ãã§ãèå³ãæã£ãŠããã ãããšå¹žãã§ãã ãã¡ããäžéãšã³ãžãã¢ã®æ¹ããã²ãæ°è»œã«ã話ãããŸãããã åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp
GitHub
,
Ruby on Rails
,
ã»ãã¥ãªãã£
,
èªæžäŒ
,
ãã¹ã
,
HealthTech
,
Serverless
,
èšèš
,
åŠç
,
éçºããã»ã¹
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/09/25
<![CDATA[ 2020 幎床æ°åãšã³ãžãã¢ç ä¿®ã«ã€ã㊠]]>
ããã«ã¡ã¯ã ãžã§ãã¡ãã¬ãŒ ã®éçºããŒã ã§ãšã³ãžãã¢ãããŠããæ°å± ã§ãã ã¯ããã« 2020 幎 4 æã«ãæ°åãšã³ãžã㢠3 åãå ¥ç€ŸããŸããã å ¥ç€ŸåŸã¯æ°åãšã³ãžãã¢ç ä¿®ã宿œããå æ¥ 8 æ 25 æ¥ã®æçµå ±åäŒããã£ãŠçµäºããŸããã ã³ãããŠã€ã«ã¹ã®åœ±é¿ã§å ¥ç€Ÿéããªããã«ãªã¢ãŒãå€åãšãªããäžæ £ããªãšããããããŸããããæ¬å¹ŽåºŠã®ç ä¿®ã®åãçµã¿ã玹ä»ããŸãã 2020 幎床æ°åãšã³ãžã㢠ç ä¿®ã®æŠèŠ ã¡ãã¬ãŒã§ã¯æšå¹ŽåºŠããæ°åãšã³ãžãã¢ãè¿ããŠãããåãããŠç ä¿®ãéå§ããŸããã åããŠã®ç ä¿®ãã©ã®ãããªèŠç¹ã§èšç»ã»å®æœãããã«ã€ããŠã¯ãæšå¹Žå¹³æšããã¡ãã«ãŸãšããŠããŸãã 2019 幎床ãšã³ãžãã¢æ°åã®ç ä¿®ã«ã€ã㊠- Medley Developer Blog ä»å¹Žã¯äººäºéšã®ãååãããã ããªãããæšå¹Žã®å 容ãå°ãã¢ããããŒãããŠè¡ããŸããã ç ä¿®ã®ç®çã¯ã æ°åã¡ã³ããŒãåã空éã§äºãã«åºæ¿ãåããªããã瀟äŒäººãžã®æè転æãã¯ãããæ¥åéè¡ã«å¿ èŠãšãªãåºç€ç¥èãšã¹ãã«ãç¿åŸããããš ã§ãã ç ä¿®ã¯ä»¥äžã® 4 ã€ã®ãã§ãŒãºã«åºåã£ãŠè¡ããŸããã ç ä¿®ã®ãã§ãŒãº ç ä¿®ã®å 容 ãããã 4 ã€ã®ãã§ãŒãºæ¯ã«å 容ã玹ä»ããŸãã ãã§ãŒãº 1ïŒç€ŸäŒäºº&ã¡ãã¬ãŒåºç€ç ä¿® 1. ãªãªãšã³ããŒã·ã§ã³ ã¡ãã¬ãŒã®äºæ¥ãçµç¹ã倧åã«ããŠããè¡åèŠç¯ãªã©ã®æŠèŠèª¬æ ã»ãã¥ãªãã£ç ä¿®ãšã³ã³ãã©ã€ã¢ã³ã¹ç ä¿® 2. ããžãã¹ç ä¿® ããžãã¹ãããŒç ä¿® ããžãã¹ã¹ãã«ç ä¿® ããžãã¹ã¹ã¿ã³ã¹ç ä¿®ïŒå€éšç ä¿®ïŒ ãã§ãŒãº 1 ã§ã¯ãå»çãã«ã¹ã±ã¢ã®æªæ¥ãã€ãããã¡ã³ããŒã®äžå¡ãšããŠå€§åã«ããŠæ¬²ããããšãåŠã¶ãã§ãŒãºã§ããã 瀟äŒäººãšããŠã®æäœéã®ãããŒãã¹ã¿ã³ã¹ã¯å¿è«ã§ãããã¡ãã¬ãŒã§åãäžã§åå°ãšãªããã€ã³ããããã§åŠã³ã å»çãã«ã¹ã±ã¢åéã®èª²é¡ã解決ããäžå¡ ãšããŠå ±ã«ãããã¯ããäœãããã®ããŒã¹ãç¯ãããšæããŸãã ãã§ãŒãº 2ïŒãšã³ãžãã¢åºç€ç ä¿® 1. éçºåºç€ 1 è¬çŸ©ãã¡ãã¬ãŒãæ±ãããšã³ãžãã¢ãšã¯ã ãžã§ãã¡ãã¬ãŒ ãš CLINICS ã®äºæ¥ã»ãããã¯ãã«ã€ããŠã®æŠèŠèª¬æ Ruby on RailsïŒä»¥äž RailsïŒã®åºç€ãã¬ãŒãã³ã° 2. éçºå®è·µ ããŒã éçºäœéš 3. éçºåºç€ 2 æžç± ãWeb ãæ¯ããæè¡ -HTTPãURIãHTMLããã㊠RESTã ã®èŒªèªäŒ ããã¥ã¡ã³ããŒã·ã§ã³ç ä¿®ãšãã¬ãŒã³ããŒã·ã§ã³ç ä¿® äžéå ±åäŒã®æºåãšå®æœ ãã§ãŒãº 2 ããéçºã®ç ä¿®ãã¹ã¿ãŒãããŸããã éçºåºç€ 1 éçºã®ç ä¿®ã«å ¥ãåã«ããšã³ãžãã¢ã®å·è¡åœ¹å¡ ç°äžãããã¡ãã¬ãŒãæ±ãããšã³ãžãã¢ãšã¯ããšããããŒãã§è¬çŸ©ãè¡ããŸãããã¡ãã¬ãŒãã©ããããšã³ãžãã¢ãæ±ããŠããã®ããç®æããšããã®èŠç¹åãããè¡ããããããè¡ãç ä¿®ã«å¯Ÿããæèãåãçµã¿ã®è³ªãäžããããšãç®æããŸããã ã¡ãã¬ãŒãæ±ãããšã³ãžãã¢åã«ã€ããŠã¯ CTO 平山ã®èšäºã«ã詳ããæžããŠããŸãã ã¡ãã¬ãŒå¹³å±±ã®äžå€®çªç Ž: THE ãšã³ãžã㢠ãã®åŸãžã§ãã¡ãã¬ãŒãš CLINICS ã®äºæ¥ã»ãããã¯ãã«ã€ããŠã®æŠèŠèª¬æãRails ã®åºç€ãã¬ãŒãã³ã°ãè¡ããŸãããã¡ãã¬ãŒã®ãããã¯ã㯠Rails 補ã§ããRails ããŠã§ãã¢ããªã±ãŒã·ã§ã³éçºã«æ £ããŠããªãæ°åã¡ã³ããŒã¯ãRails ã®åºç€ãã¬ãŒãã³ã°ã§ Ruby on Rails ãã¥ãŒããªã¢ã« ã䜿ã£ãŠåºç€ããã¿ã£ã¡ãåŠã³ãŸãã Ruby on Rails ãã¥ãŒããªã¢ã«ã®é²ãæ¹ ããã§å€§åãªããšã¯ãæŒ ç¶ãšã²ãããåçµããŠãã¥ãŒããªã¢ã«ãé²ããã®ã§ã¯ãªããæ¯æ¥ã®ãã£ãŒãããã¯äŒã§ãã£ãããã®æ¥ã®é²æãåŠã³ãå ±æããäžæç¹ã¯ã¡ã³ã¿ãŒã«è³ªåããŠãããããã«ããããšã§ãã ã¡ã³ã¿ãŒã¯ãæ°åã¡ã³ããŒãçè§£ãæµ ããŸãŸé²ããŠãããçè§£ããŠããŠæ¬²ãããšãããããå æžã«ãªã£ãŠãããé²ãæ¹ãåŠã³ã®æ¹åæ§ããºã¬ãŠãå Žåãªã©ã¯ã¢ããã€ã¹ãå ¥ããŠè»éä¿®æ£ããããšãå¿æããŸããã ãŸããå®éã®éçºã§ã¯ããã ãããšãã£ãå®åãèžãŸããã¢ããã€ã¹ããæèããŠããããšãäŒããŠãããŸããã 20 æ°å S ããã®ææ³ ãæ¯æ¥ã®ãã£ãŒãããã¯äŒã®äžã§ããã®æ¥åŠãã æè¡ããžã§ãã¡ãã¬ãŒã§ã¯ã©ã®ããã«å©çšãããŠããã®ããã©ããã£ãããšã«çæããŠå©çšããŠããã®ããªã©ã確èªã§ããã®ã§ãçŸå Žã®äººã®æèŠãå°ããã€ç¥ãããšãã§ãããã æ°åã¡ã³ããŒã¯æ¯æ¥ãªãºã è¯ã鲿ãåºããã¡ã³ã¿ãŒã¯æ°åã¡ã³ããŒã®ãã©ããŒãšåŒãäžããæèããææãæå€§åã§ããããåªããŸããã éçºå®è·µ ç¶ããŠéçºå®è·µã§ã¯ããŒã éçºãè¡ããŸãããååãŸã§ã¯åèªåå¥ã«é²ããŠããŸããããããã§ã¯ãžã§ãã¡ãã¬ãŒã«é¢ãã課é¡è§£æ±ºãç®çãšãããããžã§ã¯ãã«å¯ŸããŠãããŒã ã§åãåãç ä¿®ã§ããã éçºå®è·µã®ç®çãšéæãã¹ãããš å®åã§ã¯ããŒã éçºãåºæ¬ãšãªããããŒã ã¡ã³ããŒãšã®ååã¯å¿ é ã§ããåŠçæä»£ã«æ¥åã¬ãã«ã®ããŒã éçºãçµéšããŠããã®ã¯çšã§ãããå®åã«å ¥ãåã«ããŒã ã§ãããžã§ã¯ãæšé²ãããšã¯ã©ãããããšããç¥ãã®ã¯ããšãŠã䟡å€ããããšæããŸãã å ããŠãããŒã ã§èª²é¡ãã©ã解決ããŠããã®ãããæ°åã¡ã³ããŒå士ã§è©±ãåã£ãŠæ±ºããå¿ èŠãããã®ã§ã課é¡è§£æ±ºåãé€ããããšæããŸãã ä»åã¯ãããã¿ã€ããäœã£ãŠææçºè¡šãããšãããŸã§ã§ãããããããžã§ã¯ãæšé²ã«ãããŠã¯ã¹ã±ãžã¥ãŒãªã³ã°ãèŠä»¶å®çŸ©ãåçš®èšèšãéçºãããŒãã³ãã¥ãã±ãŒã·ã§ã³ãããŒã®æŽåãå®è£ ããã¹ãããªã©ãªã©ãããããšã¯å°œããŸããã ãŸãããã®ããã»ã¹ã®äžã§å¯ãªã³ãã¥ãã±ãŒã·ã§ã³ãå¿ èŠäžå¯æ¬ ãšãªãã®ã§ãæ°åã¡ã³ããŒéã®ããŒã ã¯ãŒã¯ãåäžãããäºãã®ããšãæŽã«ç¥ãããšãã§ãããšæããŸãã ãã®æ®µéã§ãããŒã ã§ãããžã§ã¯ããæšé²ããããšã®å šäœæãç¥ãããããžã§ã¯ãæšé²ã®èŠæ©èŠéãå®äœéšã§ããã®ã¯å€§ããªçµéšå€ã«ãªã£ããšæããŸãã 20 æ°å O ããã®ææ³ ãåæ©èœã®åœ±é¿ãäºãã«åããªãããã«ãã©ã³ãã现ååãããã©ã³ãæŠç¥ã GitHub ãçšããã³ãŒã管çã«ã€ããŠçè§£ã§ãããäžæ¹ã§ãUI ãèããéã«ããŒã ã®åã¡ã³ããŒã®èªèã®ãºã¬ãçããããšããåºç€ã¯åã¡ã³ããŒã®é²æã®è©³çŽ°ãææ¡ã§ããŠããªãã£ãããšããå ±ã»é£ã»çžã®éèŠæ§ãåèªèãããã 20 æ°å T ããã®ææ³ ãåããŠã®ããŒã éçºã§ãã£ãããšãããå®è£ ã®åºç€ã¯ãã©ã®ãã¡ã€ã«ãªãç·šéããŠãä»ã®ã¡ã³ããŒã®äœæ¥ã«åœ±é¿ããªãã®ããåäœç¢ºèªã®ããã®ç»é¢ãäœããã¡ã€ã«ã¯èªç±ã«äœæããŠè¯ãã®ããã©ã®ããŒãã«ããé¢ä¿ããä»ã®ããŒãã«ã®æ å ±ãå«ããæ å ±ãååŸãããããªã©ã«æ©ãã§ãããä»ã«ãªã£ãŠæ¯ãè¿ããšããŒã å ã§è©±ãã°è§£æ±ºããããšã«å¯ŸããŠãæè¡çã«ãå¿ççã«ãé£ãããæãããã ###éçºåºç€ 2 ãã§ãŒãº 2 æåŸã®éçºåºç€ 2 ã§ã¯ãæžç± ãWeb ãæ¯ããæè¡ -HTTPãURIãHTMLããã㊠RESTã ã®èŒªèªäŒãè¡ããŸããããã£ãšåã®ãã§ãŒãºã§ã®å®æœãæ€èšããŸããããéçºåºç€ 1 ãšéçºå®è·µãçµãåŸã®æ¹ãæžç±ã®å 容ã®çŽåŸæãé«ããªãã ãããšãã倿ã§ããã®æ®µéã§ã®å®æœãšãªããŸããã ãã®åŸãäžéå ±åäŒã«åããããã¥ã¡ã³ããŒã·ã§ã³ç ä¿®ãšãã¬ãŒã³ããŒã·ã§ã³ç ä¿®ãè¡ããŸãããä»äºãé²ããŠããäžã§ã¯ãèæ¯ãç®çãæ£ããã¹ããŒã¯ãã«ããŒãžå ±æããªããé²ããŠããããšãå¿ èŠã§ãäŒãããããšãé©åã«æç« ãšããŠæŽçããä»è ãžåãããããäŒããŠããããšãæ±ããããŸããäžéå ±åäŒã§ã¯ããããã£ãããšãæèããªãããããŸã§ã®ç ä¿®ã§ãã£ãŠããããšãææãåŠã³ãã¬ããŒãã«ãŸãšãããããã¯ãéçºå®€ã®å®€é·ãšå¯å®€é·ãã¡ã³ã¿ãŒé£ã®åã§ãã¬ãŒã³ããŒã·ã§ã³ããŠå ±åããŸããã ãã§ãŒãº 3ïŒäºæ¥éš OJT 1.代衚åç· åœ¹å»åž« è±ç°ã®è¬çŸ© æ¥æ¬ã«ãããå»çå¶åºŠã®èª²é¡ãšããã«å¯Ÿããã¡ãã¬ãŒã®äœçœ®ä»ãã«ã€ããŠã®è¬çŸ© 2.ãžã§ãã¡ãã¬ãŒéçº OJT ãžã§ãã¡ãã¬ãŒã®å®éã®éçº Issue ã«å¯Ÿå¿ãããžã§ãã¡ãã¬ãŒã®éçºããã»ã¹ãäœéš ãã§ãŒãº 3 ã®æåã¯è±ç°ä»£è¡šã®è¬çŸ©ãåããŸãããåºç€çãªç ä¿®ãçµãããžã§ãã¡ãã¬ãŒéçº OJT ã«å ¥ãåã«ã¡ãã¬ãŒç€Ÿã®ç€ŸäŒçæçŸ©ãªã©ãæ¹ããŠä»£è¡šããäŒããŠããã ããŸããã ç¶ããŠããžã§ãã¡ãã¬ãŒéçº OJT ã¯ä»¥äžã®çããæã£ãŠé²ããŸããã ãžã§ãã¡ãã¬ãŒéçº OJT ã®çã å®éã«è¡ã£ãããšã¯ãæå§ãã«å°ããäžå ·åç³» Issue ã®å¯Ÿå¿ã«åãçµãã åŸããµãŒããŒã¬ã¹ãã³ã¹æ¹åã® Issue ã«åãçµããšãããã®ã§ããã ãµãŒããŒã¬ã¹ãã³ã¹ã®æ¹åã¯ã1 人 1 ç»é¢ãæ åœããããããã¡ã€ã«ããŒã«ã§åæ â æ¹åã§ããããªç®æãèª¿æ» â æ¹åæ¹éã®æ€èš â ææ¡ â å®è£ â ã¬ãã¥ãŒ â ãªãªãŒã¹ããšãããµã€ã¯ã«ãåããŸããã 1 ã€ç®ã® Issue 察å¿ã§ãå¿æããããšã§ãããèšããããã®ãå®è£ ããã®ã§ã¯ãªãã ãã課é¡ã解決ããããã«ã©ããããè¯ãããèªåã§äž»äœçã«èããããšãéèŠããŸãããå®è£ åãšåãããã課é¡è§£æ±ºåã倧åã«ããŠããããã§ãã ãšã¯ããææãäœãåºããªããšããã®ã¯ã粟ç¥è¡çäžè¯ããªãã®ã§ãæ¥ã ã®æäŒãšå€äŒã«ãŠé²æãç¶æ³ããã£ãã確èªããªããé©å®ãã©ããŒãã€ã³ããããè¡ãããã³ãã«ãªããããªéå» Issue ã®ãªã³ã¯ãæž¡ããŠåèã«ããŠããã£ãããã¡ã³ã¿ãŒã®é©åãªããã¯ã¢ãããå¿ èŠã§ãã ä»åã® OJT ãéããŠå®åãç¥ãããšã§ãå®éã«ãšã³ãžãã¢ãšããŠä»äºãããã€ã¡ãŒãžã沞ããåæã«ä»äºãããäžã§è¶³ããªãããšãæç¢ºã«ãªããŸããèªåã®èª²é¡ãšåãåãããšã§ãçŽè¿ã®èªèº«ã®åŠç¿ãã©ã³ã®è»éä¿®æ£ãã§ããŸãã 課é¡ã¯ç°¡åãªãã®ã§ã¯ãããŸããã§ããããæçµçã« 1 人 1 ã€ä»¥äžã®ãµãŒããŒã¬ã¹ãã³ã¹æ¹å PR ããªãªãŒã¹ããããšãã§ããŸããã S ããã®ææ³ ãé床ããã©ãŒãã³ã¹ã®æªãã³ãŒãã«å¯Ÿããå èŠããªããžã§ã¯ããçæããããŠããªãããç¡é§ã«éä¿¡ãèµ°ãããŠããªãããªã©ãåŠã¹ããã O ããã®ææ³ ãIssue ãæ¬è³ªçã«è§£æ±ºããã¡ãã¬ãŒã®éçºå§¿å¢ã«ã€ããŠåŠãã ãIssue ã衚é¢çã«è§£æ±ºããã®ã§ã¯ãªããèæ¯ãç®çãé¢é£ããã³ãŒããªã©ã®äžæç¹ã調æ»ããååã«çè§£ã»çŽåŸããäžã§ä¿®æ£ããããšã®æèä»ããã§ããããŸããIssue ã«é¢é£ããäžéšåã®ã³ãŒããä¿®æ£ããã°è¯ããšããçãèŠéãæãããä¿®æ£ã«ãã圱é¿ç¯å²ãèæ ®ããäžã§å šäœã®æé©åãèããããšãéèŠã§ãããšåŠãã ãã ãã§ãŒãº 4ïŒæçµå ±å 1. æçµå ±åäŒ æçµå ±åäŒã®æºåãšå®æœ æåŸã®ãã§ãŒãº 4 ã§ã¯ããããŸã§ã®ç ä¿®ã§ãã£ãŠããããšãææãåŠã³ãã¬ããŒãã«ãŸãšãã圹å¡é£ã®åã§ãã¬ãŒã³ããŒã·ã§ã³ããŠå ±åããŸããã 圹å¡é£ã®åãªã®ã§ç·åŒµã¯æé«æœ®ã«ãªããŸãããèªåéãç ä¿®ãéããŠäœãåŸãŠã©ãæé·ããããä»åŸã©ããããšã³ãžãã¢ãç®æããŠããã®ãããªã©ã圹å¡é£ã®åã§ã¢ããŒã«ãã貎éãªæ©äŒãšãªããŸããã 1 人 10 åã®æ å ã§åœ¹å¡é£ã«ã©ãããæ å ±ãã©ããã衚çŸã§ãã¬ãŒã³ããŒã·ã§ã³ããããèããæ©äŒã«ããªã£ãã®ã§ãæ å ±æŽçåã衚çŸåãå¹ãããå Žã«ããªããŸããã ãããã« 2020 å¹ŽåºŠã®æ°åãšã³ãžãã¢ç ä¿®ãç¡äºçµäºããããšãã§ããŸãããæ¹ããŠãæ°åã¡ã³ããŒã®ã¿ãªãããé¢ä¿è ã®ã¿ãªããæ¬åœã«ãç²ãæ§ã§ããã æ¯ãè¿ããšãã¡ãã¬ãŒç€Ÿå¡ãšããŠã®ãã€ã³ããéçºã®åºæ¬çãªããšããã£ããã€ã³ããããã€ã€ãæ°åã¡ã³ããŒãäž»äœçã«èª²é¡è§£æ±ºã«åãçµãç ä¿®ãã§ããããã«æããŸãã å¿ èŠãªæè¡ã¹ã¿ãã¯ã 1 ãã 10 ãŸã§æåäžå¯§ã«è³æã«èœãšã蟌ã¿ãè¬çŸ©åœ¢åŒã§è¡ãç ä¿®ã身ã«ãªãããšã¯å€ãã§ããã ã¡ãã¬ãŒã®ç ä¿®ã®ãããªèª²é¡è§£æ±ºãå®äœéšããç ä¿®ã¯ããå®åã«ç¹ããå®è·µçãªç ä¿®ã ãšæããŸãã å°ãããŒããªé¢ããããããããŸãããããã®ãããªç ä¿®ãä¹ãè¶ããå»çãã«ã¹ã±ã¢åéã®èª²é¡è§£æ±ºã«åãçµã¿ããåŠçãšã³ãžãã¢ã®ã¿ãªãããå°ãã§ãèå³ãæã£ãŠããã ãããšå¹žãã§ãã ãã¡ããäžéãšã³ãžãã¢ã®æ¹ããã²ãæ°è»œã«ã話ãããŸãããã åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp
GitHub
,
Ruby on Rails
,
ã»ãã¥ãªãã£
,
èªæžäŒ
,
ãã¹ã
,
HealthTech
,
Serverless
,
èšèš
,
åŠç
,
éçºããã»ã¹
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/09/18
<![CDATA[ Fargate äžã§åãã³ã³ããã¢ããªã±ãŒã·ã§ã³ã« SessionManager ã§æ¥ç¶ãã ]]>
èªå·±çŽ¹ä» æ ªåŒäŒç€Ÿã¡ãã¬ãŒã®ãšã³ãžãã¢éªæ¬ã§ãã 9 æã«å ¥ã£ãŠãæãæ¥ãç¶ãäžãçããã¯ããããéããã§ããããã ååã®ããã°ã§ãæžããŸãããç§ã¯éç芳æŠïŒèå ïŒãè¶£å³ã§ãæ¯æ¥ã®è©Šåçµæã«äžåäžæããŠããŸãã ãã®ããã°ã®å·çæç¹ã§ã¯ã»ã»ãªãŒã°ã¯éŠäœå·šäººã«ããžãã¯ãç¹ç¯ããæ®è©Šå 50 ãåã£ãç¶æ³ã§ã®ã²ãŒã å·® 10ãåªåãç®æãéªç¥ã«ãšã£ãŠã¯å³ããç¶æ³ãšãªããŸããããæ®ãçŽæ¥å¯Ÿæ±ºããã¹ãŠåãŠã°å¯èœæ§ã¯èŠããŠããã¯ããããã¯è«Šããã«å¿æŽããããšæããŸãã æ¬¡ã®èšäºãæžãé ã«ã¯äœããã®æ±ºçãçããŠãããšæããŸãã®ã§ããã®æã«ã¯åã³ã®ã¡ãã»ãŒãžãæžããäºãé¡ã£ãŠããŸãã ã¯ããã« çªç¶ã§ãããçãã㯠Fargate ã䜿ãããªããŠããŸããïŒ ä»ãŸã§ ECS(EC2)ã§ã®éçšãã¡ã€ã³ã§ãããããžã§ãã¡ãã¬ãŒã®ã·ã¹ãã ã§ã Fargate ã«è§Šããæ©äŒãå¢ããŠããŸããã çè èªèº«ã¯åããŠã® Fargate ã§ããããEC2 ã®ååšãç¡ããªãããšã«äžæè°ãªæèŠãèŠãã€ã€ãã管çãããã®ãæžã£ãŠéçšã楜ã«ãªã£ããšå®æããŠããŸãã ããããEC2 ãç¡ããªã£ãäºã«ãããµãŒãå ã«ã¿ãŒããã«ã§å ¥ãææ®µã倱ããŸããã å ¬åŒã® ã¬ã€ã ã§ã¯ 質åïŒïŒã³ã³ããã®äžã« ssh ã docker exec ã§å ¥ãããšã¯åºæ¥ãŸããïŒ ãã¡ãçŸç¶ãµããŒãããŠãããŸããããã³ã³ããã¯ãŒã¯ããŒãã§ã¯ã åäžã®ç°å¢ã§ãã£ãããã¹ããè¡ã ãããšãã ãã°ãå€éšã«å šãŠåºã ãããšããã¹ããã©ã¯ãã£ã¹ãšãããŠããŠãã³ã³ããã«å ¥ãå¿ èŠæ§ãåºæ¥ãéãæžããæ¹ãå°æ¥çã«ã奜ãŸããã§ãã ãšãäºåã«ãã¹ããååã«å®æœãããããã°ã¯(S3 ã CloudWatchLogs ãªã©)å€éšã«åºåããã ããåºæ¥ãŠããã°å ¥ãå¿ èŠãç¡ãã¯ããšèšèŒãããŠãããã®ã®ã»ã»ã»å¿é æ§ãªèªåã¯äžæž¬ã®äºæ ãçºçããæã®äºãèããŠãµãŒãã«å ¥ãææ®µãæ±ããŠããŸããŸãã ããã§ä»£æ¿ææ®µã暡玢ããŠããæã SessionManager ã䜿ãã°å¯èœãšã®æç®ãèŠã€ããŸããã ãã§ã« SessionManager èªäœã¯ EC2 ã«å¯ŸããŠéçšãè¡ã£ãŠããããå°å ¥ã®æ·å± ã¯äœããšèãããã®ææ®µãæ¡çšããããšã«ããŸããã Session Manager ãšã¯ïŒ Session Manager ãšã¯ AWS ã® Systems Manager ãµãŒãã¹ã® 1 æ©èœã§ãAWS äžã§ç®¡çããŠãããµãŒãïŒãããŒãžãã€ã³ã¹ã¿ã³ã¹ïŒã«å¯ŸããŠã¿ãŒããã«ã®ã¢ã¯ã»ã¹ãå¯èœã«ãããã®ã§ãã ã¿ãŒããã«ãžã®ã¢ã¯ã»ã¹ææ®µã¯ãããããææ®µã ãš SSH ããããŸãã ãã®æ¹æ³ã¯ SSH ããŒããå€éšã«éæŸããå¿ èŠãããããæ»æã®å¯Ÿè±¡ã«ãªãããããããŸã奜ãŸãããããŸããã ããã«æ¯ã¹ãŠ Session Manager 㯠SSH ããŒãã®éæŸã¯äžèŠã§ãµãŒãããèŠãŠã¢ãŠãããŠã³ãæ¹åã® HTTPS éä¿¡ã®ç¢ºä¿ã§æžãçºãå€éšããã®æ»æãåããå®å šã«ã¢ã¯ã»ã¹çµè·¯ã®ç¢ºä¿ãå®çŸã§ããŸãã â»éä¿¡çµè·¯ã®ç¢ºä¿ä»¥å€ã«ã IAM ããŒã«ã®èšå®ãªã©ãå¿ èŠãšãªããŸãã詳ãã㯠ãã¡ã ãåè ãAWS äžã§ç®¡çããŠãããµãŒãããšå ã«èšèŒããŸãããããã®ãµãŒã㯠EC2 ã€ã³ã¹ã¿ã³ã¹ã«éããªãã®ãæ¬èšäºã®éèŠãªãã€ã³ãã«ãªããŸãã ãªã³ãã¬ãã¹ãªãµãŒãã AWS äžã§ç®¡çãããŠããã®ã§ããã°ãSessionManager ãšãŒãžã§ã³ããã€ã³ã¹ããŒã«ããäºã«ãã管ç察象ã«å«ããããšãå¯èœã«ãªãã®ã§ãã ä»å㯠EC2 ã§åããŠãã SessionManager ãšãŒãžã§ã³ãã Fargate ã§åãã³ã³ããã«ã€ã³ã¹ããŒã«ããäºã«ããã³ã³ããèªäœããµãŒããšèŠç«ãŠãŠãããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããSessionManager ã§ã¢ã¯ã»ã¹ããäºãç®æããŸãã å¯Ÿå¿ Systems Manager ã€ã³ã¹ã¿ã³ã¹æ ãã¹ã¿ã³ããŒãããã¢ããã³ã¹ãã«å€æŽãã ïŒ AWS ã³ã³ãœãŒã«ã§ã®èšå® ãªã³ãã¬ãã¹ãªãµãŒãã« SessionManager ã«ãŠã¢ã¯ã»ã¹ããå ŽåãSystems Manager ã®ãªã³ãã¬ãã¹ã€ã³ã¹ã¿ã³ã¹ãã£ã¢ã ã¹ã¿ã³ããŒãããã¢ããã³ã¹ããžãšå€æŽããå¿ èŠ ããããŸãã ãã®å€æŽäœæ¥ã¯ AWS ã³ã³ãœãŒã«ããè¡ãäºã«ãªããŸãããã¢ããã³ã¹ããžã®å€æŽã«åœãã£ãŠæ¢åã®ãããŒãžãã€ã³ã¹ã¿ã³ã¹ã«åœ±é¿ããããšã¯ãããŸããã ãã ãããã®éã®å Žåãã¹ã¿ã³ããŒãã«æ»ãéã«ã¯èæ ®ãå¿ èŠãšãªãã®ã§ ãã¡ã ãåç §ãã ããã SSM Agent ã®ã€ã³ã¹ããŒã« ïŒ ã³ã³ããã«å¯Ÿããèšå® ããããã¯å®éã«åãã³ã³ããã«å¯Ÿããèšå®ã«ãªããŸãã AWS ã®ããã¥ã¡ã³ã æåã§ã€ã³ã¹ããŒã« SSM ãšãŒãžã§ã³ã EC2 ã§ Linux ã®ã€ã³ã¹ã¿ã³ã¹ ãåèã«ãOS ã«åã£ãæ¹æ³ã§ SessionManager ãšãŒãžã§ã³ãã®ã€ã³ã¹ããŒã«ãè¡ããŸãã ã€ã³ã¹ããŒã«äœæ¥ã«ã¯éä¿¡ãªã©ã®æéãå¿ èŠãšãªãã®ã§ãäºåã«ã³ã³ããã€ã¡ãŒãžã«ã€ã³ã¹ããŒã«ãã圢ãšããŸããã ã³ã³ããããããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããŠç»é²ãã ïŒ ã³ã³ããã«å¯Ÿããèšå® ã³ã³ããããããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããŠç»é²ãããããã³ã³ããã®ã¹ã¿ãŒãã¢ãã(Entrypoint)ã«ãŠäžèšã¹ã¯ãªãããå®è¡ããŸãã # 1. ãã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ã®äœæ SSM_ACTIVATE_INFO = ` aws ssm create-activation --iam-role service-role/AmazonEC2RunCommandRoleForManagedInstances --registration-limit 1 --region ap-northeast-1 --default-instance-name medley-blog-fargate-container` # 2. ã¢ãŠããããããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ã®æœåº SSM_ACTIVATE_CODE = ` echo $SSM_ACTIVATE_INFO | jq -r '.ActivationCode'` SSM_ACTIVATE_ID = ` echo $SSM_ACTIVATE_INFO | jq -r '.ActivationId'` # 3. ã³ã³ããèªèº«ããããŒãžãã€ã³ã¹ã¿ã³ã¹ãžã®ç»é² amazon-ssm-agent -register -code $SSM_ACTIVATE_CODE -id $SSM_ACTIVATE_ID -region "ap-northeast-1" # 4. SessionManager ãšãŒãžã§ã³ãã®èµ·å amazon-ssm-agent & ãããã®ã³ãã³ãã«ã€ããŠã¯åè¡ããšã«èª¬æããŸã 1.ãã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ã®äœæ ãããŒãžãã€ã³ã¹ã¿ã³ã¹ç»é²ã«å¿ èŠãªã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ååŸã®ããããã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ã®ç»é²ãè¡ããŸãã åŸã AWS ã³ã³ãœãŒã«ã«ãŠã€ã³ã¹ã¿ã³ã¹ã®èå¥ãã§ããããã«ã --default-instance-name ãªãã·ã§ã³ã«ãŠ medley-blog-fargate-container ãšããååãä»äžããŠããŸãã ãã®ã³ãã³ãã®ã¢ãŠããããã«ãŠäžèšã®ãã㪠JSON ãè¿ãããçºãäžæŠå€æ°ã«æ ŒçŽããŠããŸãã { "ActivationId" : "<<ã¢ã¯ãã£ããŒã·ã§ã³ ID>>", "ActivationCode": "<<ã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã>>" } ãŸã --iam-role ãªãã·ã§ã³ã§ãµãŒãã¹ããŒã« AmazonEC2RunCommandRoleForManagedInstances ã䜿ã£ãŠããŸãã ãã®ããŒã«ããŸã ååšããªãå ŽåãAWS ã³ã³ãœãŒã«ãããã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ãã IAM ããŒã« âãå¿ èŠãªæš©éãåããã·ã¹ãã ã®ããã©ã«ãã³ãã³ãå®è¡ããŒã«ãäœæãã«ããäœæããŠãã ããã 2. ã¢ãŠããããããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ã®æœåº åé ã®ã¢ãŠããããããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ãåã ã®å€æ°ã«åé¢ããŠããŸãã 3. ã³ã³ããèªèº«ããããŒãžãã€ã³ã¹ã¿ã³ã¹ãžã®ç»é² ååŸããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ãå©çšããã³ã³ããèªèº«ããããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããŠç»é²ããŸãã ç°å¢å€æ° AWS_DEFAULT_REGION ã®ããã« AWS ã® Credential ã«ãŠããã©ã«ãã® Region èšå®ããã£ãå Žåã§ãããã®ã³ãã³ãã§ã¯ãªãã·ã§ã³ã§ Region æå®ãå¿ é ãšãªãã®ã§ã泚æãã ããã 4. SessionManager ãšãŒãžã§ã³ãã®èµ·å æåŸã« SessionManager ãšãŒãžã§ã³ããèµ·åããŸãã ããã«ãã AWS ãšã®éä¿¡ã確ç«ãããSessionManager ãå©çšã§ããããã«ãªããŸãã ãã®ç¶æ ã§ãããŒãžãã€ã³ã¹ã¿ã³ã¹ç»é¢ã«ãŠç®çã®ã€ã³ã¹ã¿ã³ã¹ãããªã³ã©ã€ã³ãã§ããã°èšå®ãå®äºã§ãã æ¥ç¶ç¢ºèª èšå®ãå®äºããã®ã§ãå®éã« SessionManager ã«ãŠæ¥ç¶ããŠã¿ãŸãã AWS ã³ã³ãœãŒã«ã®ã»ãã·ã§ã³ãããŒãžã£ããã»ãã·ã§ã³ã®éå§ãéžæããååãäºåã«ç»é²ãã medley-blog-fargate-container ã§ãããã®ãéžæããŸãã å€èŠã¯ä»ã® EC2 ãšå€ãããªã衚瀺ã§ããããã®ææ®µã§ç»é²ãããã®ã¯ã€ã³ã¹ã¿ã³ã¹ ID ã mi ããå§ãŸã ID ã«ãªããŸã(éåžžã® EC2 㯠i ããå§ãŸã ID)ã åŸã¯æ®æ®µéãã«ã»ãã·ã§ã³ãéå§ãããšã³ã³ããå ãžã®ã¢ã¯ã»ã¹ãéå§ãããŸãã ããã§ EC2 ã®ç¡ã Fargate äžã®ã³ã³ããã«å¯ŸããŠãã¿ãŒããã«ã«å ¥ãããšãã§ããŸããã éçšããŠã¿ãŠã®ææ³ Fargate äžã®ã³ã³ããã«çŽæ¥å ¥ãããšã«ãããä»ãŸã§åºæ¥ãªãã£ã top ã³ãã³ãã«ããããã»ã¹ç¶æ ã®ç¢ºèª df ã³ãã³ãã«ãã Disk 容éã®ç¢ºèª ãªã©ã®ç°å¢èª¿æ»ãåºæ¥ãããã«ãªããŸããã å©çšé »åºŠãå€ãèš³ã§ã¯ãããŸãããã調æ»ã®éžæè¢ãå¢ããäºã«ããæäºã®éã®æ©æå¯Ÿå¿ã«ç¹ãããããŠãããšæããŠããŸãã æ³šæç¹ ããããã¯éçšã«åœãã£ãŠã®æ³šæç¹ã«ã€ããŠæ°ç¹ç޹ä»ããŸãã æé EC2 ã§ã® SessionManager ãšéãã ãã®æ¹æ³ã§ç»é²ãããµãŒããžã® SessionManager éä¿¡ã¯æéãçºçããŸã ã æ£ç¢ºã«ã¯ ãSessionManager ãšãŒãžã§ã³ããèµ·åã AWS ãšéä¿¡ã確ç«ããŠããç¶æ ã ã§ã®æé課éã§ SessionManager ã§ã®æ¥ç¶æç¡ã¯åããŸããã ãã£ãŠãåžžæå¿ èŠã§ã¯ãªãå Žå㯠SessionManager ãšãŒãžã§ã³ããæ¢ããŠç¯çŽããæ¹æ³ãæ€èšããŠãã ããã ã¢ã¯ãã£ããŒã·ã§ã³ããããŒãžãã€ã³ã¹ã¿ã³ã¹ããªã¹ãã«æ®ã ã³ã³ããçµäºæã§ã AWS ã³ã³ãœãŒã«ã®ãã€ããªããã¢ã¯ãã£ããŒã·ã§ã³äžèЧããããŒãžãã€ã³ã¹ã¿ã³ã¹äžèЧã«è¡šç€ºãæ®ã£ãŠããŸãããã§ãã äžèЧã®äžéã®èšèŒã¯èŠã€ãããªãã£ããã®ã®ãç¡éã«å¢ãããšãæããªãã®ã§é©æ Lambda ã䜿ã£ãŠåé€ããŠããŸãã SessionManager ã§ã®æäœã«ã€ã㊠EC2 ã€ã³ã¹ã¿ã³ã¹ã«å¯ŸããŠã® SessionManager ãšåæ§ã§ãããã»ãã·ã§ã³éå§çŽåŸã®ãŠãŒã¶ã¯ ssm-user åºå®ã«ãªãããã§ãã ç¹å®ãŠãŒã¶ã§ã®æäœãå¿ èŠãšãªãå Žåã su ã³ãã³ãã§ã®ãŠãŒã¶åãæ¿ããå¿ èŠã«ãªããŸãã ãããã« ä»åã®ããã«ã¡ãã¬ãŒã§ã¯æ°ããªæè¡ãåãå ¥ãã€ã€ããµãŒãã¹ã®å®å®ãç®çãšããæ§ã ãªæœçãå°å ¥ããŠããŸãã ãããã£ãåãæ¹ã«èå³ãæãããæ¹ããŸãã¯äžèšãªã³ã¯ãããæ°è»œã«ã話ããŸãããïŒ åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp
AWS
,
Linux
,
ã¹ã¿ãŒãã¢ãã
,
ãã¹ã
,
ã²ãŒã
,
ãªã³ãã¬ãã¹
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/09/18
<![CDATA[ Fargate äžã§åãã³ã³ããã¢ããªã±ãŒã·ã§ã³ã« SessionManager ã§æ¥ç¶ãã ]]>
èªå·±çŽ¹ä» æ ªåŒäŒç€Ÿã¡ãã¬ãŒã®ãšã³ãžãã¢éªæ¬ã§ãã 9 æã«å ¥ã£ãŠãæãæ¥ãç¶ãäžãçããã¯ããããéããã§ããããã ååã®ããã°ã§ãæžããŸãããç§ã¯éç芳æŠïŒèå ïŒãè¶£å³ã§ãæ¯æ¥ã®è©Šåçµæã«äžåäžæããŠããŸãã ãã®ããã°ã®å·çæç¹ã§ã¯ã»ã»ãªãŒã°ã¯éŠäœå·šäººã«ããžãã¯ãç¹ç¯ããæ®è©Šå 50 ãåã£ãç¶æ³ã§ã®ã²ãŒã å·® 10ãåªåãç®æãéªç¥ã«ãšã£ãŠã¯å³ããç¶æ³ãšãªããŸããããæ®ãçŽæ¥å¯Ÿæ±ºããã¹ãŠåãŠã°å¯èœæ§ã¯èŠããŠããã¯ããããã¯è«Šããã«å¿æŽããããšæããŸãã æ¬¡ã®èšäºãæžãé ã«ã¯äœããã®æ±ºçãçããŠãããšæããŸãã®ã§ããã®æã«ã¯åã³ã®ã¡ãã»ãŒãžãæžããäºãé¡ã£ãŠããŸãã ã¯ããã« çªç¶ã§ãããçãã㯠Fargate ã䜿ãããªããŠããŸããïŒ ä»ãŸã§ ECS(EC2)ã§ã®éçšãã¡ã€ã³ã§ãããããžã§ãã¡ãã¬ãŒã®ã·ã¹ãã ã§ã Fargate ã«è§Šããæ©äŒãå¢ããŠããŸããã çè èªèº«ã¯åããŠã® Fargate ã§ããããEC2 ã®ååšãç¡ããªãããšã«äžæè°ãªæèŠãèŠãã€ã€ãã管çãããã®ãæžã£ãŠéçšã楜ã«ãªã£ããšå®æããŠããŸãã ããããEC2 ãç¡ããªã£ãäºã«ãããµãŒãå ã«ã¿ãŒããã«ã§å ¥ãææ®µã倱ããŸããã å ¬åŒã® ã¬ã€ã ã§ã¯ 質åïŒïŒã³ã³ããã®äžã« ssh ã docker exec ã§å ¥ãããšã¯åºæ¥ãŸããïŒ ãã¡ãçŸç¶ãµããŒãããŠãããŸããããã³ã³ããã¯ãŒã¯ããŒãã§ã¯ã åäžã®ç°å¢ã§ãã£ãããã¹ããè¡ã ãããšãã ãã°ãå€éšã«å šãŠåºã ãããšããã¹ããã©ã¯ãã£ã¹ãšãããŠããŠãã³ã³ããã«å ¥ãå¿ èŠæ§ãåºæ¥ãéãæžããæ¹ãå°æ¥çã«ã奜ãŸããã§ãã ãšãäºåã«ãã¹ããååã«å®æœãããããã°ã¯(S3 ã CloudWatchLogs ãªã©)å€éšã«åºåããã ããåºæ¥ãŠããã°å ¥ãå¿ èŠãç¡ãã¯ããšèšèŒãããŠãããã®ã®ã»ã»ã»å¿é æ§ãªèªåã¯äžæž¬ã®äºæ ãçºçããæã®äºãèããŠãµãŒãã«å ¥ãææ®µãæ±ããŠããŸããŸãã ããã§ä»£æ¿ææ®µã暡玢ããŠããæã SessionManager ã䜿ãã°å¯èœãšã®æç®ãèŠã€ããŸããã ãã§ã« SessionManager èªäœã¯ EC2 ã«å¯ŸããŠéçšãè¡ã£ãŠããããå°å ¥ã®æ·å± ã¯äœããšèãããã®ææ®µãæ¡çšããããšã«ããŸããã Session Manager ãšã¯ïŒ Session Manager ãšã¯ AWS ã® Systems Manager ãµãŒãã¹ã® 1 æ©èœã§ãAWS äžã§ç®¡çããŠãããµãŒãïŒãããŒãžãã€ã³ã¹ã¿ã³ã¹ïŒã«å¯ŸããŠã¿ãŒããã«ã®ã¢ã¯ã»ã¹ãå¯èœã«ãããã®ã§ãã ã¿ãŒããã«ãžã®ã¢ã¯ã»ã¹ææ®µã¯ãããããææ®µã ãš SSH ããããŸãã ãã®æ¹æ³ã¯ SSH ããŒããå€éšã«éæŸããå¿ èŠãããããæ»æã®å¯Ÿè±¡ã«ãªãããããããŸã奜ãŸãããããŸããã ããã«æ¯ã¹ãŠ Session Manager 㯠SSH ããŒãã®éæŸã¯äžèŠã§ãµãŒãããèŠãŠã¢ãŠãããŠã³ãæ¹åã® HTTPS éä¿¡ã®ç¢ºä¿ã§æžãçºãå€éšããã®æ»æãåããå®å šã«ã¢ã¯ã»ã¹çµè·¯ã®ç¢ºä¿ãå®çŸã§ããŸãã â»éä¿¡çµè·¯ã®ç¢ºä¿ä»¥å€ã«ã IAM ããŒã«ã®èšå®ãªã©ãå¿ èŠãšãªããŸãã詳ãã㯠ãã¡ã ãåè ãAWS äžã§ç®¡çããŠãããµãŒãããšå ã«èšèŒããŸãããããã®ãµãŒã㯠EC2 ã€ã³ã¹ã¿ã³ã¹ã«éããªãã®ãæ¬èšäºã®éèŠãªãã€ã³ãã«ãªããŸãã ãªã³ãã¬ãã¹ãªãµãŒãã AWS äžã§ç®¡çãããŠããã®ã§ããã°ãSessionManager ãšãŒãžã§ã³ããã€ã³ã¹ããŒã«ããäºã«ãã管ç察象ã«å«ããããšãå¯èœã«ãªãã®ã§ãã ä»å㯠EC2 ã§åããŠãã SessionManager ãšãŒãžã§ã³ãã Fargate ã§åãã³ã³ããã«ã€ã³ã¹ããŒã«ããäºã«ããã³ã³ããèªäœããµãŒããšèŠç«ãŠãŠãããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããSessionManager ã§ã¢ã¯ã»ã¹ããäºãç®æããŸãã å¯Ÿå¿ Systems Manager ã€ã³ã¹ã¿ã³ã¹æ ãã¹ã¿ã³ããŒãããã¢ããã³ã¹ãã«å€æŽãã ïŒ AWS ã³ã³ãœãŒã«ã§ã®èšå® ãªã³ãã¬ãã¹ãªãµãŒãã« SessionManager ã«ãŠã¢ã¯ã»ã¹ããå ŽåãSystems Manager ã®ãªã³ãã¬ãã¹ã€ã³ã¹ã¿ã³ã¹ãã£ã¢ã ã¹ã¿ã³ããŒãããã¢ããã³ã¹ããžãšå€æŽããå¿ èŠ ããããŸãã ãã®å€æŽäœæ¥ã¯ AWS ã³ã³ãœãŒã«ããè¡ãäºã«ãªããŸãããã¢ããã³ã¹ããžã®å€æŽã«åœãã£ãŠæ¢åã®ãããŒãžãã€ã³ã¹ã¿ã³ã¹ã«åœ±é¿ããããšã¯ãããŸããã ãã ãããã®éã®å Žåãã¹ã¿ã³ããŒãã«æ»ãéã«ã¯èæ ®ãå¿ èŠãšãªãã®ã§ ãã¡ã ãåç §ãã ããã SSM Agent ã®ã€ã³ã¹ããŒã« ïŒ ã³ã³ããã«å¯Ÿããèšå® ããããã¯å®éã«åãã³ã³ããã«å¯Ÿããèšå®ã«ãªããŸãã AWS ã®ããã¥ã¡ã³ã æåã§ã€ã³ã¹ããŒã« SSM ãšãŒãžã§ã³ã EC2 ã§ Linux ã®ã€ã³ã¹ã¿ã³ã¹ ãåèã«ãOS ã«åã£ãæ¹æ³ã§ SessionManager ãšãŒãžã§ã³ãã®ã€ã³ã¹ããŒã«ãè¡ããŸãã ã€ã³ã¹ããŒã«äœæ¥ã«ã¯éä¿¡ãªã©ã®æéãå¿ èŠãšãªãã®ã§ãäºåã«ã³ã³ããã€ã¡ãŒãžã«ã€ã³ã¹ããŒã«ãã圢ãšããŸããã ã³ã³ããããããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããŠç»é²ãã ïŒ ã³ã³ããã«å¯Ÿããèšå® ã³ã³ããããããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããŠç»é²ãããããã³ã³ããã®ã¹ã¿ãŒãã¢ãã(Entrypoint)ã«ãŠäžèšã¹ã¯ãªãããå®è¡ããŸãã # 1. ãã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ã®äœæ SSM_ACTIVATE_INFO = ` aws ssm create-activation --iam-role service-role/AmazonEC2RunCommandRoleForManagedInstances --registration-limit 1 --region ap-northeast-1 --default-instance-name medley-blog-fargate-container` # 2. ã¢ãŠããããããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ã®æœåº SSM_ACTIVATE_CODE = ` echo $SSM_ACTIVATE_INFO | jq -r '.ActivationCode'` SSM_ACTIVATE_ID = ` echo $SSM_ACTIVATE_INFO | jq -r '.ActivationId'` # 3. ã³ã³ããèªèº«ããããŒãžãã€ã³ã¹ã¿ã³ã¹ãžã®ç»é² amazon-ssm-agent -register -code $SSM_ACTIVATE_CODE -id $SSM_ACTIVATE_ID -region "ap-northeast-1" # 4. SessionManager ãšãŒãžã§ã³ãã®èµ·å amazon-ssm-agent & ãããã®ã³ãã³ãã«ã€ããŠã¯åè¡ããšã«èª¬æããŸã 1.ãã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ã®äœæ ãããŒãžãã€ã³ã¹ã¿ã³ã¹ç»é²ã«å¿ èŠãªã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ååŸã®ããããã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ã®ç»é²ãè¡ããŸãã åŸã AWS ã³ã³ãœãŒã«ã«ãŠã€ã³ã¹ã¿ã³ã¹ã®èå¥ãã§ããããã«ã --default-instance-name ãªãã·ã§ã³ã«ãŠ medley-blog-fargate-container ãšããååãä»äžããŠããŸãã ãã®ã³ãã³ãã®ã¢ãŠããããã«ãŠäžèšã®ãã㪠JSON ãè¿ãããçºãäžæŠå€æ°ã«æ ŒçŽããŠããŸãã { "ActivationId" : "<<ã¢ã¯ãã£ããŒã·ã§ã³ ID>>", "ActivationCode": "<<ã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã>>" } ãŸã --iam-role ãªãã·ã§ã³ã§ãµãŒãã¹ããŒã« AmazonEC2RunCommandRoleForManagedInstances ã䜿ã£ãŠããŸãã ãã®ããŒã«ããŸã ååšããªãå ŽåãAWS ã³ã³ãœãŒã«ãããã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ãã IAM ããŒã« âãå¿ èŠãªæš©éãåããã·ã¹ãã ã®ããã©ã«ãã³ãã³ãå®è¡ããŒã«ãäœæãã«ããäœæããŠãã ããã 2. ã¢ãŠããããããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ã®æœåº åé ã®ã¢ãŠããããããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ãåã ã®å€æ°ã«åé¢ããŠããŸãã 3. ã³ã³ããèªèº«ããããŒãžãã€ã³ã¹ã¿ã³ã¹ãžã®ç»é² ååŸããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ãå©çšããã³ã³ããèªèº«ããããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããŠç»é²ããŸãã ç°å¢å€æ° AWS_DEFAULT_REGION ã®ããã« AWS ã® Credential ã«ãŠããã©ã«ãã® Region èšå®ããã£ãå Žåã§ãããã®ã³ãã³ãã§ã¯ãªãã·ã§ã³ã§ Region æå®ãå¿ é ãšãªãã®ã§ã泚æãã ããã 4. SessionManager ãšãŒãžã§ã³ãã®èµ·å æåŸã« SessionManager ãšãŒãžã§ã³ããèµ·åããŸãã ããã«ãã AWS ãšã®éä¿¡ã確ç«ãããSessionManager ãå©çšã§ããããã«ãªããŸãã ãã®ç¶æ ã§ãããŒãžãã€ã³ã¹ã¿ã³ã¹ç»é¢ã«ãŠç®çã®ã€ã³ã¹ã¿ã³ã¹ãããªã³ã©ã€ã³ãã§ããã°èšå®ãå®äºã§ãã æ¥ç¶ç¢ºèª èšå®ãå®äºããã®ã§ãå®éã« SessionManager ã«ãŠæ¥ç¶ããŠã¿ãŸãã AWS ã³ã³ãœãŒã«ã®ã»ãã·ã§ã³ãããŒãžã£ããã»ãã·ã§ã³ã®éå§ãéžæããååãäºåã«ç»é²ãã medley-blog-fargate-container ã§ãããã®ãéžæããŸãã å€èŠã¯ä»ã® EC2 ãšå€ãããªã衚瀺ã§ããããã®ææ®µã§ç»é²ãããã®ã¯ã€ã³ã¹ã¿ã³ã¹ ID ã mi ããå§ãŸã ID ã«ãªããŸã(éåžžã® EC2 㯠i ããå§ãŸã ID)ã åŸã¯æ®æ®µéãã«ã»ãã·ã§ã³ãéå§ãããšã³ã³ããå ãžã®ã¢ã¯ã»ã¹ãéå§ãããŸãã ããã§ EC2 ã®ç¡ã Fargate äžã®ã³ã³ããã«å¯ŸããŠãã¿ãŒããã«ã«å ¥ãããšãã§ããŸããã éçšããŠã¿ãŠã®ææ³ Fargate äžã®ã³ã³ããã«çŽæ¥å ¥ãããšã«ãããä»ãŸã§åºæ¥ãªãã£ã top ã³ãã³ãã«ããããã»ã¹ç¶æ ã®ç¢ºèª df ã³ãã³ãã«ãã Disk 容éã®ç¢ºèª ãªã©ã®ç°å¢èª¿æ»ãåºæ¥ãããã«ãªããŸããã å©çšé »åºŠãå€ãèš³ã§ã¯ãããŸãããã調æ»ã®éžæè¢ãå¢ããäºã«ããæäºã®éã®æ©æå¯Ÿå¿ã«ç¹ãããããŠãããšæããŠããŸãã æ³šæç¹ ããããã¯éçšã«åœãã£ãŠã®æ³šæç¹ã«ã€ããŠæ°ç¹ç޹ä»ããŸãã æé EC2 ã§ã® SessionManager ãšéãã ãã®æ¹æ³ã§ç»é²ãããµãŒããžã® SessionManager éä¿¡ã¯æéãçºçããŸã ã æ£ç¢ºã«ã¯ ãSessionManager ãšãŒãžã§ã³ããèµ·åã AWS ãšéä¿¡ã確ç«ããŠããç¶æ ã ã§ã®æé課éã§ SessionManager ã§ã®æ¥ç¶æç¡ã¯åããŸããã ãã£ãŠãåžžæå¿ èŠã§ã¯ãªãå Žå㯠SessionManager ãšãŒãžã§ã³ããæ¢ããŠç¯çŽããæ¹æ³ãæ€èšããŠãã ããã ã¢ã¯ãã£ããŒã·ã§ã³ããããŒãžãã€ã³ã¹ã¿ã³ã¹ããªã¹ãã«æ®ã ã³ã³ããçµäºæã§ã AWS ã³ã³ãœãŒã«ã®ãã€ããªããã¢ã¯ãã£ããŒã·ã§ã³äžèЧããããŒãžãã€ã³ã¹ã¿ã³ã¹äžèЧã«è¡šç€ºãæ®ã£ãŠããŸãããã§ãã äžèЧã®äžéã®èšèŒã¯èŠã€ãããªãã£ããã®ã®ãç¡éã«å¢ãããšãæããªãã®ã§é©æ Lambda ã䜿ã£ãŠåé€ããŠããŸãã SessionManager ã§ã®æäœã«ã€ã㊠EC2 ã€ã³ã¹ã¿ã³ã¹ã«å¯ŸããŠã® SessionManager ãšåæ§ã§ãããã»ãã·ã§ã³éå§çŽåŸã®ãŠãŒã¶ã¯ ssm-user åºå®ã«ãªãããã§ãã ç¹å®ãŠãŒã¶ã§ã®æäœãå¿ èŠãšãªãå Žåã su ã³ãã³ãã§ã®ãŠãŒã¶åãæ¿ããå¿ èŠã«ãªããŸãã ãããã« ä»åã®ããã«ã¡ãã¬ãŒã§ã¯æ°ããªæè¡ãåãå ¥ãã€ã€ããµãŒãã¹ã®å®å®ãç®çãšããæ§ã ãªæœçãå°å ¥ããŠããŸãã ãããã£ãåãæ¹ã«èå³ãæãããæ¹ããŸãã¯äžèšãªã³ã¯ãããæ°è»œã«ã話ããŸãããïŒ åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp
AWS
,
Linux
,
ã¹ã¿ãŒãã¢ãã
,
ãã¹ã
,
ã²ãŒã
,
ãªã³ãã¬ãã¹
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/09/18
<![CDATA[ Fargate äžã§åãã³ã³ããã¢ããªã±ãŒã·ã§ã³ã« SessionManager ã§æ¥ç¶ãã ]]>
èªå·±çŽ¹ä» æ ªåŒäŒç€Ÿã¡ãã¬ãŒã®ãšã³ãžãã¢éªæ¬ã§ãã 9 æã«å ¥ã£ãŠãæãæ¥ãç¶ãäžãçããã¯ããããéããã§ããããã ååã®ããã°ã§ãæžããŸãããç§ã¯éç芳æŠïŒèå ïŒãè¶£å³ã§ãæ¯æ¥ã®è©Šåçµæã«äžåäžæããŠããŸãã ãã®ããã°ã®å·çæç¹ã§ã¯ã»ã»ãªãŒã°ã¯éŠäœå·šäººã«ããžãã¯ãç¹ç¯ããæ®è©Šå 50 ãåã£ãç¶æ³ã§ã®ã²ãŒã å·® 10ãåªåãç®æãéªç¥ã«ãšã£ãŠã¯å³ããç¶æ³ãšãªããŸããããæ®ãçŽæ¥å¯Ÿæ±ºããã¹ãŠåãŠã°å¯èœæ§ã¯èŠããŠããã¯ããããã¯è«Šããã«å¿æŽããããšæããŸãã æ¬¡ã®èšäºãæžãé ã«ã¯äœããã®æ±ºçãçããŠãããšæããŸãã®ã§ããã®æã«ã¯åã³ã®ã¡ãã»ãŒãžãæžããäºãé¡ã£ãŠããŸãã ã¯ããã« çªç¶ã§ãããçãã㯠Fargate ã䜿ãããªããŠããŸããïŒ ä»ãŸã§ ECS(EC2)ã§ã®éçšãã¡ã€ã³ã§ãããããžã§ãã¡ãã¬ãŒã®ã·ã¹ãã ã§ã Fargate ã«è§Šããæ©äŒãå¢ããŠããŸããã çè èªèº«ã¯åããŠã® Fargate ã§ããããEC2 ã®ååšãç¡ããªãããšã«äžæè°ãªæèŠãèŠãã€ã€ãã管çãããã®ãæžã£ãŠéçšã楜ã«ãªã£ããšå®æããŠããŸãã ããããEC2 ãç¡ããªã£ãäºã«ãããµãŒãå ã«ã¿ãŒããã«ã§å ¥ãææ®µã倱ããŸããã å ¬åŒã® ã¬ã€ã ã§ã¯ 質åïŒïŒã³ã³ããã®äžã« ssh ã docker exec ã§å ¥ãããšã¯åºæ¥ãŸããïŒ ãã¡ãçŸç¶ãµããŒãããŠãããŸããããã³ã³ããã¯ãŒã¯ããŒãã§ã¯ã åäžã®ç°å¢ã§ãã£ãããã¹ããè¡ã ãããšãã ãã°ãå€éšã«å šãŠåºã ãããšããã¹ããã©ã¯ãã£ã¹ãšãããŠããŠãã³ã³ããã«å ¥ãå¿ èŠæ§ãåºæ¥ãéãæžããæ¹ãå°æ¥çã«ã奜ãŸããã§ãã ãšãäºåã«ãã¹ããååã«å®æœãããããã°ã¯(S3 ã CloudWatchLogs ãªã©)å€éšã«åºåããã ããåºæ¥ãŠããã°å ¥ãå¿ èŠãç¡ãã¯ããšèšèŒãããŠãããã®ã®ã»ã»ã»å¿é æ§ãªèªåã¯äžæž¬ã®äºæ ãçºçããæã®äºãèããŠãµãŒãã«å ¥ãææ®µãæ±ããŠããŸããŸãã ããã§ä»£æ¿ææ®µã暡玢ããŠããæã SessionManager ã䜿ãã°å¯èœãšã®æç®ãèŠã€ããŸããã ãã§ã« SessionManager èªäœã¯ EC2 ã«å¯ŸããŠéçšãè¡ã£ãŠããããå°å ¥ã®æ·å± ã¯äœããšèãããã®ææ®µãæ¡çšããããšã«ããŸããã Session Manager ãšã¯ïŒ Session Manager ãšã¯ AWS ã® Systems Manager ãµãŒãã¹ã® 1 æ©èœã§ãAWS äžã§ç®¡çããŠãããµãŒãïŒãããŒãžãã€ã³ã¹ã¿ã³ã¹ïŒã«å¯ŸããŠã¿ãŒããã«ã®ã¢ã¯ã»ã¹ãå¯èœã«ãããã®ã§ãã ã¿ãŒããã«ãžã®ã¢ã¯ã»ã¹ææ®µã¯ãããããææ®µã ãš SSH ããããŸãã ãã®æ¹æ³ã¯ SSH ããŒããå€éšã«éæŸããå¿ èŠãããããæ»æã®å¯Ÿè±¡ã«ãªãããããããŸã奜ãŸãããããŸããã ããã«æ¯ã¹ãŠ Session Manager 㯠SSH ããŒãã®éæŸã¯äžèŠã§ãµãŒãããèŠãŠã¢ãŠãããŠã³ãæ¹åã® HTTPS éä¿¡ã®ç¢ºä¿ã§æžãçºãå€éšããã®æ»æãåããå®å šã«ã¢ã¯ã»ã¹çµè·¯ã®ç¢ºä¿ãå®çŸã§ããŸãã â»éä¿¡çµè·¯ã®ç¢ºä¿ä»¥å€ã«ã IAM ããŒã«ã®èšå®ãªã©ãå¿ èŠãšãªããŸãã詳ãã㯠ãã¡ã ãåè ãAWS äžã§ç®¡çããŠãããµãŒãããšå ã«èšèŒããŸãããããã®ãµãŒã㯠EC2 ã€ã³ã¹ã¿ã³ã¹ã«éããªãã®ãæ¬èšäºã®éèŠãªãã€ã³ãã«ãªããŸãã ãªã³ãã¬ãã¹ãªãµãŒãã AWS äžã§ç®¡çãããŠããã®ã§ããã°ãSessionManager ãšãŒãžã§ã³ããã€ã³ã¹ããŒã«ããäºã«ãã管ç察象ã«å«ããããšãå¯èœã«ãªãã®ã§ãã ä»å㯠EC2 ã§åããŠãã SessionManager ãšãŒãžã§ã³ãã Fargate ã§åãã³ã³ããã«ã€ã³ã¹ããŒã«ããäºã«ããã³ã³ããèªäœããµãŒããšèŠç«ãŠãŠãããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããSessionManager ã§ã¢ã¯ã»ã¹ããäºãç®æããŸãã å¯Ÿå¿ Systems Manager ã€ã³ã¹ã¿ã³ã¹æ ãã¹ã¿ã³ããŒãããã¢ããã³ã¹ãã«å€æŽãã ïŒ AWS ã³ã³ãœãŒã«ã§ã®èšå® ãªã³ãã¬ãã¹ãªãµãŒãã« SessionManager ã«ãŠã¢ã¯ã»ã¹ããå ŽåãSystems Manager ã®ãªã³ãã¬ãã¹ã€ã³ã¹ã¿ã³ã¹ãã£ã¢ã ã¹ã¿ã³ããŒãããã¢ããã³ã¹ããžãšå€æŽããå¿ èŠ ããããŸãã ãã®å€æŽäœæ¥ã¯ AWS ã³ã³ãœãŒã«ããè¡ãäºã«ãªããŸãããã¢ããã³ã¹ããžã®å€æŽã«åœãã£ãŠæ¢åã®ãããŒãžãã€ã³ã¹ã¿ã³ã¹ã«åœ±é¿ããããšã¯ãããŸããã ãã ãããã®éã®å Žåãã¹ã¿ã³ããŒãã«æ»ãéã«ã¯èæ ®ãå¿ èŠãšãªãã®ã§ ãã¡ã ãåç §ãã ããã SSM Agent ã®ã€ã³ã¹ããŒã« ïŒ ã³ã³ããã«å¯Ÿããèšå® ããããã¯å®éã«åãã³ã³ããã«å¯Ÿããèšå®ã«ãªããŸãã AWS ã®ããã¥ã¡ã³ã æåã§ã€ã³ã¹ããŒã« SSM ãšãŒãžã§ã³ã EC2 ã§ Linux ã®ã€ã³ã¹ã¿ã³ã¹ ãåèã«ãOS ã«åã£ãæ¹æ³ã§ SessionManager ãšãŒãžã§ã³ãã®ã€ã³ã¹ããŒã«ãè¡ããŸãã ã€ã³ã¹ããŒã«äœæ¥ã«ã¯éä¿¡ãªã©ã®æéãå¿ èŠãšãªãã®ã§ãäºåã«ã³ã³ããã€ã¡ãŒãžã«ã€ã³ã¹ããŒã«ãã圢ãšããŸããã ã³ã³ããããããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããŠç»é²ãã ïŒ ã³ã³ããã«å¯Ÿããèšå® ã³ã³ããããããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããŠç»é²ãããããã³ã³ããã®ã¹ã¿ãŒãã¢ãã(Entrypoint)ã«ãŠäžèšã¹ã¯ãªãããå®è¡ããŸãã # 1. ãã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ã®äœæ SSM_ACTIVATE_INFO = ` aws ssm create-activation --iam-role service-role/AmazonEC2RunCommandRoleForManagedInstances --registration-limit 1 --region ap-northeast-1 --default-instance-name medley-blog-fargate-container` # 2. ã¢ãŠããããããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ã®æœåº SSM_ACTIVATE_CODE = ` echo $SSM_ACTIVATE_INFO | jq -r '.ActivationCode'` SSM_ACTIVATE_ID = ` echo $SSM_ACTIVATE_INFO | jq -r '.ActivationId'` # 3. ã³ã³ããèªèº«ããããŒãžãã€ã³ã¹ã¿ã³ã¹ãžã®ç»é² amazon-ssm-agent -register -code $SSM_ACTIVATE_CODE -id $SSM_ACTIVATE_ID -region "ap-northeast-1" # 4. SessionManager ãšãŒãžã§ã³ãã®èµ·å amazon-ssm-agent & ãããã®ã³ãã³ãã«ã€ããŠã¯åè¡ããšã«èª¬æããŸã 1.ãã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ã®äœæ ãããŒãžãã€ã³ã¹ã¿ã³ã¹ç»é²ã«å¿ èŠãªã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ååŸã®ããããã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ã®ç»é²ãè¡ããŸãã åŸã AWS ã³ã³ãœãŒã«ã«ãŠã€ã³ã¹ã¿ã³ã¹ã®èå¥ãã§ããããã«ã --default-instance-name ãªãã·ã§ã³ã«ãŠ medley-blog-fargate-container ãšããååãä»äžããŠããŸãã ãã®ã³ãã³ãã®ã¢ãŠããããã«ãŠäžèšã®ãã㪠JSON ãè¿ãããçºãäžæŠå€æ°ã«æ ŒçŽããŠããŸãã { "ActivationId" : "<<ã¢ã¯ãã£ããŒã·ã§ã³ ID>>", "ActivationCode": "<<ã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã>>" } ãŸã --iam-role ãªãã·ã§ã³ã§ãµãŒãã¹ããŒã« AmazonEC2RunCommandRoleForManagedInstances ã䜿ã£ãŠããŸãã ãã®ããŒã«ããŸã ååšããªãå ŽåãAWS ã³ã³ãœãŒã«ãããã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ãã IAM ããŒã« âãå¿ èŠãªæš©éãåããã·ã¹ãã ã®ããã©ã«ãã³ãã³ãå®è¡ããŒã«ãäœæãã«ããäœæããŠãã ããã 2. ã¢ãŠããããããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ã®æœåº åé ã®ã¢ãŠããããããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ãåã ã®å€æ°ã«åé¢ããŠããŸãã 3. ã³ã³ããèªèº«ããããŒãžãã€ã³ã¹ã¿ã³ã¹ãžã®ç»é² ååŸããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ãå©çšããã³ã³ããèªèº«ããããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããŠç»é²ããŸãã ç°å¢å€æ° AWS_DEFAULT_REGION ã®ããã« AWS ã® Credential ã«ãŠããã©ã«ãã® Region èšå®ããã£ãå Žåã§ãããã®ã³ãã³ãã§ã¯ãªãã·ã§ã³ã§ Region æå®ãå¿ é ãšãªãã®ã§ã泚æãã ããã 4. SessionManager ãšãŒãžã§ã³ãã®èµ·å æåŸã« SessionManager ãšãŒãžã§ã³ããèµ·åããŸãã ããã«ãã AWS ãšã®éä¿¡ã確ç«ãããSessionManager ãå©çšã§ããããã«ãªããŸãã ãã®ç¶æ ã§ãããŒãžãã€ã³ã¹ã¿ã³ã¹ç»é¢ã«ãŠç®çã®ã€ã³ã¹ã¿ã³ã¹ãããªã³ã©ã€ã³ãã§ããã°èšå®ãå®äºã§ãã æ¥ç¶ç¢ºèª èšå®ãå®äºããã®ã§ãå®éã« SessionManager ã«ãŠæ¥ç¶ããŠã¿ãŸãã AWS ã³ã³ãœãŒã«ã®ã»ãã·ã§ã³ãããŒãžã£ããã»ãã·ã§ã³ã®éå§ãéžæããååãäºåã«ç»é²ãã medley-blog-fargate-container ã§ãããã®ãéžæããŸãã å€èŠã¯ä»ã® EC2 ãšå€ãããªã衚瀺ã§ããããã®ææ®µã§ç»é²ãããã®ã¯ã€ã³ã¹ã¿ã³ã¹ ID ã mi ããå§ãŸã ID ã«ãªããŸã(éåžžã® EC2 㯠i ããå§ãŸã ID)ã åŸã¯æ®æ®µéãã«ã»ãã·ã§ã³ãéå§ãããšã³ã³ããå ãžã®ã¢ã¯ã»ã¹ãéå§ãããŸãã ããã§ EC2 ã®ç¡ã Fargate äžã®ã³ã³ããã«å¯ŸããŠãã¿ãŒããã«ã«å ¥ãããšãã§ããŸããã éçšããŠã¿ãŠã®ææ³ Fargate äžã®ã³ã³ããã«çŽæ¥å ¥ãããšã«ãããä»ãŸã§åºæ¥ãªãã£ã top ã³ãã³ãã«ããããã»ã¹ç¶æ ã®ç¢ºèª df ã³ãã³ãã«ãã Disk 容éã®ç¢ºèª ãªã©ã®ç°å¢èª¿æ»ãåºæ¥ãããã«ãªããŸããã å©çšé »åºŠãå€ãèš³ã§ã¯ãããŸãããã調æ»ã®éžæè¢ãå¢ããäºã«ããæäºã®éã®æ©æå¯Ÿå¿ã«ç¹ãããããŠãããšæããŠããŸãã æ³šæç¹ ããããã¯éçšã«åœãã£ãŠã®æ³šæç¹ã«ã€ããŠæ°ç¹ç޹ä»ããŸãã æé EC2 ã§ã® SessionManager ãšéãã ãã®æ¹æ³ã§ç»é²ãããµãŒããžã® SessionManager éä¿¡ã¯æéãçºçããŸã ã æ£ç¢ºã«ã¯ ãSessionManager ãšãŒãžã§ã³ããèµ·åã AWS ãšéä¿¡ã確ç«ããŠããç¶æ ã ã§ã®æé課éã§ SessionManager ã§ã®æ¥ç¶æç¡ã¯åããŸããã ãã£ãŠãåžžæå¿ èŠã§ã¯ãªãå Žå㯠SessionManager ãšãŒãžã§ã³ããæ¢ããŠç¯çŽããæ¹æ³ãæ€èšããŠãã ããã ã¢ã¯ãã£ããŒã·ã§ã³ããããŒãžãã€ã³ã¹ã¿ã³ã¹ããªã¹ãã«æ®ã ã³ã³ããçµäºæã§ã AWS ã³ã³ãœãŒã«ã®ãã€ããªããã¢ã¯ãã£ããŒã·ã§ã³äžèЧããããŒãžãã€ã³ã¹ã¿ã³ã¹äžèЧã«è¡šç€ºãæ®ã£ãŠããŸãããã§ãã äžèЧã®äžéã®èšèŒã¯èŠã€ãããªãã£ããã®ã®ãç¡éã«å¢ãããšãæããªãã®ã§é©æ Lambda ã䜿ã£ãŠåé€ããŠããŸãã SessionManager ã§ã®æäœã«ã€ã㊠EC2 ã€ã³ã¹ã¿ã³ã¹ã«å¯ŸããŠã® SessionManager ãšåæ§ã§ãããã»ãã·ã§ã³éå§çŽåŸã®ãŠãŒã¶ã¯ ssm-user åºå®ã«ãªãããã§ãã ç¹å®ãŠãŒã¶ã§ã®æäœãå¿ èŠãšãªãå Žåã su ã³ãã³ãã§ã®ãŠãŒã¶åãæ¿ããå¿ èŠã«ãªããŸãã ãããã« ä»åã®ããã«ã¡ãã¬ãŒã§ã¯æ°ããªæè¡ãåãå ¥ãã€ã€ããµãŒãã¹ã®å®å®ãç®çãšããæ§ã ãªæœçãå°å ¥ããŠããŸãã ãããã£ãåãæ¹ã«èå³ãæãããæ¹ããŸãã¯äžèšãªã³ã¯ãããæ°è»œã«ã話ããŸãããïŒ åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp
AWS
,
Linux
,
ã¹ã¿ãŒãã¢ãã
,
ãã¹ã
,
ã²ãŒã
,
ãªã³ãã¬ãã¹
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/09/18
<![CDATA[ Fargate äžã§åãã³ã³ããã¢ããªã±ãŒã·ã§ã³ã« SessionManager ã§æ¥ç¶ãã ]]>
èªå·±çŽ¹ä» æ ªåŒäŒç€Ÿã¡ãã¬ãŒã®ãšã³ãžãã¢éªæ¬ã§ãã 9 æã«å ¥ã£ãŠãæãæ¥ãç¶ãäžãçããã¯ããããéããã§ããããã ååã®ããã°ã§ãæžããŸãããç§ã¯éç芳æŠïŒèå ïŒãè¶£å³ã§ãæ¯æ¥ã®è©Šåçµæã«äžåäžæããŠããŸãã ãã®ããã°ã®å·çæç¹ã§ã¯ã»ã»ãªãŒã°ã¯éŠäœå·šäººã«ããžãã¯ãç¹ç¯ããæ®è©Šå 50 ãåã£ãç¶æ³ã§ã®ã²ãŒã å·® 10ãåªåãç®æãéªç¥ã«ãšã£ãŠã¯å³ããç¶æ³ãšãªããŸããããæ®ãçŽæ¥å¯Ÿæ±ºããã¹ãŠåãŠã°å¯èœæ§ã¯èŠããŠããã¯ããããã¯è«Šããã«å¿æŽããããšæããŸãã æ¬¡ã®èšäºãæžãé ã«ã¯äœããã®æ±ºçãçããŠãããšæããŸãã®ã§ããã®æã«ã¯åã³ã®ã¡ãã»ãŒãžãæžããäºãé¡ã£ãŠããŸãã ã¯ããã« çªç¶ã§ãããçãã㯠Fargate ã䜿ãããªããŠããŸããïŒ ä»ãŸã§ ECS(EC2)ã§ã®éçšãã¡ã€ã³ã§ãããããžã§ãã¡ãã¬ãŒã®ã·ã¹ãã ã§ã Fargate ã«è§Šããæ©äŒãå¢ããŠããŸããã çè èªèº«ã¯åããŠã® Fargate ã§ããããEC2 ã®ååšãç¡ããªãããšã«äžæè°ãªæèŠãèŠãã€ã€ãã管çãããã®ãæžã£ãŠéçšã楜ã«ãªã£ããšå®æããŠããŸãã ããããEC2 ãç¡ããªã£ãäºã«ãããµãŒãå ã«ã¿ãŒããã«ã§å ¥ãææ®µã倱ããŸããã å ¬åŒã® ã¬ã€ã ã§ã¯ 質åïŒïŒã³ã³ããã®äžã« ssh ã docker exec ã§å ¥ãããšã¯åºæ¥ãŸããïŒ ãã¡ãçŸç¶ãµããŒãããŠãããŸããããã³ã³ããã¯ãŒã¯ããŒãã§ã¯ã åäžã®ç°å¢ã§ãã£ãããã¹ããè¡ã ãããšãã ãã°ãå€éšã«å šãŠåºã ãããšããã¹ããã©ã¯ãã£ã¹ãšãããŠããŠãã³ã³ããã«å ¥ãå¿ èŠæ§ãåºæ¥ãéãæžããæ¹ãå°æ¥çã«ã奜ãŸããã§ãã ãšãäºåã«ãã¹ããååã«å®æœãããããã°ã¯(S3 ã CloudWatchLogs ãªã©)å€éšã«åºåããã ããåºæ¥ãŠããã°å ¥ãå¿ èŠãç¡ãã¯ããšèšèŒãããŠãããã®ã®ã»ã»ã»å¿é æ§ãªèªåã¯äžæž¬ã®äºæ ãçºçããæã®äºãèããŠãµãŒãã«å ¥ãææ®µãæ±ããŠããŸããŸãã ããã§ä»£æ¿ææ®µã暡玢ããŠããæã SessionManager ã䜿ãã°å¯èœãšã®æç®ãèŠã€ããŸããã ãã§ã« SessionManager èªäœã¯ EC2 ã«å¯ŸããŠéçšãè¡ã£ãŠããããå°å ¥ã®æ·å± ã¯äœããšèãããã®ææ®µãæ¡çšããããšã«ããŸããã Session Manager ãšã¯ïŒ Session Manager ãšã¯ AWS ã® Systems Manager ãµãŒãã¹ã® 1 æ©èœã§ãAWS äžã§ç®¡çããŠãããµãŒãïŒãããŒãžãã€ã³ã¹ã¿ã³ã¹ïŒã«å¯ŸããŠã¿ãŒããã«ã®ã¢ã¯ã»ã¹ãå¯èœã«ãããã®ã§ãã ã¿ãŒããã«ãžã®ã¢ã¯ã»ã¹ææ®µã¯ãããããææ®µã ãš SSH ããããŸãã ãã®æ¹æ³ã¯ SSH ããŒããå€éšã«éæŸããå¿ èŠãããããæ»æã®å¯Ÿè±¡ã«ãªãããããããŸã奜ãŸãããããŸããã ããã«æ¯ã¹ãŠ Session Manager 㯠SSH ããŒãã®éæŸã¯äžèŠã§ãµãŒãããèŠãŠã¢ãŠãããŠã³ãæ¹åã® HTTPS éä¿¡ã®ç¢ºä¿ã§æžãçºãå€éšããã®æ»æãåããå®å šã«ã¢ã¯ã»ã¹çµè·¯ã®ç¢ºä¿ãå®çŸã§ããŸãã â»éä¿¡çµè·¯ã®ç¢ºä¿ä»¥å€ã«ã IAM ããŒã«ã®èšå®ãªã©ãå¿ èŠãšãªããŸãã詳ãã㯠ãã¡ã ãåè ãAWS äžã§ç®¡çããŠãããµãŒãããšå ã«èšèŒããŸãããããã®ãµãŒã㯠EC2 ã€ã³ã¹ã¿ã³ã¹ã«éããªãã®ãæ¬èšäºã®éèŠãªãã€ã³ãã«ãªããŸãã ãªã³ãã¬ãã¹ãªãµãŒãã AWS äžã§ç®¡çãããŠããã®ã§ããã°ãSessionManager ãšãŒãžã§ã³ããã€ã³ã¹ããŒã«ããäºã«ãã管ç察象ã«å«ããããšãå¯èœã«ãªãã®ã§ãã ä»å㯠EC2 ã§åããŠãã SessionManager ãšãŒãžã§ã³ãã Fargate ã§åãã³ã³ããã«ã€ã³ã¹ããŒã«ããäºã«ããã³ã³ããèªäœããµãŒããšèŠç«ãŠãŠãããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããSessionManager ã§ã¢ã¯ã»ã¹ããäºãç®æããŸãã å¯Ÿå¿ Systems Manager ã€ã³ã¹ã¿ã³ã¹æ ãã¹ã¿ã³ããŒãããã¢ããã³ã¹ãã«å€æŽãã ïŒ AWS ã³ã³ãœãŒã«ã§ã®èšå® ãªã³ãã¬ãã¹ãªãµãŒãã« SessionManager ã«ãŠã¢ã¯ã»ã¹ããå ŽåãSystems Manager ã®ãªã³ãã¬ãã¹ã€ã³ã¹ã¿ã³ã¹ãã£ã¢ã ã¹ã¿ã³ããŒãããã¢ããã³ã¹ããžãšå€æŽããå¿ èŠ ããããŸãã ãã®å€æŽäœæ¥ã¯ AWS ã³ã³ãœãŒã«ããè¡ãäºã«ãªããŸãããã¢ããã³ã¹ããžã®å€æŽã«åœãã£ãŠæ¢åã®ãããŒãžãã€ã³ã¹ã¿ã³ã¹ã«åœ±é¿ããããšã¯ãããŸããã ãã ãããã®éã®å Žåãã¹ã¿ã³ããŒãã«æ»ãéã«ã¯èæ ®ãå¿ èŠãšãªãã®ã§ ãã¡ã ãåç §ãã ããã SSM Agent ã®ã€ã³ã¹ããŒã« ïŒ ã³ã³ããã«å¯Ÿããèšå® ããããã¯å®éã«åãã³ã³ããã«å¯Ÿããèšå®ã«ãªããŸãã AWS ã®ããã¥ã¡ã³ã æåã§ã€ã³ã¹ããŒã« SSM ãšãŒãžã§ã³ã EC2 ã§ Linux ã®ã€ã³ã¹ã¿ã³ã¹ ãåèã«ãOS ã«åã£ãæ¹æ³ã§ SessionManager ãšãŒãžã§ã³ãã®ã€ã³ã¹ããŒã«ãè¡ããŸãã ã€ã³ã¹ããŒã«äœæ¥ã«ã¯éä¿¡ãªã©ã®æéãå¿ èŠãšãªãã®ã§ãäºåã«ã³ã³ããã€ã¡ãŒãžã«ã€ã³ã¹ããŒã«ãã圢ãšããŸããã ã³ã³ããããããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããŠç»é²ãã ïŒ ã³ã³ããã«å¯Ÿããèšå® ã³ã³ããããããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããŠç»é²ãããããã³ã³ããã®ã¹ã¿ãŒãã¢ãã(Entrypoint)ã«ãŠäžèšã¹ã¯ãªãããå®è¡ããŸãã # 1. ãã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ã®äœæ SSM_ACTIVATE_INFO = ` aws ssm create-activation --iam-role service-role/AmazonEC2RunCommandRoleForManagedInstances --registration-limit 1 --region ap-northeast-1 --default-instance-name medley-blog-fargate-container` # 2. ã¢ãŠããããããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ã®æœåº SSM_ACTIVATE_CODE = ` echo $SSM_ACTIVATE_INFO | jq -r '.ActivationCode'` SSM_ACTIVATE_ID = ` echo $SSM_ACTIVATE_INFO | jq -r '.ActivationId'` # 3. ã³ã³ããèªèº«ããããŒãžãã€ã³ã¹ã¿ã³ã¹ãžã®ç»é² amazon-ssm-agent -register -code $SSM_ACTIVATE_CODE -id $SSM_ACTIVATE_ID -region "ap-northeast-1" # 4. SessionManager ãšãŒãžã§ã³ãã®èµ·å amazon-ssm-agent & ãããã®ã³ãã³ãã«ã€ããŠã¯åè¡ããšã«èª¬æããŸã 1.ãã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ã®äœæ ãããŒãžãã€ã³ã¹ã¿ã³ã¹ç»é²ã«å¿ èŠãªã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ååŸã®ããããã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ã®ç»é²ãè¡ããŸãã åŸã AWS ã³ã³ãœãŒã«ã«ãŠã€ã³ã¹ã¿ã³ã¹ã®èå¥ãã§ããããã«ã --default-instance-name ãªãã·ã§ã³ã«ãŠ medley-blog-fargate-container ãšããååãä»äžããŠããŸãã ãã®ã³ãã³ãã®ã¢ãŠããããã«ãŠäžèšã®ãã㪠JSON ãè¿ãããçºãäžæŠå€æ°ã«æ ŒçŽããŠããŸãã { "ActivationId" : "<<ã¢ã¯ãã£ããŒã·ã§ã³ ID>>", "ActivationCode": "<<ã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã>>" } ãŸã --iam-role ãªãã·ã§ã³ã§ãµãŒãã¹ããŒã« AmazonEC2RunCommandRoleForManagedInstances ã䜿ã£ãŠããŸãã ãã®ããŒã«ããŸã ååšããªãå ŽåãAWS ã³ã³ãœãŒã«ãããã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ãã IAM ããŒã« âãå¿ èŠãªæš©éãåããã·ã¹ãã ã®ããã©ã«ãã³ãã³ãå®è¡ããŒã«ãäœæãã«ããäœæããŠãã ããã 2. ã¢ãŠããããããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ã®æœåº åé ã®ã¢ãŠããããããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ãåã ã®å€æ°ã«åé¢ããŠããŸãã 3. ã³ã³ããèªèº«ããããŒãžãã€ã³ã¹ã¿ã³ã¹ãžã®ç»é² ååŸããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ãå©çšããã³ã³ããèªèº«ããããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããŠç»é²ããŸãã ç°å¢å€æ° AWS_DEFAULT_REGION ã®ããã« AWS ã® Credential ã«ãŠããã©ã«ãã® Region èšå®ããã£ãå Žåã§ãããã®ã³ãã³ãã§ã¯ãªãã·ã§ã³ã§ Region æå®ãå¿ é ãšãªãã®ã§ã泚æãã ããã 4. SessionManager ãšãŒãžã§ã³ãã®èµ·å æåŸã« SessionManager ãšãŒãžã§ã³ããèµ·åããŸãã ããã«ãã AWS ãšã®éä¿¡ã確ç«ãããSessionManager ãå©çšã§ããããã«ãªããŸãã ãã®ç¶æ ã§ãããŒãžãã€ã³ã¹ã¿ã³ã¹ç»é¢ã«ãŠç®çã®ã€ã³ã¹ã¿ã³ã¹ãããªã³ã©ã€ã³ãã§ããã°èšå®ãå®äºã§ãã æ¥ç¶ç¢ºèª èšå®ãå®äºããã®ã§ãå®éã« SessionManager ã«ãŠæ¥ç¶ããŠã¿ãŸãã AWS ã³ã³ãœãŒã«ã®ã»ãã·ã§ã³ãããŒãžã£ããã»ãã·ã§ã³ã®éå§ãéžæããååãäºåã«ç»é²ãã medley-blog-fargate-container ã§ãããã®ãéžæããŸãã å€èŠã¯ä»ã® EC2 ãšå€ãããªã衚瀺ã§ããããã®ææ®µã§ç»é²ãããã®ã¯ã€ã³ã¹ã¿ã³ã¹ ID ã mi ããå§ãŸã ID ã«ãªããŸã(éåžžã® EC2 㯠i ããå§ãŸã ID)ã åŸã¯æ®æ®µéãã«ã»ãã·ã§ã³ãéå§ãããšã³ã³ããå ãžã®ã¢ã¯ã»ã¹ãéå§ãããŸãã ããã§ EC2 ã®ç¡ã Fargate äžã®ã³ã³ããã«å¯ŸããŠãã¿ãŒããã«ã«å ¥ãããšãã§ããŸããã éçšããŠã¿ãŠã®ææ³ Fargate äžã®ã³ã³ããã«çŽæ¥å ¥ãããšã«ãããä»ãŸã§åºæ¥ãªãã£ã top ã³ãã³ãã«ããããã»ã¹ç¶æ ã®ç¢ºèª df ã³ãã³ãã«ãã Disk 容éã®ç¢ºèª ãªã©ã®ç°å¢èª¿æ»ãåºæ¥ãããã«ãªããŸããã å©çšé »åºŠãå€ãèš³ã§ã¯ãããŸãããã調æ»ã®éžæè¢ãå¢ããäºã«ããæäºã®éã®æ©æå¯Ÿå¿ã«ç¹ãããããŠãããšæããŠããŸãã æ³šæç¹ ããããã¯éçšã«åœãã£ãŠã®æ³šæç¹ã«ã€ããŠæ°ç¹ç޹ä»ããŸãã æé EC2 ã§ã® SessionManager ãšéãã ãã®æ¹æ³ã§ç»é²ãããµãŒããžã® SessionManager éä¿¡ã¯æéãçºçããŸã ã æ£ç¢ºã«ã¯ ãSessionManager ãšãŒãžã§ã³ããèµ·åã AWS ãšéä¿¡ã確ç«ããŠããç¶æ ã ã§ã®æé課éã§ SessionManager ã§ã®æ¥ç¶æç¡ã¯åããŸããã ãã£ãŠãåžžæå¿ èŠã§ã¯ãªãå Žå㯠SessionManager ãšãŒãžã§ã³ããæ¢ããŠç¯çŽããæ¹æ³ãæ€èšããŠãã ããã ã¢ã¯ãã£ããŒã·ã§ã³ããããŒãžãã€ã³ã¹ã¿ã³ã¹ããªã¹ãã«æ®ã ã³ã³ããçµäºæã§ã AWS ã³ã³ãœãŒã«ã®ãã€ããªããã¢ã¯ãã£ããŒã·ã§ã³äžèЧããããŒãžãã€ã³ã¹ã¿ã³ã¹äžèЧã«è¡šç€ºãæ®ã£ãŠããŸãããã§ãã äžèЧã®äžéã®èšèŒã¯èŠã€ãããªãã£ããã®ã®ãç¡éã«å¢ãããšãæããªãã®ã§é©æ Lambda ã䜿ã£ãŠåé€ããŠããŸãã SessionManager ã§ã®æäœã«ã€ã㊠EC2 ã€ã³ã¹ã¿ã³ã¹ã«å¯ŸããŠã® SessionManager ãšåæ§ã§ãããã»ãã·ã§ã³éå§çŽåŸã®ãŠãŒã¶ã¯ ssm-user åºå®ã«ãªãããã§ãã ç¹å®ãŠãŒã¶ã§ã®æäœãå¿ èŠãšãªãå Žåã su ã³ãã³ãã§ã®ãŠãŒã¶åãæ¿ããå¿ èŠã«ãªããŸãã ãããã« ä»åã®ããã«ã¡ãã¬ãŒã§ã¯æ°ããªæè¡ãåãå ¥ãã€ã€ããµãŒãã¹ã®å®å®ãç®çãšããæ§ã ãªæœçãå°å ¥ããŠããŸãã ãããã£ãåãæ¹ã«èå³ãæãããæ¹ããŸãã¯äžèšãªã³ã¯ãããæ°è»œã«ã話ããŸãããïŒ åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp
AWS
,
Linux
,
ã¹ã¿ãŒãã¢ãã
,
ãã¹ã
,
ã²ãŒã
,
ãªã³ãã¬ãã¹
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/09/18
<![CDATA[ Fargate äžã§åãã³ã³ããã¢ããªã±ãŒã·ã§ã³ã« SessionManager ã§æ¥ç¶ãã ]]>
èªå·±çŽ¹ä» æ ªåŒäŒç€Ÿã¡ãã¬ãŒã®ãšã³ãžãã¢éªæ¬ã§ãã 9 æã«å ¥ã£ãŠãæãæ¥ãç¶ãäžãçããã¯ããããéããã§ããããã ååã®ããã°ã§ãæžããŸãããç§ã¯éç芳æŠïŒèå ïŒãè¶£å³ã§ãæ¯æ¥ã®è©Šåçµæã«äžåäžæããŠããŸãã ãã®ããã°ã®å·çæç¹ã§ã¯ã»ã»ãªãŒã°ã¯éŠäœå·šäººã«ããžãã¯ãç¹ç¯ããæ®è©Šå 50 ãåã£ãç¶æ³ã§ã®ã²ãŒã å·® 10ãåªåãç®æãéªç¥ã«ãšã£ãŠã¯å³ããç¶æ³ãšãªããŸããããæ®ãçŽæ¥å¯Ÿæ±ºããã¹ãŠåãŠã°å¯èœæ§ã¯èŠããŠããã¯ããããã¯è«Šããã«å¿æŽããããšæããŸãã æ¬¡ã®èšäºãæžãé ã«ã¯äœããã®æ±ºçãçããŠãããšæããŸãã®ã§ããã®æã«ã¯åã³ã®ã¡ãã»ãŒãžãæžããäºãé¡ã£ãŠããŸãã ã¯ããã« çªç¶ã§ãããçãã㯠Fargate ã䜿ãããªããŠããŸããïŒ ä»ãŸã§ ECS(EC2)ã§ã®éçšãã¡ã€ã³ã§ãããããžã§ãã¡ãã¬ãŒã®ã·ã¹ãã ã§ã Fargate ã«è§Šããæ©äŒãå¢ããŠããŸããã çè èªèº«ã¯åããŠã® Fargate ã§ããããEC2 ã®ååšãç¡ããªãããšã«äžæè°ãªæèŠãèŠãã€ã€ãã管çãããã®ãæžã£ãŠéçšã楜ã«ãªã£ããšå®æããŠããŸãã ããããEC2 ãç¡ããªã£ãäºã«ãããµãŒãå ã«ã¿ãŒããã«ã§å ¥ãææ®µã倱ããŸããã å ¬åŒã® ã¬ã€ã ã§ã¯ 質åïŒïŒã³ã³ããã®äžã« ssh ã docker exec ã§å ¥ãããšã¯åºæ¥ãŸããïŒ ãã¡ãçŸç¶ãµããŒãããŠãããŸããããã³ã³ããã¯ãŒã¯ããŒãã§ã¯ã åäžã®ç°å¢ã§ãã£ãããã¹ããè¡ã ãããšãã ãã°ãå€éšã«å šãŠåºã ãããšããã¹ããã©ã¯ãã£ã¹ãšãããŠããŠãã³ã³ããã«å ¥ãå¿ èŠæ§ãåºæ¥ãéãæžããæ¹ãå°æ¥çã«ã奜ãŸããã§ãã ãšãäºåã«ãã¹ããååã«å®æœãããããã°ã¯(S3 ã CloudWatchLogs ãªã©)å€éšã«åºåããã ããåºæ¥ãŠããã°å ¥ãå¿ èŠãç¡ãã¯ããšèšèŒãããŠãããã®ã®ã»ã»ã»å¿é æ§ãªèªåã¯äžæž¬ã®äºæ ãçºçããæã®äºãèããŠãµãŒãã«å ¥ãææ®µãæ±ããŠããŸããŸãã ããã§ä»£æ¿ææ®µã暡玢ããŠããæã SessionManager ã䜿ãã°å¯èœãšã®æç®ãèŠã€ããŸããã ãã§ã« SessionManager èªäœã¯ EC2 ã«å¯ŸããŠéçšãè¡ã£ãŠããããå°å ¥ã®æ·å± ã¯äœããšèãããã®ææ®µãæ¡çšããããšã«ããŸããã Session Manager ãšã¯ïŒ Session Manager ãšã¯ AWS ã® Systems Manager ãµãŒãã¹ã® 1 æ©èœã§ãAWS äžã§ç®¡çããŠãããµãŒãïŒãããŒãžãã€ã³ã¹ã¿ã³ã¹ïŒã«å¯ŸããŠã¿ãŒããã«ã®ã¢ã¯ã»ã¹ãå¯èœã«ãããã®ã§ãã ã¿ãŒããã«ãžã®ã¢ã¯ã»ã¹ææ®µã¯ãããããææ®µã ãš SSH ããããŸãã ãã®æ¹æ³ã¯ SSH ããŒããå€éšã«éæŸããå¿ èŠãããããæ»æã®å¯Ÿè±¡ã«ãªãããããããŸã奜ãŸãããããŸããã ããã«æ¯ã¹ãŠ Session Manager 㯠SSH ããŒãã®éæŸã¯äžèŠã§ãµãŒãããèŠãŠã¢ãŠãããŠã³ãæ¹åã® HTTPS éä¿¡ã®ç¢ºä¿ã§æžãçºãå€éšããã®æ»æãåããå®å šã«ã¢ã¯ã»ã¹çµè·¯ã®ç¢ºä¿ãå®çŸã§ããŸãã â»éä¿¡çµè·¯ã®ç¢ºä¿ä»¥å€ã«ã IAM ããŒã«ã®èšå®ãªã©ãå¿ èŠãšãªããŸãã詳ãã㯠ãã¡ã ãåè ãAWS äžã§ç®¡çããŠãããµãŒãããšå ã«èšèŒããŸãããããã®ãµãŒã㯠EC2 ã€ã³ã¹ã¿ã³ã¹ã«éããªãã®ãæ¬èšäºã®éèŠãªãã€ã³ãã«ãªããŸãã ãªã³ãã¬ãã¹ãªãµãŒãã AWS äžã§ç®¡çãããŠããã®ã§ããã°ãSessionManager ãšãŒãžã§ã³ããã€ã³ã¹ããŒã«ããäºã«ãã管ç察象ã«å«ããããšãå¯èœã«ãªãã®ã§ãã ä»å㯠EC2 ã§åããŠãã SessionManager ãšãŒãžã§ã³ãã Fargate ã§åãã³ã³ããã«ã€ã³ã¹ããŒã«ããäºã«ããã³ã³ããèªäœããµãŒããšèŠç«ãŠãŠãããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããSessionManager ã§ã¢ã¯ã»ã¹ããäºãç®æããŸãã å¯Ÿå¿ Systems Manager ã€ã³ã¹ã¿ã³ã¹æ ãã¹ã¿ã³ããŒãããã¢ããã³ã¹ãã«å€æŽãã ïŒ AWS ã³ã³ãœãŒã«ã§ã®èšå® ãªã³ãã¬ãã¹ãªãµãŒãã« SessionManager ã«ãŠã¢ã¯ã»ã¹ããå ŽåãSystems Manager ã®ãªã³ãã¬ãã¹ã€ã³ã¹ã¿ã³ã¹ãã£ã¢ã ã¹ã¿ã³ããŒãããã¢ããã³ã¹ããžãšå€æŽããå¿ èŠ ããããŸãã ãã®å€æŽäœæ¥ã¯ AWS ã³ã³ãœãŒã«ããè¡ãäºã«ãªããŸãããã¢ããã³ã¹ããžã®å€æŽã«åœãã£ãŠæ¢åã®ãããŒãžãã€ã³ã¹ã¿ã³ã¹ã«åœ±é¿ããããšã¯ãããŸããã ãã ãããã®éã®å Žåãã¹ã¿ã³ããŒãã«æ»ãéã«ã¯èæ ®ãå¿ èŠãšãªãã®ã§ ãã¡ã ãåç §ãã ããã SSM Agent ã®ã€ã³ã¹ããŒã« ïŒ ã³ã³ããã«å¯Ÿããèšå® ããããã¯å®éã«åãã³ã³ããã«å¯Ÿããèšå®ã«ãªããŸãã AWS ã®ããã¥ã¡ã³ã æåã§ã€ã³ã¹ããŒã« SSM ãšãŒãžã§ã³ã EC2 ã§ Linux ã®ã€ã³ã¹ã¿ã³ã¹ ãåèã«ãOS ã«åã£ãæ¹æ³ã§ SessionManager ãšãŒãžã§ã³ãã®ã€ã³ã¹ããŒã«ãè¡ããŸãã ã€ã³ã¹ããŒã«äœæ¥ã«ã¯éä¿¡ãªã©ã®æéãå¿ èŠãšãªãã®ã§ãäºåã«ã³ã³ããã€ã¡ãŒãžã«ã€ã³ã¹ããŒã«ãã圢ãšããŸããã ã³ã³ããããããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããŠç»é²ãã ïŒ ã³ã³ããã«å¯Ÿããèšå® ã³ã³ããããããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããŠç»é²ãããããã³ã³ããã®ã¹ã¿ãŒãã¢ãã(Entrypoint)ã«ãŠäžèšã¹ã¯ãªãããå®è¡ããŸãã # 1. ãã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ã®äœæ SSM_ACTIVATE_INFO = ` aws ssm create-activation --iam-role service-role/AmazonEC2RunCommandRoleForManagedInstances --registration-limit 1 --region ap-northeast-1 --default-instance-name medley-blog-fargate-container` # 2. ã¢ãŠããããããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ã®æœåº SSM_ACTIVATE_CODE = ` echo $SSM_ACTIVATE_INFO | jq -r '.ActivationCode'` SSM_ACTIVATE_ID = ` echo $SSM_ACTIVATE_INFO | jq -r '.ActivationId'` # 3. ã³ã³ããèªèº«ããããŒãžãã€ã³ã¹ã¿ã³ã¹ãžã®ç»é² amazon-ssm-agent -register -code $SSM_ACTIVATE_CODE -id $SSM_ACTIVATE_ID -region "ap-northeast-1" # 4. SessionManager ãšãŒãžã§ã³ãã®èµ·å amazon-ssm-agent & ãããã®ã³ãã³ãã«ã€ããŠã¯åè¡ããšã«èª¬æããŸã 1.ãã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ã®äœæ ãããŒãžãã€ã³ã¹ã¿ã³ã¹ç»é²ã«å¿ èŠãªã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ååŸã®ããããã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ã®ç»é²ãè¡ããŸãã åŸã AWS ã³ã³ãœãŒã«ã«ãŠã€ã³ã¹ã¿ã³ã¹ã®èå¥ãã§ããããã«ã --default-instance-name ãªãã·ã§ã³ã«ãŠ medley-blog-fargate-container ãšããååãä»äžããŠããŸãã ãã®ã³ãã³ãã®ã¢ãŠããããã«ãŠäžèšã®ãã㪠JSON ãè¿ãããçºãäžæŠå€æ°ã«æ ŒçŽããŠããŸãã { "ActivationId" : "<<ã¢ã¯ãã£ããŒã·ã§ã³ ID>>", "ActivationCode": "<<ã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã>>" } ãŸã --iam-role ãªãã·ã§ã³ã§ãµãŒãã¹ããŒã« AmazonEC2RunCommandRoleForManagedInstances ã䜿ã£ãŠããŸãã ãã®ããŒã«ããŸã ååšããªãå ŽåãAWS ã³ã³ãœãŒã«ãããã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ãã IAM ããŒã« âãå¿ èŠãªæš©éãåããã·ã¹ãã ã®ããã©ã«ãã³ãã³ãå®è¡ããŒã«ãäœæãã«ããäœæããŠãã ããã 2. ã¢ãŠããããããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ã®æœåº åé ã®ã¢ãŠããããããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ãåã ã®å€æ°ã«åé¢ããŠããŸãã 3. ã³ã³ããèªèº«ããããŒãžãã€ã³ã¹ã¿ã³ã¹ãžã®ç»é² ååŸããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ãå©çšããã³ã³ããèªèº«ããããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããŠç»é²ããŸãã ç°å¢å€æ° AWS_DEFAULT_REGION ã®ããã« AWS ã® Credential ã«ãŠããã©ã«ãã® Region èšå®ããã£ãå Žåã§ãããã®ã³ãã³ãã§ã¯ãªãã·ã§ã³ã§ Region æå®ãå¿ é ãšãªãã®ã§ã泚æãã ããã 4. SessionManager ãšãŒãžã§ã³ãã®èµ·å æåŸã« SessionManager ãšãŒãžã§ã³ããèµ·åããŸãã ããã«ãã AWS ãšã®éä¿¡ã確ç«ãããSessionManager ãå©çšã§ããããã«ãªããŸãã ãã®ç¶æ ã§ãããŒãžãã€ã³ã¹ã¿ã³ã¹ç»é¢ã«ãŠç®çã®ã€ã³ã¹ã¿ã³ã¹ãããªã³ã©ã€ã³ãã§ããã°èšå®ãå®äºã§ãã æ¥ç¶ç¢ºèª èšå®ãå®äºããã®ã§ãå®éã« SessionManager ã«ãŠæ¥ç¶ããŠã¿ãŸãã AWS ã³ã³ãœãŒã«ã®ã»ãã·ã§ã³ãããŒãžã£ããã»ãã·ã§ã³ã®éå§ãéžæããååãäºåã«ç»é²ãã medley-blog-fargate-container ã§ãããã®ãéžæããŸãã å€èŠã¯ä»ã® EC2 ãšå€ãããªã衚瀺ã§ããããã®ææ®µã§ç»é²ãããã®ã¯ã€ã³ã¹ã¿ã³ã¹ ID ã mi ããå§ãŸã ID ã«ãªããŸã(éåžžã® EC2 㯠i ããå§ãŸã ID)ã åŸã¯æ®æ®µéãã«ã»ãã·ã§ã³ãéå§ãããšã³ã³ããå ãžã®ã¢ã¯ã»ã¹ãéå§ãããŸãã ããã§ EC2 ã®ç¡ã Fargate äžã®ã³ã³ããã«å¯ŸããŠãã¿ãŒããã«ã«å ¥ãããšãã§ããŸããã éçšããŠã¿ãŠã®ææ³ Fargate äžã®ã³ã³ããã«çŽæ¥å ¥ãããšã«ãããä»ãŸã§åºæ¥ãªãã£ã top ã³ãã³ãã«ããããã»ã¹ç¶æ ã®ç¢ºèª df ã³ãã³ãã«ãã Disk 容éã®ç¢ºèª ãªã©ã®ç°å¢èª¿æ»ãåºæ¥ãããã«ãªããŸããã å©çšé »åºŠãå€ãèš³ã§ã¯ãããŸãããã調æ»ã®éžæè¢ãå¢ããäºã«ããæäºã®éã®æ©æå¯Ÿå¿ã«ç¹ãããããŠãããšæããŠããŸãã æ³šæç¹ ããããã¯éçšã«åœãã£ãŠã®æ³šæç¹ã«ã€ããŠæ°ç¹ç޹ä»ããŸãã æé EC2 ã§ã® SessionManager ãšéãã ãã®æ¹æ³ã§ç»é²ãããµãŒããžã® SessionManager éä¿¡ã¯æéãçºçããŸã ã æ£ç¢ºã«ã¯ ãSessionManager ãšãŒãžã§ã³ããèµ·åã AWS ãšéä¿¡ã確ç«ããŠããç¶æ ã ã§ã®æé課éã§ SessionManager ã§ã®æ¥ç¶æç¡ã¯åããŸããã ãã£ãŠãåžžæå¿ èŠã§ã¯ãªãå Žå㯠SessionManager ãšãŒãžã§ã³ããæ¢ããŠç¯çŽããæ¹æ³ãæ€èšããŠãã ããã ã¢ã¯ãã£ããŒã·ã§ã³ããããŒãžãã€ã³ã¹ã¿ã³ã¹ããªã¹ãã«æ®ã ã³ã³ããçµäºæã§ã AWS ã³ã³ãœãŒã«ã®ãã€ããªããã¢ã¯ãã£ããŒã·ã§ã³äžèЧããããŒãžãã€ã³ã¹ã¿ã³ã¹äžèЧã«è¡šç€ºãæ®ã£ãŠããŸãããã§ãã äžèЧã®äžéã®èšèŒã¯èŠã€ãããªãã£ããã®ã®ãç¡éã«å¢ãããšãæããªãã®ã§é©æ Lambda ã䜿ã£ãŠåé€ããŠããŸãã SessionManager ã§ã®æäœã«ã€ã㊠EC2 ã€ã³ã¹ã¿ã³ã¹ã«å¯ŸããŠã® SessionManager ãšåæ§ã§ãããã»ãã·ã§ã³éå§çŽåŸã®ãŠãŒã¶ã¯ ssm-user åºå®ã«ãªãããã§ãã ç¹å®ãŠãŒã¶ã§ã®æäœãå¿ èŠãšãªãå Žåã su ã³ãã³ãã§ã®ãŠãŒã¶åãæ¿ããå¿ èŠã«ãªããŸãã ãããã« ä»åã®ããã«ã¡ãã¬ãŒã§ã¯æ°ããªæè¡ãåãå ¥ãã€ã€ããµãŒãã¹ã®å®å®ãç®çãšããæ§ã ãªæœçãå°å ¥ããŠããŸãã ãããã£ãåãæ¹ã«èå³ãæãããæ¹ããŸãã¯äžèšãªã³ã¯ãããæ°è»œã«ã話ããŸãããïŒ åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp
AWS
,
Linux
,
ã¹ã¿ãŒãã¢ãã
,
ãã¹ã
,
ã²ãŒã
,
ãªã³ãã¬ãã¹
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/09/18
<![CDATA[ Fargate äžã§åãã³ã³ããã¢ããªã±ãŒã·ã§ã³ã« SessionManager ã§æ¥ç¶ãã ]]>
èªå·±çŽ¹ä» æ ªåŒäŒç€Ÿã¡ãã¬ãŒã®ãšã³ãžãã¢éªæ¬ã§ãã 9 æã«å ¥ã£ãŠãæãæ¥ãç¶ãäžãçããã¯ããããéããã§ããããã ååã®ããã°ã§ãæžããŸãããç§ã¯éç芳æŠïŒèå ïŒãè¶£å³ã§ãæ¯æ¥ã®è©Šåçµæã«äžåäžæããŠããŸãã ãã®ããã°ã®å·çæç¹ã§ã¯ã»ã»ãªãŒã°ã¯éŠäœå·šäººã«ããžãã¯ãç¹ç¯ããæ®è©Šå 50 ãåã£ãç¶æ³ã§ã®ã²ãŒã å·® 10ãåªåãç®æãéªç¥ã«ãšã£ãŠã¯å³ããç¶æ³ãšãªããŸããããæ®ãçŽæ¥å¯Ÿæ±ºããã¹ãŠåãŠã°å¯èœæ§ã¯èŠããŠããã¯ããããã¯è«Šããã«å¿æŽããããšæããŸãã æ¬¡ã®èšäºãæžãé ã«ã¯äœããã®æ±ºçãçããŠãããšæããŸãã®ã§ããã®æã«ã¯åã³ã®ã¡ãã»ãŒãžãæžããäºãé¡ã£ãŠããŸãã ã¯ããã« çªç¶ã§ãããçãã㯠Fargate ã䜿ãããªããŠããŸããïŒ ä»ãŸã§ ECS(EC2)ã§ã®éçšãã¡ã€ã³ã§ãããããžã§ãã¡ãã¬ãŒã®ã·ã¹ãã ã§ã Fargate ã«è§Šããæ©äŒãå¢ããŠããŸããã çè èªèº«ã¯åããŠã® Fargate ã§ããããEC2 ã®ååšãç¡ããªãããšã«äžæè°ãªæèŠãèŠãã€ã€ãã管çãããã®ãæžã£ãŠéçšã楜ã«ãªã£ããšå®æããŠããŸãã ããããEC2 ãç¡ããªã£ãäºã«ãããµãŒãå ã«ã¿ãŒããã«ã§å ¥ãææ®µã倱ããŸããã å ¬åŒã® ã¬ã€ã ã§ã¯ 質åïŒïŒã³ã³ããã®äžã« ssh ã docker exec ã§å ¥ãããšã¯åºæ¥ãŸããïŒ ãã¡ãçŸç¶ãµããŒãããŠãããŸããããã³ã³ããã¯ãŒã¯ããŒãã§ã¯ã åäžã®ç°å¢ã§ãã£ãããã¹ããè¡ã ãããšãã ãã°ãå€éšã«å šãŠåºã ãããšããã¹ããã©ã¯ãã£ã¹ãšãããŠããŠãã³ã³ããã«å ¥ãå¿ èŠæ§ãåºæ¥ãéãæžããæ¹ãå°æ¥çã«ã奜ãŸããã§ãã ãšãäºåã«ãã¹ããååã«å®æœãããããã°ã¯(S3 ã CloudWatchLogs ãªã©)å€éšã«åºåããã ããåºæ¥ãŠããã°å ¥ãå¿ èŠãç¡ãã¯ããšèšèŒãããŠãããã®ã®ã»ã»ã»å¿é æ§ãªèªåã¯äžæž¬ã®äºæ ãçºçããæã®äºãèããŠãµãŒãã«å ¥ãææ®µãæ±ããŠããŸããŸãã ããã§ä»£æ¿ææ®µã暡玢ããŠããæã SessionManager ã䜿ãã°å¯èœãšã®æç®ãèŠã€ããŸããã ãã§ã« SessionManager èªäœã¯ EC2 ã«å¯ŸããŠéçšãè¡ã£ãŠããããå°å ¥ã®æ·å± ã¯äœããšèãããã®ææ®µãæ¡çšããããšã«ããŸããã Session Manager ãšã¯ïŒ Session Manager ãšã¯ AWS ã® Systems Manager ãµãŒãã¹ã® 1 æ©èœã§ãAWS äžã§ç®¡çããŠãããµãŒãïŒãããŒãžãã€ã³ã¹ã¿ã³ã¹ïŒã«å¯ŸããŠã¿ãŒããã«ã®ã¢ã¯ã»ã¹ãå¯èœã«ãããã®ã§ãã ã¿ãŒããã«ãžã®ã¢ã¯ã»ã¹ææ®µã¯ãããããææ®µã ãš SSH ããããŸãã ãã®æ¹æ³ã¯ SSH ããŒããå€éšã«éæŸããå¿ èŠãããããæ»æã®å¯Ÿè±¡ã«ãªãããããããŸã奜ãŸãããããŸããã ããã«æ¯ã¹ãŠ Session Manager 㯠SSH ããŒãã®éæŸã¯äžèŠã§ãµãŒãããèŠãŠã¢ãŠãããŠã³ãæ¹åã® HTTPS éä¿¡ã®ç¢ºä¿ã§æžãçºãå€éšããã®æ»æãåããå®å šã«ã¢ã¯ã»ã¹çµè·¯ã®ç¢ºä¿ãå®çŸã§ããŸãã â»éä¿¡çµè·¯ã®ç¢ºä¿ä»¥å€ã«ã IAM ããŒã«ã®èšå®ãªã©ãå¿ èŠãšãªããŸãã詳ãã㯠ãã¡ã ãåè ãAWS äžã§ç®¡çããŠãããµãŒãããšå ã«èšèŒããŸãããããã®ãµãŒã㯠EC2 ã€ã³ã¹ã¿ã³ã¹ã«éããªãã®ãæ¬èšäºã®éèŠãªãã€ã³ãã«ãªããŸãã ãªã³ãã¬ãã¹ãªãµãŒãã AWS äžã§ç®¡çãããŠããã®ã§ããã°ãSessionManager ãšãŒãžã§ã³ããã€ã³ã¹ããŒã«ããäºã«ãã管ç察象ã«å«ããããšãå¯èœã«ãªãã®ã§ãã ä»å㯠EC2 ã§åããŠãã SessionManager ãšãŒãžã§ã³ãã Fargate ã§åãã³ã³ããã«ã€ã³ã¹ããŒã«ããäºã«ããã³ã³ããèªäœããµãŒããšèŠç«ãŠãŠãããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããSessionManager ã§ã¢ã¯ã»ã¹ããäºãç®æããŸãã å¯Ÿå¿ Systems Manager ã€ã³ã¹ã¿ã³ã¹æ ãã¹ã¿ã³ããŒãããã¢ããã³ã¹ãã«å€æŽãã ïŒ AWS ã³ã³ãœãŒã«ã§ã®èšå® ãªã³ãã¬ãã¹ãªãµãŒãã« SessionManager ã«ãŠã¢ã¯ã»ã¹ããå ŽåãSystems Manager ã®ãªã³ãã¬ãã¹ã€ã³ã¹ã¿ã³ã¹ãã£ã¢ã ã¹ã¿ã³ããŒãããã¢ããã³ã¹ããžãšå€æŽããå¿ èŠ ããããŸãã ãã®å€æŽäœæ¥ã¯ AWS ã³ã³ãœãŒã«ããè¡ãäºã«ãªããŸãããã¢ããã³ã¹ããžã®å€æŽã«åœãã£ãŠæ¢åã®ãããŒãžãã€ã³ã¹ã¿ã³ã¹ã«åœ±é¿ããããšã¯ãããŸããã ãã ãããã®éã®å Žåãã¹ã¿ã³ããŒãã«æ»ãéã«ã¯èæ ®ãå¿ èŠãšãªãã®ã§ ãã¡ã ãåç §ãã ããã SSM Agent ã®ã€ã³ã¹ããŒã« ïŒ ã³ã³ããã«å¯Ÿããèšå® ããããã¯å®éã«åãã³ã³ããã«å¯Ÿããèšå®ã«ãªããŸãã AWS ã®ããã¥ã¡ã³ã æåã§ã€ã³ã¹ããŒã« SSM ãšãŒãžã§ã³ã EC2 ã§ Linux ã®ã€ã³ã¹ã¿ã³ã¹ ãåèã«ãOS ã«åã£ãæ¹æ³ã§ SessionManager ãšãŒãžã§ã³ãã®ã€ã³ã¹ããŒã«ãè¡ããŸãã ã€ã³ã¹ããŒã«äœæ¥ã«ã¯éä¿¡ãªã©ã®æéãå¿ èŠãšãªãã®ã§ãäºåã«ã³ã³ããã€ã¡ãŒãžã«ã€ã³ã¹ããŒã«ãã圢ãšããŸããã ã³ã³ããããããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããŠç»é²ãã ïŒ ã³ã³ããã«å¯Ÿããèšå® ã³ã³ããããããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããŠç»é²ãããããã³ã³ããã®ã¹ã¿ãŒãã¢ãã(Entrypoint)ã«ãŠäžèšã¹ã¯ãªãããå®è¡ããŸãã # 1. ãã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ã®äœæ SSM_ACTIVATE_INFO = ` aws ssm create-activation --iam-role service-role/AmazonEC2RunCommandRoleForManagedInstances --registration-limit 1 --region ap-northeast-1 --default-instance-name medley-blog-fargate-container` # 2. ã¢ãŠããããããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ã®æœåº SSM_ACTIVATE_CODE = ` echo $SSM_ACTIVATE_INFO | jq -r '.ActivationCode'` SSM_ACTIVATE_ID = ` echo $SSM_ACTIVATE_INFO | jq -r '.ActivationId'` # 3. ã³ã³ããèªèº«ããããŒãžãã€ã³ã¹ã¿ã³ã¹ãžã®ç»é² amazon-ssm-agent -register -code $SSM_ACTIVATE_CODE -id $SSM_ACTIVATE_ID -region "ap-northeast-1" # 4. SessionManager ãšãŒãžã§ã³ãã®èµ·å amazon-ssm-agent & ãããã®ã³ãã³ãã«ã€ããŠã¯åè¡ããšã«èª¬æããŸã 1.ãã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ã®äœæ ãããŒãžãã€ã³ã¹ã¿ã³ã¹ç»é²ã«å¿ èŠãªã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ååŸã®ããããã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ã®ç»é²ãè¡ããŸãã åŸã AWS ã³ã³ãœãŒã«ã«ãŠã€ã³ã¹ã¿ã³ã¹ã®èå¥ãã§ããããã«ã --default-instance-name ãªãã·ã§ã³ã«ãŠ medley-blog-fargate-container ãšããååãä»äžããŠããŸãã ãã®ã³ãã³ãã®ã¢ãŠããããã«ãŠäžèšã®ãã㪠JSON ãè¿ãããçºãäžæŠå€æ°ã«æ ŒçŽããŠããŸãã { "ActivationId" : "<<ã¢ã¯ãã£ããŒã·ã§ã³ ID>>", "ActivationCode": "<<ã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã>>" } ãŸã --iam-role ãªãã·ã§ã³ã§ãµãŒãã¹ããŒã« AmazonEC2RunCommandRoleForManagedInstances ã䜿ã£ãŠããŸãã ãã®ããŒã«ããŸã ååšããªãå ŽåãAWS ã³ã³ãœãŒã«ãããã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ãã IAM ããŒã« âãå¿ èŠãªæš©éãåããã·ã¹ãã ã®ããã©ã«ãã³ãã³ãå®è¡ããŒã«ãäœæãã«ããäœæããŠãã ããã 2. ã¢ãŠããããããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ã®æœåº åé ã®ã¢ãŠããããããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ãåã ã®å€æ°ã«åé¢ããŠããŸãã 3. ã³ã³ããèªèº«ããããŒãžãã€ã³ã¹ã¿ã³ã¹ãžã®ç»é² ååŸããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ãå©çšããã³ã³ããèªèº«ããããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããŠç»é²ããŸãã ç°å¢å€æ° AWS_DEFAULT_REGION ã®ããã« AWS ã® Credential ã«ãŠããã©ã«ãã® Region èšå®ããã£ãå Žåã§ãããã®ã³ãã³ãã§ã¯ãªãã·ã§ã³ã§ Region æå®ãå¿ é ãšãªãã®ã§ã泚æãã ããã 4. SessionManager ãšãŒãžã§ã³ãã®èµ·å æåŸã« SessionManager ãšãŒãžã§ã³ããèµ·åããŸãã ããã«ãã AWS ãšã®éä¿¡ã確ç«ãããSessionManager ãå©çšã§ããããã«ãªããŸãã ãã®ç¶æ ã§ãããŒãžãã€ã³ã¹ã¿ã³ã¹ç»é¢ã«ãŠç®çã®ã€ã³ã¹ã¿ã³ã¹ãããªã³ã©ã€ã³ãã§ããã°èšå®ãå®äºã§ãã æ¥ç¶ç¢ºèª èšå®ãå®äºããã®ã§ãå®éã« SessionManager ã«ãŠæ¥ç¶ããŠã¿ãŸãã AWS ã³ã³ãœãŒã«ã®ã»ãã·ã§ã³ãããŒãžã£ããã»ãã·ã§ã³ã®éå§ãéžæããååãäºåã«ç»é²ãã medley-blog-fargate-container ã§ãããã®ãéžæããŸãã å€èŠã¯ä»ã® EC2 ãšå€ãããªã衚瀺ã§ããããã®ææ®µã§ç»é²ãããã®ã¯ã€ã³ã¹ã¿ã³ã¹ ID ã mi ããå§ãŸã ID ã«ãªããŸã(éåžžã® EC2 㯠i ããå§ãŸã ID)ã åŸã¯æ®æ®µéãã«ã»ãã·ã§ã³ãéå§ãããšã³ã³ããå ãžã®ã¢ã¯ã»ã¹ãéå§ãããŸãã ããã§ EC2 ã®ç¡ã Fargate äžã®ã³ã³ããã«å¯ŸããŠãã¿ãŒããã«ã«å ¥ãããšãã§ããŸããã éçšããŠã¿ãŠã®ææ³ Fargate äžã®ã³ã³ããã«çŽæ¥å ¥ãããšã«ãããä»ãŸã§åºæ¥ãªãã£ã top ã³ãã³ãã«ããããã»ã¹ç¶æ ã®ç¢ºèª df ã³ãã³ãã«ãã Disk 容éã®ç¢ºèª ãªã©ã®ç°å¢èª¿æ»ãåºæ¥ãããã«ãªããŸããã å©çšé »åºŠãå€ãèš³ã§ã¯ãããŸãããã調æ»ã®éžæè¢ãå¢ããäºã«ããæäºã®éã®æ©æå¯Ÿå¿ã«ç¹ãããããŠãããšæããŠããŸãã æ³šæç¹ ããããã¯éçšã«åœãã£ãŠã®æ³šæç¹ã«ã€ããŠæ°ç¹ç޹ä»ããŸãã æé EC2 ã§ã® SessionManager ãšéãã ãã®æ¹æ³ã§ç»é²ãããµãŒããžã® SessionManager éä¿¡ã¯æéãçºçããŸã ã æ£ç¢ºã«ã¯ ãSessionManager ãšãŒãžã§ã³ããèµ·åã AWS ãšéä¿¡ã確ç«ããŠããç¶æ ã ã§ã®æé課éã§ SessionManager ã§ã®æ¥ç¶æç¡ã¯åããŸããã ãã£ãŠãåžžæå¿ èŠã§ã¯ãªãå Žå㯠SessionManager ãšãŒãžã§ã³ããæ¢ããŠç¯çŽããæ¹æ³ãæ€èšããŠãã ããã ã¢ã¯ãã£ããŒã·ã§ã³ããããŒãžãã€ã³ã¹ã¿ã³ã¹ããªã¹ãã«æ®ã ã³ã³ããçµäºæã§ã AWS ã³ã³ãœãŒã«ã®ãã€ããªããã¢ã¯ãã£ããŒã·ã§ã³äžèЧããããŒãžãã€ã³ã¹ã¿ã³ã¹äžèЧã«è¡šç€ºãæ®ã£ãŠããŸãããã§ãã äžèЧã®äžéã®èšèŒã¯èŠã€ãããªãã£ããã®ã®ãç¡éã«å¢ãããšãæããªãã®ã§é©æ Lambda ã䜿ã£ãŠåé€ããŠããŸãã SessionManager ã§ã®æäœã«ã€ã㊠EC2 ã€ã³ã¹ã¿ã³ã¹ã«å¯ŸããŠã® SessionManager ãšåæ§ã§ãããã»ãã·ã§ã³éå§çŽåŸã®ãŠãŒã¶ã¯ ssm-user åºå®ã«ãªãããã§ãã ç¹å®ãŠãŒã¶ã§ã®æäœãå¿ èŠãšãªãå Žåã su ã³ãã³ãã§ã®ãŠãŒã¶åãæ¿ããå¿ èŠã«ãªããŸãã ãããã« ä»åã®ããã«ã¡ãã¬ãŒã§ã¯æ°ããªæè¡ãåãå ¥ãã€ã€ããµãŒãã¹ã®å®å®ãç®çãšããæ§ã ãªæœçãå°å ¥ããŠããŸãã ãããã£ãåãæ¹ã«èå³ãæãããæ¹ããŸãã¯äžèšãªã³ã¯ãããæ°è»œã«ã話ããŸãããïŒ https://www.medley.jp/jobs/
AWS
,
Linux
,
ã¹ã¿ãŒãã¢ãã
,
ãã¹ã
,
ã²ãŒã
,
ãªã³ãã¬ãã¹
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/09/18
<![CDATA[ Fargate äžã§åãã³ã³ããã¢ããªã±ãŒã·ã§ã³ã« SessionManager ã§æ¥ç¶ãã ]]>
èªå·±çŽ¹ä» æ ªåŒäŒç€Ÿã¡ãã¬ãŒã®ãšã³ãžãã¢éªæ¬ã§ãã 9 æã«å ¥ã£ãŠãæãæ¥ãç¶ãäžãçããã¯ããããéããã§ããããã ååã®ããã°ã§ãæžããŸãããç§ã¯éç芳æŠïŒèå ïŒãè¶£å³ã§ãæ¯æ¥ã®è©Šåçµæã«äžåäžæããŠããŸãã ãã®ããã°ã®å·çæç¹ã§ã¯ã»ã»ãªãŒã°ã¯éŠäœå·šäººã«ããžãã¯ãç¹ç¯ããæ®è©Šå 50 ãåã£ãç¶æ³ã§ã®ã²ãŒã å·® 10ãåªåãç®æãéªç¥ã«ãšã£ãŠã¯å³ããç¶æ³ãšãªããŸããããæ®ãçŽæ¥å¯Ÿæ±ºããã¹ãŠåãŠã°å¯èœæ§ã¯èŠããŠããã¯ããããã¯è«Šããã«å¿æŽããããšæããŸãã æ¬¡ã®èšäºãæžãé ã«ã¯äœããã®æ±ºçãçããŠãããšæããŸãã®ã§ããã®æã«ã¯åã³ã®ã¡ãã»ãŒãžãæžããäºãé¡ã£ãŠããŸãã ã¯ããã« çªç¶ã§ãããçãã㯠Fargate ã䜿ãããªããŠããŸããïŒ ä»ãŸã§ ECS(EC2)ã§ã®éçšãã¡ã€ã³ã§ãããããžã§ãã¡ãã¬ãŒã®ã·ã¹ãã ã§ã Fargate ã«è§Šããæ©äŒãå¢ããŠããŸããã çè èªèº«ã¯åããŠã® Fargate ã§ããããEC2 ã®ååšãç¡ããªãããšã«äžæè°ãªæèŠãèŠãã€ã€ãã管çãããã®ãæžã£ãŠéçšã楜ã«ãªã£ããšå®æããŠããŸãã ããããEC2 ãç¡ããªã£ãäºã«ãããµãŒãå ã«ã¿ãŒããã«ã§å ¥ãææ®µã倱ããŸããã å ¬åŒã® ã¬ã€ã ã§ã¯ 質åïŒïŒã³ã³ããã®äžã« ssh ã docker exec ã§å ¥ãããšã¯åºæ¥ãŸããïŒ ãã¡ãçŸç¶ãµããŒãããŠãããŸããããã³ã³ããã¯ãŒã¯ããŒãã§ã¯ã åäžã®ç°å¢ã§ãã£ãããã¹ããè¡ã ãããšãã ãã°ãå€éšã«å šãŠåºã ãããšããã¹ããã©ã¯ãã£ã¹ãšãããŠããŠãã³ã³ããã«å ¥ãå¿ èŠæ§ãåºæ¥ãéãæžããæ¹ãå°æ¥çã«ã奜ãŸããã§ãã ãšãäºåã«ãã¹ããååã«å®æœãããããã°ã¯(S3 ã CloudWatchLogs ãªã©)å€éšã«åºåããã ããåºæ¥ãŠããã°å ¥ãå¿ èŠãç¡ãã¯ããšèšèŒãããŠãããã®ã®ã»ã»ã»å¿é æ§ãªèªåã¯äžæž¬ã®äºæ ãçºçããæã®äºãèããŠãµãŒãã«å ¥ãææ®µãæ±ããŠããŸããŸãã ããã§ä»£æ¿ææ®µã暡玢ããŠããæã SessionManager ã䜿ãã°å¯èœãšã®æç®ãèŠã€ããŸããã ãã§ã« SessionManager èªäœã¯ EC2 ã«å¯ŸããŠéçšãè¡ã£ãŠããããå°å ¥ã®æ·å± ã¯äœããšèãããã®ææ®µãæ¡çšããããšã«ããŸããã Session Manager ãšã¯ïŒ Session Manager ãšã¯ AWS ã® Systems Manager ãµãŒãã¹ã® 1 æ©èœã§ãAWS äžã§ç®¡çããŠãããµãŒãïŒãããŒãžãã€ã³ã¹ã¿ã³ã¹ïŒã«å¯ŸããŠã¿ãŒããã«ã®ã¢ã¯ã»ã¹ãå¯èœã«ãããã®ã§ãã ã¿ãŒããã«ãžã®ã¢ã¯ã»ã¹ææ®µã¯ãããããææ®µã ãš SSH ããããŸãã ãã®æ¹æ³ã¯ SSH ããŒããå€éšã«éæŸããå¿ èŠãããããæ»æã®å¯Ÿè±¡ã«ãªãããããããŸã奜ãŸãããããŸããã ããã«æ¯ã¹ãŠ Session Manager 㯠SSH ããŒãã®éæŸã¯äžèŠã§ãµãŒãããèŠãŠã¢ãŠãããŠã³ãæ¹åã® HTTPS éä¿¡ã®ç¢ºä¿ã§æžãçºãå€éšããã®æ»æãåããå®å šã«ã¢ã¯ã»ã¹çµè·¯ã®ç¢ºä¿ãå®çŸã§ããŸãã â»éä¿¡çµè·¯ã®ç¢ºä¿ä»¥å€ã«ã IAM ããŒã«ã®èšå®ãªã©ãå¿ èŠãšãªããŸãã詳ãã㯠ãã¡ã ãåè ãAWS äžã§ç®¡çããŠãããµãŒãããšå ã«èšèŒããŸãããããã®ãµãŒã㯠EC2 ã€ã³ã¹ã¿ã³ã¹ã«éããªãã®ãæ¬èšäºã®éèŠãªãã€ã³ãã«ãªããŸãã ãªã³ãã¬ãã¹ãªãµãŒãã AWS äžã§ç®¡çãããŠããã®ã§ããã°ãSessionManager ãšãŒãžã§ã³ããã€ã³ã¹ããŒã«ããäºã«ãã管ç察象ã«å«ããããšãå¯èœã«ãªãã®ã§ãã ä»å㯠EC2 ã§åããŠãã SessionManager ãšãŒãžã§ã³ãã Fargate ã§åãã³ã³ããã«ã€ã³ã¹ããŒã«ããäºã«ããã³ã³ããèªäœããµãŒããšèŠç«ãŠãŠãããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããSessionManager ã§ã¢ã¯ã»ã¹ããäºãç®æããŸãã å¯Ÿå¿ Systems Manager ã€ã³ã¹ã¿ã³ã¹æ ãã¹ã¿ã³ããŒãããã¢ããã³ã¹ãã«å€æŽãã ïŒ AWS ã³ã³ãœãŒã«ã§ã®èšå® ãªã³ãã¬ãã¹ãªãµãŒãã« SessionManager ã«ãŠã¢ã¯ã»ã¹ããå ŽåãSystems Manager ã®ãªã³ãã¬ãã¹ã€ã³ã¹ã¿ã³ã¹ãã£ã¢ã ã¹ã¿ã³ããŒãããã¢ããã³ã¹ããžãšå€æŽããå¿ èŠ ããããŸãã ãã®å€æŽäœæ¥ã¯ AWS ã³ã³ãœãŒã«ããè¡ãäºã«ãªããŸãããã¢ããã³ã¹ããžã®å€æŽã«åœãã£ãŠæ¢åã®ãããŒãžãã€ã³ã¹ã¿ã³ã¹ã«åœ±é¿ããããšã¯ãããŸããã ãã ãããã®éã®å Žåãã¹ã¿ã³ããŒãã«æ»ãéã«ã¯èæ ®ãå¿ èŠãšãªãã®ã§ ãã¡ã ãåç §ãã ããã SSM Agent ã®ã€ã³ã¹ããŒã« ïŒ ã³ã³ããã«å¯Ÿããèšå® ããããã¯å®éã«åãã³ã³ããã«å¯Ÿããèšå®ã«ãªããŸãã AWS ã®ããã¥ã¡ã³ã æåã§ã€ã³ã¹ããŒã« SSM ãšãŒãžã§ã³ã EC2 ã§ Linux ã®ã€ã³ã¹ã¿ã³ã¹ ãåèã«ãOS ã«åã£ãæ¹æ³ã§ SessionManager ãšãŒãžã§ã³ãã®ã€ã³ã¹ããŒã«ãè¡ããŸãã ã€ã³ã¹ããŒã«äœæ¥ã«ã¯éä¿¡ãªã©ã®æéãå¿ èŠãšãªãã®ã§ãäºåã«ã³ã³ããã€ã¡ãŒãžã«ã€ã³ã¹ããŒã«ãã圢ãšããŸããã ã³ã³ããããããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããŠç»é²ãã ïŒ ã³ã³ããã«å¯Ÿããèšå® ã³ã³ããããããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããŠç»é²ãããããã³ã³ããã®ã¹ã¿ãŒãã¢ãã(Entrypoint)ã«ãŠäžèšã¹ã¯ãªãããå®è¡ããŸãã # 1. ãã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ã®äœæ SSM_ACTIVATE_INFO = ` aws ssm create-activation --iam-role service-role/AmazonEC2RunCommandRoleForManagedInstances --registration-limit 1 --region ap-northeast-1 --default-instance-name medley-blog-fargate-container` # 2. ã¢ãŠããããããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ã®æœåº SSM_ACTIVATE_CODE = ` echo $SSM_ACTIVATE_INFO | jq -r '.ActivationCode'` SSM_ACTIVATE_ID = ` echo $SSM_ACTIVATE_INFO | jq -r '.ActivationId'` # 3. ã³ã³ããèªèº«ããããŒãžãã€ã³ã¹ã¿ã³ã¹ãžã®ç»é² amazon-ssm-agent -register -code $SSM_ACTIVATE_CODE -id $SSM_ACTIVATE_ID -region "ap-northeast-1" # 4. SessionManager ãšãŒãžã§ã³ãã®èµ·å amazon-ssm-agent & ãããã®ã³ãã³ãã«ã€ããŠã¯åè¡ããšã«èª¬æããŸã 1.ãã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ã®äœæ ãããŒãžãã€ã³ã¹ã¿ã³ã¹ç»é²ã«å¿ èŠãªã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ååŸã®ããããã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ã®ç»é²ãè¡ããŸãã åŸã AWS ã³ã³ãœãŒã«ã«ãŠã€ã³ã¹ã¿ã³ã¹ã®èå¥ãã§ããããã«ã --default-instance-name ãªãã·ã§ã³ã«ãŠ medley-blog-fargate-container ãšããååãä»äžããŠããŸãã ãã®ã³ãã³ãã®ã¢ãŠããããã«ãŠäžèšã®ãã㪠JSON ãè¿ãããçºãäžæŠå€æ°ã«æ ŒçŽããŠããŸãã { "ActivationId" : "<<ã¢ã¯ãã£ããŒã·ã§ã³ ID>>", "ActivationCode": "<<ã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã>>" } ãŸã --iam-role ãªãã·ã§ã³ã§ãµãŒãã¹ããŒã« AmazonEC2RunCommandRoleForManagedInstances ã䜿ã£ãŠããŸãã ãã®ããŒã«ããŸã ååšããªãå ŽåãAWS ã³ã³ãœãŒã«ãããã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ãã IAM ããŒã« âãå¿ èŠãªæš©éãåããã·ã¹ãã ã®ããã©ã«ãã³ãã³ãå®è¡ããŒã«ãäœæãã«ããäœæããŠãã ããã 2. ã¢ãŠããããããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ã®æœåº åé ã®ã¢ãŠããããããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ãåã ã®å€æ°ã«åé¢ããŠããŸãã 3. ã³ã³ããèªèº«ããããŒãžãã€ã³ã¹ã¿ã³ã¹ãžã®ç»é² ååŸããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ãå©çšããã³ã³ããèªèº«ããããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããŠç»é²ããŸãã ç°å¢å€æ° AWS_DEFAULT_REGION ã®ããã« AWS ã® Credential ã«ãŠããã©ã«ãã® Region èšå®ããã£ãå Žåã§ãããã®ã³ãã³ãã§ã¯ãªãã·ã§ã³ã§ Region æå®ãå¿ é ãšãªãã®ã§ã泚æãã ããã 4. SessionManager ãšãŒãžã§ã³ãã®èµ·å æåŸã« SessionManager ãšãŒãžã§ã³ããèµ·åããŸãã ããã«ãã AWS ãšã®éä¿¡ã確ç«ãããSessionManager ãå©çšã§ããããã«ãªããŸãã ãã®ç¶æ ã§ãããŒãžãã€ã³ã¹ã¿ã³ã¹ç»é¢ã«ãŠç®çã®ã€ã³ã¹ã¿ã³ã¹ãããªã³ã©ã€ã³ãã§ããã°èšå®ãå®äºã§ãã æ¥ç¶ç¢ºèª èšå®ãå®äºããã®ã§ãå®éã« SessionManager ã«ãŠæ¥ç¶ããŠã¿ãŸãã AWS ã³ã³ãœãŒã«ã®ã»ãã·ã§ã³ãããŒãžã£ããã»ãã·ã§ã³ã®éå§ãéžæããååãäºåã«ç»é²ãã medley-blog-fargate-container ã§ãããã®ãéžæããŸãã å€èŠã¯ä»ã® EC2 ãšå€ãããªã衚瀺ã§ããããã®ææ®µã§ç»é²ãããã®ã¯ã€ã³ã¹ã¿ã³ã¹ ID ã mi ããå§ãŸã ID ã«ãªããŸã(éåžžã® EC2 㯠i ããå§ãŸã ID)ã åŸã¯æ®æ®µéãã«ã»ãã·ã§ã³ãéå§ãããšã³ã³ããå ãžã®ã¢ã¯ã»ã¹ãéå§ãããŸãã ããã§ EC2 ã®ç¡ã Fargate äžã®ã³ã³ããã«å¯ŸããŠãã¿ãŒããã«ã«å ¥ãããšãã§ããŸããã éçšããŠã¿ãŠã®ææ³ Fargate äžã®ã³ã³ããã«çŽæ¥å ¥ãããšã«ãããä»ãŸã§åºæ¥ãªãã£ã top ã³ãã³ãã«ããããã»ã¹ç¶æ ã®ç¢ºèª df ã³ãã³ãã«ãã Disk 容éã®ç¢ºèª ãªã©ã®ç°å¢èª¿æ»ãåºæ¥ãããã«ãªããŸããã å©çšé »åºŠãå€ãèš³ã§ã¯ãããŸãããã調æ»ã®éžæè¢ãå¢ããäºã«ããæäºã®éã®æ©æå¯Ÿå¿ã«ç¹ãããããŠãããšæããŠããŸãã æ³šæç¹ ããããã¯éçšã«åœãã£ãŠã®æ³šæç¹ã«ã€ããŠæ°ç¹ç޹ä»ããŸãã æé EC2 ã§ã® SessionManager ãšéãã ãã®æ¹æ³ã§ç»é²ãããµãŒããžã® SessionManager éä¿¡ã¯æéãçºçããŸã ã æ£ç¢ºã«ã¯ ãSessionManager ãšãŒãžã§ã³ããèµ·åã AWS ãšéä¿¡ã確ç«ããŠããç¶æ ã ã§ã®æé課éã§ SessionManager ã§ã®æ¥ç¶æç¡ã¯åããŸããã ãã£ãŠãåžžæå¿ èŠã§ã¯ãªãå Žå㯠SessionManager ãšãŒãžã§ã³ããæ¢ããŠç¯çŽããæ¹æ³ãæ€èšããŠãã ããã ã¢ã¯ãã£ããŒã·ã§ã³ããããŒãžãã€ã³ã¹ã¿ã³ã¹ããªã¹ãã«æ®ã ã³ã³ããçµäºæã§ã AWS ã³ã³ãœãŒã«ã®ãã€ããªããã¢ã¯ãã£ããŒã·ã§ã³äžèЧããããŒãžãã€ã³ã¹ã¿ã³ã¹äžèЧã«è¡šç€ºãæ®ã£ãŠããŸãããã§ãã äžèЧã®äžéã®èšèŒã¯èŠã€ãããªãã£ããã®ã®ãç¡éã«å¢ãããšãæããªãã®ã§é©æ Lambda ã䜿ã£ãŠåé€ããŠããŸãã SessionManager ã§ã®æäœã«ã€ã㊠EC2 ã€ã³ã¹ã¿ã³ã¹ã«å¯ŸããŠã® SessionManager ãšåæ§ã§ãããã»ãã·ã§ã³éå§çŽåŸã®ãŠãŒã¶ã¯ ssm-user åºå®ã«ãªãããã§ãã ç¹å®ãŠãŒã¶ã§ã®æäœãå¿ èŠãšãªãå Žåã su ã³ãã³ãã§ã®ãŠãŒã¶åãæ¿ããå¿ èŠã«ãªããŸãã ãããã« ä»åã®ããã«ã¡ãã¬ãŒã§ã¯æ°ããªæè¡ãåãå ¥ãã€ã€ããµãŒãã¹ã®å®å®ãç®çãšããæ§ã ãªæœçãå°å ¥ããŠããŸãã ãããã£ãåãæ¹ã«èå³ãæãããæ¹ããŸãã¯äžèšãªã³ã¯ãããæ°è»œã«ã話ããŸãããïŒ åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp
AWS
,
Linux
,
ã¹ã¿ãŒãã¢ãã
,
ãã¹ã
,
ã²ãŒã
,
ãªã³ãã¬ãã¹
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/09/18
<![CDATA[ Fargate äžã§åãã³ã³ããã¢ããªã±ãŒã·ã§ã³ã« SessionManager ã§æ¥ç¶ãã ]]>
èªå·±çŽ¹ä» æ ªåŒäŒç€Ÿã¡ãã¬ãŒã®ãšã³ãžãã¢éªæ¬ã§ãã 9 æã«å ¥ã£ãŠãæãæ¥ãç¶ãäžãçããã¯ããããéããã§ããããã ååã®ããã°ã§ãæžããŸãããç§ã¯éç芳æŠïŒèå ïŒãè¶£å³ã§ãæ¯æ¥ã®è©Šåçµæã«äžåäžæããŠããŸãã ãã®ããã°ã®å·çæç¹ã§ã¯ã»ã»ãªãŒã°ã¯éŠäœå·šäººã«ããžãã¯ãç¹ç¯ããæ®è©Šå 50 ãåã£ãç¶æ³ã§ã®ã²ãŒã å·® 10ãåªåãç®æãéªç¥ã«ãšã£ãŠã¯å³ããç¶æ³ãšãªããŸããããæ®ãçŽæ¥å¯Ÿæ±ºããã¹ãŠåãŠã°å¯èœæ§ã¯èŠããŠããã¯ããããã¯è«Šããã«å¿æŽããããšæããŸãã æ¬¡ã®èšäºãæžãé ã«ã¯äœããã®æ±ºçãçããŠãããšæããŸãã®ã§ããã®æã«ã¯åã³ã®ã¡ãã»ãŒãžãæžããäºãé¡ã£ãŠããŸãã ã¯ããã« çªç¶ã§ãããçãã㯠Fargate ã䜿ãããªããŠããŸããïŒ ä»ãŸã§ ECS(EC2)ã§ã®éçšãã¡ã€ã³ã§ãããããžã§ãã¡ãã¬ãŒã®ã·ã¹ãã ã§ã Fargate ã«è§Šããæ©äŒãå¢ããŠããŸããã çè èªèº«ã¯åããŠã® Fargate ã§ããããEC2 ã®ååšãç¡ããªãããšã«äžæè°ãªæèŠãèŠãã€ã€ãã管çãããã®ãæžã£ãŠéçšã楜ã«ãªã£ããšå®æããŠããŸãã ããããEC2 ãç¡ããªã£ãäºã«ãããµãŒãå ã«ã¿ãŒããã«ã§å ¥ãææ®µã倱ããŸããã å ¬åŒã® ã¬ã€ã ã§ã¯ 質åïŒïŒã³ã³ããã®äžã« ssh ã docker exec ã§å ¥ãããšã¯åºæ¥ãŸããïŒ ãã¡ãçŸç¶ãµããŒãããŠãããŸããããã³ã³ããã¯ãŒã¯ããŒãã§ã¯ã åäžã®ç°å¢ã§ãã£ãããã¹ããè¡ã ãããšãã ãã°ãå€éšã«å šãŠåºã ãããšããã¹ããã©ã¯ãã£ã¹ãšãããŠããŠãã³ã³ããã«å ¥ãå¿ èŠæ§ãåºæ¥ãéãæžããæ¹ãå°æ¥çã«ã奜ãŸããã§ãã ãšãäºåã«ãã¹ããååã«å®æœãããããã°ã¯(S3 ã CloudWatchLogs ãªã©)å€éšã«åºåããã ããåºæ¥ãŠããã°å ¥ãå¿ èŠãç¡ãã¯ããšèšèŒãããŠãããã®ã®ã»ã»ã»å¿é æ§ãªèªåã¯äžæž¬ã®äºæ ãçºçããæã®äºãèããŠãµãŒãã«å ¥ãææ®µãæ±ããŠããŸããŸãã ããã§ä»£æ¿ææ®µã暡玢ããŠããæã SessionManager ã䜿ãã°å¯èœãšã®æç®ãèŠã€ããŸããã ãã§ã« SessionManager èªäœã¯ EC2 ã«å¯ŸããŠéçšãè¡ã£ãŠããããå°å ¥ã®æ·å± ã¯äœããšèãããã®ææ®µãæ¡çšããããšã«ããŸããã Session Manager ãšã¯ïŒ Session Manager ãšã¯ AWS ã® Systems Manager ãµãŒãã¹ã® 1 æ©èœã§ãAWS äžã§ç®¡çããŠãããµãŒãïŒãããŒãžãã€ã³ã¹ã¿ã³ã¹ïŒã«å¯ŸããŠã¿ãŒããã«ã®ã¢ã¯ã»ã¹ãå¯èœã«ãããã®ã§ãã ã¿ãŒããã«ãžã®ã¢ã¯ã»ã¹ææ®µã¯ãããããææ®µã ãš SSH ããããŸãã ãã®æ¹æ³ã¯ SSH ããŒããå€éšã«éæŸããå¿ èŠãããããæ»æã®å¯Ÿè±¡ã«ãªãããããããŸã奜ãŸãããããŸããã ããã«æ¯ã¹ãŠ Session Manager 㯠SSH ããŒãã®éæŸã¯äžèŠã§ãµãŒãããèŠãŠã¢ãŠãããŠã³ãæ¹åã® HTTPS éä¿¡ã®ç¢ºä¿ã§æžãçºãå€éšããã®æ»æãåããå®å šã«ã¢ã¯ã»ã¹çµè·¯ã®ç¢ºä¿ãå®çŸã§ããŸãã â»éä¿¡çµè·¯ã®ç¢ºä¿ä»¥å€ã«ã IAM ããŒã«ã®èšå®ãªã©ãå¿ èŠãšãªããŸãã詳ãã㯠ãã¡ã ãåè ãAWS äžã§ç®¡çããŠãããµãŒãããšå ã«èšèŒããŸãããããã®ãµãŒã㯠EC2 ã€ã³ã¹ã¿ã³ã¹ã«éããªãã®ãæ¬èšäºã®éèŠãªãã€ã³ãã«ãªããŸãã ãªã³ãã¬ãã¹ãªãµãŒãã AWS äžã§ç®¡çãããŠããã®ã§ããã°ãSessionManager ãšãŒãžã§ã³ããã€ã³ã¹ããŒã«ããäºã«ãã管ç察象ã«å«ããããšãå¯èœã«ãªãã®ã§ãã ä»å㯠EC2 ã§åããŠãã SessionManager ãšãŒãžã§ã³ãã Fargate ã§åãã³ã³ããã«ã€ã³ã¹ããŒã«ããäºã«ããã³ã³ããèªäœããµãŒããšèŠç«ãŠãŠãããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããSessionManager ã§ã¢ã¯ã»ã¹ããäºãç®æããŸãã å¯Ÿå¿ Systems Manager ã€ã³ã¹ã¿ã³ã¹æ ãã¹ã¿ã³ããŒãããã¢ããã³ã¹ãã«å€æŽãã ïŒ AWS ã³ã³ãœãŒã«ã§ã®èšå® ãªã³ãã¬ãã¹ãªãµãŒãã« SessionManager ã«ãŠã¢ã¯ã»ã¹ããå ŽåãSystems Manager ã®ãªã³ãã¬ãã¹ã€ã³ã¹ã¿ã³ã¹ãã£ã¢ã ã¹ã¿ã³ããŒãããã¢ããã³ã¹ããžãšå€æŽããå¿ èŠ ããããŸãã ãã®å€æŽäœæ¥ã¯ AWS ã³ã³ãœãŒã«ããè¡ãäºã«ãªããŸãããã¢ããã³ã¹ããžã®å€æŽã«åœãã£ãŠæ¢åã®ãããŒãžãã€ã³ã¹ã¿ã³ã¹ã«åœ±é¿ããããšã¯ãããŸããã ãã ãããã®éã®å Žåãã¹ã¿ã³ããŒãã«æ»ãéã«ã¯èæ ®ãå¿ èŠãšãªãã®ã§ ãã¡ã ãåç §ãã ããã SSM Agent ã®ã€ã³ã¹ããŒã« ïŒ ã³ã³ããã«å¯Ÿããèšå® ããããã¯å®éã«åãã³ã³ããã«å¯Ÿããèšå®ã«ãªããŸãã AWS ã®ããã¥ã¡ã³ã æåã§ã€ã³ã¹ããŒã« SSM ãšãŒãžã§ã³ã EC2 ã§ Linux ã®ã€ã³ã¹ã¿ã³ã¹ ãåèã«ãOS ã«åã£ãæ¹æ³ã§ SessionManager ãšãŒãžã§ã³ãã®ã€ã³ã¹ããŒã«ãè¡ããŸãã ã€ã³ã¹ããŒã«äœæ¥ã«ã¯éä¿¡ãªã©ã®æéãå¿ èŠãšãªãã®ã§ãäºåã«ã³ã³ããã€ã¡ãŒãžã«ã€ã³ã¹ããŒã«ãã圢ãšããŸããã ã³ã³ããããããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããŠç»é²ãã ïŒ ã³ã³ããã«å¯Ÿããèšå® ã³ã³ããããããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããŠç»é²ãããããã³ã³ããã®ã¹ã¿ãŒãã¢ãã(Entrypoint)ã«ãŠäžèšã¹ã¯ãªãããå®è¡ããŸãã # 1. ãã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ã®äœæ SSM_ACTIVATE_INFO = ` aws ssm create-activation --iam-role service-role/AmazonEC2RunCommandRoleForManagedInstances --registration-limit 1 --region ap-northeast-1 --default-instance-name medley-blog-fargate-container` # 2. ã¢ãŠããããããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ã®æœåº SSM_ACTIVATE_CODE = ` echo $SSM_ACTIVATE_INFO | jq -r '.ActivationCode'` SSM_ACTIVATE_ID = ` echo $SSM_ACTIVATE_INFO | jq -r '.ActivationId'` # 3. ã³ã³ããèªèº«ããããŒãžãã€ã³ã¹ã¿ã³ã¹ãžã®ç»é² amazon-ssm-agent -register -code $SSM_ACTIVATE_CODE -id $SSM_ACTIVATE_ID -region "ap-northeast-1" # 4. SessionManager ãšãŒãžã§ã³ãã®èµ·å amazon-ssm-agent & ãããã®ã³ãã³ãã«ã€ããŠã¯åè¡ããšã«èª¬æããŸã 1.ãã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ã®äœæ ãããŒãžãã€ã³ã¹ã¿ã³ã¹ç»é²ã«å¿ èŠãªã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ååŸã®ããããã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ã®ç»é²ãè¡ããŸãã åŸã AWS ã³ã³ãœãŒã«ã«ãŠã€ã³ã¹ã¿ã³ã¹ã®èå¥ãã§ããããã«ã --default-instance-name ãªãã·ã§ã³ã«ãŠ medley-blog-fargate-container ãšããååãä»äžããŠããŸãã ãã®ã³ãã³ãã®ã¢ãŠããããã«ãŠäžèšã®ãã㪠JSON ãè¿ãããçºãäžæŠå€æ°ã«æ ŒçŽããŠããŸãã { "ActivationId" : "<<ã¢ã¯ãã£ããŒã·ã§ã³ ID>>", "ActivationCode": "<<ã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã>>" } ãŸã --iam-role ãªãã·ã§ã³ã§ãµãŒãã¹ããŒã« AmazonEC2RunCommandRoleForManagedInstances ã䜿ã£ãŠããŸãã ãã®ããŒã«ããŸã ååšããªãå ŽåãAWS ã³ã³ãœãŒã«ãããã€ããªããã¢ã¯ãã£ããŒã·ã§ã³ãã IAM ããŒã« âãå¿ èŠãªæš©éãåããã·ã¹ãã ã®ããã©ã«ãã³ãã³ãå®è¡ããŒã«ãäœæãã«ããäœæããŠãã ããã 2. ã¢ãŠããããããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ã®æœåº åé ã®ã¢ãŠããããããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ãåã ã®å€æ°ã«åé¢ããŠããŸãã 3. ã³ã³ããèªèº«ããããŒãžãã€ã³ã¹ã¿ã³ã¹ãžã®ç»é² ååŸããã¢ã¯ãã£ããŒã·ã§ã³ã³ãŒã/ID ãå©çšããã³ã³ããèªèº«ããããŒãžãã€ã³ã¹ã¿ã³ã¹ãšããŠç»é²ããŸãã ç°å¢å€æ° AWS_DEFAULT_REGION ã®ããã« AWS ã® Credential ã«ãŠããã©ã«ãã® Region èšå®ããã£ãå Žåã§ãããã®ã³ãã³ãã§ã¯ãªãã·ã§ã³ã§ Region æå®ãå¿ é ãšãªãã®ã§ã泚æãã ããã 4. SessionManager ãšãŒãžã§ã³ãã®èµ·å æåŸã« SessionManager ãšãŒãžã§ã³ããèµ·åããŸãã ããã«ãã AWS ãšã®éä¿¡ã確ç«ãããSessionManager ãå©çšã§ããããã«ãªããŸãã ãã®ç¶æ ã§ãããŒãžãã€ã³ã¹ã¿ã³ã¹ç»é¢ã«ãŠç®çã®ã€ã³ã¹ã¿ã³ã¹ãããªã³ã©ã€ã³ãã§ããã°èšå®ãå®äºã§ãã æ¥ç¶ç¢ºèª èšå®ãå®äºããã®ã§ãå®éã« SessionManager ã«ãŠæ¥ç¶ããŠã¿ãŸãã AWS ã³ã³ãœãŒã«ã®ã»ãã·ã§ã³ãããŒãžã£ããã»ãã·ã§ã³ã®éå§ãéžæããååãäºåã«ç»é²ãã medley-blog-fargate-container ã§ãããã®ãéžæããŸãã å€èŠã¯ä»ã® EC2 ãšå€ãããªã衚瀺ã§ããããã®ææ®µã§ç»é²ãããã®ã¯ã€ã³ã¹ã¿ã³ã¹ ID ã mi ããå§ãŸã ID ã«ãªããŸã(éåžžã® EC2 㯠i ããå§ãŸã ID)ã åŸã¯æ®æ®µéãã«ã»ãã·ã§ã³ãéå§ãããšã³ã³ããå ãžã®ã¢ã¯ã»ã¹ãéå§ãããŸãã ããã§ EC2 ã®ç¡ã Fargate äžã®ã³ã³ããã«å¯ŸããŠãã¿ãŒããã«ã«å ¥ãããšãã§ããŸããã éçšããŠã¿ãŠã®ææ³ Fargate äžã®ã³ã³ããã«çŽæ¥å ¥ãããšã«ãããä»ãŸã§åºæ¥ãªãã£ã top ã³ãã³ãã«ããããã»ã¹ç¶æ ã®ç¢ºèª df ã³ãã³ãã«ãã Disk 容éã®ç¢ºèª ãªã©ã®ç°å¢èª¿æ»ãåºæ¥ãããã«ãªããŸããã å©çšé »åºŠãå€ãèš³ã§ã¯ãããŸãããã調æ»ã®éžæè¢ãå¢ããäºã«ããæäºã®éã®æ©æå¯Ÿå¿ã«ç¹ãããããŠãããšæããŠããŸãã æ³šæç¹ ããããã¯éçšã«åœãã£ãŠã®æ³šæç¹ã«ã€ããŠæ°ç¹ç޹ä»ããŸãã æé EC2 ã§ã® SessionManager ãšéãã ãã®æ¹æ³ã§ç»é²ãããµãŒããžã® SessionManager éä¿¡ã¯æéãçºçããŸã ã æ£ç¢ºã«ã¯ ãSessionManager ãšãŒãžã§ã³ããèµ·åã AWS ãšéä¿¡ã確ç«ããŠããç¶æ ã ã§ã®æé課éã§ SessionManager ã§ã®æ¥ç¶æç¡ã¯åããŸããã ãã£ãŠãåžžæå¿ èŠã§ã¯ãªãå Žå㯠SessionManager ãšãŒãžã§ã³ããæ¢ããŠç¯çŽããæ¹æ³ãæ€èšããŠãã ããã ã¢ã¯ãã£ããŒã·ã§ã³ããããŒãžãã€ã³ã¹ã¿ã³ã¹ããªã¹ãã«æ®ã ã³ã³ããçµäºæã§ã AWS ã³ã³ãœãŒã«ã®ãã€ããªããã¢ã¯ãã£ããŒã·ã§ã³äžèЧããããŒãžãã€ã³ã¹ã¿ã³ã¹äžèЧã«è¡šç€ºãæ®ã£ãŠããŸãããã§ãã äžèЧã®äžéã®èšèŒã¯èŠã€ãããªãã£ããã®ã®ãç¡éã«å¢ãããšãæããªãã®ã§é©æ Lambda ã䜿ã£ãŠåé€ããŠããŸãã SessionManager ã§ã®æäœã«ã€ã㊠EC2 ã€ã³ã¹ã¿ã³ã¹ã«å¯ŸããŠã® SessionManager ãšåæ§ã§ãããã»ãã·ã§ã³éå§çŽåŸã®ãŠãŒã¶ã¯ ssm-user åºå®ã«ãªãããã§ãã ç¹å®ãŠãŒã¶ã§ã®æäœãå¿ èŠãšãªãå Žåã su ã³ãã³ãã§ã®ãŠãŒã¶åãæ¿ããå¿ èŠã«ãªããŸãã ãããã« ä»åã®ããã«ã¡ãã¬ãŒã§ã¯æ°ããªæè¡ãåãå ¥ãã€ã€ããµãŒãã¹ã®å®å®ãç®çãšããæ§ã ãªæœçãå°å ¥ããŠããŸãã ãããã£ãåãæ¹ã«èå³ãæãããæ¹ããŸãã¯äžèšãªã³ã¯ãããæ°è»œã«ã話ããŸãããïŒ åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp
AWS
,
Linux
,
ã¹ã¿ãŒãã¢ãã
,
ãã¹ã
,
ã²ãŒã
,
ãªã³ãã¬ãã¹
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/09/14
<![CDATA[ iOSDC 2020 ã«ã·ã«ããŒã¹ãã³ãµãŒãšããŠåè³ããŸã ]]>
ã¿ãªãããããã«ã¡ã¯ããšã³ãžãã¢ã»ãã¶ã€ããŒæ¡çšæ åœã®å¹³æšã§ãã ã¡ãã¬ãŒã§ã¯ iOS éçºã³ãã¥ããã£ã«åŸ®åãªããéå ããããšã2017 幎ãã iOSDC ã«åè³ããããŠããã ããŠãããŸãããä»å¹Žã ã·ã«ããŒã¹ãã³ãµãŒ ãšããŠåè³ãããŠããã ãããšã«ãªããŸããã éå»ã®åå ã¬ããŒã entry/2018/09/13/175702 entry/2017/09/27/120000 iOSDC åã®ãªã³ã©ã€ã³éå¬ ä»å¹Žã® iOSDC ã¯åã®ãªã³ã©ã€ã³éå¬ãšããããšã§ãäŸå¹Žãšã¯ãŸãéã£ã楜ãã¿æ¹ãã§ãããã§ãã å ¬åŒã¹ã¿ããããã°ã«èšèŒãããŠããŸãããä»å¹Žã¯ããã«ãã£ã°ããºã é é ããããšã®ããšã§ãæ¢ã«å±ããŠããæ¹ãããã£ãããããã§ããåŒç€Ÿã®ãã³ãã¬ãããåå°ãããŠããã ããŠãŸãã ä»å¹Žã® ã¿ã€ã ããŒãã« ã倧å€è峿·±ãå 容ãå€ããä»ããèŠèŽã楜ãã¿ã§ãã(ã¹ãã³ãµãŒãã±ãããé ããŠã¯ããŸãããçè ãèªè ¹ã§ãã±ããè³Œå ¥ããŠããŸã) ãã³ãã³çæŸéã§ã®èŠèŽ ãšããããšã§ãäŸå¹Žãšã¯éããã³ã¡ã³ããªã©ã§çãäžãããããã®ã§ã¯ãªãããšãå€§å€æåŸ ããŠããŸãã Ask the Speaker ã§ã¯ Discord ã䜿çšãããšããããšã§ã察é¢ãšã¯ãŸãéã£ãã³ãã¥ãã±ãŒã·ã§ã³ãåãããã§ããåè URL ãå³ãªã©ãããã«åºããŠããããããªã©ãããã«åŠã³ãæ·±ããªãã®ã§ã¯ãªãããšæã£ãŠããŸãã æåŸã« ä»åã¯çŽæ¥äŒå Žã§ã¿ãªãããšã®äº€æµã¯ã§ããŸããããåŒç€Ÿã®ãšã³ãžãã¢ãåå äºå®ã§ãã®ã§ãäžç·ã«æ¥œããã§ãããããšæããŸããåŸæ¥ã€ãã³ãã¬ããŒãããã¡ãã§å ¬éããããšèããŠããŸãã ãŸããã¡ãã¬ãŒã§ã¯ããããã€ãã³ãã«ãèå³ããæã¡ã® iOS ãšã³ãžãã¢ãçµ¶è³åéäžã§ãããæ°è»œã«äžèšãããé£çµ¡ããã ããã°ãã«ãžã¥ã¢ã«ã«ã話ããããã§ã! åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp
iOS
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/09/14
<![CDATA[ iOSDC 2020 ã«ã·ã«ããŒã¹ãã³ãµãŒãšããŠåè³ããŸã ]]>
ã¿ãªãããããã«ã¡ã¯ããšã³ãžãã¢ã»ãã¶ã€ããŒæ¡çšæ åœã®å¹³æšã§ãã ã¡ãã¬ãŒã§ã¯ iOS éçºã³ãã¥ããã£ã«åŸ®åãªããéå ããããšã2017 幎ãã iOSDC ã«åè³ããããŠããã ããŠãããŸãããä»å¹Žã ã·ã«ããŒã¹ãã³ãµãŒ ãšããŠåè³ãããŠããã ãããšã«ãªããŸããã éå»ã®åå ã¬ããŒã entry/2018/09/13/175702 entry/2017/09/27/120000 iOSDC åã®ãªã³ã©ã€ã³éå¬ ä»å¹Žã® iOSDC ã¯åã®ãªã³ã©ã€ã³éå¬ãšããããšã§ãäŸå¹Žãšã¯ãŸãéã£ã楜ãã¿æ¹ãã§ãããã§ãã å ¬åŒã¹ã¿ããããã°ã«èšèŒãããŠããŸãããä»å¹Žã¯ããã«ãã£ã°ããºã é é ããããšã®ããšã§ãæ¢ã«å±ããŠããæ¹ãããã£ãããããã§ããåŒç€Ÿã®ãã³ãã¬ãããåå°ãããŠããã ããŠãŸãã ä»å¹Žã® ã¿ã€ã ããŒãã« ã倧å€è峿·±ãå 容ãå€ããä»ããèŠèŽã楜ãã¿ã§ãã(ã¹ãã³ãµãŒãã±ãããé ããŠã¯ããŸãããçè ãèªè ¹ã§ãã±ããè³Œå ¥ããŠããŸã) ãã³ãã³çæŸéã§ã®èŠèŽ ãšããããšã§ãäŸå¹Žãšã¯éããã³ã¡ã³ããªã©ã§çãäžãããããã®ã§ã¯ãªãããšãå€§å€æåŸ ããŠããŸãã Ask the Speaker ã§ã¯ Discord ã䜿çšãããšããããšã§ã察é¢ãšã¯ãŸãéã£ãã³ãã¥ãã±ãŒã·ã§ã³ãåãããã§ããåè URL ãå³ãªã©ãããã«åºããŠããããããªã©ãããã«åŠã³ãæ·±ããªãã®ã§ã¯ãªãããšæã£ãŠããŸãã æåŸã« ä»åã¯çŽæ¥äŒå Žã§ã¿ãªãããšã®äº€æµã¯ã§ããŸããããåŒç€Ÿã®ãšã³ãžãã¢ãåå äºå®ã§ãã®ã§ãäžç·ã«æ¥œããã§ãããããšæããŸããåŸæ¥ã€ãã³ãã¬ããŒãããã¡ãã§å ¬éããããšèããŠããŸãã ãŸããã¡ãã¬ãŒã§ã¯ããããã€ãã³ãã«ãèå³ããæã¡ã® iOS ãšã³ãžãã¢ãçµ¶è³åéäžã§ãããæ°è»œã«äžèšãããé£çµ¡ããã ããã°ãã«ãžã¥ã¢ã«ã«ã話ããããã§ã! åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp
iOS
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/09/14
<![CDATA[ iOSDC 2020 ã«ã·ã«ããŒã¹ãã³ãµãŒãšããŠåè³ããŸã ]]>
ã¿ãªãããããã«ã¡ã¯ããšã³ãžãã¢ã»ãã¶ã€ããŒæ¡çšæ åœã®å¹³æšã§ãã ã¡ãã¬ãŒã§ã¯ iOS éçºã³ãã¥ããã£ã«åŸ®åãªããéå ããããšã2017 幎ãã iOSDC ã«åè³ããããŠããã ããŠãããŸãããä»å¹Žã ã·ã«ããŒã¹ãã³ãµãŒ ãšããŠåè³ãããŠããã ãããšã«ãªããŸããã éå»ã®åå ã¬ããŒã entry/2018/09/13/175702 entry/2017/09/27/120000 iOSDC åã®ãªã³ã©ã€ã³éå¬ ä»å¹Žã® iOSDC ã¯åã®ãªã³ã©ã€ã³éå¬ãšããããšã§ãäŸå¹Žãšã¯ãŸãéã£ã楜ãã¿æ¹ãã§ãããã§ãã å ¬åŒã¹ã¿ããããã°ã«èšèŒãããŠããŸãããä»å¹Žã¯ããã«ãã£ã°ããºã é é ããããšã®ããšã§ãæ¢ã«å±ããŠããæ¹ãããã£ãããããã§ããåŒç€Ÿã®ãã³ãã¬ãããåå°ãããŠããã ããŠãŸãã ä»å¹Žã® ã¿ã€ã ããŒãã« ã倧å€è峿·±ãå 容ãå€ããä»ããèŠèŽã楜ãã¿ã§ãã(ã¹ãã³ãµãŒãã±ãããé ããŠã¯ããŸãããçè ãèªè ¹ã§ãã±ããè³Œå ¥ããŠããŸã) ãã³ãã³çæŸéã§ã®èŠèŽ ãšããããšã§ãäŸå¹Žãšã¯éããã³ã¡ã³ããªã©ã§çãäžãããããã®ã§ã¯ãªãããšãå€§å€æåŸ ããŠããŸãã Ask the Speaker ã§ã¯ Discord ã䜿çšãããšããããšã§ã察é¢ãšã¯ãŸãéã£ãã³ãã¥ãã±ãŒã·ã§ã³ãåãããã§ããåè URL ãå³ãªã©ãããã«åºããŠããããããªã©ãããã«åŠã³ãæ·±ããªãã®ã§ã¯ãªãããšæã£ãŠããŸãã æåŸã« ä»åã¯çŽæ¥äŒå Žã§ã¿ãªãããšã®äº€æµã¯ã§ããŸããããåŒç€Ÿã®ãšã³ãžãã¢ãåå äºå®ã§ãã®ã§ãäžç·ã«æ¥œããã§ãããããšæããŸããåŸæ¥ã€ãã³ãã¬ããŒãããã¡ãã§å ¬éããããšèããŠããŸãã ãŸããã¡ãã¬ãŒã§ã¯ããããã€ãã³ãã«ãèå³ããæã¡ã® iOS ãšã³ãžãã¢ãçµ¶è³åéäžã§ãããæ°è»œã«äžèšãããé£çµ¡ããã ããã°ãã«ãžã¥ã¢ã«ã«ã話ããããã§ã! åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp
iOS
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/09/14
<![CDATA[ iOSDC 2020 ã«ã·ã«ããŒã¹ãã³ãµãŒãšããŠåè³ããŸã ]]>
ã¿ãªãããããã«ã¡ã¯ããšã³ãžãã¢ã»ãã¶ã€ããŒæ¡çšæ åœã®å¹³æšã§ãã ã¡ãã¬ãŒã§ã¯ iOS éçºã³ãã¥ããã£ã«åŸ®åãªããéå ããããšã2017 幎ãã iOSDC ã«åè³ããããŠããã ããŠãããŸãããä»å¹Žã ã·ã«ããŒã¹ãã³ãµãŒ ãšããŠåè³ãããŠããã ãããšã«ãªããŸããã éå»ã®åå ã¬ããŒã entry/2018/09/13/175702 entry/2017/09/27/120000 iOSDC åã®ãªã³ã©ã€ã³éå¬ ä»å¹Žã® iOSDC ã¯åã®ãªã³ã©ã€ã³éå¬ãšããããšã§ãäŸå¹Žãšã¯ãŸãéã£ã楜ãã¿æ¹ãã§ãããã§ãã å ¬åŒã¹ã¿ããããã°ã«èšèŒãããŠããŸãããä»å¹Žã¯ããã«ãã£ã°ããºã é é ããããšã®ããšã§ãæ¢ã«å±ããŠããæ¹ãããã£ãããããã§ããåŒç€Ÿã®ãã³ãã¬ãããåå°ãããŠããã ããŠãŸãã ä»å¹Žã® ã¿ã€ã ããŒãã« ã倧å€è峿·±ãå 容ãå€ããä»ããèŠèŽã楜ãã¿ã§ãã(ã¹ãã³ãµãŒãã±ãããé ããŠã¯ããŸãããçè ãèªè ¹ã§ãã±ããè³Œå ¥ããŠããŸã) ãã³ãã³çæŸéã§ã®èŠèŽ ãšããããšã§ãäŸå¹Žãšã¯éããã³ã¡ã³ããªã©ã§çãäžãããããã®ã§ã¯ãªãããšãå€§å€æåŸ ããŠããŸãã Ask the Speaker ã§ã¯ Discord ã䜿çšãããšããããšã§ã察é¢ãšã¯ãŸãéã£ãã³ãã¥ãã±ãŒã·ã§ã³ãåãããã§ããåè URL ãå³ãªã©ãããã«åºããŠããããããªã©ãããã«åŠã³ãæ·±ããªãã®ã§ã¯ãªãããšæã£ãŠããŸãã æåŸã« ä»åã¯çŽæ¥äŒå Žã§ã¿ãªãããšã®äº€æµã¯ã§ããŸããããåŒç€Ÿã®ãšã³ãžãã¢ãåå äºå®ã§ãã®ã§ãäžç·ã«æ¥œããã§ãããããšæããŸããåŸæ¥ã€ãã³ãã¬ããŒãããã¡ãã§å ¬éããããšèããŠããŸãã ãŸããã¡ãã¬ãŒã§ã¯ããããã€ãã³ãã«ãèå³ããæã¡ã® iOS ãšã³ãžãã¢ãçµ¶è³åéäžã§ãããæ°è»œã«äžèšãããé£çµ¡ããã ããã°ãã«ãžã¥ã¢ã«ã«ã話ããããã§ã! åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp
iOS
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/09/14
<![CDATA[ iOSDC 2020 ã«ã·ã«ããŒã¹ãã³ãµãŒãšããŠåè³ããŸã ]]>
ã¿ãªãããããã«ã¡ã¯ããšã³ãžãã¢ã»ãã¶ã€ããŒæ¡çšæ åœã®å¹³æšã§ãã ã¡ãã¬ãŒã§ã¯ iOS éçºã³ãã¥ããã£ã«åŸ®åãªããéå ããããšã2017 幎ãã iOSDC ã«åè³ããããŠããã ããŠãããŸãããä»å¹Žã ã·ã«ããŒã¹ãã³ãµãŒ ãšããŠåè³ãããŠããã ãããšã«ãªããŸããã éå»ã®åå ã¬ããŒã entry/2018/09/13/175702 entry/2017/09/27/120000 iOSDC åã®ãªã³ã©ã€ã³éå¬ ä»å¹Žã® iOSDC ã¯åã®ãªã³ã©ã€ã³éå¬ãšããããšã§ãäŸå¹Žãšã¯ãŸãéã£ã楜ãã¿æ¹ãã§ãããã§ãã å ¬åŒã¹ã¿ããããã°ã«èšèŒãããŠããŸãããä»å¹Žã¯ããã«ãã£ã°ããºã é é ããããšã®ããšã§ãæ¢ã«å±ããŠããæ¹ãããã£ãããããã§ããåŒç€Ÿã®ãã³ãã¬ãããåå°ãããŠããã ããŠãŸãã ä»å¹Žã® ã¿ã€ã ããŒãã« ã倧å€è峿·±ãå 容ãå€ããä»ããèŠèŽã楜ãã¿ã§ãã(ã¹ãã³ãµãŒãã±ãããé ããŠã¯ããŸãããçè ãèªè ¹ã§ãã±ããè³Œå ¥ããŠããŸã) ãã³ãã³çæŸéã§ã®èŠèŽ ãšããããšã§ãäŸå¹Žãšã¯éããã³ã¡ã³ããªã©ã§çãäžãããããã®ã§ã¯ãªãããšãå€§å€æåŸ ããŠããŸãã Ask the Speaker ã§ã¯ Discord ã䜿çšãããšããããšã§ã察é¢ãšã¯ãŸãéã£ãã³ãã¥ãã±ãŒã·ã§ã³ãåãããã§ããåè URL ãå³ãªã©ãããã«åºããŠããããããªã©ãããã«åŠã³ãæ·±ããªãã®ã§ã¯ãªãããšæã£ãŠããŸãã æåŸã« ä»åã¯çŽæ¥äŒå Žã§ã¿ãªãããšã®äº€æµã¯ã§ããŸããããåŒç€Ÿã®ãšã³ãžãã¢ãåå äºå®ã§ãã®ã§ãäžç·ã«æ¥œããã§ãããããšæããŸããåŸæ¥ã€ãã³ãã¬ããŒãããã¡ãã§å ¬éããããšèããŠããŸãã ãŸããã¡ãã¬ãŒã§ã¯ããããã€ãã³ãã«ãèå³ããæã¡ã® iOS ãšã³ãžãã¢ãçµ¶è³åéäžã§ãããæ°è»œã«äžèšãããé£çµ¡ããã ããã°ãã«ãžã¥ã¢ã«ã«ã話ããããã§ã! åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp
iOS
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/09/14
iOSDC 2020 ã«ã·ã«ããŒã¹ãã³ãµãŒãšããŠåè³ããŸã
ã¿ãªãããããã«ã¡ã¯ããšã³ãžãã¢ã»ãã¶ã€ããŒæ¡çšæ åœã®å¹³æšã§ãã ã¡ãã¬ãŒã§ã¯ iOS éçºã³ãã¥ããã£ã«åŸ®åãªããéå ããããšã2017 幎ãã iOSDC ã«åè³ããããŠããã ããŠãããŸãããä»å¹Žã ã·ã«ããŒã¹ãã³ãµãŒ ãšããŠåè³ãããŠããã ãããšã«ãªããŸããã éå»ã®åå ã¬ããŒã entry/2018/09/13/175702 entry/2017/09/27/120000 iOSDC åã®ãªã³ã©ã€ã³éå¬ ä»å¹Žã® iOSDC ã¯åã®ãªã³ã©ã€ã³éå¬ãšããããšã§ãäŸå¹Žãšã¯ãŸãéã£ã楜ãã¿æ¹ãã§ãããã§ãã å ¬åŒã¹ã¿ããããã°ã«èšèŒãããŠããŸãããä»å¹Žã¯ããã«ãã£ã°ããºã é é ããããšã®ããšã§ãæ¢ã«å±ããŠããæ¹ãããã£ãããããã§ããåŒç€Ÿã®ãã³ãã¬ãããåå°ãããŠããã ããŠãŸãã ä»å¹Žã® ã¿ã€ã ããŒãã« ã倧å€è峿·±ãå 容ãå€ããä»ããèŠèŽã楜ãã¿ã§ãã(ã¹ãã³ãµãŒãã±ãããé ããŠã¯ããŸãããçè ãèªè ¹ã§ãã±ããè³Œå ¥ããŠããŸã) ãã³ãã³çæŸéã§ã®èŠèŽ ãšããããšã§ãäŸå¹Žãšã¯éããã³ã¡ã³ããªã©ã§çãäžãããããã®ã§ã¯ãªãããšãå€§å€æåŸ ããŠããŸãã Ask the Speaker ã§ã¯ Discord ã䜿çšãããšããããšã§ã察é¢ãšã¯ãŸãéã£ãã³ãã¥ãã±ãŒã·ã§ã³ãåãããã§ããåè URL ãå³ãªã©ãããã«åºããŠããããããªã©ãããã«åŠã³ãæ·±ããªãã®ã§ã¯ãªãããšæã£ãŠããŸãã æåŸã« ä»åã¯çŽæ¥äŒå Žã§ã¿ãªãããšã®äº€æµã¯ã§ããŸããããåŒç€Ÿã®ãšã³ãžãã¢ãåå äºå®ã§ãã®ã§ãäžç·ã«æ¥œããã§ãããããšæããŸããåŸæ¥ã€ãã³ãã¬ããŒãããã¡ãã§å ¬éããããšèããŠããŸãã ãŸããã¡ãã¬ãŒã§ã¯ããããã€ãã³ãã«ãèå³ããæã¡ã® iOS ãšã³ãžãã¢ãçµ¶è³åéäžã§ãããæ°è»œã«äžèšãããé£çµ¡ããã ããã°ãã«ãžã¥ã¢ã«ã«ã話ããããã§ã! ã¡ãã¬ãŒã§åãïœæ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã§ã®åãæ¹ã人äºå¶åºŠãæ±äººæ å ±ãªã©ãæ¡çšã«é¢ããæ å ±ãã玹ä»ããŸãã www.medley.jp
iOS
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/09/14
<![CDATA[ iOSDC 2020 ã«ã·ã«ããŒã¹ãã³ãµãŒãšããŠåè³ããŸã ]]>
ã¿ãªãããããã«ã¡ã¯ããšã³ãžãã¢ã»ãã¶ã€ããŒæ¡çšæ åœã®å¹³æšã§ãã ã¡ãã¬ãŒã§ã¯ iOS éçºã³ãã¥ããã£ã«åŸ®åãªããéå ããããšã2017 幎ãã iOSDC ã«åè³ããããŠããã ããŠãããŸãããä»å¹Žã ã·ã«ããŒã¹ãã³ãµãŒ ãšããŠåè³ãããŠããã ãããšã«ãªããŸããã éå»ã®åå ã¬ããŒã entry/2018/09/13/175702 entry/2017/09/27/120000 iOSDC åã®ãªã³ã©ã€ã³éå¬ ä»å¹Žã® iOSDC ã¯åã®ãªã³ã©ã€ã³éå¬ãšããããšã§ãäŸå¹Žãšã¯ãŸãéã£ã楜ãã¿æ¹ãã§ãããã§ãã å ¬åŒã¹ã¿ããããã°ã«èšèŒãããŠããŸãããä»å¹Žã¯ããã«ãã£ã°ããºã é é ããããšã®ããšã§ãæ¢ã«å±ããŠããæ¹ãããã£ãããããã§ããåŒç€Ÿã®ãã³ãã¬ãããåå°ãããŠããã ããŠãŸãã ä»å¹Žã® ã¿ã€ã ããŒãã« ã倧å€è峿·±ãå 容ãå€ããä»ããèŠèŽã楜ãã¿ã§ãã(ã¹ãã³ãµãŒãã±ãããé ããŠã¯ããŸãããçè ãèªè ¹ã§ãã±ããè³Œå ¥ããŠããŸã) ãã³ãã³çæŸéã§ã®èŠèŽ ãšããããšã§ãäŸå¹Žãšã¯éããã³ã¡ã³ããªã©ã§çãäžãããããã®ã§ã¯ãªãããšãå€§å€æåŸ ããŠããŸãã Ask the Speaker ã§ã¯ Discord ã䜿çšãããšããããšã§ã察é¢ãšã¯ãŸãéã£ãã³ãã¥ãã±ãŒã·ã§ã³ãåãããã§ããåè URL ãå³ãªã©ãããã«åºããŠããããããªã©ãããã«åŠã³ãæ·±ããªãã®ã§ã¯ãªãããšæã£ãŠããŸãã æåŸã« ä»åã¯çŽæ¥äŒå Žã§ã¿ãªãããšã®äº€æµã¯ã§ããŸããããåŒç€Ÿã®ãšã³ãžãã¢ãåå äºå®ã§ãã®ã§ãäžç·ã«æ¥œããã§ãããããšæããŸããåŸæ¥ã€ãã³ãã¬ããŒãããã¡ãã§å ¬éããããšèããŠããŸãã ãŸããã¡ãã¬ãŒã§ã¯ããããã€ãã³ãã«ãèå³ããæã¡ã® iOS ãšã³ãžãã¢ãçµ¶è³åéäžã§ãããæ°è»œã«äžèšãããé£çµ¡ããã ããã°ãã«ãžã¥ã¢ã«ã«ã話ããããã§ã! åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp
iOS
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/09/14
<![CDATA[ iOSDC 2020 ã«ã·ã«ããŒã¹ãã³ãµãŒãšããŠåè³ããŸã ]]>
ã¿ãªãããããã«ã¡ã¯ããšã³ãžãã¢ã»ãã¶ã€ããŒæ¡çšæ åœã®å¹³æšã§ãã ã¡ãã¬ãŒã§ã¯ iOS éçºã³ãã¥ããã£ã«åŸ®åãªããéå ããããšã2017 幎ãã iOSDC ã«åè³ããããŠããã ããŠãããŸãããä»å¹Žã ã·ã«ããŒã¹ãã³ãµãŒ ãšããŠåè³ãããŠããã ãããšã«ãªããŸããã éå»ã®åå ã¬ããŒã entry/2018/09/13/175702 entry/2017/09/27/120000 iOSDC åã®ãªã³ã©ã€ã³éå¬ ä»å¹Žã® iOSDC ã¯åã®ãªã³ã©ã€ã³éå¬ãšããããšã§ãäŸå¹Žãšã¯ãŸãéã£ã楜ãã¿æ¹ãã§ãããã§ãã å ¬åŒã¹ã¿ããããã°ã«èšèŒãããŠããŸãããä»å¹Žã¯ããã«ãã£ã°ããºã é é ããããšã®ããšã§ãæ¢ã«å±ããŠããæ¹ãããã£ãããããã§ããåŒç€Ÿã®ãã³ãã¬ãããåå°ãããŠããã ããŠãŸãã ä»å¹Žã® ã¿ã€ã ããŒãã« ã倧å€è峿·±ãå 容ãå€ããä»ããèŠèŽã楜ãã¿ã§ãã(ã¹ãã³ãµãŒãã±ãããé ããŠã¯ããŸãããçè ãèªè ¹ã§ãã±ããè³Œå ¥ããŠããŸã) ãã³ãã³çæŸéã§ã®èŠèŽ ãšããããšã§ãäŸå¹Žãšã¯éããã³ã¡ã³ããªã©ã§çãäžãããããã®ã§ã¯ãªãããšãå€§å€æåŸ ããŠããŸãã Ask the Speaker ã§ã¯ Discord ã䜿çšãããšããããšã§ã察é¢ãšã¯ãŸãéã£ãã³ãã¥ãã±ãŒã·ã§ã³ãåãããã§ããåè URL ãå³ãªã©ãããã«åºããŠããããããªã©ãããã«åŠã³ãæ·±ããªãã®ã§ã¯ãªãããšæã£ãŠããŸãã æåŸã« ä»åã¯çŽæ¥äŒå Žã§ã¿ãªãããšã®äº€æµã¯ã§ããŸããããåŒç€Ÿã®ãšã³ãžãã¢ãåå äºå®ã§ãã®ã§ãäžç·ã«æ¥œããã§ãããããšæããŸããåŸæ¥ã€ãã³ãã¬ããŒãããã¡ãã§å ¬éããããšèããŠããŸãã ãŸããã¡ãã¬ãŒã§ã¯ããããã€ãã³ãã«ãèå³ããæã¡ã® iOS ãšã³ãžãã¢ãçµ¶è³åéäžã§ãããæ°è»œã«äžèšãããé£çµ¡ããã ããã°ãã«ãžã¥ã¢ã«ã«ã話ããããã§ã! https://www.medley.jp/jobs/
iOS
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
2020/09/14
<![CDATA[ iOSDC 2020 ã«ã·ã«ããŒã¹ãã³ãµãŒãšããŠåè³ããŸã ]]>
ã¿ãªãããããã«ã¡ã¯ããšã³ãžãã¢ã»ãã¶ã€ããŒæ¡çšæ åœã®å¹³æšã§ãã ã¡ãã¬ãŒã§ã¯ iOS éçºã³ãã¥ããã£ã«åŸ®åãªããéå ããããšã2017 幎ãã iOSDC ã«åè³ããããŠããã ããŠãããŸãããä»å¹Žã ã·ã«ããŒã¹ãã³ãµãŒ ãšããŠåè³ãããŠããã ãããšã«ãªããŸããã éå»ã®åå ã¬ããŒã entry/2018/09/13/175702 entry/2017/09/27/120000 iOSDC åã®ãªã³ã©ã€ã³éå¬ ä»å¹Žã® iOSDC ã¯åã®ãªã³ã©ã€ã³éå¬ãšããããšã§ãäŸå¹Žãšã¯ãŸãéã£ã楜ãã¿æ¹ãã§ãããã§ãã å ¬åŒã¹ã¿ããããã°ã«èšèŒãããŠããŸãããä»å¹Žã¯ããã«ãã£ã°ããºã é é ããããšã®ããšã§ãæ¢ã«å±ããŠããæ¹ãããã£ãããããã§ããåŒç€Ÿã®ãã³ãã¬ãããåå°ãããŠããã ããŠãŸãã ä»å¹Žã® ã¿ã€ã ããŒãã« ã倧å€è峿·±ãå 容ãå€ããä»ããèŠèŽã楜ãã¿ã§ãã(ã¹ãã³ãµãŒãã±ãããé ããŠã¯ããŸãããçè ãèªè ¹ã§ãã±ããè³Œå ¥ããŠããŸã) ãã³ãã³çæŸéã§ã®èŠèŽ ãšããããšã§ãäŸå¹Žãšã¯éããã³ã¡ã³ããªã©ã§çãäžãããããã®ã§ã¯ãªãããšãå€§å€æåŸ ããŠããŸãã Ask the Speaker ã§ã¯ Discord ã䜿çšãããšããããšã§ã察é¢ãšã¯ãŸãéã£ãã³ãã¥ãã±ãŒã·ã§ã³ãåãããã§ããåè URL ãå³ãªã©ãããã«åºããŠããããããªã©ãããã«åŠã³ãæ·±ããªãã®ã§ã¯ãªãããšæã£ãŠããŸãã æåŸã« ä»åã¯çŽæ¥äŒå Žã§ã¿ãªãããšã®äº€æµã¯ã§ããŸããããåŒç€Ÿã®ãšã³ãžãã¢ãåå äºå®ã§ãã®ã§ãäžç·ã«æ¥œããã§ãããããšæããŸããåŸæ¥ã€ãã³ãã¬ããŒãããã¡ãã§å ¬éããããšèããŠããŸãã ãŸããã¡ãã¬ãŒã§ã¯ããããã€ãã³ãã«ãèå³ããæã¡ã® iOS ãšã³ãžãã¢ãçµ¶è³åéäžã§ãããæ°è»œã«äžèšãããé£çµ¡ããã ããã°ãã«ãžã¥ã¢ã«ã«ã話ããããã§ã! åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp
iOS
æ ªåŒäŒç€Ÿã¡ãã¬ãŒ
1
More pages
29
30
31
32
33
More pages
71
ã³ã³ãã³ã
ããã
ã€ãã³ã
ããã°
ã°ã«ãŒãã«é¢ãããåãåãã