ãã®ããŒãžã§ã¯ãCompute Engine Google ãããŒãžã SSL èšŒææžãäœæããã³äœ¿çšããæ¹æ³ã«ã€ããŠèª¬æããŸãã
Certificate Manager ã䜿çšã㊠Google ãããŒãžãèšŒææžãäœæããã«ã¯ããããã€ã®æŠèŠãã芧ãã ããã
Google ãããŒãžã SSL èšŒææžã¯ããã¡ã€ã³çšã«Google Cloud ãååŸããŠç®¡çãããã¡ã€ã³æ€èšŒïŒDVïŒèšŒææžã§ãã1 ã€ã®èšŒææžã§è€æ°ã®ãã¹ãåããµããŒãããŠãããGoogle ã¯èšŒææžãèªåçã«æŽæ°ããŸãã
Google ãããŒãžãèšŒææžã¯ã次ã®ããŒããã©ã³ãµã§ãµããŒããããŠããŸãã
- ã°ããŒãã«å€éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµ
- åŸæ¥ã®ã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµ
- å€éšãããã· ãããã¯ãŒã¯ ããŒããã©ã³ãµïŒã¿ãŒã²ãã SSL ãããã·ã䜿çšïŒ
Compute Engine ã® Google ãããŒãžã SSL èšŒææžã¯ããªãŒãžã§ã³å€éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµããªãŒãžã§ã³å éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµãã¯ãã¹ãªãŒãžã§ã³å éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµã§ã¯ãµããŒããããŠããŸããããããã®ããŒããã©ã³ãµã§ã¯ãCompute Engine ã»ã«ããããŒãžã SSL èšŒææžã䜿çšãããã代ããã« Certificate Manager ã®äœ¿çšãæ€èšããŠãã ããã
Google Kubernetes Engine ã§ãããŒãžã SSL èšŒææžã䜿çšããããšãã§ããŸãã詳现ã«ã€ããŠã¯ãGoogle ãããŒãžã SSL èšŒææžã®äœ¿çšãã芧ãã ããã
ããŒããã©ã³ãµã®äœæåãäœæäžãäœæåŸã«ãGoogle ãããŒãžãèšŒææžãäœæã§ããŸãããã®ããŒãžã§ã¯ãããŒããã©ã³ãµã®äœæäžã§ã¯ãªããäœæåãŸãã¯äœæåŸã« Compute Engine èšŒææžãäœæããããšãåæãšããŠããŸããããŒããã©ã³ãµã®äœæäžã«èšŒææžãäœæããã«ã¯ãããŒããã©ã³ãµã®å ¥éããŒãžãã芧ãã ããã
å§ããåã«
- SSL èšŒææžã®æŠèŠãååã«çè§£ããŸãã
- Google ãããŒãžã SSL èšŒææžã«äœ¿çšãããã¡ã€ã³åãããããšã確èªããŸããCloud Domains ã䜿çšããŠããå Žåã¯ããã¡ã€ã³ã®ç»é²ãã芧ãã ããã
ãããžã§ã¯ãã§ Compute Engine API ãæå¹ã«ãªã£ãŠããããšã確èªããŸãã
æš©é
ãã®ã¬ã€ãã«èšèŒãããæé ãè¡ãåã«ããããžã§ã¯ãã§ SSL èšŒææžãäœæããã³å€æŽã§ããæš©éãå¿ èŠã§ããæ¬¡ã®ããããã«è©²åœããå Žåã¯ããã®æäœãè¡ãããšãã§ããŸãã
- ãããžã§ã¯ãã®ãªãŒããŒãŸãã¯ç·šéè
ïŒ
roles/owner
ãŸãã¯roles/editor
ïŒã§ããã - ãããžã§ã¯ãã« Compute ã»ãã¥ãªãã£ç®¡çè
ããŒã«ïŒ
compute.securityAdmin
ïŒãš Compute ãããã¯ãŒã¯ç®¡çè ããŒã«ïŒcompute.networkAdmin
ïŒã®äž¡æ¹ãããã - ãããžã§ã¯ãã§å²ãåœãŠãããŠããã«ã¹ã¿ã ããŒã«ã«ã
compute.sslCertificates.*
æš©éãšãcompute.targetHttpsProxies.*
ãŸãã¯compute.targetSslProxies.*
ã®ããããããããã¯ãã®äž¡æ¹ïŒäœ¿çšããããŒããã©ã³ãµã«ããïŒãå«ãŸããŠããã
ã¹ããã 1.Google ãããŒãžã SSL èšŒææžãäœæãã
ããŒããã©ã³ãµã®äœæåãäœæäžãäœæåŸã«ãGoogle ãããŒãžãèšŒææžãäœæã§ããŸããGoogle Cloud ã³ã³ãœãŒã«ã§ããŒããã©ã³ãµãäœæãããšãã«ã Google Cloud ã³ã³ãœãŒã«ã䜿çšããŠèšŒææžãäœæã§ããŸãããŸããããŒããã©ã³ãµã®äœæåãŸãã¯äœæåŸã«èšŒææžãäœæããããšãã§ããŸãããã®ã¹ãããã§ã¯ãåŸã§ 1 ã€ä»¥äžã®ããŒããã©ã³ãµã«è¿œå ã§ããèšŒææžã®äœææ¹æ³ã«ã€ããŠèª¬æããŸãã
Google ãããŒãžã SSL èšŒææžããã§ã«äœæããŠããå Žåã¯ããã®æé ãã¹ãããã§ããŸãã
ã³ã³ãœãŒã«
ã°ããŒãã« SSL èšŒææžã«é¢ããäœæ¥ã¯ã[Certificate Manager] ããŒãžã® [åŸæ¥ã®èšŒææž] ã¿ãã§è¡ãããšãã§ããŸãã
- Google Cloud ã³ã³ãœãŒã«ã® [åŸæ¥ã®èšŒææž] ã¿ãã«ç§»åããŸãã
[åŸæ¥ã®èšŒææž] ã«ç§»å - [SSL èšŒææžãäœæ] ãã¯ãªãã¯ããŸãã
- èšŒææžã®ååãšèª¬æïŒçç¥å¯ïŒãå ¥åããŸãã
- [Google 管çã®èšŒææžãäœæãã] ãéžæããŸãã
- ãã¡ã€ã³ã远å ããŸãã
- [äœæ] ãã¯ãªãã¯ããŸãã
gcloud
ã°ããŒãã«å€éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµãŸãã¯å€éšãããã· ãããã¯ãŒã¯ ããŒããã©ã³ãµã®ã°ããŒãã« Google ãããŒãžã SSL èšŒææžãäœæããã«ã¯ãgcloud compute ssl-certificates
create
ã³ãã³ãã䜿çšããŸãã
gcloud compute ssl-certificates create CERTIFICATE_NAME \ --description=DESCRIPTION \ --domains=DOMAIN_LIST \ --global
次ã®ããã«çœ®ãæããŸãã
CERTIFICATE_NAME
: ã°ããŒãã« SSL èšŒææžã®ååDESCRIPTION
: ã°ããŒãã« SSL èšŒææžã®èª¬æDOMAIN_LIST
: ãã®èšŒææžã«äœ¿çšããåäžã®ãã¡ã€ã³åãŸãã¯ãã¡ã€ã³åã®ã«ã³ãåºåããªã¹ã
Terraform
Google ãããŒãžã SSL èšŒææžãäœæããã«ã¯ãgoogle_compute_managed_ssl_certificate
ãªãœãŒã¹ã䜿çšããŸãã
API
Google ãããŒãžãèšŒææžãªãœãŒã¹ sslCertificates.insert
ã¡ãœãããäœæããŸããPROJECT_ID
ã¯å®éã®ãããžã§ã¯ã ID ã«çœ®ãæããŸãã
POST https://compute.googleapis.com/compute/v1/projects/<var>PROJECT_ID</var>/global/sslCertificates
{
"name": "ssl-certificate-name",
"managed": {
"domains": [
"www.example.com"
]
},
"type": "MANAGED"
}
Google ãããŒãžã SSL èšŒææžã®ã¹ããŒã¿ã¹ã確èªãã
ã³ã³ãœãŒã«
ã°ããŒãã« SSL èšŒææžã®ã¹ããŒã¿ã¹ã¯ã[Certificate Manager] ããŒãžã® [åŸæ¥ã®èšŒææž] ã¿ãã§ç¢ºèªã§ããŸãã
- Google Cloud ã³ã³ãœãŒã«ã® [åŸæ¥ã®èšŒææž] ã¿ãã«ç§»åããŸãã
[åŸæ¥ã®èšŒææž] ã«ç§»å - çç¥å¯: SSL èšŒææžã®ãªã¹ãããã£ã«ã¿ãªã³ã°ããŸãã
- [ã¹ããŒã¿ã¹] åã確èªããŸãã
- 詳现ã衚瀺ããã«ã¯ãèšŒææžåãã¯ãªãã¯ããŸãã
gcloud
Google ãããŒãžãèšŒææžã®ã¹ããŒã¿ã¹ã確èªããã«ã¯ãgcloud compute
ã³ãã³ãã䜿çšããŸããé©åãªã³ãã³ããå®è¡ããåŸã¯ã以äžã®ç¹ã«æ³šæããŠãã ããã
- ãããŒãžã ã¹ããŒã¿ã¹ã
- ãã¡ã€ã³ ã¹ããŒã¿ã¹ã
Google ãããŒãžã SSL èšŒææžã®äžèЧã衚瀺ããã«ã¯ã--global
ãã©ã°ãæå®ããŠãgcloud
compute ssl-certificates
list
ã³ãã³ãã䜿çšããŸãã
gcloud compute ssl-certificates list \ --global
gcloud compute ssl-certificates
describe
ã³ãã³ãã䜿çšã§ããŸããCERTIFICATE_NAME
ã¯ã次ã®ããã«çœ®ãæããŸãã
gcloud compute ssl-certificates describe CERTIFICATE_NAME \ --global \ --format="get(name,managed.status, managed.domainStatus)"
ãã®æç¹ã§ãèšŒææžã®ã¹ããŒã¿ã¹ãšãã¡ã€ã³ã®ã¹ããŒã¿ã¹ã¯ PROVISIONING
ã§ãããã®ããŒãžã®æé ãå®äºãããšãã¹ããŒã¿ã¹ã ACTIVE
ã«å€ãããŸãã
ã¹ããŒã¿ã¹ã®è©³çްã«ã€ããŠã¯ããã©ãã«ã·ã¥ãŒãã£ã³ã° ããŒãžãã芧ãã ããã
ã¹ããã 2: ããŒããã©ã³ãµãäœæãŸãã¯æŽæ°ãã
ACTIVE
ã«ããã«ã¯ãGoogle ãããŒãžã SSL èšŒææžãããŒããã©ã³ãµãç¹ã«ããŒããã©ã³ãµã®ã¿ãŒã²ãã ãããã·ã«é¢é£ä»ããå¿
èŠããããŸãã
äœæãã SSL èšŒææžã PROVISIONING
ç¶æ
ã«ãªã£ãããããŒããã©ã³ãµã®äœæã§äœ¿çšã§ããŸããæé ã«ã€ããŠã¯ã次ã®å
¥éã¬ã€ããã芧ãã ããã
- Compute Engine ããã¯ãšã³ãã䜿çšããŠã°ããŒãã«å€éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµãèšå®ãã
- Compute Engine ããã¯ãšã³ãã䜿çšããŠåŸæ¥ã®ã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµãèšå®ãã
- SSL ãããã·ã䜿çšããŠå€éšãããã· ãããã¯ãŒã¯ ããŒããã©ã³ãµãèšå®ãã
ããã§èª¬æããããã«ãæ¢åã®ããŒããã©ã³ãµã®æŽæ°ã«äœ¿çšããããšãã§ããŸãã
ã³ã³ãœãŒã«
Google Cloud ã³ã³ãœãŒã«ã䜿çšããŠã°ããŒãã«å€éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµãŸãã¯å€éšãããã· ãããã¯ãŒã¯ ããŒããã©ã³ãµãæŽæ°ãããšã Google Cloud ã SSL èšŒææžãæ£ããã¿ãŒã²ãã ãããã·ã«èªåçã«é¢é£ä»ããŸãã
- Google Cloud ã³ã³ãœãŒã«ã§ [ããŒã ãã©ã³ã·ã³ã°] ããŒãžã«ç§»åããŸãã
[ããŒã ãã©ã³ã·ã³ã°] ã«ç§»å - ããŒããã©ã³ãµã®ååãã¯ãªãã¯ããŸãã
- [ç·šé]ïŒ ïŒãã¯ãªãã¯ããŸãã
- [ããã³ããšã³ãã®æ§æ] ãã¯ãªãã¯ããŸãã
- æ£ããããã³ããšã³ãïŒHTTPSãHTTP/2ããŸã㯠SSLïŒãã¯ãªãã¯ããŸãã
- [ãã®ä»ã®èšŒææž] ãã¯ãªãã¯ãããã«ããŠã³ ãªã¹ããã Google ãããŒãžãèšŒææžãéžæããŸãã
- [äœæ] ãã¯ãªãã¯ããŸãã
gcloud
SSL èšŒææžãã°ããŒãã«å€éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµã®ã¿ãŒã²ãã HTTPS ãããã·ã«é¢é£ä»ããã«ã¯ã--global-ssl-certificates
ãš --global
ãã©ã°ãæå®ããŠãgcloud compute target-https-proxies update
ã³ãã³ãã䜿çšããŸãã
gcloud compute target-https-proxies update TARGET_PROXY_NAME \ --ssl-certificates SSL_CERTIFICATE_LIST \ --global-ssl-certificates \ --global
SSL èšŒææžãå€éšãããã¯ãŒã¯ ããŒããã©ã³ãµã®ã¿ãŒã²ãã SSL ãããã·ã«é¢é£ä»ããã«ã¯ãgcloud compute target-ssl-proxies update
ã³ãã³ãã䜿çšããŸãã
gcloud compute target-ssl-proxies update TARGET_PROXY_NAME \ --ssl-certificates SSL_CERTIFICATE_LIST
次ã®ããã«çœ®ãæããŸãã
TARGET_PROXY_NAME
: ããŒããã©ã³ãµã®ã¿ãŒã²ãã ãããã·ã®ååSSL_CERTIFICATE_LIST
: SSL èšŒææžãªãœãŒã¹ã®ã«ã³ãåºåãã®ãªã¹ãåç §ãããèšŒææžã®ãªã¹ãã«ãæ°ãã SSL èšŒææžãšå€ãæå¹ãª SSL èšŒææžããã¹ãŠå«ãŸããŠããããšã確èªããŠãã ããã
gcloud compute target-ssl-proxies update
ã³ãã³ãã¯ã--ssl-certificates
ã®å ã®å€ãæ°ããå€ã§ãªãŒããŒã©ã€ãããŸãã
Terraform
ã¿ãŒã²ãã HTTPS ãããã·ãäœæããã«ã¯ãgoogle_compute_target_https_proxy
ãªãœãŒã¹ã䜿çšããŸãã
ã¿ãŒã²ãã SSL ãããã·ãäœæããã«ã¯ãgoogle_compute_target_ssl_proxy
ãªãœãŒã¹ã䜿çšããŸãã
ããããã®ã¿ãŒã²ãã HTTPS ãããã·ãŸãã¯ã¿ãŒã²ãã SSL ãããã·ã¯ã1 ã€ä»¥äžã® SSL èšŒææžãåç §ããŠããå¿ èŠããããŸããã¿ãŒã²ãã ãããã·ã¯ãè€æ°ã® SSL èšŒææžãåç §ã§ããŸãã詳现ã«ã€ããŠã¯ãããŒã ãã©ã³ã·ã³ã°ã®ãªãœãŒã¹ã®å²ãåœãŠãšäžéã®ã¿ãŒã²ãã ããŒã«ãšã¿ãŒã²ãã ãããã·ãã芧ãã ããã
ã¹ããã 3: ã¿ãŒã²ãã ãããã·ã®é¢é£ä»ãã確èªãã
ããŒããã©ã³ãµãäœæãŸãã¯æŽæ°ããåŸãSSL èšŒææžãããŒããã©ã³ãµã®ã¿ãŒã²ãã ãããã·ã«é¢é£ä»ããããŠããããšã確èªã§ããŸãã
ã¿ãŒã²ãã ãããã·ã®ååãããããªãå Žåã¯ãgcloud compute target-https-proxies list
ãš gcloud compute target-ssl-proxies list
ã³ãã³ãã䜿çšããŠããããžã§ã¯ãå
ã®ã¿ãŒã²ãã ãããã·ãäžèŠ§è¡šç€ºããŸãã
次ã®ã³ãã³ããå®è¡ããŠãSSL èšŒææžãšã¿ãŒã²ãã ãããã·éã®é¢é£ä»ãã確èªããŸãã
ã°ããŒãã«å€éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµã®å Žå:
gcloud compute target-https-proxies describe TARGET_HTTPS_PROXY_NAME \ --global \ --format="get(sslCertificates)"
å€éšãããã· ãããã¯ãŒã¯ ããŒããã©ã³ãµã®å Žå:
gcloud compute target-ssl-proxies describe TARGET_SSL_PROXY_NAME \ --format="get(sslCertificates)"
ãã®æç¹ã§ã¯ãGoogle ãããŒãžãèšŒææžã®ã¹ããŒã¿ã¹ã¯ PROVISIONING
ã®ãŸãŸã§ããå¯èœæ§ããããŸãã Google Cloud ã¯èªèšŒå±ãšé£æºããŠèšŒææžãçºè¡ããŸããGoogle ãããŒãžãèšŒææžã®ããããžã§ãã³ã°ã«ã¯æé·ã§ 60 åããããŸãã
ã¹ããã 4: ããŒããã©ã³ãµã® IP ã¢ãã¬ã¹ãåç §ããããã« DNS A ããã³ AAAA ã¬ã³ãŒããæŽæ°ãã
DNS ã¬ã³ãŒããç»é²äºæ¥è ã®ãµã€ããDNS ãã¹ãããŸã㯠ISP ã§ç®¡çãããŠããå¯èœæ§ããããŸãã
ã¬ã³ãŒãã管çããéã¯ã次ã®ç¹ã«æ³šæããŠãã ããã
ãã¡ã€ã³ãšãµããã¡ã€ã³ã® DNS A ã¬ã³ãŒãïŒIPv4 ã®å ŽåïŒãš DNS AAAA ã¬ã³ãŒãïŒIPv6 ã®å ŽåïŒããããŒããã©ã³ãµã®è»¢éã«ãŒã«ãŸãã¯ã«ãŒã«ãšé¢é£ä»ãããã IP ã¢ãã¬ã¹ãåç §ããŠããããšã確èªããŠãã ããã
SSL èšŒææžãããããžã§ãã³ã°ããã«ã¯ãA ã¬ã³ãŒããš AAAA ã¬ã³ãŒãããããªã㯠DNS ã§ããŒããã©ã³ãµã® IP ã¢ãã¬ã¹ãåç §ããããã«ããŸãã
Cloud DNS ã䜿çšããŠããå Žåã¯ããã¡ã€ã³ãèšå®ããŠãããŒã ãµãŒããŒãæŽæ°ããŸãã
Google ãããŒãžãèšŒææžã«è€æ°ã®ãã¡ã€ã³ãããå Žåã¯ããã¹ãŠã®ãã¡ã€ã³ãšãµããã¡ã€ã³ã® DNS ã¬ã³ãŒãã远å ãŸãã¯æŽæ°ããŠãããŒããã©ã³ãµã® IP ã¢ãã¬ã¹ãåç §ããŸããGoogle ãããŒãžãèšŒææžã®ãã¡ã€ã³ãšãµããã¡ã€ã³ããããŒããã©ã³ãµã®è»¢éã«ãŒã«ã® IP ã¢ãã¬ã¹ãšã¯å¥ã® IP ãæããŠããå ŽåãèšŒææžã®æ€èšŒã¯å€±æããŸãã
DNS ãããã€ãããã¹ãŠã®ã°ããŒãã« ãã¡ã€ã³æ€èšŒãªã¯ãšã¹ãã«äžè²«ããŠå¿çããŠããããšã確èªããŸãã
æ¬¡ã®æ¡ä»¶ã«è©²åœããå Žåã¯ããããŒãžãèšŒææžã¯æ£åžžã«ããããžã§ãã³ã°ãããŸãã
- ãã¡ã€ã³ã® DNS ã¬ã³ãŒãã¯ãå¥ã®ãã¡ã€ã³ãåç §ãã CNAME ã¬ã³ãŒãã䜿çšããŠããŸãã
- ããäžæ¹ã®ãã¡ã€ã³ã«ã¯ãããŒããã©ã³ãµã® IP ã¢ãã¬ã¹ãåç §ãã A ãŸã㯠AAAA ã¬ã³ãŒããå«ãŸããŠããŸãã
dig
ã³ãã³ããå®è¡ãããšãèšå®ã確èªã§ããŸããããšãã°ãã¡ã€ã³ã www.example.com
ã®å Žåã¯ãdig
ã³ãã³ããå®è¡ããŸãã
dig www.example.com
; <<>> DiG 9.10.6 <<>> www.example.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31748 ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;www.example.com. IN A ;; ANSWER SECTION: www.example.com. 1742 IN CNAME example.net. example.net. 12 IN A 34.95.64.10 ;; Query time: 43 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Wed Jun 03 16:54:44 PDT 2020 ;; MSG SIZE rcvd: 193
ãã®äŸã§ã¯ã34.95.64.10
ã¯ããŒããã©ã³ãµã® IP ã¢ãã¬ã¹ã§ãã
ã€ã³ã¿ãŒãããäžã® DNS ãªãŸã«ãã¯ãGoogle Cloudã®ç®¡çå€ã§ããæå¹æéïŒTTLïŒã«åŸã£ãŠãªãœãŒã¹ ã¬ã³ãŒã ã»ããããã£ãã·ã¥ã«ä¿åããããããdig
ã³ãã³ããŸã㯠nslookup
ã³ãã³ããå®è¡ãããšããã£ãã·ã¥ã«ä¿åãããå€ãè¿ãããããšããããŸããCloud DNS ã䜿çšããŠããå Žåã¯ã倿Žã®äŒæãã芧ãã ããã
DNS ã¬ã³ãŒãã®äŒææé
æŽæ°ããã DNS A ã¬ã³ãŒããš AAAA ã¬ã³ãŒããå®å šã«äŒæããããŸã§ãããªãæéããããããšããããŸããéåžžã¯æ°æéçšåºŠã§ãããã€ã³ã¿ãŒããããä»ããåæ ã«ã¯æé·ã§ 72 æéãããããšããããŸãã
次ã®ã³ãã³ããåå®è¡ããŸãã
gcloud compute ssl-certificates describe CERTIFICATE_NAME \ --format="get(managed.domainStatus)"
ãã¡ã€ã³ã®ã¹ããŒã¿ã¹ã FAILED_NOT_VISIBLE
ã®å Žåã¯ãäŒæãå®äºããŠããªãå¯èœæ§ããããŸãã
詳现ã«ã€ããŠã¯ããã©ãã«ã·ã¥ãŒãã£ã³ã° ããŒãžã§ Google ãããŒãžã SSL èšŒææžã®ãã¡ã€ã³ ã¹ããŒã¿ã¹ã®èª¬æãã芧ãã ããã
å€èŠç¹ãã¡ã€ã³æ€èšŒ
Google Cloud ã¯ãèªèšŒå±ïŒCAïŒãã Google ãããŒãžãèšŒææžããªã¯ãšã¹ãããŠã宿çã«æŽæ°ããŸããGoogle Cloud ãèšŒææžã®æŽæ°ã«äœ¿çšãã CA ã«ã¯ãMulti-Perspective Issuance CorroborationïŒMPICïŒãšåŒã°ããå€èŠç¹ãã¡ã€ã³æ€èšŒæ¹æ³ã䜿çšãããŸãããã®ããã»ã¹ã®äžç°ãšããŠãèªèšŒå±ã¯ãã¡ã€ã³ã® DNS èšå®ã確èªãããã¡ã€ã³ã® IP ã¢ãã¬ã¹ã®èåŸã«ãããµãŒããŒã«æ¥ç¶ããããšããããšã§ããã¡ã€ã³ã®å¶åŸ¡ã確èªããŸãããããã®æ€èšŒã¯ãã€ã³ã¿ãŒãããäžã®è€æ°ã®èгå¯ãã€ã³ãããè¡ãããŸããæ€èšŒããã»ã¹ã倱æãããšãGoogle ãããŒãžãèšŒææžã¯æŽæ°ãããŸããããã®çµæãããŒããã©ã³ãµã¯æéåãã®èšŒææžãã¯ã©ã€ã¢ã³ãã«æäŸãããã©ãŠã¶ ãŠãŒã¶ãŒã«ã¯èšŒææžãšã©ãŒãAPI ã¯ã©ã€ã¢ã³ãã«ã¯æ¥ç¶ãšã©ãŒãçºçããŸãã
DNS ã¬ã³ãŒãã®æ§æãã¹ã§å€èŠç¹ãã¡ã€ã³æ€èšŒã«å€±æããªãããã«ããã«ã¯ã次ã®ç¹ã«æ³šæããŠãã ããã
- ãã¡ã€ã³ãšãµããã¡ã€ã³ã® DNS A ã¬ã³ãŒãïŒIPv4ïŒãš DNS AAAAïŒIPv6ïŒã¬ã³ãŒãã¯ãããŒããã©ã³ãµã®è»¢éã«ãŒã«ã«é¢é£ä»ãããã IP ã¢ãã¬ã¹ã®ã¿ãåç §ããŸããã¬ã³ãŒãã«ä»ã®ã¢ãã¬ã¹ãååšãããšãæ€èšŒã倱æããå¯èœæ§ããããŸãã
- DNS ã¬ã³ãŒãã®æ€èšŒãè¡ã CA ã¯ãè€æ°ã®ãã±ãŒã·ã§ã³ãã DNS ã¬ã³ãŒããã¯ãšãªããŸããDNS ãããã€ããããã¹ãŠã®ã°ããŒãã« ãã¡ã€ã³æ€èšŒãªã¯ãšã¹ãã«äžè²«ããŠå¿çããŠããããšã確èªããŸãã
- GeoDNSïŒãªã¯ãšã¹ãã®ãã±ãŒã·ã§ã³ã«åºã¥ããŠç°ãªã IP ã¢ãã¬ã¹ãè¿ãïŒãŸãã¯ãã±ãŒã·ã§ã³ããŒã¹ã® DNS ããªã·ãŒã䜿çšãããšãã¬ã¹ãã³ã¹ã®äžæŽåãçããæ€èšŒã倱æããå¯èœæ§ããããŸããDNS ãããã€ãã GeoDNS ã䜿çšããŠããå Žåã¯ãGeoDNS ãç¡å¹ã«ãããããã¹ãŠã®ãªãŒãžã§ã³ã§åãããŒããã©ã³ãµã® IP ã¢ãã¬ã¹ãè¿ãããããã«ããŸãã
- DNS æ§æã§ããŒããã©ã³ãµã® IP ã¢ãã¬ã¹ãæç€ºçã«æå®ããå¿ èŠããããŸããCDN ãªã©ã®äžéã¬ã€ã€ãåå ã§ãäºæããªãåäœãçºçããå¯èœæ§ããããŸããIP ã¢ãã¬ã¹ã«ã¯ããªã¯ãšã¹ããã¹ã«ãªãã€ã¬ã¯ãããã¡ã€ã¢ãŠã©ãŒã«ãCDN ãä»ããã«çŽæ¥ã¢ã¯ã»ã¹ã§ããå¿ èŠããããŸãã詳现ã«ã€ããŠã¯ããã®ããã¥ã¡ã³ãã® CDN ã®èåŸã«ããããŒããã©ã³ãµãã芧ãã ããã
- ä»»æã® DNS ã°ããŒãã«åæ ãã§ãã«ãŒã䜿çšããŠãé¢é£ãããã¹ãŠã® DNS ã¬ã³ãŒããäžçäžã§æ£ãããäžè²«ããŠè§£æ±ºãããŠããã®ã確èªããããšãããããããŸãã
æ§æã®å€æŽã確èªãã
DNS ã¬ã³ãŒããæ§æããããæ°ããèšŒææžãäœæããŠãæ¢åã®èšŒææžãšãšãã«ããŒããã©ã³ãµã«æ¥ç¶ããããšã§ãã¬ã³ãŒããæ£ããããšã確èªã§ããŸãããã®æé ã§ã¯ãCA ã§èšŒææžã®ããããžã§ãã³ã° ãã§ãã¯ã匷å¶çã«å³æå®è¡ããæ°å以å ã«æ§æã®å€æŽã確èªã§ããŸãããããè¡ããªããšãæ¢åã®èšŒææžã®èªåæŽæ°ã«æ°æ¥ããæ°é±éããããããèšå®ã«äžç¢ºå®æ§ãçããŸãã
èšŒææžã®ã¹ããŒã¿ã¹ã ACTIVE
ã«ãªãã°ãèšŒææžãçºè¡ãããããšã瀺ããŠããŸããããã«ãããDNS æ§æãæ£ããããšã確èªã§ããŸãããã®æç¹ã§ãåããã¡ã€ã³ã« 2 ã€ã®å¥ã
ã®èšŒææžãååšããªãããã«ã以åã®èšŒææžãåé€ããããšãããããããŸãããã®ããã»ã¹ã«ãã£ãŠãããŒããã©ã³ãµãžã®ãã©ãã£ãã¯ãäžæãããããšã¯ãããŸããã
æ°ããèšŒææžã¯æ€èšŒããŒã«ãšããŠæ©èœããŸãããã®èšŒææžã®äœæã«ãã£ãŠãMPIC ã䜿çšããå€èŠç¹ãã¡ã€ã³æ€èšŒããã®èšå®ã§æ£ããæ©èœããŠããããšã確èªã§ããŸãã
CDN ã®èåŸã«ããããŒããã©ã³ãµ
CDN ãæå¹ã«ãªã£ãŠããããŒããã©ã³ãµã®å Žåããªã¯ãšã¹ããã¹ã®äžéšã®ãµãŒãããŒã㣠CDN ãããã€ããæ€èšŒãªã¯ãšã¹ãããããã¯ããããšããããŸãããã®ãšã©ãŒã¯ãCDN ãããã€ãã HTTP(S) ãã©ãã£ãã¯ãã¢ã¯ãã£ãã«ãããã·ããŠããå Žåã«çºçããŸãã
ãã®ãããªå Žåã¯ãèšŒææžã Certificate Manager ã«ç§»è¡ããDNS èªèšŒæ¹æ³ã䜿çšã㊠Google ãããŒãžãèšŒææžãããããžã§ãã³ã°ããããšãããããããŸããåŸè ã®ã¢ãããŒãã§ã¯ãCA ãããŒããã©ã³ãµã«æ¥ç¶ããå¿ èŠã¯ãããŸããã
ã¹ããã 5: OpenSSL ã§ãã¹ããã
èšŒææžãšãã¡ã€ã³ã®ã¹ããŒã¿ã¹ãã¢ã¯ãã£ãã«ãªã£ãåŸãããŒããã©ã³ãµã Google ãããŒãžã SSL èšŒææžã®äœ¿çšãéå§ãããŸã§ã« 30 åã»ã©ãããå ŽåããããŸãã
ãã¹ãããã«ã¯ã次㮠OpenSSL ã³ãã³ããå®è¡ããŸããDOMAIN
㯠DNS åã«çœ®ãæããIP_ADDRESS
ã¯ããŒããã©ã³ãµã® IP ã¢ãã¬ã¹ã«çœ®ãæããŸãã
echo | openssl s_client -showcerts -servername DOMAIN -connect IP_ADDRESS:443 -verify 99 -verify_return_error
ãã®ã³ãã³ãã¯ãããŒããã©ã³ãµãã¯ã©ã€ã¢ã³ãã«æç€ºããèšŒææžãåºåããŸããä»ã®è©³çްæ
å ±ãšãšãã«ãåºåã«èšŒææžãã§ãŒã³ãš Verify return code: 0 (ok)
ãå«ãŸããŠããããšã確èªããŸãã
è¿œå æé
ãã®ã»ã¯ã·ã§ã³ã§ã¯ãèšŒææžã管çããããã®è¿œå æé ã説æããŸãã
Google ãããŒãžã SSL èšŒææžã䜿çšããŠè€æ°ã®ãã¡ã€ã³ããµããŒããã
è€æ°ã®ãµããžã§ã¯ãã®ä»£æ¿åããµããŒããããŠããŸããããããã® Google ãããŒãžã SSL èšŒææžã¯ãGoogle ãããŒãžã SSL èšŒææžãããã®æå€§ãã¡ã€ã³æ°ãŸã§ãµããŒãããŸãã
ãã¡ã€ã³æ°ãäžéãè¶ ããŠããå Žåãè€æ°ã® Google ãããŒãžãèšŒææžããªã¯ãšã¹ãããå¿ èŠããããŸããããšãã°ãïŒæå€§ + 1ïŒåã®ãã¡ã€ã³ã§ Google ãããŒãžãèšŒææžãäœæããããšããŠããGoogle ã¯èšŒææžãçºè¡ããŸããã代ããã«ã2 ã€ä»¥äžã® Google ãããŒãžãèšŒææžãäœæããåèšŒææžã«é¢é£ä»ãããããã¡ã€ã³ãæç€ºããå¿ èŠããããŸãã
Google Cloud ã¯ãRFC 6066 ã§å®çŸ©ãããŠããããã«ãServer Name IndicationïŒSNIïŒãå®è£ ããŠããŸãã
èšŒææžãæŽæ°ããã»ã¹ã®ãã¡ã€ã³æ€èšŒã¹ãããã§å€±æããªãããã«ããã«ã¯ãDNS A ã¬ã³ãŒããš AAAA ã¬ã³ãŒãã®èŠä»¶ã確èªããŠãã ããã
Google ãããŒãžã SSL èšŒææžãæŽæ°ãã
Google Cloud ã¯ã90 æ¥éæå¹ãªãããŒãžãèšŒææžãããããžã§ãã³ã°ããŸããæå¹æéãåããçŽ 1 ãæåã«ãèšŒææžã®æŽæ°ããã»ã¹ãèªåçã«éå§ãããŸãããã®ããã«ããã¡ã€ã³ã® Certification Authority AuthorizationïŒCAAïŒDNS ã¬ã³ãŒããš CA ã®ãªã¹ãã®äž¡æ¹ã«ããèªèšŒå±ïŒCAïŒãéžæãããŸãã
æŽæ°ã«äœ¿çšãã CA ã¯ã以åã®ããŒãžã§ã³ã® Google ãããŒãžãèšŒææžãçºè¡ãããšãã«äœ¿çšãã CA ãšã¯ç°ãªãå ŽåããããŸãããã¡ã€ã³ã® CAA DNS ã¬ã³ãŒãã§ãGoogle ãããŒãžãèšŒææžã䜿çšãã CA ã®ãªã¹ããã 1 ã€ã® CA ã確å®ã«æå®ããããšã«ãããGoogle Cloud ãæŽæ°ã«äœ¿çšãã CA ãã³ã³ãããŒã«ã§ããŸãã
èšŒææžãæŽæ°ããã»ã¹ã®ãã¡ã€ã³æ€èšŒã¹ãããã§å€±æããªãããã«ããã«ã¯ãDNS A ã¬ã³ãŒããš AAAA ã¬ã³ãŒãã®èŠä»¶ã確èªããŠãã ããã
Google ãããŒãžãèšŒææžãçºè¡ã§ãã CA ãæå®ãã
DNS ãœãããŠã§ã¢ã§ã¯ãGoogle ãããŒãžãèšŒææžã®çºè¡ãèš±å¯ãã CA ãæç€ºçã«æ¿èªããããšãããããããŸãããã¹ãŠã®ã·ããªãªã§ããããå¿ èŠã¯ãããŸããããç¹å®ã®ç¶æ³ã§ã¯å¿ èŠã«ãªããŸãã
ããšãã°ãå€éš DNS ãµãŒãã¹ã䜿çšããŠããŠãGoogle ãããŒãžãèšŒææžãåãæ¶ãããå Žåããã®ãµãŒãã¹ã§ã¯ 1 ã€ä»¥äžã®ç¹å®ã® CA ãçºè¡ããæ°ããèšŒææžã®ã¿ãæ€èšŒã§ããŸãã
ãããè¡ãã«ã¯ãCAA ã¬ã³ãŒããäœæãŸãã¯å€æŽããŠãpki.goog
ãŸã㯠letsencrypt.org
ããããã¯ãã®äž¡æ¹ãå«ããŸããCAA ã¬ã³ãŒãããªãå Žåãããã©ã«ãã§ã¯ãpki.goog
ãš letsencrypt.org
ã®äž¡æ¹ãèš±å¯ãããŸãã
DOMAIN. CAA 0 issue "pki.goog" DOMAIN. CAA 0 issue "letsencrypt.org"
letsencrypt.org
èšŒææžã®ãµããŒãã¯ãã¹ããšãã©ãŒãæ¹åŒã§æäŸãããŸããæé«ã®ä¿¡é Œæ§ãåŸãã«ã¯ãpki.goog
ãš letsencrypt.org
ã®äž¡æ¹ãèš±å¯ããŸããCA ã 1 ã€ã ãæå®ããå Žåããã® CA ã®ã¿ãèšŒææžã®äœæãšæŽæ°ã«äœ¿çšãããŸãããã®æ¹æ³ã¯ããããããŸããã
èšŒææžãåããŠäœæãããšãã Google Cloud 㯠pki.goog
ãŸã㯠letsencrypt.org
ãéžæããããã䜿çšããŠèšŒææžãçºè¡ããŸããGoogle ãèšŒææžãæŽæ°ãããšãã¯ãCAA ã¬ã³ãŒãïŒäœæããå ŽåïŒã§æå®ãã CA ã«å¿ããŠãä»ã® CA ãèšŒææžãçºè¡ããå ŽåããããŸããæ¬¡ã®ããããã®å Žåãå¥ã® CA ã«ãã£ãŠèšŒææžãæŽæ°ãããå ŽåããããŸãã
- ãã¡ã€ã³ã® DNS CAA ã¬ã³ãŒãããªãã
- DNS CAA ã¬ã³ãŒãã«äž¡æ¹ã® CA ãå«ãŸããŠããã
詳ããã¯ãRFC ã® CAA DNS ã¬ã³ãŒããã芧ãã ããã
letsencrypt.org
ãåœéåãã¡ã€ã³åïŒIDNïŒãçºè¡ãããpki.goog
ã¯çŸåš IDN ããµããŒãããŠããŸããã
Cloud DNS ã䜿çšããŠããå Žåã¯ãã¬ã³ãŒãã®è¿œå æ¹æ³ã確èªããŠã--type
ãã©ã°ã CAA
ã«èšå®ããŠãã ããã
æ¢åã® SSL èšŒææžã眮ãæãã
æ¢åã® SSL èšŒææžã眮ãæããã«ã¯:
代æ¿ã® Google ãããŒãžã SSL èšŒææžãäœæããããã»ã¹ãéå§ããŸãããã®æç¹ã§ã¯ããã®èšŒææžã¯ãŸã ã¢ã¯ãã£ãã«ãªã£ãŠããŸããã
ã¿ãŒã²ãã ãããã·ãæŽæ°ããŠãåç §ãããèšŒææžã®ãªã¹ãã«ãçŸåšã® SSL èšŒææžãšä»£æ¿ã® SSL èšŒææžãå«ãŸããããã«ããŸããã¿ãŒã²ãã ãããã·ã®æŽæ°æé ã¯æ¬¡ã®ãšããã§ãã
ä»£æ¿ SSL èšŒææžã®ããããžã§ãã³ã°ãå®äºãããŸã§åŸ ã¡ãŸããããããžã§ãã³ã°ã«ã¯ 60 åã»ã©ãããå ŽåããããŸããããããžã§ãã³ã°ãå®äºãããšãèšŒææžã®ã¹ããŒã¿ã¹ã¯
ACTIVE
ã«ãªããŸãããã¹ãŠã® Google Front EndsïŒGFEïŒã代æ¿èšŒææžãå©çšã§ããããã«ãããã« 30 åéåŸ ã¡ãŸãã
ã¿ãŒã²ãã ãããã·ãæŽæ°ããŠãåç §ããèšŒææžã®ãªã¹ãããä»£æ¿ SSL èšŒææžãåé€ããŸããã¿ãŒã²ãã ãããã·ã®æŽæ°æé ã¯æ¬¡ã®ãšããã§ãã
10 ååŸ ã£ãŠãããŒããã©ã³ãµãå€ã SSL èšŒææžã§ã¯ãªãæ°ãã SSL èšŒææžã䜿çšããŠããããšã確èªããŸãã
ã¿ãŒã²ãã ãããã·ãååºŠæŽæ°ããå€ã SSL èšŒææžãªãœãŒã¹ãåé€ããŸããã¿ãŒã²ãã ãããã·ã«ãã£ãŠåç §ãããŠããªã SSL èšŒææžãªãœãŒã¹ã¯åé€ã§ããŸãã
å€ã SSL èšŒææžãåé€ããªãå Žåããã®èšŒææžã¯æå¹æéãåãããŸã§ã¢ã¯ãã£ãã®ãŸãŸã«ãªããŸãã
ã»ã«ã ãããŒãžã SSL èšŒææžãã Google ãããŒãžã SSL èšŒææžã«ç§»è¡ãã
ããŒããã©ã³ãµãã»ã«ã ãããŒãžã SSL èšŒææžãã Google ãããŒãžã SSL èšŒææžã«ç§»è¡ããå Žåãæ¬¡ã®æé ããã®é åºã©ããã«è¡ãå¿ èŠããããŸãã
- æ°ãã Google ãããŒãžãèšŒææžãäœæããŸãã
- æ¢åã®ã»ã«ã ãããŒãžãèšŒææžãšã¿ãŒã²ãã ãããã·ã®é¢é£ä»ããä¿ã¡ãªãããæ°ãã Google ãããŒãžãèšŒææžãšæ£ããã¿ãŒã²ãã ãããã·ãé¢é£ä»ããŸãã
- Google ãããŒãžãèšŒææžã®ã¹ããŒã¿ã¹ã
ACTIVE
ã«ãªããŸã§åŸ ã¡ãŸãã - æ°ããèšŒææžã Google Front EndïŒGFEïŒã«é ä¿¡ããããŸã§ 30 ååŸ ã¡ãŸãã
- ã¿ãŒã²ãã ãããã·ãååºŠæŽæ°ããã»ã«ã ãããŒãžã ãªãœãŒã¹ãåé€ããŸããã¿ãŒã²ãã ãããã·ã«ãã£ãŠåç §ãããŠããªãã»ã«ã ãããŒãžã SSL èšŒææžãªãœãŒã¹ã¯åé€ã§ããŸãã
SSL èšŒææžãåé€ãã
SSL èšŒææžãåé€ããåã«ãHTTPS ãŸã㯠SSL ã¿ãŒã²ãã ãããã·ããã®èšŒææžãåç §ããŠããªãããšã確èªããŠãã ãããäœæããæ¹æ³ã¯æ¬¡ã® 2 ã€ã§ãã
ãã®èšŒææžãåç §ããã¿ãŒã²ãã ãããã·ãåé€ããŸãã
ãã®èšŒææžãåç §ããã¿ãŒã²ãã ãããã·ãæŽæ°ããŠããããé€å€ããŸããæé ã¯æ¬¡ã®ãšããã§ãã
1 ã€ä»¥äžã® SSL èšŒææžãåé€ããã«ã¯:
ã³ã³ãœãŒã«
ã°ããŒãã« SSL èšŒææžã¯ã[Certificate Manager] ããŒãžã® [åŸæ¥ã®èšŒææž] ã¿ãã§åé€ã§ããŸãã
- Google Cloud ã³ã³ãœãŒã«ã® [åŸæ¥ã®èšŒææž] ã¿ãã«ç§»åããŸãã
[åŸæ¥ã®èšŒææž] ã«ç§»å - åé€ãã SSL èšŒææžãéžæããŸãã
- [åé€] ãã¯ãªãã¯ããŸãã
- ããäžåºŠ [åé€] ãã¯ãªãã¯ããŠç¢ºå®ããŸãã
gcloud
ã°ããŒãã« SSL èšŒææžïŒã°ããŒãã«å€éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµãŸãã¯å€éšãããã· ãããã¯ãŒã¯ ããŒããã©ã³ãµã®å ŽåïŒãåé€ããã«ã¯ãgcloud compute ssl-certificates
delete
ã³ãã³ããš --global
ã³ãã³ãã䜿çšããŸãã
gcloud compute ssl-certificates delete CERTIFICATE_NAME \ --global
次ã®ããã«çœ®ãæããŸãã
CERTIFICATE_NAME
: SSL èšŒææžã®åå
次ã®ã¹ããã
- SSL èšŒææžã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°ãè¡ããSSL èšŒææžã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°ãã芧ãã ããã
- Terraform ã¹ã¯ãªããã䜿çšã㊠Google ãããŒãžãèšŒææžãäœæãããCloud Run ã®äŸïŒå€éšã¢ããªã±ãŒã·ã§ã³ ããŒããã©ã³ãµã® Terraform ã¢ãžã¥ãŒã«ã®äŸïŒãã芧ãã ããã