์ด ํํ ๋ฆฌ์ผ์์๋ ์ธ์ฆ์ ๊ด๋ฆฌ์๋ฅผ ์ฌ์ฉํ์ฌ Certificate Authority Service๊ฐ ์๋ ์ ์ญ Google ๊ด๋ฆฌํ ์ธ์ฆ์๋ฅผ ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
๋ค์ ์ ์ญ ๋ถํ ๋ถ์ฐ๊ธฐ์์๋ ์ธ์ฆ ๊ธฐ๊ด ์๋น์ค๋ฅผ ํตํด Google ๊ด๋ฆฌํ ์ธ์ฆ์๋ฅผ ์ง์ํฉ๋๋ค.
- ์ ์ญ ์ธ๋ถ ์ ํ๋ฆฌ์ผ์ด์ ๋ถํ ๋ถ์ฐ๊ธฐ
- ๊ธฐ๋ณธ ์ ํ๋ฆฌ์ผ์ด์ ๋ถํ ๋ถ์ฐ๊ธฐ
- ์ ์ญ ์ธ๋ถ ํ๋ก์ ๋คํธ์ํฌ ๋ถํ ๋ถ์ฐ๊ธฐ
๋ฆฌ์ ๊ฐ ๋ถํ ๋ถ์ฐ๊ธฐ ๋๋ ๋ฆฌ์ ๋ถํ ๋ถ์ฐ๊ธฐ์ ๋ฐฐํฌํ๋ ค๋ฉด ๋ค์์ ์ฐธ๊ณ ํ์ธ์.
๋ชฉํ
์ด ํํ ๋ฆฌ์ผ์์๋ ๋ค์ ์์ ์ ์๋ฃํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
- ์ธ์ฆ์ ๊ด๋ฆฌ์๋ฅผ ์ฌ์ฉํ์ฌ CA ์๋น์ค๋ก Google ๊ด๋ฆฌํ ์ธ์ฆ์๋ฅผ ๋ง๋ญ๋๋ค.
- ๋์ HTTPS ํ๋ก์๋ฅผ ์ฌ์ฉํ์ฌ ์ง์๋๋ ๋ถํ ๋ถ์ฐ๊ธฐ์ ์ธ์ฆ์๋ฅผ ๋ฐฐํฌํฉ๋๋ค.
์์ํ๊ธฐ ์ ์
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine, Certificate Manager, Certificate Authority APIs.
-
Install the Google Cloud CLI.
-
์ธ๋ถ ID ๊ณต๊ธ์ ์ฒด (IdP)๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋จผ์ ์ ํด ID๋ก gcloud CLI์ ๋ก๊ทธ์ธํด์ผ ํฉ๋๋ค.
-
gcloud CLI๋ฅผ ์ด๊ธฐํํ๋ ค๋ฉด, ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine, Certificate Manager, Certificate Authority APIs.
-
Install the Google Cloud CLI.
-
์ธ๋ถ ID ๊ณต๊ธ์ ์ฒด (IdP)๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋จผ์ ์ ํด ID๋ก gcloud CLI์ ๋ก๊ทธ์ธํด์ผ ํฉ๋๋ค.
-
gcloud CLI๋ฅผ ์ด๊ธฐํํ๋ ค๋ฉด, ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
gcloud init
- CA Service API๋ฅผ ์ฌ์ฉ ์ค์ ํฉ๋๋ค.
- CA ํ์ ๋ง๋ญ๋๋ค. ์ด CA ํ์ CA๋ฅผ 1๊ฐ ์ด์ ๋ง๋ค์ด ์ฌ์ฉ ์ค์ ํด์ผ ํฉ๋๋ค.
- Certificate Authority Service๋ก ๋ง๋ ์ธ์ฆ์๋ ๊ณต๊ฐ์ ์ผ๋ก ์ ๋ขฐํ ์ ์์ต๋๋ค. ๊ณต๊ฐ์ ์ผ๋ก ์ ๋ขฐํ ์ ์๋ ์ธ์ฆ์๋ฅผ ๋ฐ๊ธํ๋ ค๋ฉด DNS ์น์ธ ๋๋ ๋ถํ ๋ถ์ฐ๊ธฐ ์น์ธ์ ์ฌ์ฉํ์ฌ ์ธ์ฆ์๋ฅผ ๋ง๋์ธ์.
๋์ CA ํ์ ์ธ์ฆ์ ๋ฐ๊ธ ์ ์ฑ ์ด ์ ์ฉ๋๋ฉด ๋ค์ ์ด์ ์ค ํ๋๋ก ์ธํด ์ธ์ฆ์ ํ๋ก๋น์ ๋์ด ์คํจํ ์ ์์ต๋๋ค.
- ์ธ์ฆ์ ๋ฐ๊ธ ์ ์ฑ ์ด ์์ฒญ๋ ์ธ์ฆ์๋ฅผ ์ฐจ๋จํ์ต๋๋ค. ์ด ๊ฒฝ์ฐ ์ธ์ฆ์๊ฐ ๋ฐ๊ธ๋์ง ์์ ๋น์ฉ์ด ์ฒญ๊ตฌ๋์ง ์์ต๋๋ค.
- ์ ์ฑ ์ด ์ธ์ฆ์ ๊ด๋ฆฌ์์์ ์ง์ํ์ง ์๋ ์ธ์ฆ์์ ๋ณ๊ฒฝ์ฌํญ์ ์ ์ฉํ์ต๋๋ค. ์ด ๊ฒฝ์ฐ ์ธ์ฆ์ ๊ด๋ฆฌ์์ ์๋ฒฝํ๊ฒ ํธํ๋์ง ์๋๋ผ๋ ์ธ์ฆ์๊ฐ ๋ฐ๊ธ๋ ์ดํ ์๊ธ์ด ์ฒญ๊ตฌ๋ฉ๋๋ค.
์ ์ญ Google ๊ด๋ฆฌํ TLS ์ธ์ฆ์๋ ๋ชจ๋ ๋ฆฌ์ ์ CA ํ์์ ๋ฐ๊ธ๋๋๋ก ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
์ธ์ฆ์ ๊ด๋ฆฌ์ ์์ ์(
roles/certificatemanager.owner
)์ธ์ฆ์ ๊ด๋ฆฌ์ ๋ฆฌ์์ค๋ฅผ ๋ง๋ค๊ณ ๊ด๋ฆฌํ๋ ๋ฐ ํ์ํฉ๋๋ค.
Compute ๋ถํ ๋ถ์ฐ๊ธฐ ๊ด๋ฆฌ์ (
roles/compute.loadBalancerAdmin
) ๋๋ Compute ๋คํธ์ํฌ ๊ด๋ฆฌ์ (roles/compute.networkAdmin
)HTTPS ๋์ ํ๋ก์๋ฅผ ๋ง๋ค๊ณ ๊ด๋ฆฌํ๋ ๋ฐ ํ์ํฉ๋๋ค.
CA ์๋น์ค ๊ด๋ฆฌ์ (
roles/privateca.admin
)CA ์๋น์ค ๋ด์์ ์์ ์ ์ํํ๋ ๋ฐ ํ์ํฉ๋๋ค.
- ์ธ์ฆ์ ๊ด๋ฆฌ์์ ์ญํ ๋ฐ ๊ถํ
- Compute Engine์ Compute Engine IAM ์ญํ ๋ฐ ๊ถํ
- CA Service์ IAM์ผ๋ก ์ก์ธ์ค ์ ์ด
์ ์ญ ์ธ๋ถ ์ ํ๋ฆฌ์ผ์ด์ ๋ถํ ๋ถ์ฐ๊ธฐ๋ฅผ ๋ง๋ค๋ ค๋ฉด VM ์ธ์คํด์ค ๊ทธ๋ฃน ๋ฐฑ์๋๋ก ์ ์ญ ์ธ๋ถ ์ ํ๋ฆฌ์ผ์ด์ ๋ถํ ๋ถ์ฐ๊ธฐ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
๊ธฐ๋ณธ ์ ํ๋ฆฌ์ผ์ด์ ๋ถํ ๋ถ์ฐ๊ธฐ๋ฅผ ๋ง๋ค๋ ค๋ฉด ๊ด๋ฆฌํ ์ธ์คํด์ค ๊ทธ๋ฃน ๋ฐฑ์๋๋ก ๊ธฐ๋ณธ ์ ํ๋ฆฌ์ผ์ด์ ๋ถํ ๋ถ์ฐ๊ธฐ ์ค์ ์ ์ฐธ๊ณ ํ์ธ์.
์ ์ญ ์ธ๋ถ ํ๋ก์ ๋คํธ์ํฌ ๋ถํ ๋ถ์ฐ๊ธฐ (SSL ํ๋ก์)๋ฅผ ๋ง๋ค๋ ค๋ฉด VM ์ธ์คํด์ค ๊ทธ๋ฃน ๋ฐฑ์๋๋ก ์ ์ญ ์ธ๋ถ ํ๋ก์ ๋คํธ์ํฌ ๋ถํ ๋ถ์ฐ๊ธฐ (SSL ํ๋ก์) ์ค์ ์ ์ฐธ๊ณ ํ์ธ์.
๊ธฐ๋ณธ ํ๋ก์ ๋คํธ์ํฌ ๋ถํ ๋ถ์ฐ๊ธฐ (SSL ํ๋ก์)๋ฅผ ๋ง๋ค๋ ค๋ฉด VM ์ธ์คํด์ค ๊ทธ๋ฃน ๋ฐฑ์๋๋ก ๊ธฐ๋ณธ ํ๋ก์ ๋คํธ์ํฌ ๋ถํ ๋ถ์ฐ๊ธฐ (SSL ํ๋ก์) ์ค์ ์ ์ฐธ๊ณ ํ์ธ์.
ํ๊ฒ Google Cloud ํ๋ก์ ํธ์์ ์ธ์ฆ์ ๊ด๋ฆฌ์ ์๋น์ค ๊ณ์ ์ ๋ง๋ญ๋๋ค.
gcloud beta services identity create --service=certificatemanager.googleapis.com \ --project=PROJECT_ID
PROJECT_ID
๋ฅผ ํ๊ฒGoogle Cloud ํ๋ก์ ํธ์ ID๋ก ๋ฐ๊ฟ๋๋ค.์ด ๋ช ๋ น์ด๋ ์์ฑ๋ ์๋น์ค ID์ ์ด๋ฆ์ ๋ฐํํฉ๋๋ค. ์๋ ์์๋ฅผ ์ฐธ์กฐํ์ธ์.
service-520498234@gcp-sa-certificatemanager.iam.gserviceaccount.com
์ธ์ฆ์ ๊ด๋ฆฌ์ ์๋น์ค ๊ณ์ ์ ๋์ CA ํ ๋ด์์ CA ์๋น์ค ์ธ์ฆ์ ์์ฒญ์ ์ญํ (
roles/privateca.certificateRequester
)์ ๋ถ์ฌํฉ๋๋ค.gcloud privateca pools add-iam-policy-binding CA_POOL \ --location LOCATION \ --member "serviceAccount:SERVICE_ACCOUNT" \ --role roles/privateca.certificateRequester
๋ค์์ ๋ฐ๊ฟ๋๋ค.
CA_POOL
: ๋์ CA ํ์ ID์ ๋๋ค.LOCATION
: ํ๊ฒ Google Cloud ์์น์ ๋๋ค.SERVICE_ACCOUNT
: 1๋จ๊ณ์์ ๋ง๋ ์๋น์ค ๊ณ์ ์ ์ ์ฒด ์ด๋ฆ์ ๋๋ค.
CA ํ์ ์ธ์ฆ์ ๋ฐ๊ธ ๊ตฌ์ฑ ๋ฆฌ์์ค๋ฅผ ๋ง๋ญ๋๋ค.
์ฝ์
Google Cloud ์ฝ์์ ์ธ์ฆ์ ๊ด๋ฆฌ์ ํ์ด์ง์์ ๋ฐ๊ธ ๊ตฌ์ฑ ํญ์ผ๋ก ์ด๋ํฉ๋๋ค.
๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค. ์ธ์ฆ์ ๋ฐ๊ธ ๊ตฌ์ฑ ๋ง๋ค๊ธฐ ํ์ด์ง๊ฐ ํ์๋ฉ๋๋ค.
์ด๋ฆ ํ๋์ ์ธ์ฆ์ ๋ฐ๊ธ ๊ตฌ์ฑ์ ๊ณ ์ ํ ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค.
์ ํ์ฌํญ: ์ค๋ช ํ๋์ ๋ฐ๊ธ ๊ตฌ์ฑ์ ๋ํ ์ค๋ช ์ ์ ๋ ฅํฉ๋๋ค.
์์น์์ ์ ์ญ์ ์ ํํฉ๋๋ค.
์ ํ์ฌํญ: ์ ์ฒด ๊ธฐ๊ฐ ํ๋์ ๋ฐ๊ธ๋ ์ธ์ฆ์์ ์ ์ฒด ๊ธฐ๊ฐ์ ์ผ ๋จ์๋ก ์ง์ ํฉ๋๋ค. ๊ฐ์ 21~30์ผ(ํฌํจ) ์ฌ์ด์ฌ์ผ ํฉ๋๋ค.
์ ํ์ฌํญ: ์ํ ๊ธฐ๊ฐ ๋น์จ์์ ๊ฐฑ์ ํ๋ก์ธ์ค๊ฐ ์์๋ ๋ ์ธ์ฆ์ ์๋ช ๋น์จ์ ์ง์ ํฉ๋๋ค. ์ ํจํ ๊ฐ ๋ฒ์๋ฅผ ์ฐพ์ผ๋ ค๋ฉด ์ ์ฒด ๊ธฐ๊ฐ ๋ฐ ์ํ ๊ธฐ๊ฐ ๋น์จ์ ์ฐธ๊ณ ํ์ธ์.
์ ํ์ฌํญ: ํค ์๊ณ ๋ฆฌ์ฆ ๋ชฉ๋ก์์ ๋น๊ณต๊ฐ ํค๋ฅผ ์์ฑํ ๋ ์ฌ์ฉํ ํค ์๊ณ ๋ฆฌ์ฆ์ ์ ํํฉ๋๋ค.
CA ํ ๋ชฉ๋ก์์ ์ด ์ธ์ฆ์ ๋ฐ๊ธ ๊ตฌ์ฑ ๋ฆฌ์์ค์ ํ ๋นํ CA ํ์ ์ด๋ฆ์ ์ ํํฉ๋๋ค.
๋ผ๋ฒจ ํ๋์์ ์ธ์ฆ์์ ์ฐ๊ฒฐํ ๋ผ๋ฒจ์ ์ง์ ํฉ๋๋ค. ๋ผ๋ฒจ์ ์ถ๊ฐํ๋ ค๋ฉด
๋ผ๋ฒจ ์ถ๊ฐ๋ฅผ ํด๋ฆญํ๊ณ ๋ผ๋ฒจ์ ํค์ ๊ฐ์ ์ง์ ํฉ๋๋ค.๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
gcloud
gcloud certificate-manager issuance-configs create ISSUANCE_CONFIG_NAME \ --ca-pool=CA_POOL
๋ค์์ ๋ฐ๊ฟ๋๋ค.
ISSUANCE_CONFIG_NAME
: ์ธ์ฆ์ ๋ฐ๊ธ ๊ตฌ์ฑ ๋ฆฌ์์ค์ ์ด๋ฆ์ ๋๋ค.CA_POOL
: ์ด ์ธ์ฆ์ ๋ฐ๊ธ ๊ตฌ์ฑ ๋ฆฌ์์ค์ ํ ๋นํ CA ํ์ ์ ์ฒด ๋ฆฌ์์ค ๊ฒฝ๋ก์ ์ด๋ฆ์ ๋๋ค.
์ธ์ฆ์ ๋ฐ๊ธ ๊ตฌ์ฑ ๋ฆฌ์์ค์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ธ์ฆ์ ๋ฐ๊ธ ๊ตฌ์ฑ ๋ฆฌ์์ค ๊ด๋ฆฌ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
Google Cloud ์ฝ์์์ ์ธ์ฆ์ ๊ด๋ฆฌ์ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ธ์ฆ์ ํญ์์ ์ธ์ฆ์ ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ธ์ฆ์ ์ด๋ฆ ํ๋์ ์ธ์ฆ์์ ๊ณ ์ ํ ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค.
์ ํ์ฌํญ: ์ค๋ช ํ๋์ ์ธ์ฆ์์ ๋ํ ์ค๋ช ์ ์ ๋ ฅํฉ๋๋ค. ์ค๋ช ์ ํตํด ์ธ์ฆ์๋ฅผ ์๋ณํ ์ ์์ต๋๋ค.
์์น์์ ์ ์ญ์ ์ ํํฉ๋๋ค.
๋ฒ์์์ ๊ธฐ๋ณธ๊ฐ์ ์ ํํฉ๋๋ค.
์ธ์ฆ์ ์ ํ์์ Google ๊ด๋ฆฌํ ์ธ์ฆ์ ๋ง๋ค๊ธฐ๋ฅผ ์ ํํฉ๋๋ค.
์ธ์ฆ ๊ธฐ๊ด ์ ํ์์ ๋น๊ณต๊ฐ๋ฅผ ์ ํํฉ๋๋ค.
๋๋ฉ์ธ ์ด๋ฆ ํ๋์ ์ธ์ฆ์์ ๋๋ฉ์ธ ์ด๋ฆ ๋ชฉ๋ก์ ์ผํ๋ก ๊ตฌ๋ถํ์ฌ ์ง์ ํฉ๋๋ค. ๊ฐ ๋๋ฉ์ธ ์ด๋ฆ์
myorg.example.com
๊ณผ ๊ฐ์ ์ ๊ทํ๋ ๋๋ฉ์ธ ์ด๋ฆ์ด์ด์ผ ํฉ๋๋ค.์ธ์ฆ์ ๋ฐ๊ธ ๊ตฌ์ฑ ์ ํ์์ ๋์ CA ํ์ ์ฐธ์กฐํ๋ ์ธ์ฆ์ ๋ฐ๊ธ ๊ตฌ์ฑ ๋ฆฌ์์ค์ ์ด๋ฆ์ ์ ํํฉ๋๋ค.
๋ผ๋ฒจ ํ๋์์ ์ธ์ฆ์์ ์ฐ๊ฒฐํ ๋ผ๋ฒจ์ ์ง์ ํฉ๋๋ค. ๋ผ๋ฒจ์ ์ถ๊ฐํ๋ ค๋ฉด
๋ผ๋ฒจ ์ถ๊ฐ๋ฅผ ํด๋ฆญํ๊ณ ๋ผ๋ฒจ์ ํค์ ๊ฐ์ ์ง์ ํฉ๋๋ค.๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ ์ธ์ฆ์๊ฐ ์ธ์ฆ์ ๋ชฉ๋ก์ ํ์๋ฉ๋๋ค.
CERTIFICATE_NAME
: ์ธ์ฆ์์ ์ด๋ฆ์ ๋๋ค.DOMAIN_NAME
: ๋์ ๋๋ฉ์ธ ์ด๋ฆ์ ๋๋ค. ๋๋ฉ์ธ ์ด๋ฆ์myorg.example.com
๊ณผ ๊ฐ์ ์ ๊ทํ๋ ๋๋ฉ์ธ ์ด๋ฆ์ด์ด์ผ ํฉ๋๋ค.ISSUANCE_CONFIG_NAME
: ๋์ CA ํ์ ์ฐธ์กฐํ๋ ์ธ์ฆ์ ๋ฐ๊ธ ๊ตฌ์ฑ ๋ฆฌ์์ค์ ์ด๋ฆ์ ๋๋ค.PROJECT_ID
: Google Cloud ํ๋ก์ ํธ์ ID์ ๋๋ค.CERTIFICATE_NAME
: ์ธ์ฆ์์ ์ด๋ฆ์ ๋๋ค.DOMAIN_NAME
: ๋์ ๋๋ฉ์ธ ์ด๋ฆ์ ๋๋ค. ๋๋ฉ์ธ ์ด๋ฆ์myorg.example.com
๊ณผ ๊ฐ์ ์ ๊ทํ๋ ๋๋ฉ์ธ ์ด๋ฆ์ด์ด์ผ ํฉ๋๋ค.ISSUANCE_CONFIG_NAME
: ๋์ CA ํ์ ์ฐธ์กฐํ๋ ์ธ์ฆ์ ๋ฐ๊ธ ๊ตฌ์ฑ ๋ฆฌ์์ค์ ์ด๋ฆ์ ๋๋ค.Google Cloud ์ฝ์์์ ์ธ์ฆ์ ๊ด๋ฆฌ์ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ธ์ฆ์ ํญ์์ ์ธ์ฆ์์ ์ํ ์ด์ ํ์ธํฉ๋๋ค.
CERTIFICATE_MAP_ENTRY_NAME
: ์ธ์ฆ์ ๋งต ํญ๋ชฉ์ ์ด๋ฆ์ ๋๋ค.CERTIFICATE_MAP_NAME
: ์ธ์ฆ์ ๋งต ํญ๋ชฉ์ด ์ฐ๊ฒฐ๋ ์ธ์ฆ์ ๋งต์ ์ด๋ฆ์ ๋๋ค.CERTIFICATE_NAME
: ์ธ์ฆ์ ๋งต ํญ๋ชฉ์ ์ฐ๊ฒฐํ๋ ค๋ ์ธ์ฆ์์ ์ด๋ฆHOSTNAME
: ์ธ์ฆ์ ๋งต ํญ๋ชฉ๊ณผ ์ฐ๊ฒฐํ๋ ค๋ ํธ์คํธ ์ด๋ฆ์์ผ๋ ์นด๋ ๋๋ฉ์ธ๊ณผ ๋ฃจํธ ๋๋ฉ์ธ์ ๋ชจ๋ ํฌํจํ๋ ์ธ์ฆ์๋ฅผ ๋ง๋ค๋ ค๋ฉด ๋ฃจํธ์ ์์ผ๋ ์นด๋๊ฐ ์๋ ํธ์คํธ ์ด๋ฆ(์:
example.com
๋ฐ*.example.com
)์ ์ง์ ํฉ๋๋ค. ๋ํexample.com
์ฉ ์ธ์ฆ์ ๋งต ํญ๋ชฉ ํ๋์*.example.com
์ฉ ์ธ์ฆ์ ๋งต ํญ๋ชฉ ํ๋ ๋ฑ ๋ ๊ฐ์ ์ธ์ฆ์ ๋งต ํญ๋ชฉ์ ์ง์ ํด์ผ ํฉ๋๋ค.CERTIFICATE_MAP_ENTRY_NAME
: ์ธ์ฆ์ ๋งต ํญ๋ชฉ์ ์ด๋ฆ์ ๋๋ค.CERTIFICATE_NAME
: ์ธ์ฆ์ ๋งต ํญ๋ชฉ์ ์ฐ๊ฒฐํ๋ ค๋ ์ธ์ฆ์์ ์ด๋ฆPROXY_NAME
: ๋์ ํ๋ก์ ์ด๋ฆCERTIFICATE_MAP_NAME
: ์ธ์ฆ์ ๋งต ํญ๋ชฉ๊ณผ ์ฐ๊ฒฐ๋ ์ธ์ฆ์๋ฅผ ์ฐธ์กฐํ๋ ์ธ์ฆ์ ๋งต์ ์ด๋ฆURL_MAP
: URL ๋งต์ ์ด๋ฆ๋ถํ ๋ถ์ฐ๊ธฐ์ ํด๋น ๋ฆฌ์์ค๋ฅผ ์ญ์ ํฉ๋๋ค.
๋ถํ ๋ถ์ฐ ์ค์ ์ญ์ ๋ฅผ ์ฐธ์กฐํ์ธ์.
ํ๋ก์์์ ์ธ์ฆ์ ๋งต์ ์ญ์ ํ๊ฑฐ๋ ๋ถ๋ฆฌํฉ๋๋ค.
์ธ์ฆ์ ๋งต์ ์ญ์ ํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
gcloud compute target-https-proxies delete PROXY_NAME
๋์ HTTPS ํ๋ก์๋ฅผ ์ ์งํ๋ ค๋ฉด ํ๋ก์์์ ์ธ์ฆ์ ๋งต์ ๋ถ๋ฆฌํ์ธ์. ์ธ์ฆ์ ๋งต์ ๋ถ๋ฆฌํ๊ธฐ ์ ์ ๋ค์ ์ฌํญ์ ์ ์ํ์ธ์.
- ํ๋ก์์ ์ง์ ์ฐ๊ฒฐ๋ TLS (SSL) ์ธ์ฆ์๊ฐ ์๋ ๊ฒฝ์ฐ ์ธ์ฆ์ ๋งต์ ๋ถ๋ฆฌํ๋ฉด ํ๋ก์๊ฐ ์ง์ ์ฐ๊ฒฐ๋ TLS (SSL) ์ธ์ฆ์๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก์๋ฅผ ๋ค์ ์์ํฉ๋๋ค.
- ํ๋ก์์ ์ง์ ์ฐ๊ฒฐ๋ TLS (SSL) ์ธ์ฆ์๊ฐ ์์ผ๋ฉด ์ธ์ฆ์ ๋งต์ ํ๋ก์์์ ๋ถ๋ฆฌํ ์ ์์ต๋๋ค. ์ธ์ฆ์ ๋งต์ ๋ถ๋ฆฌํ๋ ค๋ฉด ๋จผ์ TLS(SSL) ์ธ์ฆ์ ์ต์ ํ๋ ์ด์์ ํ๋ก์์ ์ง์ ์ฐ๊ฒฐํด์ผ ํฉ๋๋ค.
์ธ์ฆ์ ๋งต์ ๋ถ๋ฆฌํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
gcloud compute target-https-proxies update PROXY_NAME \ --clear-certificate-map
PROXY_NAME
์ ๋์ ํ๋ก์์ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค.์ธ์ฆ์ ๋งต์์ ์ธ์ฆ์ ๋งต ํญ๋ชฉ์ ์ญ์ ํฉ๋๋ค.
gcloud certificate-manager maps entries delete CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME"
๋ค์์ ๋ฐ๊ฟ๋๋ค.
CERTIFICATE_MAP_ENTRY_NAME
: ์ธ์ฆ์ ๋งต ํญ๋ชฉ์ ์ด๋ฆ์ ๋๋ค.CERTIFICATE_MAP_NAME
: ์ธ์ฆ์ ๋งต์ ์ด๋ฆ์ ๋๋ค.
์ธ์ฆ์ ๋งต์ ์ญ์ ํฉ๋๋ค.
gcloud certificate-manager maps delete CERTIFICATE_MAP_NAME
CERTIFICATE_MAP_NAME
์ ์ธ์ฆ์ ๋งต์ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค.Google ๊ด๋ฆฌํ ์ธ์ฆ์๋ฅผ ์ญ์ ํฉ๋๋ค.
์ฝ์
Google Cloud ์ฝ์์์ ์ธ์ฆ์ ๊ด๋ฆฌ์ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ธ์ฆ์ ํญ์์ ์ธ์ฆ์์ ์ฒดํฌ๋ฐ์ค๋ฅผ ์ ํํฉ๋๋ค.
์ญ์ ๋ฅผ ํด๋ฆญํฉ๋๋ค.
ํ์๋๋ ๋ํ์์์์ ์ญ์ ๋ฅผ ํด๋ฆญํ์ฌ ํ์ธํฉ๋๋ค.
gcloud
gcloud certificate-manager certificates delete CERTIFICATE_NAME
CERTIFICATE_NAME
์ ๋์ ์ธ์ฆ์์ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค.์ธ์ฆ์ ๋ฐ๊ธ ๊ตฌ์ฑ ๋ฆฌ์์ค๋ฅผ ์ญ์ ํฉ๋๋ค.
์ฝ์
Google Cloud ์ฝ์์ ์ธ์ฆ์ ๊ด๋ฆฌ์ ํ์ด์ง์์ ๋ฐ๊ธ ๊ตฌ์ฑ ํญ์ผ๋ก ์ด๋ํฉ๋๋ค.
์ญ์ ํ ๋ฐ๊ธ ๊ตฌ์ฑ ๋ฆฌ์์ค์ ์ฒดํฌ๋ฐ์ค๋ฅผ ์ ํํฉ๋๋ค.
์ญ์ ๋ฅผ ํด๋ฆญํฉ๋๋ค.
ํ์๋๋ ๋ํ์์์์ ์ญ์ ๋ฅผ ํด๋ฆญํ์ฌ ํ์ธํฉ๋๋ค.
gcloud
gcloud certificate-manager issuance-configs delete ISSUANCE_CONFIG_NAME
ISSUANCE_CONFIG_NAME
์ ๋์ ์ธ์ฆ์ ๋ฐ๊ธ ๊ตฌ์ฑ ๋ฆฌ์์ค์ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค.CA ํ์ ์ญ์ ํฉ๋๋ค.
CA ํ์ ์ญ์ ํ๊ฑฐ๋ ์ธ์ฆ์ ๋ฐ๊ธ ๊ตฌ์ฑ ๋ฆฌ์์ค์์ ์ฐธ์กฐํ๋ CA ํ์์ ์ฌ์ฉ ์ค์ ๋ ๋ง์ง๋ง CA๋ฅผ ์ฌ์ฉ ์ค์งํ๋ ค๋ฉด CA ํ์ ์ฐธ์กฐํ๋ ๋ชจ๋ ์ธ์ฆ์ ๋ฐ๊ธ ๊ตฌ์ฑ ๋ฆฌ์์ค๋ฅผ ์ญ์ ํ์ธ์. ์์ธํ ๋ด์ฉ์ CA ํ ์ญ์ ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
์ด ํํ ๋ฆฌ์ผ์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด๊ธฐ ์ ์ ๋ค์ ์ฌํญ์ ๊ธฐ๋กํด ๋์ด์ผ ํฉ๋๋ค.
ํ์ํ ์ญํ
์ด ํํ ๋ฆฌ์ผ์ ํ์คํฌ๋ฅผ ์๋ฃํ๋ ค๋ฉด ๋ค์ ์ญํ ์ด ๋ถ์ฌ๋์๋์ง ํ์ธํ์ธ์.
์์ธํ ๋ด์ฉ์ ๋ค์์ ์ฐธ์กฐํ์ธ์.
๋ถํ ๋ถ์ฐ๊ธฐ ๋ง๋ค๊ธฐ
์ด ํํ ๋ฆฌ์ผ์์๋ ๋ถํ ๋ถ์ฐ๊ธฐ์ ๋ฐฑ์๋, ์ํ ์ ๊ฒ, ๋ฐฑ์๋ ์๋น์ค, URL ๋งต์ ์ด๋ฏธ ๋ง๋ค๊ณ ๊ตฌ์ฑํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ์ธ๋ถ ์ ํ๋ฆฌ์ผ์ด์ ๋ถํ ๋ถ์ฐ๊ธฐ๋ฅผ ๋ง๋ ๊ฒฝ์ฐ ์ด ํํ ๋ฆฌ์ผ์ ํ๋ฐ๋ถ์์ ํ์ํ๋ฏ๋ก URL ๋งต ์ด๋ฆ์ ๊ธฐ๋กํด ๋ก๋๋ค.
๋ถํ ๋ถ์ฐ๊ธฐ๋ฅผ ๋ง๋ค์ง ์์ ๊ฒฝ์ฐ ๋ค์ ํ์ด์ง๋ฅผ ์ฐธ๊ณ ํ์ฌ ๋ง๋์ธ์.
์ธ์ฆ์ ๊ด๋ฆฌ์์ CA ์๋น์ค ํตํฉ ๊ตฌ์ฑ
์ธ์ฆ์ ๊ด๋ฆฌ์์ CA ์๋น์ค๋ฅผ ํตํฉํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์.
CA ์๋น์ค ์ธ์คํด์ค์์ ๋ฐ๊ธํ Google ๊ด๋ฆฌ ์ธ์ฆ์ ๋ง๋ค๊ธฐ
CA ์๋น์ค ์ธ์คํด์ค์์ ๋ฐ๊ธํ Google ๊ด๋ฆฌํ ์ธ์ฆ์๋ฅผ ๋ง๋ค๋ ค๋ฉด ๋ค์์ ์คํํ์ธ์.
์ฝ์
gcloud
Certificate Authority Service๋ก ์ ์ญ Google ๊ด๋ฆฌํ ์ธ์ฆ์๋ฅผ ๋ง๋ค๋ ค๋ฉด certificate-manager certificates create
๋ช
๋ น์ด๋ฅผ issuance-config
ํ๋๊ทธ์ ํจ๊ป ์ฌ์ฉํฉ๋๋ค.
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --domains="DOMAIN_NAMES" \ --issuance-config=ISSUANCE_CONFIG_NAME
๋ค์์ ๋ฐ๊ฟ๋๋ค.
API
๋ค์๊ณผ ๊ฐ์ด certificates.create
๋ฉ์๋์ POST
์์ฒญ์ ์ ์กํ์ฌ ์ธ์ฆ์๋ฅผ ๋ง๋ญ๋๋ค.
POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME" { "managed": { "domains": ["DOMAIN_NAME"], "issuanceConfig": "ISSUANCE_CONFIG_NAME", } }
๋ค์์ ๋ฐ๊ฟ๋๋ค.
์ธ์ฆ์ ์ํ ํ์ธ
์ธ์ฆ์๋ฅผ ๋ถํ ๋ถ์ฐ๊ธฐ์ ๋ฐฐํฌํ๊ธฐ ์ ์ ์ธ์ฆ์๊ฐ ํ์ฑ ์ํ์ธ์ง ํ์ธํฉ๋๋ค. ์ธ์ฆ์ ์ํ๊ฐ ACTIVE
๋ก ๋ณ๊ฒฝ๋๋ ๋ฐ ๋ช ๋ถ ์ ๋ ๊ฑธ๋ฆด ์ ์์ต๋๋ค.
์ฝ์
gcloud
์ธ์ฆ์ ์ํ๋ฅผ ํ์ธํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํ์ธ์.
gcloud certificate-manager certificates describe CERTIFICATE_NAME
CERTIFICATE_NAME
์ ๋์ Google ๊ด๋ฆฌํ ์ธ์ฆ์์ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค.
์ถ๋ ฅ์ ๋ค์๊ณผ ๋น์ทํฉ๋๋ค.
createTime: '2021-10-20T12:19:53.370778666Z' expireTime: '2022-05-07T05:03:49Z' managed: domains: - myorg.example.com issuanceConfig: projects/myproject/locations/global/issuanceConfigs/myissuanceConfig state: ACTIVE name: projects/myproject/locations/global/certificates/mycertificate pemCertificate: | -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE----- sanDnsnames: - myorg.example.com updateTime: '2021-10-20T12:19:55.083385630Z'
์ถ๊ฐ ๋ฌธ์ ํด๊ฒฐ ๋จ๊ณ๋ ์ธ์ฆ์ ๊ด๋ฆฌ์ ๋ฌธ์ ํด๊ฒฐ์ ์ฐธ๊ณ ํ์ธ์.
๋ถํ ๋ถ์ฐ๊ธฐ์ ์ธ์ฆ์ ๋ฐฐํฌ
์ ์ญ Google ๊ด๋ฆฌํ ์ธ์ฆ์๋ฅผ ๋ฐฐํฌํ๋ ค๋ฉด ์ธ์ฆ์ ๋งต์ ์ฌ์ฉํ์ธ์.
์ธ์ฆ์ ๋งต ๋ง๋ค๊ธฐ
์ธ์ฆ์์ ์ฐ๊ฒฐ๋ ์ธ์ฆ์ ๋งต ํญ๋ชฉ์ ์ฐธ์กฐํ๋ ์ธ์ฆ์ ๋งต์ ๋ง๋ญ๋๋ค.
gcloud
์ธ์ฆ์ ๋งต์ ๋ง๋ค๋ ค๋ฉด gcloud certificate-manager maps create
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
gcloud certificate-manager maps create CERTIFICATE_MAP_NAME
CERTIFICATE_MAP_NAME
์ ๋์ ์ธ์ฆ์ ๋งต์ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค.
Terraform
์ธ์ฆ์ ๋งต์ ๋ง๋ค๋ ค๋ฉด google_certificate_manager_certificate_map
๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
์ธ์ฆ์ ๋งต ํญ๋ชฉ ๋ง๋ค๊ธฐ
์ธ์ฆ์ ๋งต ํญ๋ชฉ์ ๋ง๋ค๊ณ ์ธ์ฆ์ ๋ฐ ์ธ์ฆ์ ๋งต๊ณผ ์ฐ๊ฒฐํฉ๋๋ค.
gcloud
์ธ์ฆ์ ๋งต ํญ๋ชฉ์ ๋ง๋ค๋ ค๋ฉด gcloud certificate-manager maps entries create
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME" \ --certificates="CERTIFICATE_NAME" \ --hostname="HOSTNAME"
๋ค์์ ๋ฐ๊ฟ๋๋ค.
Terraform
๋ฃจํธ ๋๋ฉ์ธ์ผ๋ก ์ธ์ฆ์ ๋งต ํญ๋ชฉ์ ๋ง๋ค๋ ค๋ฉด google_certificate_manager_certificate_map_entry
๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์์ผ๋ ์นด๋ ๋๋ฉ์ธ์ผ๋ก ์ธ์ฆ์ ๋งต ํญ๋ชฉ์ ๋ง๋ค๋ ค๋ฉด google_certificate_manager_certificate_map_entry
๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ธ์ฆ์ ๋งต ํญ๋ชฉ์ด ํ์ฑ ์ํ์ธ์ง ํ์ธ
ํด๋น ์ธ์ฆ์ ๋งต์ ๋์ ํ๋ก์์ ์ฐ๊ฒฐํ๊ธฐ ์ ์ ์ธ์ฆ์ ๋งต ํญ๋ชฉ์ด ํ์ฑ ์ํ์ธ์ง ํ์ธํฉ๋๋ค.
์ธ์ฆ์ ๋งต ํญ๋ชฉ์ ํ์ธํ๋ ค๋ฉด gcloud certificate-manager maps entries describe
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
gcloud certificate-manager maps entries describe CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME"
๋ค์์ ๋ฐ๊ฟ๋๋ค.
์ถ๋ ฅ์ ๋ค์๊ณผ ๋น์ทํฉ๋๋ค.
certificates: createTime: '2021-09-06T10:01:56.229472109Z' hostname: example.com name: projects/my-project/locations/global/certificateMaps/myCertMap/certificateMapEntries/myCertMapEntry state: ACTIVE updateTime: '2021-09-06T10:01:58.277031787Z'
๋์ ํ๋ก์์ ์ธ์ฆ์ ๋งต ์ฐ๊ฒฐ
์ธ์ฆ์ ๋งต์ ์ ๋์ ํ๋ก์ ๋๋ ๊ธฐ์กด ๋์ ํ๋ก์์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
gcloud
์ธ์ฆ์ ๋งต์ ์ ๋์ ํ๋ก์์ ์ฐ๊ฒฐํ๋ ค๋ฉด gcloud compute target-https-proxies create
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
gcloud compute target-https-proxies create PROXY_NAME \ --certificate-map="CERTIFICATE_MAP_NAME" \ --url-map="URL_MAP" \ --global
๋ค์์ ๋ฐ๊ฟ๋๋ค.
์ธ์ฆ์ ๋งต์ ๊ธฐ์กด ๋์ HTTPS ํ๋ก์์ ์ฐ๊ฒฐํ๋ ค๋ฉด gcloud compute target-https-proxies update
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ธฐ์กด ๋์ ํ๋ก์์ ์ด๋ฆ์ ๋ชจ๋ฅด๋ ๊ฒฝ์ฐ ๋์ ํ๋ก์ ํ์ด์ง๋ก ์ด๋ํ์ฌ ๋์ ํ๋ก์์ ์ด๋ฆ์ ํ์ธํฉ๋๋ค.
gcloud compute target-https-proxies update PROXY_NAME \ --certificate-map="CERTIFICATE_MAP_NAME" \ --global
๋์ ํ๋ก์๋ฅผ ๋ง๋ค๊ฑฐ๋ ์ ๋ฐ์ดํธํ ํ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ ํ์ธํฉ๋๋ค.
gcloud compute target-https-proxies list
Terraform
์ธ์ฆ์ ๋งต์ ๋์ ํ๋ก์์ ์ฐ๊ฒฐํ๋ ค๋ฉด google_compute_target_https_proxy
๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
๋์ ํ๋ก์๋ฅผ ๊ตฌ์ฑํ ๋ TLS(SSL) ์ธ์ฆ์๋ฅผ ์ง์ ์ฐ๊ฒฐํ๊ณ ์ธ์ฆ์ ๋งต์ ํตํด ์ฐ๊ฒฐํ๋ฉด ํ๋ก์๋ ์ธ์ฆ์ ๋งต์์ ์ฐธ์กฐํ๋ ์ธ์ฆ์๋ฅผ ์ฌ์ฉํ๊ณ ์ง์ ์ฐ๊ฒฐ๋ TLS(SSL) ์ธ์ฆ์๋ ๋ฌด์ํฉ๋๋ค.
CA ์๋น์ค์์ ๋ฐ๊ธํ ์ธ์ฆ์ ๋ฌธ์ ํด๊ฒฐ
๋ฌธ์ ํด๊ฒฐ ๋จ๊ณ๋ CA ์๋น์ค ์ธ์คํด์ค์์ ๋ฐ๊ธํ ์ธ์ฆ์ ๊ด๋ จ ๋ฌธ์ ๋ฅผ ์ฐธ์กฐํ์ธ์.
์ญ์
์ด ํํ ๋ฆฌ์ผ์์ ์ฌ์ฉํ ๋ฆฌ์์ค ๋น์ฉ์ด Google Cloud ๊ณ์ ์ ์ฒญ๊ตฌ๋์ง ์๋๋ก ํ๋ ค๋ฉด ๋ฆฌ์์ค๋ฅผ ์ญ์ ํ์ธ์.