Azure ã®æ¥æ¬ãªã¼ã¸ã§ã³ 7 å¨å¹´ã®æ¥ã« Japan East ã®ã¹ãã¬ã¼ã¸é害ãçºçããã¨ããããªãã¨ãã¢ã¬ãªåºæ¥äºãããã¾ããããé害çºçå¾ã¯ã¢ã¼ããã¯ãã£ãè¦ç´ãããæ©ä¼ã ã¨æãã®ã§è²ã æ¸ãã¾ãã
ã¾ã RCA ã¯å ¬éããã¦ããªãã§ãããããããã¶ã¡ãã RD ãããã°ã«æ¸ãã®ã§ãªã³ã¯ãè²¼ãã¾ãã
4 å¹´åã®åããããªææã«ã Japan East ã§å¤§è¦æ¨¡ãªã¹ãã¬ã¼ã¸é害ãçºçããã®ã§ãåããããªãã®ãæ¸ãã¾ãããæµç³ã«ããããã¨é²åãã¦ããã®ã§å¤ããæãã¾ãã
ä»åã®é害ã¯å½±é¿ç¯å²ã¯ãã»ã©å¤§ãããªãã£ãããã§ã主㫠Azure Storage 㨠Virtual Machines ãã¹ãã¼ã¿ã¹ã«ã¯ä¸ãã£ã¦ãã¦ãã¾ãããå®éã«ã¯ Application Insights ã Log Analytics ã«ãå½±é¿ãããã¾ããããAzure Storage ã¯å ¨ã¦ã®åºæ¬ãªã®ã§ä»æ¹ãªãæã¯ããã¾ãã*1
å ¨ã¦ãæ¸ãã®ã¯ç¡çãªã®ã§ãããã¤ããµã¼ãã¹ãããã¯ã¢ãããã¦ç´¹ä»ãã¾ãã
- App Service / Azure Functions
- Storage (Blob / Queue / Table)
- Virtual Machines
- ãã®ä»ã®ãµã¼ãã¹
è¦ããã« App Service / Azure Functions ã使ãã¨ãã話ã§ã¯ããã¾ãããStorage å¨ãã«ã 4 å¹´åã¨ã¯éã£ã¦ãµã¼ãã¹ãæ©è½ãå¢ãã¦ããã®ã§å¤ãã§ããVM ã¯å¯ãã¦ãã ããã
App Service / Azure Functions
以åã«æ¸ãã App Service ã®è¨è¨ãã¿ã¼ã³ã¾ã¨ãã«ã»ã¨ãã©æ¸ãã¦ããã®ã§ãããããã¤ãããã¯ã¢ãããã¦ããã¡ãã£ã¨å ·ä½çã«ç´¹ä»ãã¾ããæ§ç¯åã«èªãã§ããã¨ãããã¨ãããã¨æãã¾ãã
ãããæ¸ããæãã大ããã¯å¤ãã£ã¦ããªãã®ã§ããã®ã¾ã¾ä½¿ããã¯ãã§ããå¤ãã£ããæ´æ°ãã¾ãã
åºæ¬ã¯ App Service Diagnostics ã«å¾ã
æ¢ã«ä½åãæ¸ãã¦ãã¾ãã App Service Diagnostics ãé常ã«åªç§ãªã®ã§ãã¾ãã¯ããããå§ãã¦ããã°è¯ãã§ããæè¿ã 㨠Risk alerts ã¨ããå½¢ã§æ¨å¥¨äºé ã確èªã§ãã¾ãã
å¯ç¨æ§ã«å¯¾ãããªã¹ã¯ãæ¤åºããã¦ããã®ã§ã以ä¸ã®ããã«è¤æ°ã¤ã³ã¹ã¿ã³ã¹ã§å®è¡ããããã¨ããAuto heal ãæå¹åãããã¨ãæ¨å¥¨ããã¦ãã¾ãã
ãã¹ããã©ã¯ãã£ã¹ã®å¡ãªã®ã§ãããããèããåã« App Service Diagnostics ã確èªãã¾ãããã
Health Check ãæå¹åãã
Health Check ã¯å»å¹´ã« GA ããæ°ããæ©è½ã§ãããã¢ããªã±ã¼ã·ã§ã³å´ã§é©åã«ãã«ã¹ãã§ãã¯ç¨ã®ã¨ã³ããã¤ã³ããå®è£ ãã¦ããã°ãApp Service ãèªåçã«åèµ·åã VM ã®å ¥ãæ¿ããªã©ãè¡ã£ã¦ãããã®ã§ãå復æ§ãé«ã¾ãã¾ãã詳ããã¯ããã¥ã¡ã³ããåç §ãã¦ãã ããã
æè¿ã® Azure Portal ã§ã¯ Essential ã®é¨åã« Health Check ã表示ããã¦ããã®ã§ãéè¦åº¦ã®é«ãæ©è½ã§ãããã¨ãç解ã§ããã¨æãã¾ããè¨å®èªä½ã¯ä»¥ä¸ã®ããã«é常ã«ã·ã³ãã«ã§ãã
注æç¹ã¨ãã¦ã¯ä¸è¯ VM ã®å ¥ãæ¿ããªã©ã¯ 1 ã¤ã³ã¹ã¿ã³ã¹ã§ã¯å®è¡ãã¦ãããªãã®ã§ã2 ã¤ã³ã¹ã¿ã³ã¹ä»¥ä¸ã§åä½ããã¦ããå¿ è¦ããããã¨ã§ãããã該å½ãã App Service ã§ã¯è¦åã¡ãã»ã¼ã¸ãåºã¾ãã
Load Balancer ããåé¤ãããã¾ã§ã®æéã¯ãå®è³ªçã«ã¯ãã«ã¹ãã§ãã¯ã 2 åã« 1 åè¡ãããã®ã§ãé£ç¶ãã¦ä½å失æããã¨ãã«è¡ããã¨ããè¨å®ã«ãªãã¾ãããã«ã¹ãã§ãã¯ã 2 åã« 1 åã¯è¥å¹²é·ãã¨æãã®ã§ãããä»ã®ã¨ããå¤æ´ã¯åºæ¥ã¾ããã
2 ã¤ã³ã¹ã¿ã³ã¹ã§å®è¡ãã¦ãã App Service ã«å¯¾ãã¦ãç¹å®ã®ã¤ã³ã¹ã¿ã³ã¹ã«å¯¾ãã¦ãã«ã¹ãã§ãã¯ã失æãããããã«ããã¢ããªã±ã¼ã·ã§ã³ããããã¤ãã¦ãåä½ã確èªããã®ã以ä¸ã®ã°ã©ãã§ãã
DC83
ã®ã¤ã³ã¹ã¿ã³ã¹ã¯ãã«ã¹ãã§ãã¯ãéããªããªãã¾ããããApp Service ã«ãã£ã¦èªåçã«æ°ããã¤ã³ã¹ã¿ã³ã¹ãç¨æããã¦å
¥ãæ¿ããè¡ããã¾ããããã®æãã«ã¹ãã§ãã¯ã®å¤±æåæ°ãè¨å®ããåæ°ãä¸åã£ã¦ããã®ã§ããã«ã¹ãã§ãã¯ãè½ã¡ã¦ããã¤ã³ã¹ã¿ã³ã¹ã¯ LB ããåé¤ããã¦ãã¾ãã
å ±æã¹ãã¬ã¼ã¸ã®å©ç¨ãæä½éã«ãã
App Service / Azure Functions 㯠Azure Storage ãã¼ã¹ã®å ±æã¹ãã¬ã¼ã¸ããã¦ã³ãããã¦ããã®ã§ã使ç¨ãã¦ãã Azure Storage ã«é害ãçºçããã¨å½ç¶ãªããå½±é¿ãåãã¾ããå¾ã£ã¦ã¢ããªã±ã¼ã·ã§ã³ãå ±æã¹ãã¬ã¼ã¸ã«é »ç¹ã«èªã¿æ¸ãããå ´åã¯ããµã¼ãã¹ã®æä¾ãç¶ç¶ã§ãã¾ããã
ããå°è¦æ¨¡ã®ã¢ããªãé¤ãã¦ã¯ãå ±æã¹ãã¬ã¼ã¸ã¯èªã¿è¾¼ã¿å°ç¨ã§å©ç¨ããã®ãæè¿ã®ãå§ãã«ãªãã¾ããç¹ã«ã¢ããªã±ã¼ã·ã§ã³ã®ãããã¤ã«ã¯ Run From Package ã使ãã®ã¯é常ã«è¯ãã§ãã
Run From Package ã§ãããã¤ãããã¢ããªã±ã¼ã·ã§ã³ã¯ãä¸åº¦èµ·åãããã¨ãããã¤ãã¤ã³ã¹ã¿ã³ã¹ãå ¥ãæ¿ãããªãéãã¯ãã¼ã«ã«ã¹ãã¬ã¼ã¸ã«ãã£ãã·ã¥ãããããã±ã¼ã¸ã使ãããã®ã§ãã¹ãã¬ã¼ã¸é害ã®å½±é¿ãæå°éã«æããããå¯è½æ§ãããã¾ãã
ãã«ãã¤ã³ã¹ã¿ã³ã¹ã»ãã«ããªã¼ã¸ã§ã³æ§æãçµã
é害ã App Service ã®ã¤ã³ã¹ã¿ã³ã¹ã¨å ±æã¹ãã¬ã¼ã¸ã®ä¸¡æ¹ã«éæªãå½±é¿ããå ´åã¯ãåºæ¬çã¯é害ã®å¾©æ§ãå¾ ã¤ãããªããªã£ã¦ãã¾ãã¾ããAzure Storage ã¯æ§ã ãªãµã¼ãã¹ã®ããã¯ã¨ã³ãã§ä½¿ããã¦ããã®ã§ãã©ããã¦ãå½±é¿ç¯å²ãåºããªããã¡ã§ãã
å¯ç¨æ§ãé«ããããã«ã¯ãæä½é 2 ã¤ã³ã¹ã¿ã³ã¹ä»¥ä¸ã§ Always On ãæå¹ã«ããç¶æ ã§ç¨¼åãããããæ´ã«é«å¯ç¨æ§ãå¿ è¦ãªã¢ããªã±ã¼ã·ã§ã³ã®å ´å㯠Japan East 㨠Japan West ã®ä¸¡æ¹ã«åä¸æ§æã®ã¢ããªã±ã¼ã·ã§ã³ãç¨æããã®ãæé©è§£ã¨ãªãã¾ãã
Traffic Manager ã Front Door ãå ¥ãã¦ãããã¨ã§ããã§ã¼ã«ãªã¼ãã¼ãç°¡åã«è¡ãã¾ãããæè¿ã¯ CI / CD ã ARM Template / Terraform ãªã©ã使ããã¨ã§åä¸æ§æãå¥ãªã¼ã¸ã§ã³ã«ä¸¸ãã¨ä½ããã¨ãç°¡åã§ãã
Storage (Blob / Queue / Table)
Azure Storage ã§é害ãçºçããå ´å Blob ã Queue ã使ãã¢ããªã±ã¼ã·ã§ã³ã§ã¯åé¿ãé£ããã§ãã
ç¹ã« Azure Functions ã¯ããã¯ã¨ã³ãã Storage ã«å®å ¨ã«ä¾åãã¦ããã®ã§ãã¢ã¼ããã¯ãã£ãè¦ç´ãã¦ãã«ããªã¼ã¸ã§ã³æ§æã«ããå¿ è¦ãåºã¦ããã§ãããã
ZRS æ§æãçµã
æ㯠GRS ã¨ã RA-GRS ã使ããããããé¸æãç¡ãã£ãã§ãããä»ã¯ ZRS ã使ããããã«ãªã£ãã®ã§ LRS ã«è¿ãå½¢ã§é«å¯ç¨æ§ãå®ç¾ã§ããããã«ãªã£ã¦ãã¾ãã
GRS ã®å ´åã¯ãã§ã¼ã«ãªã¼ãã¼ãæ£ç´ã ããæãã§ãããZRS ã¯ç¹å®ã®ã¾ã¼ã³ãè½ã¡ãå ´åã«ã¯ Azure ã«ãã£ã¦èªåçã« DNS ã¬ãã«ã§åè¨å®ãè¡ãããã®ã§ãã¯ã©ã¦ããã¶ã¤ã³ãã¿ã¼ã³ã«åã£ã¦ãªãã©ã¤ãå®è£ ãã¦ããã°å¹¸ãã«ãªãããã§ãã
Azure CDN / Front Door ã¨çµã¿åããã
åç´ã« Blob ã使ã£ã¦ã³ã³ãã³ããé ä¿¡ãã¦ããå ´åã«ã¯ãå段㫠Azure CDN ã Front Door ãç¨æãã¦ãã£ãã·ã¥ããããã¨ã§å¤å°æé稼ããåºæ¥ã¾ããããªãªã¸ã³ãåãæ¿ãããã¨ã§åä¸ URL ã®ã¾ã¾å¥ã¹ãã¬ã¼ã¸ã¢ã«ã¦ã³ããè¦ãããã«ã§ãã¾ãã
Blob 㯠Object Replication ã使ãã¨ãGRS ãããåãããããå¥ãªã¼ã¸ã§ã³ã¸ Blob ã®ã¬ããªã±ã¼ã·ã§ã³ãå®ç¾ã§ããã®ã§ãã³ã³ãã³ãç³»ã®å ´åã¯ãã®æ¹æ³ã RA-GRS ãªã©ã使ãããã¯è¯ãã§ãããã
ã¬ããªã±ã¼ã·ã§ã³å ã¯èªã¿è¾¼ã¿å°ç¨ã«ãªãããããã§ã¼ã«ãªã¼ãã¼å¾ã«ãã©ã¤ããªã«ææ ¼ã¿ãããªåä½ã«ã¯ãªããªãã§ãããã³ã³ãã³ãé ä¿¡ç³»ã®ãµã¼ãã¹ã§ã¯åé¡ã«ãªããªãã±ã¼ã¹ããããã¨æãã¾ãã
Cosmos DB ã®å©ç¨ãæ¤è¨ãã
Queue 㨠Table ã«é¢ãã¦ã¯ Cosmos DB ã¨ãã® Change Feed ã使ããã¨ã§ãåçã®å¦çãå®ç¾ã§ãã¾ããCosmos DB ã®å¯ç¨æ§ã¯é常ã«é«ããå¿ è¦ã«å¿ãã¦ãã«ããªã¼ã¸ã§ã³æ§æãç°¡åã«çµãããããä¾¡æ ¼ä»¥å¤ã§ã¯ Azure Storage ãããã¡ãªãããããã¾ãã
å ·ä½çã«ã¯ Queue ã«ã¯ Change Feed ã使ããTable ã«ã¯ Cosmos DB ã® Table API ã使ãå½¢ã«ãªãã¾ããæåãã Cosmos DB ã使ãã¨æ±ºãã¦ããå ´å㯠SQL API ããå§ãã§ãããä¸å¿ Table ã¨äºææ§ã®ãã SDK ãç¨æããã¦ããã®ã§ãæ¢åã®ã³ã¼ããæ¯è¼çç°¡åã«ç§»è¡ã§ããã¯ãã§ãã
Virtual Machines
åºæ¬çã«ã¯ VM ãç´ ã®ç¶æ ã§éç¨ããã®ã¯å¯ç¨æ§ãä¸ããã ããªã®ã§ãç¬èªã«é«å¯ç¨æ§ã®ã¢ã¼ããã¯ãã£ãçµããªãå ´å㯠PaaS / Serverless ã¨ãã£ãããã¼ã¸ããµã¼ãã¹ã使ã£ãæ¹ãè¯ãã§ãã
App Service / Azure Functions ã§å®ç¾åºæ¥ãªããæ¤è¨ãã
以åã® App Service / Azure Functions ã¯ä»®æ³ãããã¯ã¼ã¯å¨ãã®æ©è½ã足ãã¦ããããå®ç¾å¯è½ãªã¢ã¼ããã¯ãã£ã«éçãããã¾ããããRegional VNET Integration ã Private Link ã§åºæ¥ããã¨ãå¢ãã¦ãã¾ãã
ãããã£ã¦æåãã VM ã使ãæ¹æ³ãé¸ã¶ã®ã§ã¯ãªããApp Service / Azure Functions ã§å®ç¾åºæ¥ãªãããæ¤è¨ããã®ããã¹ãã§ããé常ã«å¤§éã®ã¤ã³ã¹ã¿ã³ã¹ãå¿ è¦ãªã±ã¼ã¹ã gRPC ãªã©ã®ãã©ããã¦ã App Service ã§å®ç¾ã§ããªãè¦ä»¶ã®å ´åã«ãåãã¦ä»ã®ã½ãªã¥ã¼ã·ã§ã³ãæ¤è¨ãã¦ãé ãã¯ããã¾ããã
å¯ç¨æ§ãªãã·ã§ã³ãé©åã«å©ç¨ãã
ã©ããã¦ã VM ãå¿ è¦ãªå ´åã«ã¯ãè¦ä»¶ã«åãããå¯ç¨æ§ãªãã·ã§ã³ãå©ç¨ãã¦ããã¾ããããJapan East ã«ã¯ Availability Zone ã 3 ã¤ç¨æããã¦ããã®ã§ãAZ ãæå¹ã«ãã VM ããããã¤ãããã¨ã§ãé害ã®å½±é¿ãæå°éã«æãããã¨ãã§ãã¾ãã
ä»ã«ãã¾ã¼ã³ã¾ã§ã¯ãããªãã¨ã Availability Set ã使ãã°åããã¼ã¿ã»ã³ã¿ã¼å ã§ããç©ççã«åé¢ããããã¼ãã¦ã§ã¢ä¸ã«åé¢ãã¦ãããã¤ãããã¨ãåºæ¥ã¾ããããã¥ã¡ã³ãã¯å種ç¨æããã¦ããã®ã§ãVM ã使ãå ´åã¯çèªãå¿ è¦ã§ãããã
VMSS ã使ããã¨ã§æ¯è¼çç°¡åã«å®ç¾ã¯åºæ¥ã¾ããããããªãã«ç®¡çã³ã¹ããããããã¨ãè¦æããå¿ è¦ãããã§ããããç´ ã® VM ãé©åã«éç¨ããã®ã¯ããªãé£ããã§ãã
ãã®ä»ã®ãµã¼ãã¹
å¯ç¨æ§ã®ãã§ãã¯ãªã¹ãã Well-Architected Framework ã«ãã´ãªã«ç¨æããã¦ããã®ã§ãåèã¾ã§ã«ç®ãéãã¦ããã¨ããã¨æãã¾ãã代表çãªãµã¼ãã¹ãè¼ã£ã¦ãã¾ãã
Azure ã«ã¯æåããé«å¯ç¨æ§ãå®ç¾ããããã®ãµã¼ãã¹ãæ©è½ã¯æã£ã¦ãã¾ããããããä¸æã使ãããã©ããã¯ã¢ã¼ããã¯ãã£æ¬¡ç¬¬ã§ããé©å½ã«ä½ãã ãã§å®ç¾åºæ¥ããããªçãä¸çã§ã¯ãªãã®ã§ãé害çºçãç¡é§ã«ãããã¹ããã©ã¯ãã£ã¹ããã¶ã¤ã³ãã¿ã¼ã³ãå¦ãã§ããã¾ãããã
*1:ã¹ãã¼ã¿ã¹ã«è¼ããªãã®ã¯è¨±ãããªãããAzure Service Health ã«ã¯è¼ã£ã¦ãã