Amazon Web Services ããã°
PrivateLinkãVPC LatticeãEventBridgeãStep Functions ã«ãããVPC ãã¢ã«ãŠã³ãã®å¢çãè¶ã㊠AWS ãªãœãŒã¹ãå®å šã«å ±æ
ããæç¹ã§ãAWS ã®ãã¹ãŠã®ã客æ§ããã§ããã ãæ©ãå°æ¥ã«ç§»è¡ããããšèšã£ãŠããŸããã¢ããã€ãŒãŒã·ã§ã³ã®åãçµã¿ãç°¡çŽ åããæé·ãä¿é²ããã¯ã©ãŠãã«é©å¿ãããšåæã«ãã³ã¹ããåæžããããšèããŠããŸãããããã®é¡§å®¢ã¯éåžžãçµç¹ã®ããŸããŸãªéšéã管çãã倿§ãªãã¯ãããžãŒã¹ã¿ãã¯äžã§å®è¡ãããŠããããªã³ãã¬ãã¹ã§å®è¡ãããŠããå€§èŠæš¡ãªã¬ã¬ã·ãŒã¢ããªã±ãŒã·ã§ã³ã¹ã€ãŒããææããŠããŸããããã«å°é£ãªããšã«ããããã®çµç¹ã¯å€ãã®å Žåãå³ããã»ãã¥ãªãã£ãšã³ã³ãã©ã€ã¢ã³ã¹ã®èŠä»¶ãæºãããªããã°ãªããŸããã
å
±æã®æºåããã
Amazon Elastic Compute Cloud (Amazon EC2) ã€ã³ã¹ã¿ã³ã¹ãAmazon Elastic Container Service (Amazon ECS) ã³ã³ãããµãŒãã¹ãAmazon Elastic Kubernetes Service (Amazon EKS) ã³ã³ãããµãŒãã¹ãç¬èªã® HTTPS ãµãŒãã¹ãªã©ã® AWS ãªãœãŒã¹ããAmazon Virtual Private Cloud (Amazon VPC) ãš AWS ã¢ã«ãŠã³ãã®å¢çãè¶ããŠå
±æããAmazon EventBridge ãä»ããŠã€ãã³ãããªãã³ã¢ããªãæ§ç¯ããããAWS Step Functions ã§ã¯ãŒã¯ãããŒããªãŒã±ã¹ãã¬ãŒã·ã§ã³ãããããããã«äœ¿çšã§ããããã«ãªããŸãããæ¢åã®ã¯ãŒã¯ããŒããæŽæ°ããææ°ã®ã¯ã©ãŠããã€ãã£ãã¢ããªããªã³ãã¬ãã¹ã®ã¬ã¬ã·ãŒã·ã¹ãã ã«æ¥ç¶ãããã¹ãŠã®éä¿¡ããã©ã€ããŒããšã³ããã€ã³ããšãããã¯ãŒã¯çµç±ã§ã«ãŒãã£ã³ã°ã§ããŸãã
ãããã®æ°æ©èœã¯ Amazon VPC Lattice ãš AWS PrivateLink ãåºç€ãšããŠæ§ç¯ãããŠããããããã¯ãŒã¯ã®èšèšãšå¶åŸ¡ã®ããã®æ°ãããªãã·ã§ã³ã倿°çšæãããŠããŸãããŸãããã¹ãŠã®ãã¯ãããžãŒã¹ã¿ãã¯ãçµ±åããŠãªãŒã±ã¹ãã¬ãŒã·ã§ã³ããããã®åªããæ°ããæ¹æ³ãããã€ãçšæãããŠããŸããããšãã°ãæ¢åã®ãªã³ãã¬ãã¹ã¢ããªã±ãŒã·ã§ã³ãå©çšãããã€ããªããã€ãã³ãé§ååã¢ãŒããã¯ãã£ãæ§ç¯ã§ããŸãã
çŸåšãäžéšã®ã客æ§ã¯ AWS Lambda 颿°ãŸã㯠Amazon Simple Queue Service (Amazon SQS) ãã¥ãŒã䜿çšããŠããŒã¿ã VPC ã«è»¢éããŠããŸãããã®ãããªå·®å¥åãããŠããªãéåŽåããããã·ã³ãã«ã§å¹ççãªãœãªã¥ãŒã·ã§ã³ã«çœ®ãæããããšãã§ããããã«ãªããŸããã
ããããã¹ãŠããŸãšããããšã§ãå Žæã«é¢ä¿ãªããã¢ããã€ãŒãŒã·ã§ã³ã®åãçµã¿ãå éããã¢ããªã±ãŒã·ã§ã³éã®çµ±åãç°¡çŽ åããã®ã«åœ¹ç«ã€äžé£ã®ãµãŒãã¹ãå©çšã§ããŸããEventBridge ãš Step Functions 㯠PrivateLink ããã³ VPC ã©ãã£ã¹ãšé£æºããŠåäœããHTTPS ããŒã¹ã®ãããªãã¯ã¢ããªã±ãŒã·ã§ã³ãšãã©ã€ããŒãã¢ããªã±ãŒã·ã§ã³ãã€ãã³ãé§ååã¢ãŒããã¯ãã£ãšã¯ãŒã¯ãããŒã«çµ±åããããšãã§ããŸãã
éèŠãªçšèªãšæŠå¿µã¯æ¬¡ã®ãšããã§ã:
ãªãœãŒã¹ãªãŒã㌠VPC â å
±æãããªãœãŒã¹ããã VPCããã® VPC ã®ææè
ã¯ã1 ã€ä»¥äžã®é¢é£ãããªãœãŒã¹èšå®ã䜿çšããŠãªãœãŒã¹ã²ãŒããŠã§ã€ãäœæããAWS Resource Access Manager (RAM) ã䜿çšããŠãªãœãŒã¹ã³ã³ã·ã¥ãŒã㌠(å¥ã® AWS ã¢ã«ãŠã³ããªã©) ããEventBridge ãš Step Functions ã䜿çšããŠã€ãã³ãé§ååã®ã¢ãŒããã¯ãã£ãšã¯ãŒã¯ãããŒãæ§ç¯ããéçºè
ãªã©ã®ãªãœãŒã¹ã³ã³ã·ã¥ãŒããŒãšãªãœãŒã¹èšå®ãå
±æããŸãããªãœãŒã¹ãªãŒããŒãšã¯ããã® VPC ã®ç®¡çãšçµŠé€ãæ
åœããçµç¹å
ã®äººç© (ããããããªã) ãšå®çŸ©ããŸãããã
ãªãœãŒã¹ã²ãŒããŠã§ã€ â ã²ãŒããŠã§ã€ã«é¢é£ä»ããããŠãããªãœãŒã¹èšå®ã§ç€ºãããããã«ãã¯ã©ã€ã¢ã³ãããªãœãŒã¹ãªãŒã㌠VPC å ã®ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ã§ããããã«ãVPC ãžã®å ¥å£ãæäŸããŸãã1 ã€ã®ãªãœãŒã¹ã²ãŒããŠã§ã€ã§è€æ°ã®ãªãœãŒã¹ãå©çšããããšãã§ããŸãã
ãªãœãŒã¹ â ãªãœãŒã¹ãªãŒã㌠VPC å ã® HTTPS ãšã³ããã€ã³ããããã¯ãããŒã¿ããŒã¹ãããŒã¿ããŒã¹ã¯ã©ã¹ã¿ãŒãEC2 ã€ã³ã¹ã¿ã³ã¹ãè€æ°ã® EC2 ã€ã³ã¹ã¿ã³ã¹ã®åã«ããApplication Load BalancerãAWS Cloud Map ãä»ããŠæ€åºå¯èœãª ECS ãµãŒãã¹ãNetwork Load Balancer ã®èåŸã«ããAmazon Elastic Kubernetes Service (Amazon EKS) ãµãŒãã¹ããŸã㯠AWS Site-to-Site VPN ãŸã㯠AWS Direct Connect ãä»ããŠãªã³ãã¬ãã¹ã§å®è¡ãããŠããã¬ã¬ã·ãŒãµãŒãã¹ã«ãªããŸãã
ãªãœãŒã¹æ§æ â ç¹å®ã®ãªãœãŒã¹ã²ãŒããŠã§ã€ãä»ããŠã¢ã¯ã»ã¹ã§ãããªãœãŒã¹ã®ã»ãããå®çŸ©ããŸãããªãœãŒã¹ã¯ IP ã¢ãã¬ã¹ãDNS åããŸã㯠(AWS ãªãœãŒã¹ã®å Žå) ARN ã§åç §ã§ããŸãã
ãªãœãŒã¹ã³ã³ã·ã¥ãŒã㌠â ãªãœãŒã¹ãªãŒã㌠VPC å ã®ãªãœãŒã¹ã«æ¥ç¶ããŠæäŸããããµãŒãã¹ã䜿çšããã¢ããªã±ãŒã·ã§ã³ã®æ§ç¯ãæ åœããçµç¹å ã®æ åœè ã
ãªãœãŒã¹ã®å
±æ
ãã®ãã¯ãŒã®ãã¹ãŠã¯ãããŸããŸãªæ¹æ³ã§æŽ»çšã§ããŸãããã®èšäºã§ã¯ãã®1ã€ã«çŠç¹ãåœãŠãŸãã
ãŸããç§ã¯ãªãœãŒã¹ãªãŒããŒã®åœ¹å²ãæãããŸããVPC ã³ã³ãœãŒã«ã§ ãªãœãŒã¹ã²ãŒããŠã§ã€ãã¯ãªãã¯ããã²ãŒããŠã§ã€ããªãããšã確èªãããªãœãŒã¹ã²ãŒããŠã§ã€ã®äœæãã¯ãªãã¯ããŠéå§ããŸã:

