๊ฐ ๊ฐ์ ๋จธ์ (VM) ์ธ์คํด์ค ๋๋ ๋ฒ ์ด๋ฉํ ์ธ์คํด์ค๋ ํธ์คํธ ์ ์ง๋ณด์ ์ ์ฑ ์ ์ฌ์ฉํ์ฌ ์ ์ง๋ณด์ ์์ ์ค์ ์ธ์คํด์ค ๋์์ ๊ฒฐ์ ํฉ๋๋ค. ์ผ๋ถ ์ธ์คํด์ค์์๋ ์ฌ์ ์ ์ ์ง๋ณด์ ์ผ์ ์ ๋ณผ ์ ์๋ ์ถ๊ฐ ์ต์ ์ ์ ๊ณตํฉ๋๋ค.
์ด ํ์ด์ง์์๋ Compute Engine ์ธ์คํด์ค์์ ํธ์คํธ ์ ์ง๋ณด์ ์ด๋ฒคํธ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ ๊ณํํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค.
์์ํ๊ธฐ ์ ์
-
์์ง ์ธ์ฆ์ ์ค์ ํ์ง ์์๋ค๋ฉด ์ค์ ํฉ๋๋ค.
์ธ์ฆ์ Google Cloud ์๋น์ค ๋ฐ API์ ์ก์ธ์คํ๊ธฐ ์ํด ID๋ฅผ ํ์ธํ๋ ํ๋ก์ธ์ค์
๋๋ค.
๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์์ ์ฝ๋ ๋๋ ์ํ์ ์คํํ๋ ค๋ฉด ๋ค์ ์ต์
์ค ํ๋๋ฅผ ์ ํํ์ฌ Compute Engine์ ์ธ์ฆํ๋ฉด ๋ฉ๋๋ค.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
REST
๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์์ ์ด ํ์ด์ง์ REST API ์ํ์ ์ฌ์ฉํ๋ ค๋ฉด gcloud CLI์ ์ ๊ณตํ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
์์ธํ ๋ด์ฉ์ Google Cloud ์ธ์ฆ ๋ฌธ์์ REST ์ฌ์ฉ์ ์ํ ์ธ์ฆ์ ์ฐธ์กฐํ์ธ์.
-
ํ์ํ ์ญํ
์ธ์คํด์ค๋ฅผ ๋ง๋ค๊ณ ์ธ์คํด์ค ์ ์ง๋ณด์๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ ํ์ํ ๊ถํ์ ์ป์ผ๋ ค๋ฉด ๊ด๋ฆฌ์์๊ฒ ํ๋ก์ ํธ์ ๋ํ ๋ค์ IAM ์ญํ ์ ๋ถ์ฌํด ๋ฌ๋ผ๊ณ ์์ฒญํ์ธ์.
-
Compute ์ธ์คํด์ค ๊ด๋ฆฌ์(v1)(
roles/compute.instanceAdmin.v1
) -
์์คํ
์ด๋ฒคํธ ๊ฐ์ฌ ๋ก๊ทธ์ ๋ํ ์ฝ๊ธฐ ์ ์ฉ ์ก์ธ์ค์ ๊ฒฝ์ฐ: ๋ก๊ทธ ๋ทฐ์ด(
roles/logging.viewer
)
์ญํ ๋ถ์ฌ์ ๋ํ ์์ธํ ๋ด์ฉ์ ํ๋ก์ ํธ, ํด๋, ์กฐ์ง์ ๋ํ ์ก์ธ์ค ๊ด๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
์ด๋ฌํ ์ฌ์ ์ ์๋ ์ญํ ์๋ ์ธ์คํด์ค๋ฅผ ๋ง๋ค๊ณ ์ธ์คํด์ค ์ ์ง๋ณด์๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ ํ์ํ ๊ถํ์ด ํฌํจ๋์ด ์์ต๋๋ค. ํ์ํ ์ ํํ ๊ถํ์ ๋ณด๋ ค๋ฉด ํ์ ๊ถํ ์น์ ์ ํผ์น์ธ์.
ํ์ ๊ถํ
์ธ์คํด์ค๋ฅผ ๋ง๋ค๊ณ ์ธ์คํด์ค ์ ์ง๋ณด์๋ฅผ ๊ด๋ฆฌํ๋ ค๋ฉด ๋ค์ ๊ถํ์ด ํ์ํฉ๋๋ค.
-
๋ฉํ๋ฐ์ดํฐ๋ฅผ ํฌํจํ ์ธ์คํด์ค์ ๋ํ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ ค๋ ๊ฒฝ์ฐ:
compute.instances.get
์ปค์คํ ์ญํ ์ด๋ ๋ค๋ฅธ ์ฌ์ ์ ์๋ ์ญํ ์ ์ฌ์ฉํ์ฌ ์ด ๊ถํ์ ๋ถ์ฌ๋ฐ์ ์๋ ์์ต๋๋ค.
์ ํ์ฌํญ
์ธ์คํด์ค๊ฐ ๋ค์ ๋จธ์ ๊ณ์ด ์ค ํ๋์ ๋จธ์ ์ ํ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋ง ์ธ์คํด์ค์ ์์ ๋ ์ ์ง๋ณด์ ์ด๋ฒคํธ์ ๋ํ ์๋ฆผ์ ๋ณผ ์ ์์ต๋๋ค.
๊ฐ์๊ธฐ ์ต์ ํ ๋จธ์ ๊ณ์ด:
๋ฒ์ฉ ๋จธ์ ๊ณ์ด:
๋ฉ๋ชจ๋ฆฌ ์ต์ ํ ๋จธ์ ๊ณ์ด:
์คํ ๋ฆฌ์ง ์ต์ ํ ๋จธ์ ๊ณ์ด:
์ ์ง๋ณด์ ์๋ฆผ ๊ฐ์
Google์ ์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์์ ๋ ํธ์คํธ ์ ์ง๋ณด์์ ๋ํ ์๋ฆผ์ ๋ณด๋ ๋๋ค. ์ ์ง๋ณด์ ๊ธฐ๊ฐ์ด ์์๋๋ฉด Google Cloud ์์ ์ธ์คํด์ค ์ ์ง๋ณด์๋ฅผ ์๋์ผ๋ก ์ํํฉ๋๋ค. ์ธ์คํด์ค์ ์์ฝ๋ ์ ์ง๋ณด์ ๊ธฐ๊ฐ์ ๋ชจ๋ํฐ๋งํ๋ฉด ์ค๋จ์ ์ต์ํํ๋ฉด์ ์์ ๋ ์ ์ง๋ณด์๋ฅผ ์ฒ๋ฆฌํ ์ ์๋๋ก ์ํฌ๋ก๋๋ฅผ ์ฌ์ ์ ์ค๋นํ ์ ์์ต๋๋ค.
์ ์ง๋ณด์ ์ด๋ฒคํธ ์๋ฆผ์ ์ง์ํ๋ ์ปดํจํ ์ธ์คํด์ค์๋ ๋ค์๊ณผ ๊ฐ์ ํน์ฑ์ด ์์ต๋๋ค.
- ์ ์ง๋ณด์ ์ด๋ฒคํธ ๊ฐ์: ์ผ๋ฐ์ ์ผ๋ก ์ ์ง๋ณด์ ๊ฐ๊ฒฉ์ด ๋ฐ๋ณต๋๋ ์ธ์คํด์ค์์๋ ์ ์ง๋ณด์ ์ด๋ฒคํธ ์๊ฐ ๊ฐ์ํฉ๋๋ค.
- ์ ์ง๋ณด์ ์๋ฆผ ๊ธฐ๊ฐ ์ฆ๊ฐ: ์ ์ ํ ๊ณํ์ ์ํด ๋น ๋ฅธ ์๊ฐ ๋ด์ ์ ์ง๋ณด์ ์ด๋ฒคํธ์ ๋ํ ์๋ฆผ์ด ์ ๊ณต๋ฉ๋๋ค.
- ๋ชจ๋ํฐ๋ง ๋ฐ ๊ณํ: Cloud Logging์ ์ฌ์ฉํ์ฌ ์ ์ง๋ณด์ ์ผ์ ์ ์ถ์ ํฉ๋๋ค. ์ด์ ๋ฐ ์๋ฆผ์ ์ฌ์ฉํด์ ์ต์ ์ ๋ณด๋ฅผ ํ์ธํฉ๋๋ค.
- ์ฃผ๋ฌธํ ์ ์ง๋ณด์ ์ ์ด: ์๋ฆผ ๊ธฐ๊ฐ ์ค์ ์ ์ง๋ณด์๋ฅผ ์์ํ์ฌ ์ผ์ ์ ๋ง๊ฒ ์ธ์คํด์ค๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.
์์ ๋ ์๋ฆผ ์ด๋ฒคํธ์ ๋ํ ์ ๋ณด๋ ๋ค์๊ณผ ์ ์ฌํ ๋ฐฉ์์ผ๋ก ํ์๋ฉ๋๋ค.
upcomingMaintenance:{
"canReschedule":True
"latestWindowStartTime": "2024-12-01T19:00:01Z"
"machineType":"x4-megamem-960-metal"
"maintenanceStatus":"PENDING"
"type":"SCHEDULED"
"windowEndTime": "2024-12-01T22:00:00Z"
"windowStartTime": "2024-12-01T19:00:00Z"
}
์์ ๋ ์ ์ง๋ณด์ ์ด๋ฒคํธ๊ฐ ์๋ ๊ฒฝ์ฐ์๋ ๋์ ๋ค์๊ณผ ์ ์ฌํ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.
{ "error": "no notifications have been received yet, try again later" }
์ ์ง๋ณด์ ์ํ ์ ์
๋ค์ ์ํ ์ ์๋ ์ธ์คํด์ค์ ํธ์คํธ ์ ์ง๋ณด์์ ๋ํ ์ฟผ๋ฆฌ์ ์๋ต์ ์ค๋ช ํฉ๋๋ค. ์ ์ง๋ณด์ ์ด๋ฒคํธ์ ๊ด๋ จ๋ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค. Google Cloud CLI, REST, ๋ฉํ๋ฐ์ดํฐ ์๋ฒ๋ ๋ค์๊ณผ ๊ฐ์ ๋์ผํ ์๋ต์ ์ฌ์ฉํฉ๋๋ค.
- canReschedule: ์ด ์ธ์คํด์ค์ ์๋ฆผ ๊ธฐ๊ฐ ์ค์ ์ ์ง๋ณด์๋ฅผ ์๋์ผ๋ก ์์ํ ์ ์๋์ง ์ฌ๋ถ์
๋๋ค.
TRUE
: ์๋ฆผ ๊ธฐ๊ฐ ์ค์ ๊ณ ๊ฐ์ด ํธ๋ฆฌ๊ฑฐํ๋ ์ ์ง๋ณด์๋ฅผ ์ํํ ์ ์์ต๋๋ค.FALSE
: ์ด ์ธ์คํด์ค์์ ๊ณ ๊ฐ์ด ํธ๋ฆฌ๊ฑฐํ๋ ์ ์ง๋ณด์๋ฅผ ์ํํ ์ ์์ต๋๋ค. ์ด๋ ์ธ์คํด์ค์์ ์ ์ง๋ณด์๊ฐ ์งํ ์ค์ธ ๊ธฐ๊ฐ ์ค์ ๋๋ ์ธ์คํด์ค ์ ํ์์ ์ฃผ๋ฌธํ ์ ์ง๋ณด์๋ฅผ ์ง์ํ์ง ์๋ ๊ฒฝ์ฐ์ ์์ฃผ ๋ฐ์ํฉ๋๋ค.
- latestWindowStartTime: ์ ์ง๋ณด์ ๊ธฐ๊ฐ์ ์ด๋ํ ์ ์๋ ๊ฐ์ฅ ๋ฆ์ ์๊ฐ์ ๋๋ค.
- machineType: ์ธ์คํด์ค์ ๋จธ์ ์ ํ์
๋๋ค(์:
x4-megamem-960-metal
๋๋c4-highmem-192
). - maintenanceStatus: ์ ์ง๋ณด์ ์ด๋ฒคํธ์ ํ์ฌ ์ํ์
๋๋ค.
ONGOING
: ์ ์ง๋ณด์ ์์ ์ด ์งํ ์ค์ ๋๋ค.PENDING
: ์ ์ง๋ณด์ ์์ ์ด ์์ฝ๋์์ง๋ง ์์ง ์์ํ์ง ์์์ต๋๋ค.
- type: ์ํํ ์ ์ง๋ณด์์ ์ ํ์
๋๋ค.
NONE
: ์ด ์ธ์คํด์ค์ ์์ฝ๋ ์ ์ง๋ณด์๊ฐ ์์ต๋๋ค.SCHEDULED
: ์๋น์ค๋ฅผ ์ค๋จ์ํค๋ ์ ์ง๋ณด์์ ๊ฒฝ์ฐ Compute Engine์ ์ต์ 7์ผ ์ ์ ๋๋ถ๋ถ์ ์ธ์คํด์ค์ ์๋ฆผ์ ์ ๊ณตํฉ๋๋ค. X4 ์ธ์คํด์ค์ ๊ฒฝ์ฐ ์ฝ 60์ผ ์ ์ ์๋ฆผ์ด ์ ๊ณต๋ฉ๋๋ค.UNSCHEDULED
: ์ ์ง๋ณด์๊ฐ ์ค์ํ ์ ๋ฐ์ดํธ๋ฅผ ๋ํ๋ด๋ฏ๋ก Compute Engine์ ์ต๋ํ ๋ง์ ์ฌ์ ์๋ฆผ์ ์ ๊ณตํ๋ ค๊ณ ํ์ง๋ง ์ผ๋ฐ์ ์ผ๋ก ์์ฝ๋ ์ ์ง๋ณด์ ์ด๋ฒคํธ์ ๋นํด ํจ์ฌ ์ ์ต๋๋ค.
- windowEndTime: ์ ์ง๋ณด์๊ฐ ์ํ๋๋ ์ข ๋ฃ ์๊ฐ์ ๋๋ค.
- windowStartTime: ์ ์ง๋ณด์๊ฐ ์ํ๋๋ ์์ ์๊ฐ์ ๋๋ค.
์ ์ง๋ณด์ ์ํ ๋์
์ ์ง๋ณด์ ์ด๋ฒคํธ๋ฅผ ๊ด๋ฆฌํ ๋๋ canReschedule
๋ฐ maintenanceStatus
์ ๊ฐ์ ํ์ธํฉ๋๋ค. ์ด๋ฌํ ํ๋๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ฉด ์ ์ง๋ณด์ ์ด๋ฒคํธ ์ผ์ ๋ณ๊ฒฝ๊ณผ ๊ด๋ จํ์ฌ ์ทจํ ์ ์๋ ์์
๊ณผ ์ทจํ ์ ์๋ ์์
์ ๋ํ๋ผ ์ ์์ต๋๋ค.
canReschedule=True
๋ฐmaintenanceStatus=Pending
: ์์ฝ ์์ ์๊ฐ ์ ์ ์ธ์คํด์ค์ ์ ์ง๋ณด์ ์ด๋ฒคํธ๋ฅผ ์๋์ผ๋ก ์์ํ ์ ์์ต๋๋ค.canReschedule=False
๋ฐmaintenanceStatus=Ongoing
: ์ ์ง๋ณด์๊ฐ ์งํ ์ค์ด๋ฉฐ ์ผ์ ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.canReschedule=False
๋ฐmaintenanceStatus=Pending
: ์ธ์คํด์ค์์ ์๋์ผ๋ก ํธ๋ฆฌ๊ฑฐ๋ ์ ์ง๋ณด์ ์ด๋ฒคํธ๋ฅผ ์ง์ํ์ง ์์ต๋๋ค.
์ ์ง๋ณด์ ์๋ฆผ ๋ณด๊ธฐ
์ปดํจํ ์ธ์คํด์ค, ๋ฉํ๋ฐ์ดํฐ ์๋ฒ๋ฅผ ์ฟผ๋ฆฌํ๊ฑฐ๋ Cloud Logging์ ์ฌ์ฉํ์ฌ ์ ์ง๋ณด์ ์๋ฆผ์ ์ฐพ์ ์ ์์ต๋๋ค.
์ธ์คํด์ค ์ ์ง๋ณด์ ์ด๋ฒคํธ ์๋ฆผ ํ์ธ
Google Cloud CLI, REST๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ๋ฉํ๋ฐ์ดํฐ ์๋ฒ๋ฅผ ์ฟผ๋ฆฌํ์ฌ ์ธ์คํด์ค์ ์์ ๋ ํธ์คํธ ์ ์ง๋ณด์ ์ด๋ฒคํธ๊ฐ ์๋์ง ํ์ธํฉ๋๋ค.
gcloud
์ธ์คํด์ค์ ์์ ๋ ์ ์ง๋ณด์ ๊ธฐ๊ฐ์ ํ์ธํ๋ ค๋ฉด gcloud compute instances describe
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
gcloud compute instances describe INSTANCE_NAME \ --zone=ZONE_NAME --format="yaml(resourceStatus.upcomingMaintenance)"
๋ค์์ ๋ฐ๊ฟ๋๋ค.
INSTANCE_NAME
: ์ปดํจํ ์ธ์คํด์ค ์ด๋ฆ์ ๋๋ค.ZONE_NAME
: ์ธ์คํด์ค๊ฐ ์๋ ์์ญ์ ๋๋ค.
์์ ๋ ์ ์ง๋ณด์ ์ด๋ฒคํธ๊ฐ ์์ผ๋ฉด ์๋ต์ ๋ค์๊ณผ ์ ์ฌํ ์น์ ์ด ํฌํจ๋ฉ๋๋ค.
resourceStatus:
upcomingMaintenance:
canReschedule: true
latestWindowStartTime: '2025-01-15T12:00:01Z'
machineType: x4-megamem-960-metal
maintenanceStatus: PENDING
type: SCHEDULED
windowEndTime: '2025-01-15T16:00:00Z'
windowStartTime: '2025-01-15T12:00:00Z'
์ด ์๋ต์์ ๋ค์์ด ์ํ๋ฉ๋๋ค.
- ์ ์ง๋ณด์๋
windowStartTime
์ ํ์๋ ๋ ์ง์ ์๊ฐ์ ์์ฝ๋ฉ๋๋ค. canReschedule
์true
๋ก,maintenanceStatus
๋PENDING
์ผ๋ก ์ค์ ๋ฉ๋๋ค. ์ด๋ฌํ ์ค์ ์latestWindowStartTime
์ ํ์๋ ๋ ์ง ์ด์ ์ ์์ฝ๋ ์ ์ง๋ณด์ ์ด๋ฒคํธ๋ฅผ ์๋์ผ๋ก ์์ํ ์ ์์์ ๋ํ๋ ๋๋ค.
REST
์ธ์คํด์ค์ ์์ ๋ ์ ์ง๋ณด์๊ฐ ์๋์ง ํ์ธํ๋ ค๋ฉด instances.get
๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ GET
์์ฒญ์ ์์ฑํฉ๋๋ค.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/INSTANCE_NAME
๋ค์์ ๋ฐ๊ฟ๋๋ค.
PROJECT_NAME
: ์ปดํจํ ์ธ์คํด์ค๊ฐ ํฌํจ๋ ํ๋ก์ ํธ์ ์ด๋ฆ์ ๋๋ค.ZONE
: ์ธ์คํด์ค๊ฐ ์๋ ์์ญ์ ๋๋ค.INSTANCE_NAME
: ์ธ์คํด์ค ์ด๋ฆ์ ๋๋ค.
์์ ๋ ์ ์ง๋ณด์ ์ด๋ฒคํธ๊ฐ ์์ผ๋ฉด ์๋ต์ ๋ค์๊ณผ ์ ์ฌํ ์น์ ์ด ํฌํจ๋ฉ๋๋ค.
upcomingMaintenance:{
"canReschedule":True
"latestWindowStartTime": "2023-12-01T19:00:01Z"
"machineType": "x4-megamem-960-metal"
"maintenanceStatus":"PENDING"
"type":"SCHEDULED"
"windowEndTime": "2023-12-01T22:00:00Z"
"windowStartTime": "2023-12-01T19:00:00Z"
}
์ด ์๋ต์์ ๋ค์์ด ์ํ๋ฉ๋๋ค.
- ์ ์ง๋ณด์๋
windowStartTime
์ ํ์๋ ๋ ์ง์ ์๊ฐ์ ์์ฝ๋ฉ๋๋ค. canReschedule
์True
๋ก,maintenanceStatus
๋PENDING
์ผ๋ก ์ค์ ๋ฉ๋๋ค. ์ด๋ฌํ ์ค์ ์latestWindowStartTime
์ ํ์๋ ๋ ์ง ์ด์ ์ ์์ฝ๋ ์ ์ง๋ณด์ ์ด๋ฒคํธ๋ฅผ ์๋์ผ๋ก ์์ํ ์ ์์์ ๋ํ๋ ๋๋ค.
๋ฉํ๋ฐ์ดํฐ ์๋ฒ
๊ฒ์คํธ OS์์ ๋ฉํ๋ฐ์ดํฐ ์๋ฒ์ ์ฟผ๋ฆฌ๋ฅผ ์ํํ์ฌ ๋ค์ ์ ์ง๋ณด์ ์ด๋ฒคํธ๋ฅผ ํ์ธํฉ๋๋ค.
$ curl http://metadata.google.internal/computeMetadata/v1/instance/upcoming-maintenance?alt=json -H "Metadata-Flavor: Google"
Cloud Logging์ ์ ์ง๋ณด์ ์ด๋ฒคํธ ์๋ฆผ ํ์ธ
Compute Engine์ Cloud ๊ฐ์ฌ ๋ก๊ทธ์ ์ธ์คํด์ค ์ ์ง๋ณด์ ์ด๋ฒคํธ์ ๋ํ ์์คํ ์ด๋ฒคํธ๋ฅผ ๋ง๋ญ๋๋ค. Cloud Logging ๋ฐ ๋ก๊ทธ ํ์๊ธฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ง๋ณด์ ์ด๋ฒคํธ ์ , ๋์ค, ํ์ ์ด๋ฌํ ์ด๋ฒคํธ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
์ฝ์
์ธ์คํด์ค ์ ์ง๋ณด์ ์๋ฆผ์ ๋ํ ๊ฐ์ฌ ๋ก๊ทธ๋ฅผ ์ฟผ๋ฆฌํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ์๋ฃํฉ๋๋ค.
VM ์ธ์คํด์ค ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ ์ง๋ณด์ ์๋ฆผ์ ๋ณด๋ ค๋ ์ธ์คํด์ค์ ์ด๋ฆ์ ํด๋ฆญํฉ๋๋ค.
์ธ์คํด์ค ์ธ๋ถ์ ๋ณด ํ์ด์ง๊ฐ ์ด๋ฆฝ๋๋ค.
๋ก๊ทธ ์น์ ์์ ๋ก๊น ๋ผ๋ฒจ์ด ์ง์ ๋ ๋งํฌ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋ก๊ทธ ํ์๊ธฐ ์ฟผ๋ฆฌ ํธ์ง๊ธฐ ํ์ด์ง๊ฐ ์ด๋ฆฝ๋๋ค. ์ฟผ๋ฆฌ ์ฐฝ์ ์ธ์คํด์ค์
resource.type
๋ฐ ์ธ์คํด์ค ID๊ฐ ์ด๋ฏธ ์ฑ์์ ธ ์์ต๋๋ค.์ฟผ๋ฆฌ ์ฐฝ์์ ๋ค์ ์ค์ ์ฟผ๋ฆฌ์ ์ถ๊ฐํฉ๋๋ค.
operation.producer="compute.instances.upcomingMaintenance" OR "compute.instances.terminateOnHostMaintenance" OR "compute.instances.migrateOnHostMaintenance"
์ฟผ๋ฆฌ ์คํ์ ํด๋ฆญํฉ๋๋ค. ์ผ์นํ๋ ์ ์ง๋ณด์ ์๋ฆผ ์ด๋ฒคํธ๊ฐ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ ์ฐฝ์ ํ์๋ฉ๋๋ค.
์ฟผ๋ฆฌ ๊ฒฐ๊ณผ ์ฐฝ์์ ์๊ฐ ์์ ์ ํด๋ฆญํ์ฌ ๊ฒ์ ๊ธฐ๊ฐ์ ๋ํ๊ฑฐ๋ ๊ฒฐ๊ณผ๋ฅผ ํน์ ๋ ์ง๋ ์๊ฐ์ผ๋ก ์ขํ ์ ์์ต๋๋ค.
๋ก๊ทธ ํญ๋ชฉ์ ํด๋ฆญํ์ฌ ์ ์ง๋ณด์ ์๋ฆผ ์ธ๋ถ์ ๋ณด๋ฅผ ๋ด ๋๋ค.
- ์์ ๋ ์ ์ง๋ณด์ ์๋ฆผ์ ๊ฒฝ์ฐ
metadata
์ ๋ชฉ์ ํผ์ณ ํ์ฌ ์ํ, ์ ํ, ์์ฝ๋ ์ ์ง๋ณด์ ๊ธฐ๊ฐ ์์ ๋ฐ ์ข ๋ฃ ์๊ฐ๊ณผ ๊ฐ์ ์ ๋ณด๋ฅผ ๋ด ๋๋ค. status
์ ๋ชฉ์ ํผ์ณ ์๋ฆผ ์ค๋ช ๋ฉ์์ง๋ฅผ ๋ด ๋๋ค.
- ์์ ๋ ์ ์ง๋ณด์ ์๋ฆผ์ ๊ฒฝ์ฐ
์ ์ง๋ณด์ ์๋ฆผ ์์
์ธ์คํด์ค ์ ์ง๋ณด์ ์ด๋ฒคํธ ์๋ฆผ์ด ๋ก๊ทธ ํ์๊ธฐ์ ๋ค์๊ณผ ์ ์ฌํ ๊ฐ์ผ๋ก ํ์๋ฉ๋๋ค.
methodName
:"compute.instances.upcomingMaintenance"
metadata
:maintenanceStatus
:"PENDING"
machineType
:"x4-megamem-960-metal"
windowStartTime
:"2024-07-23T20:00:00Z"
์ ์ง๋ณด์ ์ด๋ฒคํธ๊ฐ ์์๋๋ฉด ๋ค์๊ณผ ์ ์ฌํ ๊ฐ์ด ํฌํจ๋ ์ ์ ๋ณด ์ด๋ฒคํธ๊ฐ ๋ก๊ทธ์ ํ์๋ฉ๋๋ค.
methodName
:"compute.instances.upcomingMaintenance"
metadata
:maintenanceStatus
:"ONGOING"
machineType
:"x4-megamem-960-metal"
windowStartTime
:"2024-07-23T20:00:00Z"
์ธ์คํด์ค์ ํธ์คํธ ์ ์ง๋ณด์ ์ ์ฑ ๊ตฌ์ฑ์ ๋ฐ๋ผ ์ ์ง๋ณด์ ์ด๋ฒคํธ ์ค์ ๋ค์ ์์คํ ์ด๋ฒคํธ ์ค ํ๋๊ฐ ๊ฐ์ฌ ๋ก๊ทธ์ ๋ก๊น ๋ฉ๋๋ค.
- ์ ์ง๋ณด์ ์ด๋ฒคํธ ์ค์ ๋ผ์ด๋ธ ๋ง์ด๊ทธ๋ ์ด์
์ ์ฌ์ฉํ๋๋ก ๊ตฌ์ฑ๋ ์ธ์คํด์ค์ ๊ฒฝ์ฐ
methodName: "compute.instances.migrateOnHostMaintenance"
๊ฐ ํฌํจ๋ ์์คํ ์ด๋ฒคํธ - ์ ์ง๋ณด์ ์ด๋ฒคํธ ์ค์ ์ข
๋ฃ๋๋๋ก ๊ตฌ์ฑ๋ ์ธ์คํด์ค์ ๊ฒฝ์ฐ
methodName: "compute.instances.terminateOnHostMaintenance"
๊ฐ ํฌํจ๋ ์์คํ ์ด๋ฒคํธ
์ ์ง๋ณด์ ์ด๋ฒคํธ๊ฐ ์ข ๋ฃ๋๋ฉด ๋ค์๊ณผ ์ ์ฌํ ๊ฐ์ด ํฌํจ๋ ์ ์ ๋ณด ์ด๋ฒคํธ๊ฐ ๊ฐ์ฌ ๋ก๊ทธ์ ํ์๋ฉ๋๋ค.
methodName
:"compute.instances.upcomingMaintenance"
status: {
message: "Maintenance window has completed for this instance. All
maintenance notifications on the instance have been removed."
}
ํธ์คํธ ์ ์ง๋ณด์ ์๋ฆผ์ ๋ํ ์๋ฆผ ๊ตฌ์ฑ
๋ก๊ทธ ๊ธฐ๋ฐ ์๋ฆผ ์ ์ฑ ์ ์ค์ ํ์ฌ ํน์ ์ ์ง๋ณด์ ์๋ฆผ ์ด๋ฒคํธ๋ฅผ ๊ฒ์ํ๊ณ ์๋ฆผ ์ฑ๋์ ์ฌ์ฉํ์ฌ ์๋ฆผ์ ๋ณด๋ผ ์ ์์ต๋๋ค.
์ฝ์
์ธ์คํด์ค ์ ์ง๋ณด์ ์ด๋ฒคํธ์ ๋ํ ์๋ฆผ์ ๋ง๋ค๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ์๋ฃํฉ๋๋ค.
VM ์ธ์คํด์ค ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ ์ง๋ณด์ ์ด๋ฒคํธ ์๋ฆผ์ ๋ง๋ค ์ธ์คํด์ค์ ์ด๋ฆ์ ํด๋ฆญํฉ๋๋ค.
์ธ์คํด์ค ์ธ๋ถ์ ๋ณด ํ์ด์ง๊ฐ ์ด๋ฆฝ๋๋ค.
๋ก๊ทธ ์น์ ์์ ๋ก๊น ๋ผ๋ฒจ์ด ์ง์ ๋ ๋งํฌ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋ก๊ทธ ํ์๊ธฐ ์ฟผ๋ฆฌ ํธ์ง๊ธฐ ํ์ด์ง๊ฐ ์ด๋ฆฝ๋๋ค. ์ฟผ๋ฆฌ ์ฐฝ์ ์ธ์คํด์ค์
resource.type
๋ฐ ์ธ์คํด์ค ID๊ฐ ์ด๋ฏธ ์ฑ์์ ธ ์์ต๋๋ค.์ฟผ๋ฆฌ ์ฐฝ์์ ๋ค์ ์ค์ ์ฟผ๋ฆฌ์ ์ถ๊ฐํฉ๋๋ค.
operation.producer="compute.instances.upcomingMaintenance"
ํน์ ์ธ์คํด์ค ๋์ ๋จธ์ ์ ํ์ ํธ์คํธ ์ ์ง๋ณด์ ์ด๋ฒคํธ๋ฅผ ํํฐ๋งํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ฟผ๋ฆฌ๋ฅผ ์์ ํฉ๋๋ค.
- ์ธ์คํด์ค ID๋ฅผ ์ง์ ํ๋ ์ค์ ์ญ์ ํฉ๋๋ค.
๋ค์ ์ค์ ์ฟผ๋ฆฌ์ ์ถ๊ฐํฉ๋๋ค.
protoPayload.metadata.machineType:"MACHINE_TYPE"
MACHINE_TYPE
์ ํธ์คํธ ์ ์ง๋ณด์ ์ด๋ฒคํธ๋ฅผ ํํฐ๋งํ๋ ค๋ ๋จธ์ ์ ํ์ผ๋ก ๋ฐ๊ฟ๋๋ค.
์ฟผ๋ฆฌ ์คํ์ ํด๋ฆญํฉ๋๋ค. ์ผ์นํ๋ ์ ์ง๋ณด์ ์๋ฆผ ์ด๋ฒคํธ๊ฐ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ ์ฐฝ์ ํ์๋ฉ๋๋ค.
์ฟผ๋ฆฌ ๊ฒฐ๊ณผ ์ฐฝ์์ ์๊ฐ ์์ ์ ํด๋ฆญํฉ๋๋ค.
- ์ง๋์ฃผ ๋ก๊ทธ ํญ๋ชฉ์ ๋ณด๋ ค๋ฉด ์์ ์ฐฝ ์ผ์ชฝ์ ์๋ ์๋ ์๊ฐ ํ๋์
1d
๋ฅผ ์ ๋ ฅํฉ๋๋ค. - ์ ์ฉ์ ํด๋ฆญํฉ๋๋ค.
- ์ง๋์ฃผ ๋ก๊ทธ ํญ๋ชฉ์ ๋ณด๋ ค๋ฉด ์์ ์ฐฝ ์ผ์ชฝ์ ์๋ ์๋ ์๊ฐ ํ๋์
์ฟผ๋ฆฌ ๊ฒฐ๊ณผ ์ฐฝ์ ํค๋์์ add_alert ์๋ฆผ ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค. ๋ณด๊ธฐ ์ฐฝ์ด ์ข์ผ๋ฉด ์์ ๋ฉ๋ด์ ์๋ฆผ ๋ง๋ค๊ธฐ ์ต์ ์ด ๋์ ํ์๋ ์ ์์ต๋๋ค.
๋ก๊ทธ ๊ธฐ๋ฐ ์๋ฆผ ์ ์ฑ ๋ง๋ค๊ธฐ ์ฐฝ์ ์๋ฆผ ์ธ๋ถ์ ๋ณด ์น์ ์์ ๋ค์์ ์ํํฉ๋๋ค.
- ์๋ฆผ ์ ์ฑ
์ด๋ฆ์ ์
๋ ฅํฉ๋๋ค(์:
Upcoming maintenance for my-c3d-vm@us-central1-b
). ์ ์ฑ ์ฌ๊ฐ๋ ์์ค ๋ฉ๋ด์์ ์ฌ๊ฐ๋ ์์์ ์ ํํฉ๋๋ค.
๋ฌธ์ ํ๋์ ์๋ฆผ ์ ์ฑ ์ ๋ํ ์ค๋ช ์ ์ ๋ ฅํ ์ ์์ต๋๋ค. ์๋ฆผ ์์ ์๊ฐ ๋ฌธ์ ๋ฅผ ์ง๋จํ๋ ๋ฐ ๋์์ด ๋๋ ์ ๋ณด๋ฅผ ํฌํจํ ์๋ ์์ต๋๋ค. ๋ค์ ๋ฌธ์์ด์ ์๋ฆผ์ด ํ์๋ ์ด์ ๋ฅผ ์์ฝํด์ ๋ณด์ฌ์ค๋๋ค.
Log-based alerting policy in project ${project} to monitor upcoming maintenance notifications. See also "Host maintenance alerts" and "onHostMaintenance actions" alerting policies.
์ด ํ๋์ ์ฝํ ์ธ ํ์ ์ง์ ๋ฐ ๋ง์ถค์ค์ ๋ฐฉ๋ฒ์ ๋ํ ์์ธ ๋ด์ฉ์ ๋ฌธ์ ํ ํ๋ฆฟ์์ ๋งํฌ๋ค์ด ๋ฐ ๋ณ์ ์ฌ์ฉ์ ์ฐธ์กฐํ์ธ์.
๋ค์ ๋จ๊ณ๋ก ์ด๋ํ๋ ค๋ฉด ๋ค์์ ํด๋ฆญํ์ธ์.
- ์๋ฆผ ์ ์ฑ
์ด๋ฆ์ ์
๋ ฅํฉ๋๋ค(์:
์๋ฆผ์์ ํฌํจํ ๋ก๊ทธ ์ ํ ์น์ ์์ ๋ก๊ทธ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ์ฌ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํฉ๋๋ค.
์ฟผ๋ฆฌ ์ฐฝ์์ ๋น๋ํ ์ฟผ๋ฆฌ๋ ์ด ์ฐฝ์ ํ์๋ฉ๋๋ค. ๋จผ์ ๋ก๊ทธ ํ์๊ธฐ ์ฟผ๋ฆฌ ์ฐฝ์์ ์ฟผ๋ฆฌ๋ฅผ ๋น๋ํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
ํ์ํ ๊ฒฝ์ฐ ์ด ์ฐฝ์์ ์ฟผ๋ฆฌ๋ฅผ ์์ ํ ์ ์์ต๋๋ค. ์ฟผ๋ฆฌ๋ฅผ ์์ ํ๋ ๊ฒฝ์ฐ ๋ก๊ทธ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํฉ๋๋ค.
๋ค์์ ํด๋ฆญํฉ๋๋ค.
์๋ฆผ ๋น๋ ๋ฐ ์๋ ์ข ๋ฃ ๊ธฐ๊ฐ ์ค์ ์ฐฝ์์ ๋ค์์ ์ํํฉ๋๋ค.
์๋ฆผ ์ฌ์ด์ ์ต์ ์๊ฐ์ ์ ํํฉ๋๋ค. ์ด ๊ฐ์ ์ฌ์ฉํ๋ฉด ์ด ์กฐ๊ฑด์ด ์ฌ๋ฌ ๋ฒ ์ถฉ์กฑ๋ ๋ Monitoring์์ ์ ๊ณตํ๋ ์๋ฆผ ์๋ฅผ ์ ์ดํ ์ ์์ต๋๋ค. ์ด ์์์์๋ ์ต์ ์์ 1์ผ์ ์ ํํฉ๋๋ค.
์ด์ ์๋ ์ข ๋ฃ ๊ธฐ๊ฐ์ ์ต๋๊ฐ์ธ 7์ผ์ ์ฌ์ฉํฉ๋๋ค.
๋ค์์ ํด๋ฆญํฉ๋๋ค.
์ด๋ฉ์ผ ์๋ฆผ ์ฑ๋์ด ์ด๋ฏธ ๊ตฌ์ฑ๋์ด ์์ผ๋ฉด ๋ชฉ๋ก์์ ์ด ์ฑ๋์ ์ ํํ ์ ์์ต๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์๋ฆผ ์ฑ๋ ๊ด๋ฆฌ๋ฅผ ํด๋ฆญํ๊ณ ์ด๋ฉ์ผ ์ฑ๋์ ์ถ๊ฐํฉ๋๋ค. ์๋ฆผ ์ฑ๋ ๋ง๋ค๊ธฐ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์๋ฆผ ์ฑ๋ ๋ง๋ค๊ธฐ ๋ฐ ๊ด๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
์ด์ ์์ ๋ก๊ทธ ๊ธฐ๋ฐ ์๋ฆผ ์ ์ฑ ํ ์คํธ์ ์ค๋ช ๋๋ก ๋ก๊ทธ ๊ธฐ๋ฐ ์๋ฆผ ์ ์ฑ ์ ํ ์คํธํ ์ ์์ต๋๋ค.
์์ธํ ๋ด์ฉ์ ๋ก๊ทธ ๊ธฐ๋ฐ ์๋ฆผ ๊ตฌ์ฑ ๋ฐ ์๋ฆผ ์ฑ๋ ๋ง๋ค๊ธฐ ๋ฐ ๊ด๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ค์ ๋จ๊ณ
- ํธ์คํธ ์ ์ง๋ณด์ ์ ์ฑ ์ค์ ๋ฐฉ๋ฒ ์์๋ณด๊ธฐ
- ๋ผ์ด๋ธ ๋ง์ด๊ทธ๋ ์ด์ ์๋ฆผ ๋ฐ๊ธฐ ๋ฐฉ๋ฒ ์์๋ณด๊ธฐ
- ์๋์ผ๋ก ํธ์คํธ ์ ์ง๋ณด์ ์ด๋ฒคํธ ํธ๋ฆฌ๊ฑฐ ๋ฐฉ๋ฒ ์์๋ณด๊ธฐ
- Monitoring์ฉ Google Cloud ์ฝ์์ด๋ Monitoring API๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ ๊ธฐ๋ฐ ์๋ฆผ ์ ์ฑ ์ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ ์์๋ณด๊ธฐ