APIã¹ããããªã³ã°ããªã¯ãšã¹ãã¬ãŒã管çãå®å®æ§ç¢ºä¿ãäžçäžã®ã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹æé©åã«æããéèŠãªåœ¹å²ãæ¢ããŸããã°ããŒãã«API管çã®ããã®äž»èŠãªã¡ã«ããºã ãšãã¹ããã©ã¯ãã£ã¹ãã玹ä»ããŸãã
APIã¹ããããªã³ã°ããã¹ã¿ãŒããïŒã°ããŒãã«ãªããžã¿ã«ç°å¢ã«ãããå¿ é ã®ãªã¯ãšã¹ãã¬ãŒãå¶åŸ¡ã¡ã«ããºã
仿¥ã®çžäºæ¥ç¶ãããããžã¿ã«ãšã³ã·ã¹ãã ã«ãããŠãã¢ããªã±ãŒã·ã§ã³ããã°ã©ãã³ã°ã€ã³ã¿ãŒãã§ãŒã¹ïŒAPIïŒã¯ã倿§ãªã¢ããªã±ãŒã·ã§ã³ããµãŒãã¹éã®ã·ãŒã ã¬ã¹ãªéä¿¡ãšããŒã¿äº€æã®åºç€ãšãªã£ãŠããŸããæ¥çãåœå¢ãè¶ããŠAPIã®æ¡çšãæ¥å¢ãç¶ããäžããªã¯ãšã¹ãã®æµãã管çã»å¶åŸ¡ããããã®å ç¢ãªã¡ã«ããºã ã®å¿ èŠæ§ãæãéèŠã«ãªã£ãŠããŸããããã§ããªã¯ãšã¹ãã¬ãŒãå¶éãšãåŒã°ããAPIã¹ããããªã³ã°ããææ°ã®API管çã®éèŠãªæ§æèŠçŽ ãšããŠç»å ŽããŸãã
ãã®å æ¬çãªã¬ã€ãã§ã¯ãAPIã¹ããããªã³ã°ã®è€éãã«æ·±ãèžã¿èŸŒã¿ããã®åºæ¬ååãæ¡çšãããŠããæ§ã ãªã¡ã«ããºã ããããŠç¹ã«ã°ããŒãã«ãªæèã«ãããŠãAPIã®å®å®æ§ãã»ãã¥ãªãã£ãæé©ãªããã©ãŒãã³ã¹ã確ä¿ããäžã§äžå¯æ¬ ãªåœ¹å²ãæ¢ããŸãã倧éã®ãã©ãã£ãã¯ã管çããäžã§ã®èª²é¡ãä¹ãè¶ãã广çãªã¹ããããªã³ã°æŠç¥ãå®è£ ããããã®å®è·µçãªæŽå¯ãæäŸããŸãã
ãªãAPIã¹ããããªã³ã°ãäžå¯æ¬ ãªã®ãïŒ
æ ¹æ¬çã«ãAPIã¹ããããªã³ã°ãšã¯ãåäžã®ã¯ã©ã€ã¢ã³ããŸãã¯ã¯ã©ã€ã¢ã³ãã®ã°ã«ãŒããéå°ãªæ°ã®ãªã¯ãšã¹ãã§APIãå§åããã®ãé²ãããšã§ãã广çãªã¹ããããªã³ã°ããªããã°ãAPIã¯ããã€ãã®é倧ãªåé¡ã«å¯ŸããŠè匱ã«ãªããŸãã
- ããã©ãŒãã³ã¹ã®äœäžïŒãªã¯ãšã¹ãã®æ¥å¢ã¯ãµãŒããŒãªãœãŒã¹ã䜿ãæãããå¿çæéã®é å»¶ãã¬ã€ãã³ã·ã®å¢å ãæçµçã«ã¯æ£èŠã®ãŠãŒã¶ãŒã«ãšã£ãŠã®æªããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã«ã€ãªããå¯èœæ§ããããŸãããã©ãã·ã¥ã»ãŒã«ãçµéšããŠãã人æ°ã®ããEã³ããŒã¹ãã©ãããã©ãŒã ãæ³åããŠã¿ãŠãã ãããã¹ããããªã³ã°ãããŠããªããªã¯ãšã¹ãã¯ãã·ã¹ãã å šäœã忢ãããŠããŸãå¯èœæ§ããããŸãã
- ãµãŒãã¹ã®å©çšäžèœïŒæ¥µç«¯ãªå Žåãéå°ãªãã©ãã£ãã¯ã«ããAPIãã¯ã©ãã·ã¥ããããå®å šã«å©çšäžèœã«ãªã£ããããããšããããéèŠãªããžãã¹ããŒãããŒããšã³ããŠãŒã¶ãŒãå«ããã¹ãŠã®æ¶è²»è ã«ãšã£ãŠãµãŒãã¹ãäžæãããŸããããã¯äºæ¥ç¶ç¶æ§ãžã®çŽæ¥çãªè åšã§ãã
- ã»ãã¥ãªãã£ã®è匱æ§ïŒå¶åŸ¡ãããŠããªããªã¯ãšã¹ãã¬ãŒãã¯ã忣åãµãŒãã¹æåŠïŒDDoSïŒæ»æã®ãããªæªæã®ããç®çã«æªçšããããµãŒãã¹ã麻çºãããããäžæ£ã¢ã¯ã»ã¹ã詊ã¿ãããéçšã劚害ãããããå¯èœæ§ããããŸãã
- éçšã³ã¹ãã®å¢å ïŒãã©ãã£ãã¯ãå¢å ãããšãã€ã³ãã©ã³ã¹ããå¢å ããããšããããããŸããæªæã®ããããŸãã¯éå¹çãªå©çšãã¹ããããªã³ã°ããããšã§ãçµç¹ã¯ã¯ã©ãŠãæ¯åºãšãªãœãŒã¹å²ãåœãŠãããé©åã«ç®¡çã§ããŸãã
- å ¬å¹³ãªå©çšãšãªãœãŒã¹å²ãåœãŠïŒã¹ããããªã³ã°ã¯ããã¹ãŠã®APIæ¶è²»è éã§ãªãœãŒã¹ãå ¬å¹³ã«åé ãããããšãä¿èšŒãããåä»ãªé£äººãã垯åå¹ ãšåŠçèœåãç¬å ããã®ãé²ããŸãã
ç°ãªã倧éžã®ãŠãŒã¶ãŒã«ãµãŒãã¹ãæäŸããAPIãæã€ã°ããŒãã«çµç¹ã«ãšã£ãŠããããã®èª²é¡ã¯å¢å¹ ãããŸãããããã¯ãŒã¯ã¬ã€ãã³ã·ã倿§ãªåž¯åå¹ å®¹éãããã³å€æ§ãªäœ¿çšãã¿ãŒã³ã¯ãå°ççååžãšæœåšçãªå°åã§ã®éèŠã®æ¥å¢ãèæ ®ãããã¬ãŒãå¶éãžã®æŽç·Žãããã¢ãããŒããå¿ èŠãšããŸãã
äž»èŠãªAPIã¹ããããªã³ã°ã¡ã«ããºã
APIã¹ããããªã³ã°ãå®è£ ããããã«ãããã€ãã®ã¢ã«ãŽãªãºã ãšæŠç¥ãæ¡çšãããŠããŸããããããã«é·æãšçæããããéžæã¯ãã°ãã°APIã®ç¹å®ã®èŠä»¶ãšäºæž¬ããã䜿çšãã¿ãŒã³ã«äŸåããŸãã
1. åºå®ãŠã£ã³ããŠã«ãŠã³ã¿ãŒ
åºå®ãŠã£ã³ããŠã«ãŠã³ã¿ãŒã¯ãæãåçŽã§åãããããã¹ããããªã³ã°ã¢ã«ãŽãªãºã ã®1ã€ã§ããæéãåºå®ãããæéãŠã£ã³ããŠïŒäŸïŒ1åã1æéïŒã«åå²ããŠæ©èœããŸããåãŠã£ã³ããŠã«ã¯ã«ãŠã³ã¿ãŒãç¶æãããŸãããªã¯ãšã¹ããå°çãããšãã·ã¹ãã ã¯çŸåšã®ãŠã£ã³ããŠã®ã«ãŠã³ãããã§ãã¯ããŸããã«ãŠã³ããå®çŸ©ãããå¶éãäžåã£ãŠããå Žåããªã¯ãšã¹ãã¯èš±å¯ãããã«ãŠã³ã¿ãŒãå¢å ããŸããå¶éã«éããå Žåãæ¬¡ã®ãŠã£ã³ããŠãå§ãŸããŸã§ä»¥éã®ãªã¯ãšã¹ãã¯æåŠãããŸãã
äŸïŒå¶éã1åããã100ãªã¯ãšã¹ãã®å Žåã10:00:00ãã10:00:59ãŸã§ã®éã«äœæããããã¹ãŠã®ãªã¯ãšã¹ããã«ãŠã³ããããŸãã100ãªã¯ãšã¹ãã«éãããšããŠã£ã³ããŠããªã»ããããã«ãŠã³ã¿ãŒããŒãããå§ãŸã10:01:00ãŸã§ããã以äžã®ãªã¯ãšã¹ãã¯åãå ¥ããããŸããã
é·æïŒ
- å®è£ ãšçè§£ãç°¡åã§ãã
- èšç®ãªãŒããŒããããäœãã§ãã
çæïŒ
- ããŒã¹ãæ§ã®åé¡ïŒãã®æ¹æ³ã§ã¯ãããŒã¹ãæ§ããçããå¯èœæ§ããããŸããäŸãã°ãã¯ã©ã€ã¢ã³ãããŠã£ã³ããŠã®æåŸã®1ç§éã«100ãªã¯ãšã¹ããè¡ããæ¬¡ã«æ¬¡ã®ãŠã£ã³ããŠã®æåã®1ç§éã«ãããã«100ãªã¯ãšã¹ããè¡ã£ãå Žåãæå³ããå¹³åã¬ãŒããæœåšçã«è¶ ããŠãéåžžã«çãæéã«å®è³ªçã«200ãªã¯ãšã¹ããè¡ãããšãã§ããŸããããã¯ãããŒã¯ãå³å¯ã«å¶åŸ¡ããå¿ èŠãããAPIã«ãšã£ãŠã¯éå€§ãªæ¬ ç¹ã§ãã
2. ã¹ã©ã€ãã£ã³ã°ãŠã£ã³ããŠãã°
åºå®ãŠã£ã³ããŠã«ãŠã³ã¿ãŒã®ããŒã¹ãæ§ã®åé¡ã«å¯ŸåŠãããããã¹ã©ã€ãã£ã³ã°ãŠã£ã³ããŠãã°ã¢ã«ãŽãªãºã ã¯ãã¯ã©ã€ã¢ã³ããè¡ã£ãåãªã¯ãšã¹ãã®ã¿ã€ã ã¹ã¿ã³ããä¿æããŸããæ°ãããªã¯ãšã¹ããå°çãããšãã·ã¹ãã ã¯çŸåšã®æéãŠã£ã³ããŠå ã§è¡ããããã¹ãŠã®ãªã¯ãšã¹ãã®ã¿ã€ã ã¹ã¿ã³ãããã§ãã¯ããŸãããã®ãŠã£ã³ããŠå ã®ãªã¯ãšã¹ãæ°ãå¶éãè¶ ããŠããå Žåãæ°ãããªã¯ãšã¹ãã¯æåŠãããŸããããã§ãªããã°ããªã¯ãšã¹ãã¯èš±å¯ããããã®ã¿ã€ã ã¹ã¿ã³ãããã°ã«è¿œå ãããŸãã
äŸïŒå¶éã1åããã100ãªã¯ãšã¹ãã§ã10:05:30ã«ãªã¯ãšã¹ããå°çããå Žåãã·ã¹ãã ã¯10:04:30ãã10:05:30ãŸã§ã®éã«è¡ããããã¹ãŠã®ãªã¯ãšã¹ãã調ã¹ãŸãããã®æéã«100以äžã®ãªã¯ãšã¹ããããå Žåãæ°ãããªã¯ãšã¹ãã¯æåŠãããŸãã
é·æïŒ
- ãªã¯ãšã¹ãã®æ£ç¢ºãªã¿ã€ãã³ã°ãèæ ®ãããããåºå®ãŠã£ã³ããŠã«ãŠã³ã¿ãŒãããæ£ç¢ºãªã¬ãŒãå¶éãå¯èœã§ãã
- ããŒã¹ãæ§ã®åé¡ã軜æžããŸãã
çæïŒ
- åãªã¯ãšã¹ãã®ã¿ã€ã ã¹ã¿ã³ããä¿åããããã«ããå€ãã®ã¡ã¢ãªãå¿ èŠãšããŸãã
- ç¹ã«å€§éã®ãªã¯ãšã¹ããããå Žåãèšç®ã³ã¹ããé«ããªãå¯èœæ§ããããŸãã
3. ã¹ã©ã€ãã£ã³ã°ãŠã£ã³ããŠã«ãŠã³ã¿ãŒ
ã¹ã©ã€ãã£ã³ã°ãŠã£ã³ããŠã«ãŠã³ã¿ãŒã¯ãåºå®ãŠã£ã³ããŠã«ãŠã³ã¿ãŒã®å¹çæ§ãšã¹ã©ã€ãã£ã³ã°ãŠã£ã³ããŠãã°ã®ç²ŸåºŠãçµã¿åãããããšãç®æãããã€ããªããã¢ãããŒãã§ããæéãåºå®ãŠã£ã³ããŠã«åå²ããŸãããåã®ãŠã£ã³ããŠã®äœ¿çšç¶æ³ãèæ ®ããŸããæ°ãããªã¯ãšã¹ããå°çãããšãçŸåšã®ãŠã£ã³ããŠã®ã«ãŠã³ãã«è¿œå ãããŸãããã®åŸãçŸåšã®ãŠã£ã³ããŠã®ã«ãŠã³ãã¯ããŠã£ã³ããŠã®ã©ããŸã§é²ãã§ãããã«ãã£ãŠéã¿ä»ããããåã®ãŠã£ã³ããŠã®ã«ãŠã³ãïŒããããŠã£ã³ããŠã®æ®ãæéã«ãã£ãŠéã¿ä»ããããŸãïŒã«è¿œå ãããŸãããã®å¹³æ»åãããå¹³åã¯ãããŒã¹ãæ§ããã广çã«ç·©åããã®ã«åœ¹ç«ã¡ãŸãã
äŸïŒ1åéã®ãŠã£ã³ããŠã§100ãªã¯ãšã¹ãã®å¶éããããšããŸãã10:00:30ïŒãŠã£ã³ããŠã®äžéç¹ïŒã®å Žåãã·ã¹ãã ã¯çŸåšã®ãŠã£ã³ããŠã®ãªã¯ãšã¹ããèæ ®ããåã®ãŠã£ã³ããŠã®ãªã¯ãšã¹ãã®äžéšã远å ããŠå®å¹ã¬ãŒããæ±ºå®ããå ŽåããããŸãã
é·æïŒ
- å¹çæ§ãšç²ŸåºŠã®ãã©ã³ã¹ãåããŠããŸãã
- ããŒã¹ãæ§ã®ãããã©ãã£ãã¯ã广çã«åŠçããŸãã
çæïŒ
- åºå®ãŠã£ã³ããŠã«ãŠã³ã¿ãŒãããå®è£ ãè€éã§ãã
4. ããŒã¯ã³ãã±ããã¢ã«ãŽãªãºã
ããŒã¯ã³ãã±ããã¢ã«ãŽãªãºã ã¯ãããŒã¯ã³ãä¿æããç©ççãªãã±ããã«ã€ã³ã¹ãã€ã¢ãããŠããŸããããŒã¯ã³ã¯äžå®ã®ã¬ãŒãã§ãã±ããã«è¿œå ãããŸãããªã¯ãšã¹ããå°çãããšãã·ã¹ãã ã¯ãã±ããå ã«ããŒã¯ã³ããããã©ããããã§ãã¯ããŸããããŒã¯ã³ãããã°æ¶è²»ããããªã¯ãšã¹ãã¯åŠçãããŸãããã±ããã空ã®å Žåããªã¯ãšã¹ãã¯æåŠããããããã¥ãŒã«å ¥ããããŸãã
ãã±ããã«ã¯æå€§å®¹éããããããŒã¯ã³ã¯ç¹å®ã®å¶éãŸã§èç©ããããšãã§ããŸããããã«ãããã¯ã©ã€ã¢ã³ããå©çšå¯èœãªãã¹ãŠã®ããŒã¯ã³ãæ¶è²»ã§ããããããã©ãã£ãã¯ã®ããŒã¹ããå¯èœã«ãªããŸããæ°ããããŒã¯ã³ã¯æå®ãããã¬ãŒãã§ãã±ããã«è¿œå ããããªã¯ãšã¹ãã®å¹³åã¬ãŒãããã®ããŒã¯ã³è£å ã¬ãŒããè¶ ããªãããã«ããŸãã
äŸïŒãã±ããã¯æå€§100ããŒã¯ã³ãä¿æããæ¯ç§10ããŒã¯ã³ã®ã¬ãŒãã§è£å ããããã«æ§æãããŠããå ŽåããããŸããã¯ã©ã€ã¢ã³ãã1ç§éã«15ãªã¯ãšã¹ããè¡ã£ãå Žåããã±ãããã10ããŒã¯ã³ïŒå©çšå¯èœãªå ŽåïŒãšã远å ããã5ã€ã®æ°ããããŒã¯ã³ãæ¶è²»ã§ããŸãããã®åŸã®ãªã¯ãšã¹ãã¯ãããã«å€ãã®ããŒã¯ã³ãè£å ãããã®ãåŸ ã€å¿ èŠããããŸãã
é·æïŒ
- ãã©ãã£ãã¯ã®ããŒã¹ãåŠçã«åªããŠããŸãã
- å¹³åã¬ãŒããç¶æããªãããå¶åŸ¡ãããã¬ãã«ã®ãããŒã¹ãæ§ãã蚱容ããŸãã
- å®è£ ãšçè§£ãæ¯èŒçç°¡åã§ãã
çæïŒ
- ç®çã®ãã©ãã£ãã¯ãã¿ãŒã³ã«åãããŠãããŒã¯ã³ã®è£å ã¬ãŒããšãã±ãã容éãæ éã«èª¿æŽããå¿ èŠããããŸãã
5. ãªãŒããŒãã±ããã¢ã«ãŽãªãºã
ãªãŒããŒãã±ããã¢ã«ãŽãªãºã ã¯ãæŠå¿µçã«ã¯æ°ŽæŒããããã±ããã«äŒŒãŠããŸããå ¥ã£ãŠãããªã¯ãšã¹ãã¯ãã¥ãŒïŒãã±ããïŒã«å ¥ããããŸãããªã¯ãšã¹ãã¯äžå®ã®ã¬ãŒãã§åŠçãããŸãïŒãŸãã¯ãæŒãåºããŸããïŒãæ°ãããªã¯ãšã¹ããå°çãããšãã«ãã±ãããæºæ¯ã®å Žåããã®ãªã¯ãšã¹ãã¯æåŠãããŸãã
ãã®ã¢ã«ãŽãªãºã ã¯äž»ã«ãã©ãã£ãã¯ãå¹³æ»åããå®å®ããåºåã¬ãŒãã確ä¿ããããšã«çŠç¹ãåœãŠãŠããŸããããŒã¯ã³ãã±ããã®ããã«ããŒã¹ããæ¬è³ªçã«èš±å®¹ãããã®ã§ã¯ãããŸããã
äŸïŒåºã«ç©Žãéãããã±ãããæ³åããŠã¿ãŠãã ãããæ°ŽïŒãªã¯ãšã¹ãïŒããã±ããã«æ³šãããŸããæ°Žã¯äžå®ã®ã¬ãŒãã§ç©ŽããæŒãåºããŸããæ°ŽãæŒãåºããããéãæ°Žã泚ãããšãããšããã±ããã¯ããµããäœåãªæ°Žã¯å€±ãããŸãïŒãªã¯ãšã¹ãã¯æåŠãããŸãïŒã
é·æïŒ
- äžå®ã®åºåã¬ãŒããä¿èšŒãããã©ãã£ãã¯ãå¹³æ»åããŸãã
- åºåãã©ãã£ãã¯ã®æ¥æ¿ãªã¹ãã€ã¯ãé²ããŸãã
çæïŒ
- ãã©ãã£ãã¯ã®ããŒã¹ãã蚱容ããªããããäžéšã®ã·ããªãªã§ã¯æãŸãããªãå ŽåããããŸãã
- ãªã¯ãšã¹ããå€§å¹ ã«ãã¥ãŒã«ããŸã£ãå Žåãã¬ã€ãã³ã·ãå¢å ããå¯èœæ§ããããŸãã
ã°ããŒãã«ãªAPIã¹ããããªã³ã°æŠç¥ã®å®è£
ã°ããŒãã«èŠæš¡ã§å¹æçãªAPIã¹ããããªã³ã°ãå®è£ ããããšã¯ãç¬èªã®èª²é¡ãæç€ºããæ§ã ãªèŠå ãæ éã«èæ ®ããå¿ èŠããããŸãã
1. ã¯ã©ã€ã¢ã³ãèå¥
ã¹ããããªã³ã°ãè¡ãåã«ã誰ããªã¯ãšã¹ããè¡ã£ãŠããããç¹å®ããå¿ èŠããããŸããäžè¬çãªæ¹æ³ã«ã¯æ¬¡ã®ãã®ããããŸãã
- IPã¢ãã¬ã¹ïŒæãåçŽãªæ¹æ³ã§ãããå ±æIPãNATããããã·ã§ã¯åé¡ãçããŸãã
- APIããŒïŒã¯ã©ã€ã¢ã³ãã«å²ãåœãŠãããäžæã®ããŒã§ãããè¯ãèå¥ãæäŸããŸãã
- OAuthããŒã¯ã³ïŒèªèšŒããããŠãŒã¶ãŒåãã§ãã¢ã¯ã»ã¹ã现ããå¶åŸ¡ã§ããŸãã
- ãŠãŒã¶ãŒãšãŒãžã§ã³ãïŒä¿¡é Œæ§ã¯äœãã§ãããä»ã®æ¹æ³ãšçµã¿åãããŠäœ¿çšã§ããŸãã
ã°ããŒãã«APIã®å ŽåãIPã¢ãã¬ã¹ã®ã¿ã«äŸåããããšã¯ãæ§ã ãªãããã¯ãŒã¯ã€ã³ãã©ãšæœåšçãªIPãã¹ãã³ã°ã®ããã誀解ãæãå¯èœæ§ããããŸããç»é²æžã¿ã¢ã«ãŠã³ãã«ãªã³ã¯ãããAPIããŒã®ãããªè€æ°ã®æ¹æ³ã®çµã¿åããããããå ç¢ã§ããããšããããããŸãã
2. ã¹ããããªã³ã°ã®ç²åºŠ
ã¹ããããªã³ã°ã¯ãæ§ã ãªã¬ãã«ã§é©çšã§ããŸãã
- ãŠãŒã¶ãŒããšïŒåã ã®èªèšŒæžã¿ãŠãŒã¶ãŒã«å¯Ÿãããªã¯ãšã¹ããå¶éããŸãã
- APIããŒ/ã¢ããªã±ãŒã·ã§ã³ããšïŒç¹å®ã®ã¢ããªã±ãŒã·ã§ã³ãŸãã¯ãµãŒãã¹ã«å¯Ÿãããªã¯ãšã¹ããå¶éããŸãã
- IPã¢ãã¬ã¹ããšïŒç¹å®ã®IPããçºä¿¡ããããªã¯ãšã¹ããå¶éããŸãã
- ã°ããŒãã«å¶éïŒAPIãµãŒãã¹å šäœã«å¯Ÿããå šäœçãªå¶éã
ã°ããŒãã«ãµãŒãã¹ã®å Žåãéå±€åã¢ãããŒããæåã§ããããšããããããŸããã·ã¹ãã å šäœã®åæ¢ãé²ãããã®å¯å€§ãªã°ããŒãã«å¶éãšããšãŒããããã¢ãžã¢ãåç±³ãªã©ã®å°åã®å€æ§ãªãŠãŒã¶ãŒããŒã¹å šäœã§ãªãœãŒã¹ã®å ¬å¹³ãªå²ãåœãŠã確ä¿ããããã®ãåã ã®ã¢ããªã±ãŒã·ã§ã³ãŸãã¯ãŠãŒã¶ãŒåãã®ããå ·äœçãªå¶éãçµã¿åãããŸãã
3. ã°ããŒãã«åæ£ã«é©ããã¹ããããªã³ã°ã¢ã«ãŽãªãºã ã®éžæ
ãŠãŒã¶ãŒã®å°ççååžãšã¢ã¯ã»ã¹ã®æ§è³ªãèæ ®ããŠãã ããã
- ããŒã¯ã³ãã±ããã¯ãç°ãªãå°åããã®äºæž¬äžèœãªãã©ãã£ãã¯ã®ããŒã¹ããåŠçããå¿ èŠãããã°ããŒãã«APIã«å¥œãŸããããšããããããŸããå¹³åã¬ãŒããç¶æããªããæè»æ§ããããŸãã
- ã¹ã©ã€ãã£ã³ã°ãŠã£ã³ããŠã«ãŠã³ã¿ãŒã¯ãéå°ãªã¡ã¢ãªãªãŒããŒããããªãã«æ£ç¢ºãªã¬ãŒãå¶åŸ¡ãå¿ èŠãªã·ããªãªã«é©ããŠãããã°ããŒãã«ã¯ã©ã€ã¢ã³ãããã®äºæž¬å¯èœã§å€§éã®å©çšãããAPIã«é©ããŠããŸããå¹çæ§ãšç²ŸåºŠã®ãã©ã³ã¹ãåããŠããŸãã
- åºå®ãŠã£ã³ããŠã«ãŠã³ã¿ãŒã¯ããã©ãã£ãã¯ã®æ¥å¢ãçºçããããã°ããŒãã«ãªã·ããªãªã«ã¯åçŽããããããããŸããã
4. 忣ã·ã¹ãã ãšã¬ãŒãå¶é
å€§èŠæš¡ã§ã°ããŒãã«ã«åæ£ãããAPIã®å Žåãè€æ°ã®ãµãŒããŒãšããŒã¿ã»ã³ã¿ãŒéã§ã¹ããããªã³ã°ã管çããããšã¯è€éãªèª²é¡ãšãªããŸããäžè²«æ§ã確ä¿ããããã«ãéäžåã¬ãŒãå¶éãµãŒãã¹ãŸãã¯åæ£åã³ã³ã»ã³ãµã¹ã¡ã«ããºã ããã°ãã°å¿ èŠãšãããŸãã
- éäžåã¬ãŒããªããã¿ãŒïŒãã¹ãŠã®APIãªã¯ãšã¹ããããã¯ãšã³ãã«å°éããåã«ééããå°çšãµãŒãã¹ïŒäŸïŒRedisãŸãã¯ç¹æ®ãªAPIã²ãŒããŠã§ã€ã䜿çšïŒãããã«ãããã¬ãŒãå¶éã«ãŒã«ã®åäžã®çå®ã®ãœãŒã¹ãæäŸãããŸããäŸãã°ãã°ããŒãã«Eã³ããŒã¹ãã©ãããã©ãŒã ã¯ãéçŽããåã«ããŒã«ã«ãã©ãã£ãã¯ã管çããããã«åäž»èŠå°åã§äžå€®ãµãŒãã¹ã䜿çšããå ŽåããããŸãã
- 忣åã¬ãŒãå¶éïŒäžè²«æ§ã®ããããã·ã¥ã忣ãã£ãã·ã¥ãªã©ã®æè¡ã䜿çšããŠãè€æ°ã®ããŒãéã§ããžãã¯ãå®è£ ããã¬ãŒãå¶éã®ç¶æ ãå ±æããŸããããã¯ããå埩åããããŸãããäžè²«ããŠå®è£ ããã®ãé£ããå ŽåããããŸãã
åœéçãªèæ ®äºé ïŒ
- å°åå¶éïŒçŸå°ã®ãããã¯ãŒã¯ç¶æ³ãšå žåçãªäœ¿çšãã¿ãŒã³ãèæ ®ããŠãç°ãªãå°ççå°åã«ç°ãªãã¬ãŒãå¶éãèšå®ããããšãæçãªå ŽåããããŸããäŸãã°ãå¹³å垯åå¹ ãäœãå°åã§ã¯ã䜿ããããã確ä¿ããããã«ããç·©ãå¶éãå¿ èŠã«ãªãå ŽåããããŸãã
- ã¿ã€ã ãŸãŒã³ïŒæéãŠã£ã³ããŠãå®çŸ©ããéã«ã¯ãç°ãªãã¿ã€ã ãŸãŒã³éã§æ£ããåŠçãããããšã確èªããŠãã ãããUTCãæšæºãšããŠäœ¿çšããããšã匷ããå§ãããŸãã
- ã³ã³ãã©ã€ã¢ã³ã¹ïŒã¹ããããªã³ã°æŠç¥ã«åœ±é¿ãäžããå¯èœæ§ã®ããå°åããŒã¿ã¬ãžãã³ã·ããã©ãã£ãã¯ç®¡çèŠå¶ã«æ³šæããŠãã ããã
5. ã¹ããããªã³ã°ããããªã¯ãšã¹ãã®åŠç
ãªã¯ãšã¹ããã¹ããããªã³ã°ãããå Žåãã¯ã©ã€ã¢ã³ãã«é©åã«éç¥ããããšãäžå¯æ¬ ã§ããããã¯éåžžãHTTPã¹ããŒã¿ã¹ã³ãŒãã䜿çšããŠè¡ãããŸãã
- 429 Too Many RequestsïŒããã¯ã¬ãŒãå¶éã®æšæºçãªHTTPã¹ããŒã¿ã¹ã³ãŒãã§ãã
ãŸãã以äžãæäŸããããšãè¯ãç¿æ £ã§ãã
- Retry-AfterããããŒïŒã¯ã©ã€ã¢ã³ãããªã¯ãšã¹ããå詊è¡ãããŸã§ã«åŸ ã€ã¹ãæéã瀺ããŸããããã¯ãããã¯ãŒã¯ã¬ã€ãã³ã·ãçµéšããŠããå¯èœæ§ã®ããã°ããŒãã«ã«åæ£ãããã¯ã©ã€ã¢ã³ãã«ãšã£ãŠéèŠã§ãã
- X-RateLimit-LimitããããŒïŒæéãŠã£ã³ããŠã§èš±å¯ããããªã¯ãšã¹ãã®ç·æ°ã
- X-RateLimit-RemainingããããŒïŒçŸåšã®ãŠã£ã³ããŠã«æ®ã£ãŠãããªã¯ãšã¹ãã®æ°ã
- X-RateLimit-ResetããããŒïŒã¬ãŒãå¶éããªã»ãããããæå»ïŒéåžžã¯Unixã¿ã€ã ã¹ã¿ã³ãïŒã
ãã®æ å ±ãæäŸããããšã§ãã¯ã©ã€ã¢ã³ãã¯ã€ã³ããªãžã§ã³ããªå詊è¡ã¡ã«ããºã ãå®è£ ã§ããAPIãžã®è² æ ã軜æžããå šäœçãªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãåäžãããŸããäŸãã°ãç±³åœã«ãã¹ããããŠããAPIã«ã¢ã¯ã»ã¹ããããšããŠãããªãŒã¹ãã©ãªã¢ã®ã¯ã©ã€ã¢ã³ãã¯ãã¬ã€ãã³ã·ã®ããã«ç¹°ãè¿ãå¶éã«å°éããã®ãé¿ããããã«ããã€å詊è¡ãã¹ãããæ£ç¢ºã«ç¥ãå¿ èŠããããŸãã
é«åºŠãªã¹ããããªã³ã°æè¡
åºæ¬çãªã¬ãŒãå¶éãè¶ ããŠãããã€ãã®é«åºŠãªæè¡ãAPIãã©ãã£ãã¯å¶åŸ¡ãããã«æŽç·Žãããããšãã§ããŸãã
1. äžŠè¡æ§å¶åŸ¡
ã¬ãŒãå¶éãäžå®æéã«ããããªã¯ãšã¹ãæ°ãå¶åŸ¡ããã®ã«å¯ŸããäžŠè¡æ§å¶åŸ¡ã¯APIãåæã«åŠçããŠãããªã¯ãšã¹ãæ°ãå¶éããŸããããã¯ã倧éã®ãªã¯ãšã¹ããéåžžã«è¿ éã«å°çããã¬ãŒãå¶éãåã ã«è¶ ããŠããªããŠãé·æééãããŸãŸã«ãªãããµãŒããŒãªãœãŒã¹ãæ¯æžãããã·ããªãªããä¿è·ããŸãã
äŸïŒAPIã100ãªã¯ãšã¹ããå¿«é©ã«åæã«åŠçã§ããå ŽåãäžŠè¡æ§å¶éã100ã«èšå®ããããšã§ãããšãèš±å¯ãããã¬ãŒãå¶éå ã§å°çãããšããŠãã200ãªã¯ãšã¹ãã®çªç¶ã®æµå ¥ãã·ã¹ãã ãå§åããã®ãé²ããŸãã
2. ãµãŒãžä¿è·
ãµãŒãžä¿è·ã¯ãé©åã«èšå®ãããã¬ãŒãå¶éã§ããå§åããå¯èœæ§ã®ãããçªç¶ã®äºæãã¬ãã©ãã£ãã¯ã®æ¥å¢ãåŠçããããã«èšèšãããŠããŸããããã«ã¯ã次ã®ãããªæè¡ãå«ãŸããŸãã
- ãã¥ãŒã€ã³ã°ïŒAPIã倧éã®è² è·ãåããŠãããšãã«ãªã¯ãšã¹ããäžæçã«ãã¥ãŒã«ä¿æãã容éãå©çšå¯èœã«ãªã£ããšãã«åŠçããŸãã
- ãšã³ããªãŒãã€ã³ãã§ã®ã¬ãŒãå¶éïŒãªã¯ãšã¹ããã¢ããªã±ãŒã·ã§ã³ãµãŒããŒã«å°éããåã«ãã€ã³ãã©ã¹ãã©ã¯ãã£ã®ãšããžïŒäŸïŒããŒããã©ã³ãµãŒãAPIã²ãŒããŠã§ã€ïŒã§ãã峿 Œãªå¶éãé©çšããŸãã
- ãµãŒããããã¬ãŒã«ãŒïŒãµãŒãã¹ããšã©ãŒã®å¢å ïŒéè² è·ã瀺åïŒãæ€åºããå ŽåããµãŒããããã¬ãŒã«ãŒããããªããããããäžå®æéãåŸç¶ã®ãªã¯ãšã¹ããçŽã¡ã«å€±æããããã¿ãŒã³ãããã«ããããããªãè² è·ãé²ããŸããããã¯ãã«ã¹ã±ãŒãé害ãçºçããå¯èœæ§ããããã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ã«ãšã£ãŠäžå¯æ¬ ã§ãã
ã°ããŒãã«ãªæèã§ã¯ãå°åããŒã¿ã»ã³ã¿ãŒã§ãµãŒãžä¿è·ãå®è£ ããããšã§ãè² è·ã®åé¡ãåé¢ãã屿çãªã¹ãã€ã¯ãäžçäžã®ãŠãŒã¶ãŒã«åœ±é¿ãäžããã®ãé²ãããšãã§ããŸãã
3. é©å¿åã¹ããããªã³ã°
é©å¿åã¹ããããªã³ã°ã¯ãçŸåšã®ã·ã¹ãã è² è·ããããã¯ãŒã¯ç¶æ³ããªãœãŒã¹ã®å¯çšæ§ã«åºã¥ããŠã¬ãŒãå¶éãåçã«èª¿æŽããŸããããã¯éçãªå¶éãããæŽç·ŽãããŠããŸãã
äŸïŒAPIãµãŒããŒãé«ãCPU䜿çšçãçµéšããŠããå Žåãé©å¿åã¹ããããªã³ã°ã¯ãè² è·ãåãŸããŸã§ããã¹ãŠã®ã¯ã©ã€ã¢ã³ãããŸãã¯ç¹å®ã®ã¯ã©ã€ã¢ã³ãå±€ã®èš±å¯ããããªã¯ãšã¹ãã¬ãŒããäžæçã«æžå°ãããå¯èœæ§ããããŸãã
ããã«ã¯ãå¶éãã€ã³ããªãžã§ã³ãã«èª¿æŽããããã®å ç¢ãªç£èŠãšãã£ãŒãããã¯ã«ãŒããå¿ èŠã§ãããã°ããŒãã«ãªãã©ãã£ãã¯å€åã管çããäžã§ç¹ã«åœ¹ç«ã¡ãŸãã
ã°ããŒãã«APIã¹ããããªã³ã°ã®ãã¹ããã©ã¯ãã£ã¹
广çãªAPIã¹ããããªã³ã°ãå®è£ ããã«ã¯ãæŠç¥çãªã¢ãããŒããå¿ èŠã§ããããã«ããã€ãã®ãã¹ããã©ã¯ãã£ã¹ããããŸãã
- æç¢ºãªããªã·ãŒãå®çŸ©ããïŒAPIã®ç®çãäºæ³ããã䜿çšãã¿ãŒã³ã蚱容å¯èœãªè² è·ãçè§£ããŸãããããã®æŽå¯ã«åºã¥ããŠæç€ºçãªã¬ãŒãå¶éããªã·ãŒãå®çŸ©ããŸãã
- é©åãªã¢ã«ãŽãªãºã ã䜿çšããïŒããŒãºã«æé©ãªã¢ã«ãŽãªãºã ãéžæããŸããã°ããŒãã«ãªé«ãã©ãã£ãã¯APIã®å ŽåãããŒã¯ã³ãã±ãããŸãã¯ã¹ã©ã€ãã£ã³ã°ãŠã£ã³ããŠã«ãŠã³ã¿ãŒã匷åãªåè£ãšãªãããšããããããŸãã
- 詳现ãªå¶åŸ¡ãå®è£ ããïŒå ¬å¹³æ§ã確ä¿ããæªçšãé²ãããã«ãè€æ°ã®ã¬ãã«ïŒãŠãŒã¶ãŒãã¢ããªã±ãŒã·ã§ã³ãIPïŒã§ã¹ããããªã³ã°ãé©çšããŸãã
- æç¢ºãªãã£ãŒãããã¯ãæäŸããïŒåžžã«
429 Too Many RequestsãšRetry-Afterãªã©ã®æ å ±ãæäŸããããããŒãè¿ããŠãã¯ã©ã€ã¢ã³ããã¬ã€ãããŸãã - ç£èŠãšåæãè¡ãïŒAPIã®ããã©ãŒãã³ã¹ãšãã©ãã£ãã¯ãã¿ãŒã³ãç¶ç¶çã«ç£èŠããŸããã¹ããããªã³ã°ãã°ãåæããŠãæªæã®ããã¯ã©ã€ã¢ã³ããããªã·ãŒèª¿æŽãå¿ èŠãªé åãç¹å®ããŸãããã®ããŒã¿ã䜿çšããŠå¶éã調æŽããŸãã
- æ¶è²»è ãæè²ããïŒéçºè ããŒã¿ã«ã§APIã®ã¬ãŒãå¶éãæç¢ºã«ææžåããŸããã¯ã©ã€ã¢ã³ããã¹ããããªã³ã°ãåé¿ããæ¹æ³ãšãã¹ããŒããªå詊è¡ããžãã¯ãå®è£ ããæ¹æ³ãçè§£ããã®ãå©ããŸãã
- 培åºçã«ãã¹ãããïŒã¹ããããªã³ã°ããªã·ãŒãå±éããåã«ãæ§ã ãªè² è·æ¡ä»¶äžã§å³å¯ã«ãã¹ãããæåŸ ã©ããã«æ©èœããæ£èŠã®ãŠãŒã¶ãŒã«æå³ãã圱é¿ãäžããªãããšã確èªããŸãã
- ãšããžãã£ãã·ã³ã°ãæ€èšããïŒéçãŸãã¯åéçããŒã¿ãæäŸããAPIã®å Žåããšããžãã£ãã·ã³ã°ã掻çšããããšã§ãªãªãžã³ãµãŒããŒã®è² è·ãå€§å¹ ã«è»œæžããç©æ¥µçãªã¹ããããªã³ã°ã®å¿ èŠæ§ãæžããããšãã§ããŸãã
- ã²ãŒããŠã§ã€ã§ã®ã¹ããããªã³ã°ãå®è£ ããïŒè€éãªãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ã®å ŽåãAPIã²ãŒããŠã§ã€ã§ã®ã¹ããããªã³ã°ã®å®è£ ã¯ãå¶åŸ¡ãšããžãã¯ãäžå åãããããæãå¹ççã§ç®¡çããããã¢ãããŒãã§ããããšããããããŸãã
çµè«
APIã¹ããããªã³ã°ã¯åãªãæè¡çãªæ©èœã§ã¯ãããŸãããç¹ã«ã°ããŒãã«åãããããžã¿ã«ç°å¢ã«ãããŠãAPIãäžè¬å ¬éãããããŒãããŒã«å ¬éãããããããããçµç¹ã«ãšã£ãŠãæŠç¥çãªå¿ é äºé ã§ããé©åãªãªã¯ãšã¹ãã¬ãŒãå¶åŸ¡ã¡ã«ããºã ãçè§£ããå®è£ ããããšã§ããµãŒãã¹ã®ããã©ãŒãã³ã¹äœäžãé²ããã»ãã¥ãªãã£ã確ä¿ããå ¬å¹³ãªäœ¿çšãä¿é²ããéçšã³ã¹ããæé©åããããšãã§ããŸãã
çŸä»£ã®ã¢ããªã±ãŒã·ã§ã³ã®ã°ããŒãã«ãªæ§è³ªã¯ãAPIã¹ããããªã³ã°ã«å¯ŸããæŽç·Žããããé©å¿æ§ããããããäŒéãããã¢ãããŒããèŠæ±ããŸããã¢ã«ãŽãªãºã ãæ éã«éžæãã詳现ãªå¶åŸ¡ãå®è£ ããæ¶è²»è ã«æç¢ºãªãã£ãŒãããã¯ãæäŸããããšã§ãé«ãéèŠãšå€æ§ãªåœéçãªå©çšã«èãããå ç¢ã§ã¹ã±ãŒã©ãã«ã§ä¿¡é Œæ§ã®é«ãAPIãæ§ç¯ã§ããŸããAPIã¹ããããªã³ã°ããã¹ã¿ãŒããããšã¯ãããžã¿ã«ãµãŒãã¹ã®å¯èœæ§ãæå€§éã«åŒãåºããäžçäžã®ãŠãŒã¶ãŒã«ã¹ã ãŒãºã§äžæã®ãªããšã¯ã¹ããªãšã³ã¹ãä¿èšŒããããã®éµãšãªããŸãã