ãã®ã³ã³ãã³ããæå€§éã«æŽ»çšããã«ã¯ã次ã®ã³ã³ã»ãããçè§£ããŠããå¿ èŠããããŸãã
- åºæ¬çãªãããã¯ãŒãã³ã°
- Google CloudVirtual Private CloudïŒVPCïŒ ãããã¯ãŒã¯
å€ãã®çµç¹ã§ã¯ããµãŒãã¹ãã¢ããªã±ãŒã·ã§ã³ã®ãããã¯ãŒã¯ ãã©ãã£ãã¯ãä¿è·ããããã«ãå¢çå¶åŸ¡ãå¯èœãª Google Cloud ã§ãã©ã€ããŒã ãããã¯ãŒã¯ã䜿çšããŠãããŒã¿ã®åŒãåºãã鲿¢ããŠããŸãããã©ã€ããŒã ãããã¯ãŒã¯ã«ã¯ã次ã®ãããªç¹æ§ãããå ŽåããããŸãã
- å€ãã®ãªãœãŒã¹ïŒVM ãªã©ïŒã 1 ã€ä»¥äžã® VPC ãããã¯ãŒã¯ã«é 眮ãããŠããå ŽåããããŸãã
- ãããã VM ã¯ããŸããŸãªãããžã§ã¯ãã«å±ããŠããå¯èœæ§ããããå ±æ VPC ã§æ¥ç¶ãããŠããå ŽåããããŸãã
- ãªã³ãã¬ãã¹ ã¯ãŒã¯ããŒããä»ã®ã¯ã©ãŠãäžã®ã¯ãŒã¯ããŒãããCloud VPN ã Cloud Interconnect çµç±ã§ãã®ç°å¢ã«æ¥ç¶ããŠããå ŽåããããŸãã
- VPC Service Controls å¢çãæå¹ã«ããããšã§ãããŒã¿ãåŒãåºããããªã¹ã¯ã軜æžã§ããŸãã
- è€æ°ã®ãã©ã€ããŒã ãããã¯ãŒã¯ãæ¬çªç°å¢ãã¹ããŒãžã³ã°ç°å¢ãéçºç°å¢ããšã«ååšããŠããå ŽåããããŸãã
VM ãšã¯ç°ãªããCloud Run ãªãœãŒã¹ã¯ç¹å®ã® VPC ãããã¯ãŒã¯ã«é¢é£ä»ããããŠããŸããããã®ããŒãžã§ã¯ãCloud Run ãªãœãŒã¹ããã©ã€ããŒã ãããã¯ãŒã¯ã«çµã¿èŸŒãæ¹æ³ã«ã€ããŠèª¬æããŸãã
ãµãŒããŒã¬ã¹ ãããã¯ãŒãã³ã°ã®èª¬æ
ãããªã㯠ãããã¯ãŒã¯ãšãã©ã€ããŒã ãããã¯ãŒã¯ã®äžè¬çãªãšã³ã¿ãŒãã©ã€ãºæ§æã®è©³çްã«ã€ããŠã¯ããµãŒããŒã¬ã¹ ãããã¯ãŒãã³ã°ã®èª¬æãã芧ãã ããã
ããã§ã¯ã次ã®ããã« Cloud Run ã®åºæ¬çãªã·ããªãªããé«åºŠãªã·ããªãªãŸã§ç޹ä»ããŠããŸãã
- ã«ã¹ã¿ã ãã¡ã€ã³ã䜿çšãããHello, World!ãã¢ããªãå®å šã«ãããã€ãã
- ãšã³ã¿ãŒãã©ã€ãº ã¢ããªã±ãŒã·ã§ã³ãšãã€ã¯ããµãŒãã¹ãéçºãã
- ããŒã¿ããŒã¹ãšãã¡ã€ã« ã·ã¹ãã ã«äžè¬å ¬éãŸãã¯éå®å ¬éã§ã¢ã¯ã»ã¹ãã
- SaaS ãããã€ãã«æ¥ç¶ãã
- ã»ãã¥ãªãã£ç®¡çãé©çšãã
察å¿ãã Terraform ã¢ãžã¥ãŒã«ã®ãªã¹ããã芧ãã ããã
ãã©ã€ããŒã ãããã¯ãŒã¯ãããªã¯ãšã¹ããåä¿¡ãã
ãã©ã€ããŒã ãããã¯ãŒã¯ãããªã¯ãšã¹ããåä¿¡ããã«ã¯ãæ¬¡ã®æ¡ä»¶ã«åºã¥ãæ§æãå¿ èŠã§ãã
- ãªã¯ãšã¹ãã®éä¿¡å ã
- Cloud Run ãªãœãŒã¹ããã©ã€ããŒã ãããã¯ãŒã¯ããã®ãªã¯ãšã¹ãã®ã¿ãèš±å¯ãããã©ããã
ããšãã°ãVPC ãããã¯ãŒã¯ããã®ãªã¯ãšã¹ãã®åä¿¡ã«ã¯ããªã³ãã¬ãã¹ ãªãœãŒã¹ãä»ã®ã¯ã©ãŠãããã®ãªã¯ãšã¹ãã®åä¿¡ãšã¯ç°ãªãæ§æãå¿ èŠã«ãªãå ŽåããããŸãã
ä»ã® Cloud Run ãªãœãŒã¹ãŸã㯠App Engine ãããªã¯ãšã¹ããåä¿¡ãã
å®å ã® Cloud Run ãªãœãŒã¹ããä»ã® Cloud Run ãªãœãŒã¹ãApp Engine ãããã©ãã£ãã¯ãåä¿¡ãããå éšããŸãã¯ãå éšããã³ããŒã ãã©ã³ã·ã³ã°ãã®äžãïŒå åãïŒèšå®ã䜿çšããå Žåããã©ãã£ãã¯ã¯ VPC ãããã¯ãŒã¯ã䜿çšããŠå éšãšã¿ãªãããå¿ èŠããããŸãã
ä»ã® Cloud Run ãªãœãŒã¹ãŸã㯠App Engine ãããªã¯ãšã¹ããåä¿¡ããã«ã¯ãæ¬¡ã®æäœãè¡ããŸãã
ãã€ã¬ã¯ã VPC äžãïŒå€åãïŒãŸãã¯ã³ãã¯ã¿ã䜿çšããããã«ãœãŒã¹ãªãœãŒã¹ãæ§æããŸãã
次ã®ãªãã·ã§ã³ã®ããããã䜿çšããŠãCloud Run ãžã®ãã©ãã£ãã¯ã VPC ãããã¯ãŒã¯ãçµç±ããããšã確èªããŸãã
- VPC ãããã¯ãŒã¯çµç±ã§ãã¹ãŠã®ãã©ãã£ãã¯ãéä¿¡ããããã«ãœãŒã¹ãªãœãŒã¹ãæ§æãããã€ã¬ã¯ã VPC äžãïŒå€åãïŒãŸãã¯ã³ãã¯ã¿ã«é¢é£ä»ãããããµããããã§ãã©ã€ããŒã Google ã¢ã¯ã»ã¹ãæå¹ã«ããŸãã
- Private Service Connect ãŸãã¯å éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµãèšå®ããŠãå®å ã® Cloud Run ãªãœãŒã¹ãšéä¿¡ããããã«ããŸãããã®æ§æã§ã¯ãå éš IP ã¢ãã¬ã¹ã䜿çšã㊠Cloud Run ã«ã¢ã¯ã»ã¹ããããããªã¯ãšã¹ã㯠VPC ãããã¯ãŒã¯çµç±ã§è»¢éãããŸãã
- ãœãŒã¹ãªãœãŒã¹ã«é¢é£ä»ãããããµããããã§ãã©ã€ããŒã Google ã¢ã¯ã»ã¹ãæå¹ã«ããDNS ãæ§æããŠã
run.app
URL ãprivate.googleapis.com
ïŒ199.36.153.8/30
ïŒãŸãã¯restricted.googleapis.com
ïŒ199.36.153.4/30
ïŒç¯å²ã«è§£æ±ºããŸãããããã®ç¯å²ãžã®ãªã¯ãšã¹ãã¯ãVPC ãããã¯ãŒã¯çµç±ã§è»¢éãããŸãã
VPC ãããã¯ãŒã¯ãããªã¯ãšã¹ããåä¿¡ãã
ããã©ã«ãã§ã¯ãå€éš IP ã¢ãã¬ã¹ãæã£ãŠãããªãœãŒã¹ããCloud NAT ã䜿çšãããªãœãŒã¹ã«ã®ã¿ãã€ã³ã¿ãŒããããšGoogle Cloud ãµãŒãã¹ïŒPub/Sub ã Cloud Run ãªã©ïŒãžã®çŽæ¥ã¢ã¯ã»ã¹ãèš±å¯ãããŸããä»ã®ãªãœãŒã¹ã«ã€ããŠã¯ãCloud Run ãžã®ãã©ãã£ã㯠ãã¹ãæå¹ã«ããæ¹æ³ãããã€ããããŸãã
- æãçŽæ¥çãªãã¹ã¯ããªãœãŒã¹ããã¹ããããµããããã§ãã©ã€ããŒã Google ã¢ã¯ã»ã¹ãæå¹ã«ããããšã§ãããã©ã€ããŒã Google ã¢ã¯ã»ã¹ãæå¹ã«ãªã£ãŠããå Žåããµããããäžã®ãªãœãŒã¹ã¯ããã©ã«ãã®
run.app
URL ã§ Cloud Run ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ã§ããŸããVPC ãããã¯ãŒã¯ãã Cloud Run ãžã®ãã©ãã£ãã¯ã¯ Google ã®ãããã¯ãŒã¯å ã«ãšã©ãŸããŸãããã®å ŽåãCloud Run ãªãœãŒã¹ã«éä¿¡ããããªã¯ãšã¹ãã® IP ç¯å²ã¯0.0.0.0/32
ã§ãããªã¯ãšã¹ãã®ãã°ãšã³ããªã§ã¯ãHttpRequest ã®remoteIp
屿§ã¯0.0.0.0
ã«ãªããŸãã - Cloud Run ãªãœãŒã¹ïŒä»ã® Google API ãšãšãã«ïŒã« VPC ãããã¯ãŒã¯ã®å
éš IP ã¢ãã¬ã¹ããã¢ã¯ã»ã¹ããå¿
èŠãããå Žåã¯ãPrivate Service Connect ãšã³ããã€ã³ããäœæãã
run.app
ã«ãã©ã€ããŒã DNS ãŸãŒã³ãæ§æããããšãæ€èšããŠãã ããããã®æ§æã§ã¯ãVPC ãããã¯ãŒã¯å ã®ãªãœãŒã¹ã¯ãPrivate Service Connect ãšã³ããã€ã³ãã® IP ã¢ãã¬ã¹ãä»ããŠãããã©ã«ãã®run.app
URL ã§ Cloud Run ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ã§ããŸãã - ããŒã ãã©ã³ã·ã³ã°ã®æ©èœãšå¶åŸ¡ãå¿ èŠãªå Žåã¯ãå éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµã®äœ¿çšãæ€èšããŠãã ããããã®ã¢ãããŒãã§ã¯ãVPC ãããã¯ãŒã¯å ã®ãªãœãŒã¹ã¯ãå éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµã«é¢é£ä»ãããã URL ã䜿çšã㊠Cloud Run ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ããŸãã
- ãµãŒãã¹ãå éšã¯ã©ã€ã¢ã³ãã«ãããŒãžã ãµãŒãã¹ãšããŠå ¬éããã¢ã¯ã»ã¹å¯èœãªãããžã§ã¯ããå¶åŸ¡ããå Žåã¯ãå éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµã䜿çšããŠãµãŒãã¹ããã¹ãããPrivate Service Connect ã䜿çšããŠå ¬éã§ããŸãããµãŒãã¹ã䜿çšããå¿ èŠããããããžã§ã¯ãã¯ãPrivate Service Connect ãšã³ããã€ã³ããŸã㯠Private Service Connect ããã¯ãšã³ãã䜿çšããŠã¢ã¯ã»ã¹ã§ããŸãã
ã¬ã¹ãã³ã¹ã¯ããªã¯ãšã¹ããšåããã¹ã䜿çšããŠè¿ãããŸãã
å ±æ VPC ã«é¢ããç¹å¥ãªèæ ®äºé
Cloud Run ã®äžãïŒå
åãïŒå¶åŸ¡ã§ internal
èšå®ã䜿çšããŠããã¹ãŠã®ãã©ãã£ãã¯ããã©ã€ããŒã ãããã¯ãŒã¯ããåä¿¡ããå¿
èŠãããå Žåãå
±æ VPC ãã©ãã£ãã¯ã¯æ¬¡ã®ç¶æ³ã§ã®ã¿ãå
éšããšããŠèªèãããŸãã
Cloud Run ãªãœãŒã¹ãå ±æ VPC ãã¹ã ãããžã§ã¯ãã§å®è¡ãããŠããã
å ±æ VPC äžãïŒå åãïŒ: Cloud Run ãªãœãŒã¹ãå ±æ VPC ãããã¯ãŒã¯ã«æ¥ç¶ããŠããããã®ã·ããªãªã§ã¯ã次ã®ç¹ãèæ ®ããŠãã ããã
å ±æ VPC ãããã¯ãŒã¯ã«ãã©ãã£ãã¯ãéä¿¡ããããã«ãã€ã¬ã¯ã VPC äžãïŒå€åãïŒãŸãã¯ãµãŒããŒã¬ã¹ VPC ã¢ã¯ã»ã¹ ã³ãã¯ã¿ãæ§æãããµãŒãã¹ ãªããžã§ã³ã®ã¿ããåãå ±æ VPC ãããã¯ãŒã¯ããã®ãã©ãã£ãã¯ãåãå ¥ããŸãã
ãªã¯ãšã¹ãã§ã¯ããã©ãã£ãã¯ã®æ¹åã«å¿ããŠç°ãªããã¹ã䜿çšãããŸããCloud Run ããå ±æ VPC ãããã¯ãŒã¯ã«éä¿¡ããããªã¯ãšã¹ãã¯ãçŽæ¥ VPC äžãïŒå€åãïŒãŸãã¯ã³ãã¯ã¿çµç±ã§è»¢éãããŸããäžæ¹ãå ±æ VPC ãããã¯ãŒã¯ãã Cloud Run ã«éä¿¡ããããªã¯ãšã¹ãã§ã¯ãæšæºã®äžãïŒå åãïŒãã¹ã䜿çšãããŸãã
Cloud Run ãªãœãŒã¹ãå ±æ VPC ãããã¯ãŒã¯ããåæããã«ã¯ãVPC ãããã¯ãŒã¯ ã¢ã¯ã»ã¹ãªãã§åãããã€ããããç°ãªã VPC ãããã¯ãŒã¯ã«ãã©ãã£ãã¯ãéä¿¡ããããã«æ§æããããªãœãŒã¹ã§åãããã€ããŸãã
å éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµã§ãã©ãã£ãã¯ã®ãããã·åŠçãè¡ã£ãŠããã
å ±æ VPC ãã¹ããšãã¹ãŠã®ãµãŒãã¹ ãããžã§ã¯ããåã VPC Service Controls å¢çå ã«é 眮ããŠãããVPC Service Controls ã®èšå®æ¹æ³ã«ã€ããŠã¯ãVPC Service ControlsïŒVPC SCïŒã®äœ¿çšãã芧ãã ããã
ãããžã§ã¯ãå€ã®ä»ã® VPC ãããã¯ãŒã¯ã«é¢ããç¹å¥ãªèæ ®äºé
Cloud Run ã®äžãïŒå
åãïŒå¶åŸ¡ã§ internal
èšå®ã䜿çšããŠããã¹ãŠã®ãã©ãã£ãã¯ããã©ã€ããŒã ãããã¯ãŒã¯ããåä¿¡ããããã«ããå Žåã¯ã次ã®å Žåãé€ãããããžã§ã¯ãå€ã®ä»ã® VPC ãããã¯ãŒã¯ããã®ãã©ãã£ãã¯ã¯ãå
éšããšããŠèªèãããŸããã
- VPC Service Controls ãã
run.googleapis.com
ã®ãã©ãã£ãã¯ãå¶éä»ããµãŒãã¹ãšããŠèš±å¯ããããã«æ§æãããŠããããœãŒã¹ ãµããããã§ãã©ã€ããŒã Google ã¢ã¯ã»ã¹ãæå¹ã«ãªã£ãŠããã - Private Service Connect ã䜿çšããŠãCloud Run ãªãœãŒã¹ããããŒãžã ãµãŒãã¹ãšããŠå ¬éããïŒå éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµãå¿ èŠïŒãä»ã® VPC ãããã¯ãŒã¯ããã¢ã¯ã»ã¹ãããŠããã
ãããžã§ã¯ãå€ã® VPC ãããã¯ãŒã¯ãšãã¢ãªã³ã°ããŠãããã©ãã£ãã¯ããå éšããšããŠèªèãããããšã¯ãããŸããã
ä»ã® Google Cloud ãµãŒãã¹ãããªã¯ãšã¹ããåä¿¡ãã
Pub/Sub ãªã©ã® Google Cloud ãµãŒãã¹ãã Cloud Run ãžã®ãªã¯ãšã¹ãã¯ãGoogle ã®ãããã¯ãŒã¯å ã«ãšã©ãŸããŸãã
å éšãã©ãã£ãã¯ã®ã¿ãèš±å¯ããããã« Cloud Run ã®äžãïŒå åãïŒå¶åŸ¡ãæ§æããŠããå Žåã¯ãç¹å¥ãªèæ ®äºé ãããã€ããããŸãã
- åããããžã§ã¯ãå ãŸã㯠VPC Service Controls å¢çå ã«ãã BigQueryãCloud SchedulerãCloud TasksãDialogflow CXãEventarcãPub/Subãåæã¢ãã¿ãŒïŒçšŒåæéãã§ãã¯ãå«ãïŒãWorkflows ããã®ãªã¯ãšã¹ãã¯ãå éšããšããŠèªèãããŸãã
- åããããžã§ã¯ããŸã㯠VPC Service Controls ã®å¢çå ããéä¿¡ããã Cloud Run ãŸã㯠App Engine ããã®ãªã¯ãšã¹ãããå éšããšããŠèªèãããåã«ã远å ã®æ§æãå¿ èŠã§ãã詳现ã«ã€ããŠã¯ãä»ã® Cloud Run ãµãŒãã¹ãŸã㯠App Engine ãããªã¯ãšã¹ããåä¿¡ãããã芧ãã ããã
- éžæãã Google Cloud ãµãŒãã¹ããäžãïŒå
åãïŒã
internal
ã«èšå®ãããŠãã Cloud Run ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ã§ããªãå Žåã¯ãPub/SubïŒinternal
ãšèªèšŒã®äž¡æ¹ããµããŒãïŒãAPI GatewayãDialogflow CXïŒinternal
ãšèªèšŒã®äž¡æ¹ããµããŒãïŒãªã©ã§ Cloud Run ã§ã®èªèšŒããµããŒããããŠããããšã確èªããŠãã ãããã»ãã¥ãªãã£èŠä»¶ã«ãã£ãŠã¯ããå éšãã®äžãïŒå åãïŒã§ã¯ãªããå®å ã® Cloud Run ãªãœãŒã¹ã§èªèšŒãèŠæ±ããã°ååãªå ŽåããããŸãã - äžèšä»¥å€ã® Google Cloud ãµãŒãã¹ããã®ãªã¯ãšã¹ãã¯å
éšãšããŠèªèãããªããããäžãïŒå
åãïŒã
internal
ãŸãã¯internal-and-cloud-load-balancing
ã«èšå®ããã Cloud Run ãªãœãŒã¹ã§ã¯åä¿¡ã§ããŸããã
ãªã³ãã¬ãã¹ ãªãœãŒã¹ãŸãã¯ä»ã®ã¯ã©ãŠããããªã¯ãšã¹ããåä¿¡ãã
ãªã³ãã¬ãã¹ ãªãœãŒã¹ãä»ã®ã¯ã©ãŠãããéå ¬éã§ãªã¯ãšã¹ããåä¿¡ããæ¹æ³ã¯è€æ°ãããŸãã
- åºæ¬æ§æ: ãªã³ãã¬ãã¹ ãªãœãŒã¹ããã®ä»ã®ã¯ã©ãŠãããã®ãªã¯ãšã¹ãããã©ã€ããŒã ãããã¯ãŒã¯ãééããããã«ããããã«ããªã³ãã¬ãã¹ ãã¹ãã«ãã©ã€ããŒã Google ã¢ã¯ã»ã¹ãæ§æããŸãã
- å
éš IP ã¢ãã¬ã¹ãã Cloud Run ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ã§ããããã«ãã: å
éš IP ã¢ãã¬ã¹ã䜿çšã㊠Cloud Run ãªãœãŒã¹ãåŒã³åºãã«ã¯ãGoogle API ã«ã¢ã¯ã»ã¹ãã Private Service Connect ãšã³ããã€ã³ããäœæãã
run.app
ã«ãã©ã€ããŒã DNS ãŸãŒã³ãæ§æããŠããšã³ããã€ã³ãã«ã¢ã¯ã»ã¹ããããã«ãªã³ãã¬ãã¹ ãããã¯ãŒã¯ãæ§æããŸãããã®æ§æã§ã¯ããªã³ãã¬ãã¹ ãã¹ã㯠Private Service Connect ãšã³ããã€ã³ãã® IP ã¢ãã¬ã¹ãä»ããŠãããã©ã«ãã®run.app
URL ã§ Cloud Run ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ã§ããŸãã - ããŒã ãã©ã³ã·ã³ã°æ©èœã®äœ¿çš: ããŒã ãã©ã³ã·ã³ã°ã®æ©èœãšå¶åŸ¡ãå¿ èŠãªå Žåã¯ãå éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµã䜿çšããŸãããªã³ãã¬ãã¹ ãããã¯ãŒã¯ããå éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµã«ã¢ã¯ã»ã¹ããæ¹æ³ã«ã€ããŠã¯ãCloud VPN ãš Cloud Interconnect ã䜿çšãããã芧ãã ããã
- 管çå¢ç: ãµãŒãã¹ããããŒãžã ãµãŒãã¹ãšããŠå éšã¯ã©ã€ã¢ã³ãã«å ¬éããã¢ã¯ã»ã¹å¯èœãªãããžã§ã¯ããå¶åŸ¡ã§ããããã«ããå Žåã¯ãPrivate Service Connect ã䜿çšããŠãµãŒãã¹ãå ¬éã§ããŸãïŒå éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµãå¿ èŠã§ãïŒããªã³ãã¬ãã¹ ãã¹ããããµãŒãã¹ã«ã¢ã¯ã»ã¹ããã«ã¯ãPrivate Service Connect ãšã³ããã€ã³ããäœæãããšã³ããã€ã³ãã«ã¢ã¯ã»ã¹ããããã«ãªã³ãã¬ãã¹ ãããã¯ãŒã¯ãæ§æããŸãã詳现ã«ã€ããŠã¯ããã€ããªãã ãããã¯ãŒã¯ãããšã³ããã€ã³ãã«ã¢ã¯ã»ã¹ãããã芧ãã ããããŸããããŒããã©ã³ãµã§ Private Service Connect ããã¯ãšã³ãã䜿çšããããšãã§ããŸãããªã³ãã¬ãã¹ ãããã¯ãŒã¯ããããŒããã©ã³ãµã«ã¢ã¯ã»ã¹ããæ¹æ³ã«ã€ããŠã¯ã䜿çšããŠããããŒããã©ã³ãµã®ããã¥ã¡ã³ããã芧ãã ãããããšãã°ãå éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµã®å Žåã¯ãCloud VPN ãš Cloud Interconnect ã䜿çšãããã芧ãã ããã
ãªã¯ãšã¹ãããã©ã€ããŒã ãããã¯ãŒã¯ããéä¿¡ãããããšãå¿ é ã«ãã
å€éšãœãŒã¹ããã®åä¿¡ãã©ãã£ãã¯ïŒäžããå
åãïŒãé²ãã«ã¯ãå¶éä»ãã®äžãïŒå
åãïŒèšå®ãæå®ããŸããæãå¶éã®å³ããäžãïŒå
åãïŒèšå®ã internal
ã§ããäžãïŒå
åãïŒããinternal
ãã«èšå®ãããšããµãŒãã¹ã¯ããããžã§ã¯ãããããžã§ã¯ããæ¥ç¶ãããŠããå
±æ VPC ãããã¯ãŒã¯ãVPC Service Controls ã®å¢çããã®ãªã¯ãšã¹ãã®ã¿ãèš±å¯ããŸãããã®èšå®ã«ã¯ããªã¯ãšã¹ãã®éä¿¡å
ã«å¿ããŠããã€ãã®å¶éããããŸãããããã®å¶éãšæäœæ¹æ³ã«ã€ããŠã¯ããã©ã€ããŒã ãããã¯ãŒã¯ãããªã¯ãšã¹ããåä¿¡ãããã芧ãã ããã
Cloud Run ãªãœãŒã¹ããšã«äžãïŒå åãïŒèšå®ãæå®ããããšããçµç¹å ã®ãã¹ãŠã® Cloud Run ãªãœãŒã¹ã«äžãïŒå åãïŒèšå®ãé©çšããããã«ããããšãã§ããŸãã
- å Cloud Run ãªãœãŒã¹ã«äžãïŒå åãïŒèšå®ãæå®ãã: äžãïŒå åãïŒã®èšå®ãã芧ãã ããã
- ãããžã§ã¯ãããã©ã«ããŸãã¯çµç¹å
ã®ãã¹ãŠã® Cloud Run ãªãœãŒã¹ã«ç¹å®ã®äžãïŒå
åãïŒèšå®ãé©çšãã:
run.allowedIngress
çµç¹ã®ããªã·ãŒå¶çŽãæ§æããŸããæ¹æ³ã«ã€ããŠã¯ããªã¹ãåå¶çŽã®ããªã·ãŒã®ã«ã¹ã¿ãã€ãºãã芧ãã ããã
ãã©ã€ããŒã ãããã¯ãŒã¯ã«ãªã¯ãšã¹ããéä¿¡ãã
Cloud Run ãªãœãŒã¹ããã©ã€ããŒã ãããã¯ãŒã¯äžã®ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ããå¿ èŠãããå Žåããããã¯ãŒã¯ãžã®ãã©ã€ããŒã ãªã¯ãšã¹ãã®ãã¹ãæ§æããŸãããã®æ§æã¯ããªã¯ãšã¹ãã®æçµå®å ã«ãã£ãŠç°ãªããŸãã
VPC ãããã¯ãŒã¯ã«ãªã¯ãšã¹ããéä¿¡ãã
VPC ãããã¯ãŒã¯ã«ãªã¯ãšã¹ããéä¿¡ããã«ã¯ããã€ã¬ã¯ã VPC äžãïŒå€åãïŒãŸãã¯ãµãŒããŒã¬ã¹ VPC ã¢ã¯ã»ã¹ ã³ãã¯ã¿ãæ§æããå¿ èŠããããŸãããã€ã¬ã¯ã VPC äžãïŒå€åãïŒãš VPC ã³ãã¯ã¿ãæ¯èŒããŠãã ãããæéã確èªããŠãè²»çšãææ¡ããŸãã
ãã€ã¬ã¯ã VPC äžãïŒå€åãïŒãŸãã¯ã³ãã¯ã¿ãæ§æãããŠããå Žåã¯ãããã©ã«ãã§æ¬¡ã®ããã«é æ ®ãããŸãã
ãã¹ãŠã® DNS ã¯ãšãªã¯ãVPC ãããã¯ãŒã¯äžãïŒå€åãïŒèšå®ã«é¢é£ä»ãããã VPC ãããã¯ãŒã¯çšã«æ§æãããŠãã DNS ãµãŒããŒã«éä¿¡ãããŸãã
å éš IP ã¢ãã¬ã¹ãžã®ãªã¯ãšã¹ãã¯ããã€ã¬ã¯ã VPC äžãïŒå€åãïŒãŸãã¯ã³ãã¯ã¿ã®ããããã䜿çšã㊠VPC ãããã¯ãŒã¯ã«è»¢éãããŸããå ¬éãããå®å ãžã®ãªã¯ãšã¹ãã¯ãäžãïŒå€åãïŒèšå®ãæ§æãããŠããªãéããã€ã³ã¿ãŒãããã«çŽæ¥è»¢éããç¶ããŸãã
ãã€ã¬ã¯ã VPC äžãïŒå€åãïŒãŸãã¯ã³ãã¯ã¿ã䜿çšããŠè»¢éããããªã¯ãšã¹ãã§ã¯ããªã¯ãšã¹ããééãããã¹ã䜿çšããŠã¬ã¹ãã³ã¹ãè¿ãããŸããVPC ãããã¯ãŒã¯ãã Cloud Run ãžã®ãªã¯ãšã¹ãã¯ãä»ã®ãã¯ãããžãŒã䜿çšããŠæå¹åããããã€ã¬ã¯ã VPC äžãïŒå€åãïŒãã³ãã¯ã¿ãçµç±ããŸããããã®ãªã¯ãšã¹ãã«å¯Ÿããã¬ã¹ãã³ã¹ã¯ãåããã¹ã䜿çšããŠè¿ãããŸããVPC ãããã¯ãŒã¯ãã Cloud Run ã«ãªã¯ãšã¹ããéä¿¡ããæ¹æ³ã«ã€ããŠã¯ãVPC ãããã¯ãŒã¯ãããªã¯ãšã¹ããåä¿¡ãããã芧ãã ããã
ãããžã§ã¯ãå€ã® VPC ãããã¯ãŒã¯ã«ãªã¯ãšã¹ããéä¿¡ãã
ãããžã§ã¯ãå€ã® VPC ãããã¯ãŒã¯ã«ãªã¯ãšã¹ããéä¿¡ããã«ã¯:
- å ±æ VPC ãŠãŒã¶ãŒã®å Žåã¯ãå ±æ VPC ãããã¯ãŒã¯ã«æ¥ç¶ãããã芧ãã ããã
- ä»ã® VPC ãããã¯ãŒã¯ã®å Žåã¯ããã€ã¬ã¯ã VPC äžãïŒå€åãïŒãŸãã³ãã¯ã¿ãæ§æããŠããããžã§ã¯ãã® VPC ã«æ¥ç¶ããŸãã
- ãã¢ãªã³ã°ããã VPC ãããã¯ãŒã¯: VPC ãããã¯ãŒã¯äžãïŒå€åãïŒã䜿çšãã VPC ã«ãã¢ãªã³ã°ãããŠãã VPC ã«éä¿¡ããããã«ã远å ã®æ§æã¯å¿ èŠãããŸããããã ããVPC ãããã¯ãŒã¯äžãïŒå€åãïŒããã¹ããããµããããå ã® VM ã¯ãã¿ãŒã²ãã VPC ãããã¯ãŒã¯ã«å°éã§ããå¿ èŠããããŸãã
- ãã®ä»ã® VPC ãããã¯ãŒã¯: ãããžã§ã¯ãå€ã® VPC ãããã¯ãŒã¯ïŒåãå ±æ VPC ç°å¢ã«å±ããŠããªããããããžã§ã¯ã VPC ãããã¯ãŒã¯ã«ãã¢ãªã³ã°ãããŠããªã VPCïŒã®å Žåã¯ãVPC ãããã¯ãŒã¯äžãïŒå€åãïŒã®èšå®åŸã« Private Service Connect ãæ§æããŸãã
ä»ã® Cloud Run ãªãœãŒã¹ãš Google Cloud ãµãŒãã¹ã«ãªã¯ãšã¹ããéä¿¡ãã
Cloud Run ãªãœãŒã¹ããå¥ã®Google Cloud ãµãŒãã¹ãžã®ãªã¯ãšã¹ãã¯ãGoogle ã®å éšãããã¯ãŒã¯å ã«ãšã©ãŸããVPC Service Controls ã®å¯Ÿè±¡ãšãªããŸãã
å¶éä»ãã®äžãïŒå åãïŒèšå®ã®ãã Cloud Run ãªãœãŒã¹ã«ãªã¯ãšã¹ããéä¿¡ããå Žåã¯ã远å ã®æ§æãå¿ èŠã§ããä»ã® Cloud Run ãªãœãŒã¹ãŸã㯠App Engine ãããªã¯ãšã¹ããåä¿¡ãããã芧ãã ããã
ãªã³ãã¬ãã¹ ãªãœãŒã¹ãšãã®ä»ã®ã¯ã©ãŠãã«ãªã¯ãšã¹ããéä¿¡ãã
ãã©ã€ããŒã ãããã¯ãŒã¯çµç±ã§ãªã³ãã¬ãã¹ ãªãœãŒã¹ãä»ã®ã¯ã©ãŠãã«ãªã¯ãšã¹ããéä¿¡ããã«ã¯ãæ¬¡ã®æäœãè¡ããŸãã
- VPN ãã³ãã«çµç±ãªã©ãå®å ã«éå ¬éã«ãŒãã§è»¢éããããã« VPC ãããã¯ãŒã¯ãæ§æãããŠããããšã確èªããŸãã
- VPC ãããã¯ãŒã¯ã«ãªã¯ãšã¹ããéä¿¡ããããã«ãµãŒãã¹ãæ§æããŸãã
- ãã¹ãŠã®ãªã¯ãšã¹ãã VPC ãããã¯ãŒã¯ã«éä¿¡ãããããšãå¿ é ã«ããŸãã
ãã¹ãŠã®ãªã¯ãšã¹ãã VPC ãããã¯ãŒã¯ã«éä¿¡ãããããšãå¿ é ã«ãã
Cloud Run ãªãœãŒã¹ããã®ãã¹ãŠã®ãªã¯ãšã¹ãã VPC ãããã¯ãŒã¯ã«éä¿¡ãããããã«ããã«ã¯ãall-traffic
VPC ãããã¯ãŒã¯ã®äžãïŒå€åãïŒèšå®ãæå®ããŸããVPC ãããã¯ãŒã¯äžãïŒå€åãïŒã䜿çšãã Cloud Run ãªãœãŒã¹ããšã«äžãïŒå€åãïŒèšå®ãæå®ããããšãããããžã§ã¯ãããã©ã«ããçµç¹å
ã®ãã¹ãŠã® Cloud Run ãªãœãŒã¹ã«å¯ŸããŠä»»æã®äžãïŒå€åãïŒèšå®ãé©çšããããšãã§ããŸãã
ããã¯æ¬¡ã®ãããªå Žåã«åœ¹ç«ã¡ãŸãã
- Cloud Run ãªãœãŒã¹ã«å¯ŸããŠéçã¢ãŠãããŠã³ã IP ã¢ãã¬ã¹ãèšå®ããå Žåã
- Cloud Run ãªãœãŒã¹ããã®ãã¹ãŠã®äžãïŒå€åãïŒã«å¯ŸããŠãã¡ã€ã¢ãŠã©ãŒã« ã«ãŒã«ãé©çšããå Žåã
- ãã©ã€ããŒã ãããã¯ãŒã¯çµç±ã§ããªã³ãã¬ãã¹ ãªãœãŒã¹ãšä»ã®ã¯ã©ãŠãã«ãªã¯ãšã¹ããéä¿¡ããå Žåã
Cloud Run ãªãœãŒã¹ã VPC ãããã¯ãŒã¯å€ã®æçµçãªå®å ã«ãªã¯ãšã¹ããéä¿¡ãããšããã¹ãŠã®ãªã¯ãšã¹ãã VPC ãããã¯ãŒã¯ã«éä¿¡ããå¿ èŠããããããæ§æããããµãŒããŒã¬ã¹ VPC ã¢ã¯ã»ã¹ ã³ãã¯ã¿ã®åž¯åå¹ äœ¿çšéãå¢å ããããã«å¿ããŠã³ã¹ããå¢å ããå¯èœæ§ããããŸããã³ãã¯ã¿ã¯ããã©ãã£ãã¯ãå¢å ãããšèªåçã«ã¹ã±ãŒã«ã¢ãŠãããŸããããã©ãã£ãã¯ãæžå°ããå Žåã¯ã¹ã±ãŒã«ã€ã³ããŸãããæéã確èªããŠãè²»çšãææ¡ããŸãã
- åã ã® Cloud Run ãªãœãŒã¹ã®äžãïŒå€åãïŒèšå®ãæå®ãã: äžãïŒå€åãïŒãµãŒãã¹ ãã©ãã£ãã¯ãå¶åŸ¡ãããã芧ãã ããã
- ãããžã§ã¯ãããã©ã«ããçµç¹å
ã®ãã¹ãŠã® Cloud Run ãªãœãŒã¹ã«ç¹å®ã®äžãïŒå€åãïŒèšå®ãé©çšãã:
run.allowedVPCEgress
çµç¹ã®ããªã·ãŒå¶çŽãæ§æããŸããæ¹æ³ã«ã€ããŠã¯ããªã¹ãåå¶çŽã®ããªã·ãŒã®ã«ã¹ã¿ãã€ãºãã芧ãã ããã
ãã®ä»ã®å¶åŸ¡
- å¢çå¶åŸ¡: ãªãœãŒã¹ã®ã°ã«ãŒãã«å¯ŸããããŒã¿æŒæŽ©ã®ãªã¹ã¯ã軜æžããã«ã¯ãVPC Service Controls ã䜿çšããŠãã³ã³ããã¹ãã¢ãŠã§ã¢ã®å¢çå
ã«ãªãœãŒã¹ãé
眮ããŸãã
- VPC Service Controls ã®æŠèŠã«ã€ããŠã¯ãVPC Service Controls ã®æŠèŠãã芧ãã ããã
- äœ¿çšæ¹æ³ã«ã€ããŠã¯ãCloud Run ã¬ã€ãã® VPC Service ControlsïŒVPC SCïŒã®äœ¿çšãã芧ãã ããã
- è²»çšã«ã€ããŠã¯ãæéãã芧ãã ããã
- ãã现ããå¶åŸ¡: ç¹å®ã® Cloud Run ãªãœãŒã¹ã Compute Engine ä»®æ³ãã·ã³ãªã©ããã©ã€ããŒã ãããã¯ãŒã¯å
ã®ç¹å®ã®ãªãœãŒã¹ããã®ãã©ãã£ãã¯ã«å¯Ÿããã¢ã¯ã»ã¹ãå¶åŸ¡ããã«ã¯ããµãŒãã¹ ã¢ã«ãŠã³ãã䜿çšããŠæš©éãšèªèšŒãå¶åŸ¡ããŸãã
- ãµãŒãã¹ ã¢ã«ãŠã³ãã®æŠèŠã«ã€ããŠã¯ããµãŒãã¹ ã¢ã«ãŠã³ããšã¯ãã芧ãã ããã
- äœ¿çšæ¹æ³ã«ã€ããŠã¯ãCloud Run ã®èªèšŒã¬ã€ããã芧ãã ããã
次ã®ã¹ããã
Terraform ã䜿çšããŠããå Žåã¯ãTerraform ãµã³ãã«ã³ãŒãã䜿çšããŠããã©ã€ããŒã ãããã¯ãŒã¯ã§ Cloud Run ãªãœãŒã¹ãèšå®ã§ããŸãã