åå (main-rg) ãš IP ã¢ãã¬ã¹ã¿ã€ããå²ãåœãŠãŠãããã²ãŒããŠã§ã€ãé 眮ãã VPC ãšãã©ã€ããŒããµãããããéžæããŸã (ãã㯠1 åéãã®éžæã§ãããæ°ãããªãœãŒã¹ã²ãŒããŠã§ã€ãäœæããªãéã倿Žã§ããŸãã)ããŸããã€ã³ããŠã³ããã©ãã£ãã¯ãå¶åŸ¡ããããã«æå€§ 5 ã€ã®ã»ãã¥ãªãã£ã°ã«ãŒããéžæããŸã:

äžã«ã¹ã¯ããŒã«ããŠãå¿ èŠãªã¿ã°ãå²ãåœãŠããªãœãŒã¹ã²ãŒããŠã§ã€ã®äœæãã¯ãªãã¯ããŠæ¬¡ã«é²ã¿ãŸã:

æ°ããã²ãŒããŠã§ã€ã¯æ°ç§ã§ã¢ã¯ãã£ãã«ãªããŸããæè¬ã®æ°æã¡ã蟌ããŠããªããããªãœãŒã¹èšå®ãäœæãã¯ãªãã¯ããŠå ã«é²ã¿ãŸã:

