埩ç¿
å€ãã®äººã¯ããªããžã§ã¯ãæåã®ã¹ãã¬ãŒãžãšãiSCSIãFibreChannelïŒã¹ãã¬ãŒãžãšãªã¢ãããã¯ãŒã¯ãSANïŒã«åºã¥ããããã¯ã¹ãã¬ãŒãžãæ··åããŠããŸãããå®éã«ã¯ãããã®éã«å€ãã®éãããããŸãã ã·ã¹ãã ã¯SANäžã®ãããã¯ããã€ã¹ã®ã¿ã衚瀺ããŸããïŒããã€ã¹åã®è¯ãäŸã¯/ dev / sdb linuxïŒããªããžã§ã¯ãã¹ãã¢ãžã®ã¢ã¯ã»ã¹ã¯å°çšã®ã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ïŒbox.comã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ãªã©ïŒã䜿çšããŠã®ã¿ååŸã§ããŸãã
ãããã¯ã¹ãã¬ãŒãžã¯ã¯ã©ãŠãã€ã³ãã©ã¹ãã©ã¯ãã£ã®éèŠãªéšåã§ãã äž»ãªäœ¿çšæ¹æ³ã¯ãä»®æ³ãã·ã³ã®ã€ã¡ãŒãžã®ä¿åãŸãã¯ãŠãŒã¶ãŒãã¡ã€ã«ã®ä¿åã§ãïŒããšãã°ãããŸããŸãªçš®é¡ã®ããã¯ã¢ãããããã¥ã¡ã³ããã€ã¡ãŒãžïŒã ãªããžã§ã¯ãã¹ãã¬ãŒãžã®äž»ãªå©ç¹ã¯ãã¹ã±ãŒã©ããªãã£ãšããŒã¿ã®åé·æ§ã確ä¿ããªããããšã³ã¿ãŒãã©ã€ãºã¬ãã«ã®ã¹ãã¬ãŒãžãšæ¯èŒããŠå®è£ ã³ã¹ããéåžžã«äœãããšã§ãã ãªããžã§ã¯ãã¹ãã¬ãŒãžãå®è£ ããæãäžè¬çãªæ¹æ³ã¯2ã€ãããŸãã ãã®èšäºã§ã¯ãOpenStackãã€ã³ã¿ãŒãã§ãŒã¹ãæäŸãã2ã€ã®ã¡ãœãããæ¯èŒããŸãã
Openstack swift
Swiftãããã¯ãŒã¯ã¢ãŒããã¯ãã£
OpenStack Object Storage ïŒSwiftïŒã¯ãæšæºåããããµãŒããŒã®ã¯ã©ã¹ã¿ãŒã䜿çšããã¹ã±ãŒã©ãã«ãªåæ£ããã¯ã¢ãããªããžã§ã¯ãã¹ãã¬ãŒãžãæäŸããŸãã ãåæ£ããšã¯ãåããŒã¿ãã¹ãã¬ãŒãžããŒãã®ã¯ã©ã¹ã¿ãŒå šäœã«è€è£œãããããšãæå³ããŸãã ã¬ããªã«ã®æ°ã¯æ§æã§ããŸãããåçšã€ã³ãã©ã¹ãã©ã¯ãã£ã®å Žåã¯å°ãªããšã3ã€å¿ èŠã§ãã
Swiftã®ãªããžã§ã¯ããžã®ã¢ã¯ã»ã¹ã¯ãRESTã€ã³ã¿ãŒãã§ãŒã¹ãä»ããŠè¡ãããŸãã ãããã®ãªããžã§ã¯ãã¯ãå¿ èŠã«å¿ããŠä¿åãååŸãæŽæ°ã§ããŸãã ãªããžã§ã¯ãã¹ãã¬ãŒãžã¯ãå€æ°ã®ãµãŒããŒã«ç°¡åã«åæ£ã§ããŸãã
åãªããžã§ã¯ããžã®ã¢ã¯ã»ã¹ãã¹ã¯ã3ã€ã®èŠçŽ ã§æ§æãããŠããŸãã
/ã¢ã«ãŠã³ã/ã³ã³ãã/ãªããžã§ã¯ã
ãªããžã§ã¯ãã¯ããªããžã§ã¯ããèå¥ããäžæã®ååã§ãã ã¢ã«ãŠã³ããšã³ã³ããã¯ããªããžã§ã¯ããã°ã«ãŒãåããæ¹æ³ãæäŸããŸãã ã¢ã«ãŠã³ããšã³ã³ããã®ãã¹ãã¯ãµããŒããããŠããŸããã
SwiftãœãããŠã§ã¢ã¯ãã¢ã«ãŠã³ãåŠçãµãŒããŒãã³ã³ãããŒåŠçãµãŒããŒãã¹ãã¬ãŒãžãã¬ããªã±ãŒã·ã§ã³ãã³ã³ãããŒããã³ã¢ã«ãŠã³ã管çãå®è¡ãããªããžã§ã¯ãåŠçãµãŒããŒãªã©ã®ã³ã³ããŒãã³ãã§æ§æãããŠããŸãã ããã«ããããã·ãµãŒããŒãšåŒã°ããå¥ã®ãã·ã³ããŠãŒã¶ãŒã«Swift APIãæäŸããèŠæ±ã«å¿ããŠã¯ã©ã€ã¢ã³ãããã¯ã©ã€ã¢ã³ãã«ãªããžã§ã¯ãã転éããŸãã
ã¢ã«ãŠã³ãåŠçãµãŒããŒã¯ãç¹å®ã®ã¢ã«ãŠã³ãã®ã³ã³ãããŒãªã¹ããæäŸããŸãã ã³ã³ããåŠçãµãŒããŒã¯ãç¹å®ã®ã³ã³ããå ã®ãªããžã§ã¯ãã®ãªã¹ããæäŸããŸãã ãªããžã§ã¯ãåŠçãµãŒããŒã¯ãå®å šãªãã¹ãããå Žåããªããžã§ã¯ãèªäœãåã«è¿ããä¿åããŸãã
æ茪
ãŠãŒã¶ãŒããŒã¿ã¯äžé£ã®ã³ã³ãã¥ãŒã¿ãŒã«åæ£ãããŠããããããŠãŒã¶ãŒããŒã¿ã®å Žæã远跡ããããšãéèŠã§ãã Swiftã§ã¯ãããã¯ããªã³ã°ããšåŒã°ããå éšããŒã¿æ§é ã䜿çšããŠå®çŸãããŸãã ãªã³ã°ã¯ãã¹ãŠã®Swiftã¯ã©ã¹ã¿ãŒããŒãïŒãªããžããªãšãããã·ã®äž¡æ¹ïŒã«ãããŸãã ãã®ããã«ããŠãSwiftã¯ããã®ã¡ã¿ããŒã¿ãªããžããªãåç §ã¡ã¿ããŒã¿ãžã®ã¢ã¯ã»ã¹ã®ããã«ããã¯ã«ãªã£ããšãã«ãéäžã¡ã¿ããŒã¿ãµãŒããŒã«äŸåããå€ãã®åæ£ãã¡ã€ã«ã·ã¹ãã ã®åé¡ã解決ããŸãã ãªã³ã°ã¯ãäžå€®ã®ããŒã¿ã«ãŒããããã¯ã©ã¹ã¿ãŒãžã®åå ãããåæ ãããããåäžã®ãªããžã§ã¯ããä¿åãŸãã¯åé€ããããã«ãªã³ã°ã¹ãã¬ãŒãžã¯å¿ èŠãããŸããã ããã¯I / Oæäœã«ãã©ã¹ã®å¹æããããããã¢ã¯ã»ã¹é 延ãå€§å¹ ã«åæžããŸãã
ã¢ã«ãŠã³ãããŒã¿ããŒã¹ãã³ã³ãããããã³åã ã®ãªããžã§ã¯ãã«ã¯åå¥ã®ãªã³ã°ããããŸããããã¹ãŠã®ãªã³ã°ã¯åãããã«æ©èœããŸãã ã€ãŸããç¹å®ã®ã¢ã«ãŠã³ããã³ã³ããããŸãã¯ãªããžã§ã¯ãåã«ã€ããŠããªã³ã°ã¯ã¹ãã¬ãŒãžããŒãäžã®ç©ççãªå Žæã«é¢ããæ å ±ãè¿ããŸãã æè¡çã«ã¯ããã®ã¢ã¯ã·ã§ã³ã¯é 次ããã·ã¥æ³ã䜿çšããŠå®è¡ãããŸãã ãªã³ã°ã®ã¢ã«ãŽãªãºã ã®è©³çŽ°ãªèª¬æã¯ã ããã°ãšãã®ãªã³ã¯ã«ãããŸãã
ãããã·ãµãŒããŒ
ãããã·ãµãŒããŒã¯ããããªãã¯APIãžã®ã¢ã¯ã»ã¹ãæäŸããã¹ãã¬ãŒãžãšã³ãã£ãã£ãžã®ãªã¯ãšã¹ããåŠçããŸãã ãªã¯ãšã¹ãããšã«ããããã·ãµãŒããŒã¯ããªã³ã°ã䜿çšããŠãã¢ã«ãŠã³ããã³ã³ããããªããžã§ã¯ãã®å Žæã«é¢ããæ å ±ãåãåããŸãã å Žæãåä¿¡ããåŸããµãŒããŒã¯èŠæ±ãã«ãŒãã£ã³ã°ããŸãã ãªããžã§ã¯ãã¯ããããã¡ãªã³ã°ã®ãµããŒããªãã§ãããã·ãµãŒããŒããã¯ã©ã€ã¢ã³ãã«çŽæ¥è»¢éãããŸãïŒããæ£ç¢ºã«èšããšãååã«ãproxyããå«ãŸããŠããŸããããproxyããµãŒããŒã¯httpãªã©ã§ãproxyingããå®è¡ããŸããïŒã
ãªããžã§ã¯ãåŠçãµãŒããŒ
ããã¯ããªããžã§ã¯ããä¿åãååŸãåé€ã§ããåçŽãªBLOBïŒãããã¹ãã¬ãŒãžïŒãªããžããªã§ãã ãªããžã§ã¯ãã¯ã¹ãã¬ãŒãžããŒãã«ãã€ããªãã¡ã€ã«ãšããŠä¿åãããã¡ã¿ããŒã¿ã¯æ¡åŒµãã¡ã€ã«å±æ§ïŒxattrsïŒã«ãããŸãã ãã®ããããªããžã§ã¯ããµãŒããŒãã¡ã€ã«ã·ã¹ãã ã¯ãã¡ã€ã«ã®xattrsããµããŒãããå¿ èŠããããŸãã
åãªããžã§ã¯ãã¯ããã¡ã€ã«ã®ãã§ãã¯ãµã ããååŸãããã¹ãšæäœã®ã¿ã€ã ã¹ã¿ã³ãã䜿çšããŠä¿åãããŸãã æåŸã®ã¬ã³ãŒãã¯åžžã«ïŒã°ããŒãã«ã¯ããã¯åæãåŒãèµ·ããåæ£ã·ããªãªãå«ãïŒãäžåãããªããžã§ã¯ãã®ææ°ããŒãžã§ã³ã®ã¡ã³ããã³ã¹ãä¿èšŒããŸãã åé€ã¯ããã¡ã€ã«ã®ããŒãžã§ã³ïŒã.tsãã§çµãã0ãã€ãã®ãã¡ã€ã«ãããã¯å»æ£ïŒtombstoneïŒãæå³ããïŒãšãèŠãªãããŸãã ããã«ãããåé€ããããã¡ã€ã«ãæ£ããè€è£œãããŸãã ãã®å Žåãå€ãããŒãžã§ã³ã®ãã¡ã€ã«ã¯å€±æããŠãå衚瀺ãããŸããã
ã³ã³ããåæ±ãµãŒããŒ
ã³ã³ããåŠçãµãŒããŒã¯ããªããžã§ã¯ãã®ãªã¹ããåŠçããŸãã 圌ã¯ãªããžã§ã¯ããã©ãã«ããã®ããç¥ãããç¹å®ã®ã³ã³ããã®å 容ã®ã¿ãç¥ããŸãã ãªã¹ãã¯sqlite3ããŒã¿ããŒã¹ãã¡ã€ã«ãšããŠä¿åããããªããžã§ã¯ããšåãæ¹æ³ã§ã¯ã©ã¹ã¿ãŒå šäœã«è€è£œãããŸãã ãªããžã§ã¯ãã®ç·æ°ãããã®ã³ã³ããã«äœ¿çšãããŠããã¹ãã¬ãŒãžã®éãªã©ã®çµ±èšã远跡ãããŸãã
ç¹å¥ãªããã»ã¹ïŒswift-container-updaterïŒã¯ãå®è¡äžã®ããŒãã®ã³ã³ãããŒããŒã¿ããŒã¹ãåžžã«ãã§ãã¯ããã³ã³ãããŒããŒã¿ãå€æŽããããšã¢ã«ãŠã³ãããŒã¿ããŒã¹ãæŽæ°ããŸãã æŽæ°ããå¿ èŠãããã¢ã«ãŠã³ããèŠã€ããã«ã¯ããªã³ã°ã䜿çšããŸãã
ã¢ã«ãŠã³ãåŠçãµãŒããŒ
ã³ã³ãããŒåŠçãµãŒããŒãšåæ§ã«æ©èœããŸãããã³ã³ãããŒãªã¹ããåŠçããŸãã
ç¹åŸŽãšæ©èœ
-ã¬ããªã±ãŒã·ã§ã³ïŒæåã§æ§æã§ãããªããžã§ã¯ãã®ã³ããŒã®æ°ã
-ãªããžã§ã¯ãã®ããŠã³ããŒãã¯åæããã»ã¹ã§ãããããã·ãµãŒããŒã¯ãã¬ããªã«ã®åå以äžãèšé²ãããŠããå Žåã«ã®ã¿ã201 CreatedãHTTPã³ãŒããè¿ããŸãã
-OpenStackèªèšŒãµãŒãã¹ïŒKeystoneïŒãšã®çµ±åïŒã¢ã«ãŠã³ãã¯åå è ã«å²ãåœãŠãããŸãã
-ããŒã¿ã®æ€èšŒïŒxattrsã«ä¿åãããŠããã¡ã¿ããŒã¿ãšæ¯èŒãããã¡ã€ã«ã·ã¹ãã å ã®md5ãªããžã§ã¯ãã®åèšã
-ã³ã³ããã®åæïŒè€æ°ã®ããŒã¿ã»ã³ã¿ãŒã§ã³ã³ãããåæããããšãå¯èœã«ãªããŸãã
-転éã¡ã«ããºã ïŒè¿œå ã®ããŒãã䜿çšããŠãé害ãçºçããå Žåã«ã¬ããªã«ãä¿åããããšãã§ããŸãã
-ãªããžã§ã¯ãã®ãµã€ãºã5 GBãè¶ ããå Žåãåå²ããå¿ èŠããããŸãããããã®éšåã¯åå¥ã®ãªããžã§ã¯ããšããŠä¿åãããŸãã åæã«èªãããšãã§ããŸãã
ã»ã
Cephã¯ãåæ£POSIXã¡ã¿ããŒã¿ããã³ã»ãã³ãã£ã¯ã¹ç®¡çãåããåæ£ãããã¯ãŒã¯æ¥ç¶ã¹ãã¬ãŒãžã§ãã Cephãªããžã§ã¯ããªããžããªãžã®ã¢ã¯ã»ã¹ã¯ãå°çšã®cmdlineããŒã«ãFUSEãAmazon S3ã¯ã©ã€ã¢ã³ããªã©ã®ããŸããŸãªã¯ã©ã€ã¢ã³ããä»ããŠååŸã§ããŸãïŒã S3 Gateway ããšåŒã°ããäºææ§ã¬ãã«ã䜿çšïŒã Cephã«ã¯é«åºŠãªã¢ãžã¥ãŒã«æ§ããããŸããããŸããŸãªæ©èœã»ããããçµã¿åãããŠçµã¿ç«ãŠãããããŸããŸãªã³ã³ããŒãã³ãã«ãã£ãŠæäŸãããŸãã ç¹ã«ãs3 APIãä»ããŠã¢ã¯ã»ã¹ããããªããžã§ã¯ãã¹ãã¢ã®å Žåããªããžã§ã¯ãåŠçãµãŒããŒãç£èŠãµãŒããŒãRADOSã²ãŒããŠã§ã€ã® 3ã€ã®ã³ã³ããŒãã³ããèµ·åããã ãã§ååã§ãã
ç£èŠãµãŒããŒ
ceph-monã¯ãCephã¯ã©ã¹ã¿ãŒã§ã®åæ£ææ決å®ã®äžè²«æ§ãæäŸãã軜éã®ã¯ãŒã¯ãããŒã§ãã ãŸããã¯ã©ã¹ã¿ããããžã«é¢ããæ å ±ãæäŸããæ°èŠé¡§å®¢ã®é£çµ¡å ã®åºçºç¹ã§ããããŸãã éåžžã3ã€ã®ç°ãªãç©çãã·ã³ã«ã¯ãäºãã«åé¢ããã3ã€ã®ceph-monã¯ãŒã¯ãããŒããããŸãã ããšãã°ãç°ãªãæ£ãç°ãªãåã«ã
ãªããžã§ã¯ãåŠçãµãŒããŒ
Cephããã¹ãããå®éã®ããŒã¿ã¯ãRADOSãšåŒã°ããã¯ã©ã¹ã¿ãŒã¹ãã¬ãŒãžãšã³ãžã³ã®äžã«æ ŒçŽãããŸããRADOSã¯ãäžé£ã®ã¹ãã¬ãŒãžããŒãã«å±éãããŸãã
ceph-osdã¯ãã¯ã©ã¹ã¿ãŒå ã®åã¹ãã¬ãŒãžããŒãïŒãªããžã§ã¯ãåŠçãµãŒããŒïŒã§å®è¡ãããã¹ãã¬ãŒãžã¯ãŒã¯ãããŒã§ãCeph.ceph-osdã¯ceph-monã«æ¥ç¶ããŠã¯ã©ã¹ã¿ãŒã«åå ããŸãã ãã®äž»ãªç®çã¯ãã¯ã©ã€ã¢ã³ãããã®èªã¿åã/æžã蟌ã¿èŠæ±ããã³ãã®ä»ã®èŠæ±ãåŠçããããšã§ãã ãŸããä»ã®ceph-osdããã»ã¹ãšå¯Ÿè©±ããŠããŒã¿ãè€è£œããŸãã ãã®ã¬ãã«ã§ã¯ãããŒã¿ã¢ãã«ã¯æ¯èŒçåçŽã§ãã ååä»ãããŒã«ãããã€ããããåããŒã«å ã«ã¯ããã©ãããªåå空éïŒãã£ã¬ã¯ããªãªãïŒã«ååä»ããªããžã§ã¯ãããããŸãã åãªããžã§ã¯ãã«ã¯ããŒã¿ãšã¡ã¿ããŒã¿ããããŸãã ãªããžã§ã¯ãããŒã¿ã¯ãæœåšçã«å€§ããªäžé£ã®ãã€ãã§ãã ã¡ã¿ããŒã¿ã¯ãããŒãšå€ã®ãã¢ã®é äžåã®ã³ã¬ã¯ã·ã§ã³ã§ãã Cephãã¡ã€ã«ã·ã¹ãã ã¯ãã¡ã¿ããŒã¿ã䜿çšããŠããã¡ã€ã«ã®ææè ãªã©ã«é¢ããæ å ±ãä¿åããŸãã ãã®äžã§ãcef-osdã¯ãŒã¯ãããŒã¯ããŒã¿ãããŒã«ã«ãã¡ã€ã«ã·ã¹ãã ã«ä¿åããŸãã Btrfsããå§ãããŸãããæ¡åŒµå±æ§ãåããPOSIXãã¡ã€ã«ã·ã¹ãã ã§ããã°ãã¹ãŠå¯èœã§ãã
ã¯ã©ãã·ã¥ã¢ã«ãŽãªãºã
Swiftã¯é 次é ä¿¡ãšããŒã¿ååŸã«ãªã³ã°ïŒmd5ãã§ãã¯ãµã ç¯å²ãäžé£ã®ã¹ãã¬ãŒãžããŒãã«ãããã³ã° ïŒã䜿çšããŸãã ãCephã¯ããã«CRUSHãšåŒã°ããã¢ã«ãŽãªãºã ã䜿çšããŸã ã ã€ãŸããCRUSHã¯ããªããžã§ã¯ãã®ååãã¯ã©ã¹ã¿ãŒããããããã³CRUSHã«ãŒã«ã«åºã¥ããŠãCephã®ããŒã¿ã®ç©ççãªå Žæãèšç®ã§ããã¢ã«ãŽãªãºã ã§ãã CRUSHã¯ãç©ççãªçµç¹ãåæ ããéå±€å ã®ã¹ãã¬ãŒãžã¯ã©ã¹ã¿ãŒãè¡šããããŒã¿ãç©ççãªæ©åšã«æ£ããè€è£œãããããã«ããŸãã ããã«ãCRUSHã§ã¯ãããªã·ãŒã䜿çšããŠããŒã¿ã®é 眮ãå¶åŸ¡ã§ããŸããããã«ãããCRUSHã¯ã¯ã©ã¹ã¿ãŒãžã®åå ã®å€æŽã«å¯Ÿå¿ã§ããŸãã
Radosã²ãŒããŠã§ã€
radosgwã¯ãCephã¯ã©ã¹ã¿ãŒã«ãªããžã§ã¯ããšã¡ã¿ããŒã¿ãä¿åããããã®RESTful HTTP APIãæäŸããFastCGIãµãŒãã¹ã§ãã
ç¹åŸŽãšæ©èœ
-éšåçãŸãã¯å®å šãªèªã¿åãããã³æžã蟌ã¿æäœ
-åç
-ç¯å²ã®è¿œå ãåãæšãŠãè€è£œãªã©ã®æ©èœã®ã¢ãããã¯ãã©ã³ã¶ã¯ã·ã§ã³
-ãªããžã§ã¯ãã¬ãã«ã§ã®ããŒãšå€ã®çžé¢
-ãªããžã§ã¯ãã®ã¬ããªã«ã®ç®¡ç
-ãªããžã§ã¯ãïŒäžé£ã®ãªããžã§ã¯ãïŒã®ã°ã«ãŒããžã®éçŽããã³ãããã³ã°ã°ã«ãŒãOSDã·ãªãŒãº
-å ±æç§å¯éµã䜿çšããèªèšŒïŒã¯ã©ã€ã¢ã³ããšç£èŠã¯ã©ã¹ã¿ãŒã®äž¡æ¹ã«ãã¯ã©ã€ã¢ã³ãã®ç§å¯éµã®ã³ããŒããããŸã
-API S3 / Swiftãšã®äºææ§
æ©èœæŠèŠ
ã¹ã€ãã | ã»ã | |
è€è£œ | ã¯ã | ã¯ã |
æ倧ãªããžã§ã¯ããµã€ãº | 5 GB
ïŒãã倧ããªãªããžã§ã¯ãã¯ã»ã°ã¡ã³ãåãããŠããŸãïŒ | ç¡å¶é |
ãã«ãDCã€ã³ã¹ããŒã«ïŒããŒã¿ã»ã³ã¿ãŒéã®åæ£ïŒ | ã¯ãïŒã³ã³ããã¬ãã«ã§ã®ã¿è€è£œãå¯èœã§ãããããŒã¿ã»ã³ã¿ãŒéã®å®å šãªè€è£œã®ããã®ã¹ããŒã ãææ¡ãããŠããŸãïŒ | ãããïŒCephããŸã ãµããŒãããŠããªãããŒã¿æŽåæ§ã®éåæã®åŸç¶ã¬ããªã±ãŒã·ã§ã³ãå¿ èŠã§ãïŒ |
Openstackãšã®çµ±å | ã¯ã | éšåç
ïŒKeystoneãµããŒãã®æ¬ åŠïŒ |
ã¬ããªã«ç®¡ç | ãã | ã¯ã |
èšé²ã¢ã«ãŽãªãºã | åæ | åæ |
Amazon S3äºæAPI | ã¯ã | ã¯ã |
ããŒã¿é 眮æ¹æ³ | ãªã³ã°ïŒéçãããã³ã°æ§é ïŒ | CRUSHïŒã¢ã«ãŽãªãºã ïŒ |
ãœãŒã¹
Swiftã®å ¬åŒããã¥ã¡ã³ã -ããŒã¿æ§é ã®èª¬æã®ãœãŒã¹ã
Githubã®Swift RingãœãŒã¹ã³ãŒã -Swift Ringããã³RingBuilderã¯ã©ã¹ã®ãœãŒã¹ã³ãŒãããŒã¹ã
Chmouel Boudjnahã®ããã° -䟿å©ãªSwiftã®ãã³ãã
Cephã®å ¬åŒããã¥ã¡ã³ã -ããŒã¿æ§é ã®èª¬æã®äž»ãªæ å ±æºã
è±èªã®ãªãªãžãã«èšäº