次ã«ãæåã®ãªãœãŒã¹æ§æãäœæããå¿ èŠããããŸãããªãœãŒã¹ãªãŒã㌠VPC ã®ãã©ã€ããŒããµããããäžã® EC2 ã€ã³ã¹ã¿ã³ã¹ã§ HTTPS ãµãŒãã¹ãå®è¡ããŠãããšããŸãããããµãŒãã¹ã« DNS åãå²ãåœãŠãã€ã³ã¹ã¿ã³ã¹ã® IP ã¢ãã¬ã¹ãè¿ã Amazon Route 53 ãšã€ãªã¢ã¹ã¬ã³ãŒãã䜿çšããŸã:

ãã®äŸã§ã¯ããããªãã¯ãã¹ããŸãŒã³ã䜿çšããŠããŸãããã§ã«ãã©ã€ããŒããã¹ããŸãŒã³ã®ãµããŒãã«åãçµãã§ããŸãã
DNS ã®ã»ããã¢ããããã¹ãŠå®äºãããããªãœãŒã¹èšå®ã®äœæãã¯ãªãã¯ããŠæ¬¡ã«é²ã¿ãŸããåå (rc-service1) ãå ¥åããã¿ã€ããšããŠãªãœãŒã¹ãéžæããå ã«äœæãããªãœãŒã¹ã²ãŒããŠã§ã€ãéžæããŸã:

äžã«ã¹ã¯ããŒã«ã㊠EC2 ã€ã³ã¹ã¿ã³ã¹ããªãœãŒã¹ãšããŠå®çŸ©ããDNS åãå ¥åããããŒã 80 ãš 443 ã®å ±æãèšå®ããŸã:

ããã§ãå°ãå¯ãéãããŠãRAM ã³ã³ãœãŒã«ã«ç§»åããŠãªãœãŒã¹å ±æãäœæããä»ã® AWS ã¢ã«ãŠã³ãããªãœãŒã¹ã«ã¢ã¯ã»ã¹ã§ããããã«ããŸã (ããã¯ãªãã·ã§ã³ã§ãããã¯ãã¹ã¢ã«ãŠã³ãã·ããªãªã«ã®ã¿è©²åœããŸã)ããµãŒãã¹ããšã« 1 ã€ã®ãªãœãŒã¹å ±æãäœæããããšãã§ããŸãããã»ãšãã©ã®å Žåãå ±æã 1 ã€äœæããããã䜿çšããŠé¢é£ãµãŒãã¹ã®ã³ã¬ã¯ã·ã§ã³ãããã±ãŒãžåããŸãããããå®è¡ããŠãå ±æãµãŒãã¹ãšåŒã³ãŸã:

åãéããæ»ã£ãŠããªãœãŒã¹å ±æã®ãªã¹ããæŽæ°ããäœæãããªãœãŒã¹å ±æãéžæããŠããªãœãŒã¹æ§æã®äœæãã¯ãªãã¯ããŸã:

ãªãœãŒã¹èšå®ã¯æ°ç§ã§æºåå®äºã§ãã
ãŸãšããšèšç»æé
å
ã«é²ãåã«ãç°¡åã«ãŸãšããŠèšç»ãç«ãŠãŸããããç§ã (ãªãœãŒã¹ãããã€ããŒã®åœ¹å²ã§) ãããŸã§ã«æã£ãŠããããšã¯æ¬¡ã®ãšããã§ã:
- MainVPC â ç§ã®ãªãœãŒã¹ãªãŒã㌠VPCã
- main-rg â MainVPC ã®ãªãœãŒã¹ã²ãŒããŠã§ã€ã
- rc-service1 â main-rgã®ãªãœãŒã¹èšå®ã§ãã
- service1 â MainVPC ã®ãã©ã€ããŒããµããããã® EC2 ã€ã³ã¹ã¿ã³ã¹ã§åºå® IP ã¢ãã¬ã¹ã§ãã¹ããããŠãã HTTPS ãµãŒãã¹ã
ããŠã次ã¯äœã§ããã?
å ±æ â ãããæåã®ããããŠæãããããããäœ¿çšæ³ã§ããAWS ãªãœãŒã¹ã¢ã¯ã»ã¹ãããŒãžã£ãŒ (RAM) ã䜿çšããŠãªãœãŒã¹èšå®ãå¥ã® AWS ã¢ã«ãŠã³ããšå ±æããå¥ã® VPC ãããµãŒãã¹ã«ã¢ã¯ã»ã¹ã§ããŸããäžæ¹ (ãªãœãŒã¹ã³ã³ã·ã¥ãŒããŒãšããŠ)ãå ±æãããŠãããµãŒãã¹ã«æ¥ç¶ããããã®ç°¡åãªæé ãããã€ãå®è¡ããŸã:
- ãµãŒãã¹ãããã¯ãŒã¯ â ãµãŒãã¹ãããã¯ãŒã¯ãäœæãããªãœãŒã¹èšå®ããµãŒãã¹ãããã¯ãŒã¯ã«è¿œå ããVPC ã« VPC ãšã³ããã€ã³ããäœæããŠãµãŒãã¹ãããã¯ãŒã¯ã«æ¥ç¶ã§ããŸãã
- ãšã³ããã€ã³ã â VPC ã« VPC ãšã³ããã€ã³ããäœæãããã®ãšã³ããã€ã³ããä»ããŠå ±æãªãœãŒã¹ã«ã¢ã¯ã»ã¹ã§ããŸãã
ã¢ããã€ãº â åŸæ¥ã® Lambda ãŸã㯠SQS çµ±åãåé€ããŠãå·®å¥åãããŠããªãé¢åãªäœæ¥ãåãé€ãããšãã§ããŸãã
ãã«ã â EventBridge ãš Step Functions ã䜿çšããŠãã€ãã³ãé§ååã¢ãŒããã¯ãã£ãæ§ç¯ããã¢ããªã±ãŒã·ã§ã³ããªãŒã±ã¹ãã¬ãŒã·ã§ã³ããããšãã§ããŸãããã®ãªãã·ã§ã³ãéžã³ãŸã!
EventBridge ãšã¹ããã颿°ã«ãããã©ã€ããŒããªãœãŒã¹ãžã®ã¢ã¯ã»ã¹
EventBridge ãš Step Functions ã«ãããSlackãSalesforceãã¢ãããªã©ã® SaaS ãããã€ããŒã®ãã®ãªã©ããããªã㯠HTTPS ãšã³ããã€ã³ãã«ç°¡åã«ã¢ã¯ã»ã¹ã§ããããã«ãªããŸããã12 æ 1 æ¥ã®ãªãªãŒã¹ã«ããããã©ã€ããŒã HTTPS ãµãŒãã¹ã®å©çšãåæ§ã«ç°¡åã«ãªããŸããã
ãªãœãŒã¹ã³ã³ã·ã¥ãŒããŒãšããŠã¯ãEventBridge æ¥ç¶ãäœæããå ±æããããªãœãŒã¹èšå®ãåç §ããŠãã€ãã³ãããªãã³ã¢ããªã±ãŒã·ã§ã³ãããµãŒãã¹ãåŒã³åºãã ãã§ããç§ããã§ã«ç¥ã£ãŠããããšã¯ãã¹ãŠãŸã åœãŠã¯ãŸããæ°éãµãŒãã¹ã«ã¢ã¯ã»ã¹ããæ°ããªåãåŸãŸããã
EventBridge æ¥ç¶ãäœæããã«ã¯ãEventBridge ã³ã³ãœãŒã«ãéããçµ±åã¡ãã¥ãŒã®æ¥ç¶ãã¯ãªãã¯ããŸã:

æ¢åã®æ¥ç¶ (ä»ã®ãšãããªã) ã確èªããŠãããæ¥ç¶ãäœæãã¯ãªãã¯ããŠæ¬¡ã«é²ã¿ãŸã:

æ¥ç¶ã®åå (MyService1) ãšèª¬æãå ¥åãã API ã¿ã€ããšã㊠ãã©ã€ããŒããéžæããåã«äœæãããªãœãŒã¹èšå®ãéžæããŸã:

äžã«ã¹ã¯ããŒã«ãããšãæ¥ç¶ããŠãããµãŒãã¹ã®èªèšŒãèšå®ããå¿ èŠããããŸããã«ã¹ã¿ã èšå®ãšåºæ¬èªèšŒãéžæãããµãŒãã¹ã®ãŠãŒã¶ãŒåãšãã¹ã¯ãŒããå ¥åããŸãããŸããã¯ãšãªæååã« Action=Forecast ã远å ã㊠(èªèšŒã«ã¯ããããã®ãªãã·ã§ã³ãããããšãããããŸã)ãäœæãã¯ãªãã¯ããŸã:

æ¥ç¶ã¯æ°åã§äœæãããæºåãæŽããŸããæ¬¡ã«ã HTTP ã¿ã¹ã¯ã䜿çšããŠæ¥ç¶ãéžæããAPI ãšã³ããã€ã³ãã® URL ãå ¥åããHTTP ã¡ãœãããéžæã㊠Step Functions ã¯ãŒã¯ãããŒã§äœ¿çšããŸã:

ããã§ãStep Functions ã¯ãŒã¯ãããŒã§ãã©ã€ããŒããªãœãŒã¹ãå©çšã§ããããã«ãªããŸãã!
ãã®æ¥ç¶ãã€ãã³ããã¹ãšãã€ãã® EventBridge API ãã¹ãã£ããŒã·ã§ã³ã¿ãŒã²ãããšããŠäœ¿çšããããšãã§ããŸãã
ç¥ã£ãŠããã¹ãããš
ãããã®çŽ æŽãããæ°æ©èœã«ã€ããŠç¥ã£ãŠããã¹ãããšãããã€ããããŸã:
æé â VPC ãžã®ããŒã¿è»¢éã«ããã GB åäœã®æéãå«ããã¹ããããã¡ã³ã¯ã·ã§ã³ãEventBridgeãPrivateLinkã VPC ã©ãã£ã¹ã®æ¢åã®æéãé©çšãããŸãã
ãªãŒãžã§ã³ â 21ã® AWS ãªãŒãžã§ã³ã§ Resource Gateway ãš Resource Configurations ãäœæã䜿çšã§ããŸã: ç±³åœæ±éš (ãªãã€ãªå·ãããŒãžãã¢å·åéš)ãç±³åœè¥¿éš (ã«ãªãã©ã«ãã¢å·åéšããªã¬ãŽã³å·)ãã¢ããªã« (ã±ãŒãã¿ãŠã³)ãã¢ãžã¢å€ªå¹³æŽ (éŠæž¯ãã ã³ãã€ã倧éªããœãŠã«ãã·ã³ã¬ããŒã«ãã·ãããŒãæ±äº¬)ãã«ãã (äžéš)ããšãŒããã (ãã©ã³ã¯ãã«ããã¢ã€ã«ã©ã³ãããã³ãã³ããã©ããããªãã¹ããã¯ãã«ã )ãäžæ± (ããŒã¬ãŒã³)ãåç±³ (ãµã³ããŠã)ã
éçºäž â åè¿°ããããã«ããã©ã€ããŒããã¹ããŸãŒã³ã®ãµããŒãã«åãçµãã§ããŸãããŸããEventBridge ãš Step Functions ãéããŠãä»ã®ã¿ã€ãã® AWS ãªãœãŒã¹ãžã®ã¢ã¯ã»ã¹ããµããŒãããããšãèšç»ããŠããŸãã
â Jeff;
åæã¯ãã¡ãã§ãã

