附註:
- 此教學課程需要存取 Oracle Cloud。若要註冊免費帳戶,請參閱 Oracle Cloud Infrastructure Free Tier 入門。
- 它使用 Oracle Cloud Infrastructure 證明資料、租用戶及區間的範例值。完成實驗室時,請將這些值取代為您雲端環境特定的值。
使用 Terraform 加速 Oracle Cloud Infrastructure 專業架構師認證
簡介
獲得 Oracle Cloud Infrastructure (OCI) 專業架構師認證需要對 Oracle Cloud 和實作體驗有深入的瞭解。本教學課程運用基礎架構即程式碼 (IaC) 與 Terraform 加速您的旅程。
下圖 1 說明要部署的目標 OCI 架構。右側概述了 OCI Architect Professional 認證 (2024) 實驗室的結構化方法,分為七個循序步驟。藉由運用專為認證考試實驗室量身打造的預先建置 Terraform 程式碼片段,重複性工作會自動執行,讓您有寶貴的時間專心掌握重要的 OCI 概念。此方法不僅加快實驗室完成速度,還能更深入瞭解平台。
圖 1:OCI Architecture Professional 認證實驗室 1 - 架構與手動與自動化流程
運用手動方法
OCI 認證考試實際操作實驗室的手動方法很困難。部分缺點為:
- 容易出錯:重複式手動作業會增加人為錯誤的風險,進而導致打字錯誤、遺漏步驟及延遲。
- 使用時間:複雜的工作流程相當耗時、阻礙進度及限制實務。
- 無法調整:需要複製與貼上、導入錯誤,以及乘上更正工作。
- 測試瓶頸:評估手動作業的主觀性,可妨礙準確的效能測量與新功能。
- 文件缺點:取決於非正式人力輸入、不一致的做法和維護程序的挑戰。
- 超越手動疼痛:
- 傳統方法會建立全部或全不壓力。單一的錯失步驟可以消除進度,增加不必要的壓力並遮蔽真正的理解。
- 這些方法可將必要技能與必要作業之間的線條模糊。繁瑣的設置、妨礙學習和 OCI 技能掌握,造成寶貴的實務時間損失。
更快速掌握 OCI 技能:自動化的強大功能
本教學課程說明如何藉由自動化作業、專注於核心技能及縮短實務時間,來加速 OCI 認證。
主要優點:
- 專題學習:自動化重複性工作,騰出時間掌握核心概念,並加深瞭解和知識保留。
- 按需練習:選擇要將學習進度自動化、個人化學習進度並加速新功能的部分實驗室,以獲得彈性。
- 提升效率:透過自動化將準備時間縮短多達 80%。
其他福利:
- 可擴展性和成本效益:根據需求輕鬆擴大或縮小基礎架構規模,進而節省成本。
- 減少的錯誤:消除人為錯誤,確保永遠安全且正確地佈建基礎架構。
為了加快您的 OCI 專業架構師認證 (2024) 旅程,我們將使用 Terraform 將圖 1 所示的實驗室 1:Oracle Cloud Infrastructure 專業架構師自動化。此自動化方法可以擴展到其他認證實驗室和實際的雲端部署。
網路安全群組 (NSG) 作為另一個 NSG 的傳入來源,而非 CIDR 區塊
本教學課程探索 OCI 中的網路安全群組,以及如何對虛擬雲端網路 (VCN) 中的網路流量提供精細的控制。網路安全群組的作用就像是虛擬防火牆,可控制對 VCN 內資源的網路存取。這包括 OCI Compute 執行處理、Kubernetes 叢集或資料庫等。「網路安全群組」在資源之間啟用控制,而非只在子網路之間啟用,因此提供比安全清單更大的彈性。
7 個步驟中的半自動化混合方法
OCI Architect Professional 認證實作實驗室雖然全面,但可能相當耗時。考慮實驗室 1:Oracle Cloud Infrastructure 專業架構師,至少需要 25 分鐘才能完成。透過使用 Terraform 自動建立 VCN、NSG 和虛擬機器 (VM) 等重複性作業,您現在可以將此時間減少多達 80%,專注於核心安全概念,而非繁瑣的手動步驟。建議的半自動方法提供彈性,讓您選擇要自動執行的工作。
目標
- 使用 Terraform 加速 Oracle Cloud Infrastructure Architect Professional 認證準備工作。
必要條件
-
基本的 Terraform 知識。初學者必須完成 Oracle Cloud Infrastructure 專業架構師或任何初學者指南,例如 Terraform for_each:包含範例的簡單教學課程。
-
使用 OCI Cloud Shell 、Oracle Resource Manager (ORM) 或 IDE (例如 Visual Studio) 搭配 Terraform 外掛程式。
作業 1:建立虛擬雲端網路 (VCN)
手動選項:
使用 OCI VCN 精靈可建立核心網路資源:VCN、網際網路閘道、路由表、安全清單、公用和專用子網路。如需詳細資訊,請參閱虛擬網路快速啟動。
-
前往 OCI 主控台,瀏覽至網路、虛擬雲端網路,然後建立新的 VCN。
-
按一下 VCN 資訊,記下 VCN 、專用子網路以及公用子網路 OCID (圖 2)。
-
將 OCID 新增至
input.auto.tfvars
(或terraform.tfvars
) 檔案,如建置選項段落所述。
create_vcn
旗標預設為關閉 (從 OCI 主控台手動建立 VCN)。收集 VCN OCID 和子網路 OCID ,然後將它們加到 input.auto.tfvars
檔案。
# Step 1a - Create VCN using VCN Wizard (create_vcn flag off)
create_vcn = false
# Copy from the console the VCN OCIDs and subnets (public, Private) OCIDs.
vcn_id = "REPLACE_CREATED_VCN_OCID_HERE"
private_subnet_id = "REPLACE_CREATED_PRIVATE_SUBNET_OCID_HERE"
public_subnet_id = "REPLACE_CREATED_PUBLIC_SUBNET_OCID_HERE"
圖 2:收集 VCN OCID、公用子網路 OCID 以及專用子網路 OCID 的主控台 VCN 檢視
自動化選項:
使用以下步驟建立 VCN。
-
若要自動建立 VCN 和所有網路資源,請在
input.auto.tfvars
檔案中將create_vcn
旗標設為true
。 -
指定 VCN、公用子網路、專用子網路 CIDR 區塊,以及主機名稱前置碼。
# Step 1b - Create VCN using Terraform. Provided the CIDR Blocks for the # VCN, Subnets and all other required input (host_name_prefix). create_vcn = true # Provide the VCN & Subnet CIDR Blocks as well as host name prefix vcn_cidr_block = "10.0.0.0/16" public_subnet_cidr_block = "10.0.0.0/24" private_subnet_cidr_block = "10.0.1.0/24" host_name_prefix = "phxapl4"
作業 2:建立兩個 NSG (NSG-01 和 NSG-02)
手動選項:
使用下列步驟建立兩個 NSG (NSG-01 和 NSG-02):
-
選取在作業 1 中建立的 VCN。
-
在資源底下,按一下網路安全群組。
-
按一下建立網路安全群組,然後輸入下列資訊。
- 名稱: 輸入名稱。例如,
<REGION-KEY>-AP-LAB01-NSG-01
。 - 建立區間: 輸入您的工作區間。
- 按一下建立。
- 名稱: 輸入名稱。例如,
-
針對名稱為
<REGION-KEY>-AP-LAB01-NSG-02
的第二個 NSG 重複步驟 1 到 3。
自動化選項:
下列 Terraform 程式碼會建立兩個 NSG (NSG-01 和 NSG-02)。
resource "oci_core_network_security_group" "nsg-01" {
count = (var.create_vcn && var.create_nsg_1) ? 1 : 0
#Required
compartment_id = var.compartment_id
vcn_id = var.create_vcn ? oci_core_vcn.this.*.id[0] : var.vcn_id
display_name = "${var.display_name_prefix}-TF-NSG-01"
}
resource "oci_core_network_security_group" "nsg-02" {
count = (var.create_vcn && var.create_nsg_2) ? 1 : 0
#Required
compartment_id = var.compartment_id
vcn_id = var.create_vcn ? oci_core_vcn.this.*.id[0] : var.vcn_id
display_name = "${var.display_name_prefix}-TF-1-NSG-02"
}
若要建立兩個 NSG,請將 create_nsg_1
和 create_nsg_2
旗標設為 true
。
# Step 2: Create two(2) empty Network Security Groups (NSG-01 & NSG-02).
create_nsg_1 = true
create_nsg_2 = true
作業 3:使用 Terraform 啟動四個 VM,並執行網際網路控制訊息協定 (ICMP) 偵測測試
假設您熟悉從 OCI 主控台手動啟動 VM。如需詳細資訊,請參閱建立執行處理。
注意:我們只涵蓋建立 4 個 VM 的 Terraform 自動化選項 (公用子網路中有 3 個 VM,專用子網路中有 1 個 VM)。
啟用 create_vm_1_3
旗標以指示 Terraform 建立三個 VM (VM-01、VM-02 及 VM-03)。
# Step 3a: Launch three(3) VMs(VM-01, VM-02, VM-03) in the public subnet.
create_vm_1_3 = true
為了在公用子網路內建立三個運算執行處理,我們使用下面 Terraform 程式碼中的 count
描述引數。相較於較複雜的 for_each
中繼引數,此簡潔方法可簡化建立程序。將 count
設為 3 會自動產生索引為 0、1 和 2 的執行處理,以增強程式碼可讀性與效率。
resource "oci_core_instance" "VM1-3" {
count = (var.create_vm_1_3) ? 3 : 0
availability_domain = "GqIF:PHX-AD-1"
compartment_id = var.compartment_id
create_vnic_details {
assign_ipv6ip = "false"
assign_private_dns_record = "true"
assign_public_ip = "true"
subnet_id = var.create_vcn ? oci_core_subnet.My-Public-Subnet.*.id[0] : var.public_subnet_id
#nsg_ids = (var.create_vcn && var.create_nsg_1) && (count.index == 2) ? [oci_core_network_security_group.nsg-1.*.id[0]] : []
nsg_ids = (var.automate_step_4 && var.create_nsg_1) ? (var.create_vcn ? [oci_core_network_security_group.nsg-1.*.id[0]] : [oci_core_network_security_group.nsg-01.*.id[0]]) : []
}
display_name = "${var.display_name_prefix}-VM-0${count.index + 1}"
metadata = {
"ssh_authorized_keys" = "${file(var.ssh_public_key)}"
}
shape = "VM.Standard.A1.Flex"
shape_config {
memory_in_gbs = "6"
ocpus = "1"
}
source_details {
source_id = var.amper_image_id
source_type = "image"
}
}
注意:若要透過 SSH 存取公用 VM,請產生自己的 SSH 金鑰組。如需詳細資訊,請參閱 Generate SSH keys 。
接下來,啟用 create_vm_4
旗標,指示 Terraform 在專用網路內建立 VM-04。
# Step 3b: Launch the fourth VM (VM-04) in the private subnet.
create_vm_4 = true
這是 Terraform 程式碼的一部分,可在專用子網路中建立第四個執行處理 (VM-04)。
resource "oci_core_instance" "vm-4" {
count = (var.create_vm_4) ? 1 : 0
availability_domain = "GqIF:PHX-AD-1"
compartment_id = var.compartment_id
create_vnic_details {
#assign_ipv6ip = "false"
assign_private_dns_record = "true"
assign_public_ip = "false"
subnet_id = var.create_vcn ? oci_core_subnet.My-Private-Subnet.*.id[0] : var.private_subnet_id
#nsg_ids = (var.create_vcn && var.create_nsg_1) ? [oci_core_network_security_group.nsg-2.*.id[0]] : []
nsg_ids = (var.automate_step_6 && var.create_nsg_2) ? (var.create_vcn ? [oci_core_network_security_group.nsg-2.*.id[0]] : [oci_core_network_security_group.nsg-02.*.id[0]]) : []
}
display_name = "${var.display_name_prefix}-VM-04"
shape = "VM.Standard.A1.Flex"
shape_config {
memory_in_gbs = "6"
ocpus = "1"
}
source_details {
source_id = var.amper_image_id
source_type = "image"
}
}
手動 ICMP 回應測試:觀察 NSG 對流量的影響。
-
移至 OCI 主控台,瀏覽至運算和執行處理。這會列出四個執行處理。
-
請記下這三個實例的公用 IP 位址 (VM-01、VM-02、VM-03)。
-
從您的電腦偵測每個 VM 執行處理的公用 IP 位址。
預期的結果:
-
安全清單沒有 ICMP 回應規則,因此所有執行處理都將會失敗。
-
預設安全規則允許對所有公用 VM 進行 SSH 存取 (連接埠 22)。
自動 ICMP 回應測試:此測試使用 Terraform local-exec
啟動設定器自動執行。
-
我們已經定義一個陣列
VM1_3
,其中包含三個元素來代表三個公用 VM,以及一個變數icmp_ping_count
來指定 ping 的數目。 -
下列 Terraform 程式碼會將您本機機器的 ICMP 回音測試自動化至
VM-02
。resource "null_resource" "icmp_ping_VM2_fromlocal" { depends_on = [oci_core_instance.VM1-3[1]] count = (var.icmp_pingvm2_fromlocal) ? 1 : 0 # Ping VM-02 from local Computer provisioner "local-exec" { command = "ping -c ${var.icmp_ping_count} ${oci_core_instance.VM1-3[1].public_ip}" } }
編輯 input.auto.tfvars
檔案以設定 icmp_ping_count
變數的值。若要啟用從本機電腦偵測這三個公用 VM 中的每個項目,請將 icmp_pingvm?_fromlocal
旗標設為 true
(其中 1、2 或 3 代表特定 VM)。
# ICMP ping from Local Computer (First Attempt)
icmp_pingvm1_fromlocal = true
icmp_pingvm2_fromlocal = true
icmp_pingvm3_fromlocal = true
作業 4:設定 ICMP 傳入流量並將 vNICs 連附至 NSG-01
手動選項:
設定 VM-03 與 NSG-01 之間流量所需的下列子作業。
作業 4.1:在網路中新增傳入規則
若要更新第一個 NSG (NSG-01),請依照圖 3 中所述的步驟進行。
-
選取您的 VCN。
-
在網路安全群組下,選取 NSG-01,然後按一下新增規則。
-
輸入下列資訊,然後按一下新增。
- 來源類型:輸入 CIDR 。
- 來源 CIDR:輸入
0.0.0.0/0
。 - IP 協定:選取 ICMP 。
- 類型:輸入 8 。
- 代碼:選取全部。
圖 3:新增輸入規則至 NSG-01 以允許從網際網路進行 ICMP 偵測
作業 4.2:設定要指向 NSG-01 的第三個 VM (VM-03)
若要將 NSG-01 連附至 VM-03 虛擬網路介面 (VNIC),請依照圖 4 中所述的步驟進行。
-
在運算下,按一下執行處理、 VM-03 以及檢視詳細資訊。
-
選取附加的 vNICs,然後按一下主要 vNIC 。
-
在 vNIC 資訊底下,按一下網路安全群組旁的編輯連結,然後選取 NSG-01。
-
按一下儲存變更。
圖 4:將 NSG-01 連附至 VM-03 vNIC
自動化選項:
移至 input.auto.tfvars
檔案,然後開啟 automate_step_4
旗標。
# Step 4: Add CIDR ingress rule in Network, attach VM-03 vNIC with NSG-01.
automate_step_4 = true
附註:
- 我們強烈建議您手動執行組態工作,同時利用 Terraform 自動佈建資源。
- 如果選擇使用 Terraform 自動化,請記住重新建立 (毀棄並重新建立) VM,以順利將 NSG-01 連附至 VM-03 vNIC。
- 不論選擇的選項為何,實驗室都需要 ICMP 偵測測試。
手動檢查:從本機電腦對 VM VM-01、VM-02 和 VM-03 的公用 IP 位址執行第二個 ICMP 回應測試 (偵測)。
結果:
- 所有偵測都將會失敗。只有第三個執行處理 (VM-03) 才能順利回應。
- VM-03 會回應 ping,因為其 vNIC 的 NSG-01 連附項 (圖 4),允許內送 ICMP 流量 (圖 3)。
自動檢查:瀏覽至 input.auto.tfvars
檔案,並將所有 icmp_pingvm?_fromlocal
旗標設為 true (其中 1、2 或 3 代表特定 VM)。
# ICMP ping from Local Computer (Second Attempt)
icmp_pingvm1_fromlocal = true
icmp_pingvm2_fromlocal = true
icmp_pingvm3_fromlocal = true
作業 5:在巢狀兩個 NSG 之前執行 ICMP 偵測
手動選項:
最初嘗試從三個公用 VM 偵測 VM-04 的專用 IP 位址。
- 透過 SSH 連線至公用子網路中的所有運算執行處理 (VM-01、VM-02、VM-03)。
- 從每個伺服器偵測 VM-04 的專用 IP 位址。
預期結果:所有偵測嘗試都會失敗。若要啟用連線,需要使用巢狀 NSG 架構。
自動化選項:
將每個公用 VM (VM-01、VM-02 以及 VM-03) 的 icmp_test_from_vm?
旗標設為 true。在每個旗標名稱中以特定 VM 號碼 (1、2 或 3) 取代。
# Step 5: SSH to VM-01, VM-02, VM-03 and ping VM-04 (First Attempt).
icmp_test_from_vm1 = true
icmp_test_from_vm2 = true
icmp_test_from_vm3 = true
此選項利用 Terraform remote-exec
啟動設定程式自動執行 ICMP 測試。您必須指定與建立 VM 時所使用之公用金鑰對應的私密 SSH 金鑰。Shell 命令檔 ping_script.sh
會重複 icmp_ping_count
所定義的偵測嘗試次數。
resource "null_resource" "icmp_ping_vm4_from_vm1" {
depends_on = [oci_core_instance.VM1-3[0]]
count = (var.icmp_test_from_vm1) ? 1 : 0
connection {
agent = false
host = oci_core_instance.VM1-3[0].public_ip
user = "opc"
private_key = file(var.ssh_private_key)
}
# At this stage we assume that the ping_script.sh is copied under /home/opc
provisioner "remote-exec" {
inline = [
"echo \" PING PRIVATE IP ${oci_core_instance.vm-4[0].private_ip}\"",
"chmod +x ping_script.sh",
"export TARGET_IP=${oci_core_instance.vm-4[0].private_ip}",
"export PING_COUNT=${var.icmp_ping_count}",
"sh ping_script.sh",
]
}
}
作業 6:設定巢狀 NSG (NSG-01 和 NSG-02)
手動選項:
使用指定 NSG-01 作為來源的輸入規則設定第二個 NSG (NSG-02),讓兩個 NSG 之間的 ICMP 流量能夠流通。
作業 6.1:在網路中新增傳入規則 (虛擬雲端網路)
-
在您的 VCN (VCN-01) 下,按一下安全規則。
-
選取 NSG-02 ,然後按一下新增規則。
-
輸入下列資訊,然後按一下新增。
- 來源類型:選取網路安全群組。
- 來源:輸入 NSG-01 。
- IP 協定:選取 ICMP 。
- 類型:輸入 8 。
- 代碼:選取全部。
圖 5:將 NSG-01 新增為 NSG-02 傳入規則的來源
作業 6.2:設定第四部 VM (VM-04) 以指向 NSG-02
-
在 VM-04 的 vNIC 資訊底下 (圖 6),按一下 NSG 旁的編輯連結,然後選取 NSG-02 。
-
按一下儲存變更。
圖 6:將 NSG-02 連附至 VM-04 vNIC
自動化選項:
若要自動執行此工作,請在 input.auto.tfvars
檔案中將 automate_step_6
設為 true。
# Step 6: Add NSG-01 as ingress rule source, attach NSG-02 to VM04 vNIC.
automate_step_6 = true
作業 7:執行巢狀 NSG 的最終 ICMP 回響測試
手動端對端測試:
重新嘗試從公用 VM 偵測 VM-04 的專用 IP 位址。
-
SSH 至公用子網路 (VM-01、VM-02、VM-03) 中的三個執行處理。
-
從每個 IP ping VM-04 的專用 IP。如圖 1 所示,只有 VM-03 成功。
說明: VM-04 的 vNIC 現在受 NSG-02 內的規則和預設安全清單的規則控制。NSG-01 設定為 NSG-02 的傳入規則來源,允許來自網際網路的流量。
自動化端對端測試:
啟用 Terraform 以自動執行 ICMP 回應偵測測試。
-
將每個 3 個 VM (VM-01、VM-02 和 VM-03) 的
icmp_test_from_vm?
旗標設為true
。 -
如圖 1 的左側部分所述,只有 VM-03 成功偵測 VM-04。
# Step 7: SSH to VM-01, VM-02, VM-03 and ping VM-04 (Second Attempt).
icmp_test_from_vm1 = true
icmp_test_from_vm2 = true
icmp_test_from_vm3 = true
圖 7 顯示在建立與 VM-03 的 SSH 連線之後,所執行多次 ICMP 偵測嘗試的結果。此圖比較實行巢狀 NSG 之前和之後的 ping 結果。
圖 7:將 NSG-02 巢狀至 NSG-01 並將 vNICs 連附至 VM 之前和之後的偵測結果
注意:使用 Terraform 時,請在從手動組態切換之後重新建立 VM,以確保將 NSG-02 正確連結至 VM-04 vNIC。
部署選項
選項 1:使用 Terraform 指令行介面 (CLI) (Community Edition)
使用 Terraform CLI 執行 Terrafrom 命令以規劃和部署您的基礎架構之前,您需要從本機機器或遠端在 OCI Cloud Shell 上使用特定環境詳細資訊更新提供的 Terraform 組態。從此處下載完整的 Terraform 原始碼: oci-blog-fast-tracking-apcertif-main.zip 。您為環境自訂的唯一檔案是 input.auto.tfvars
檔案 (類似名稱為 terraform.tfvars
)。您可以指定已使用電腦映像檔 (amper_image_id
) 的 OCID,以及建立實驗室資源所在區間 (compartment_id
) 的 OCID (視需要修改預設值)。此套裝軟體提供有關設定環境、執行實驗室及瞭解網路和安全概念的完整說明。其中包含詳細指南、秘訣及最佳做法,以強化您的 OCI 進階學習體驗。
##########################################################################
# Terraform module: Nested NSGs - NSG-01 as Ingress source to NSG-02. #
# #
# Copyright (c) 2024 Oracle Author: Mahamat Hissein Guiagoussou #
##########################################################################
# Working Compartment
compartment_id = "REPLACE_WORKING_COMPARTMENT_OCID_HERE"
# Image OCID - https://docs.oracle.com/en-us/iaas/images/
amper_image_id = "REPLACE_INSTANCE_REGIONAL_IMAGE_OCID_HERE"
# Region based display name prefix
display_name_prefix = "AP-LAB01-1" # Replace with your own prefix
##########################################################################
# Step 1a - Create VCN using VCN Wizard (turn off the create_vcn flag), #
##########################################################################
create_vcn = false
vcn_id = "REPLACE_VCN_OCID_HERE"
private_subnet_id = "REPLACE_PRIVATE_SUBNET_OCID_HERE"
public_subnet_id = "REPLACE_PUBLIC_SUBNET_OCID_HERE"
##########################################################################
# Step 1b - Create VCN using Terraform. Provide the CIDR Blocks for the #
# VCN, Subnets and other required input (host_name_prefix). #
##########################################################################
cvcn_cidr_block = "10.0.0.0/16"
public_subnet_cidr_block = "10.0.0.0/24"
private_subnet_cidr_block = "10.0.1.0/24"
host_name_prefix = "phxapl4"
##########################################################################
# Step 2: Create two(2) empty Network Security Groups: NSG-01 & NSG-02. #
##########################################################################
create_nsg_1 = false
create_nsg_2 = false
##########################################################################
# Step 3a: Launch three VMs(VM-01, VM-02, VM-03) in the public subnet. #
##########################################################################
create_vm_1_3 = false
##########################################################################
# Step 3b: Launch the fouth VM (VM-04) in the private subnet. #
##########################################################################
create_vm_4 = false
# Shape Definition
shape_name = "VM.Standard.A1.Flex"
shape_memory_in_gbs = "6"
shape_numberof_ocpus = "1"
# Ping all public VM from Local Computer
icmp_pingvm1_fromlocal = false
icmp_pingvm2_fromlocal = false
icmp_pingvm3_fromlocal = false
# Compute Instance SSH keys
ssh_public_key = "~/cloudshellkey.pub"
ssh_private_key = "~/cloudshellkey"
# Ping VM-04 from Public VMs (VM-02, VM-02, and VM-03) via SSH
icmp_test_from_vm1 = false
icmp_test_from_vm2 = false
icmp_test_from_vm3 = false
##########################################################################
# Step 4: Add CIDR ingress rule in Network & Attach VM3 vNIC with NSG-01 #
##########################################################################
automate_step_4 = false
##########################################################################
# Step 5: SSH to VM-01, VM-02, VM-03 and ping VM-04 (First Attempt). #
##########################################################################
##########################################################################
# Step 6: Add NSG-01 as ingress rule source, Attach VM4 vNIC with NSG-02 #
##########################################################################
automate_step_6 = false
##########################################################################
# Step 7: SSH to VM-01, VM-02, VM-03 and ping VM-04 (Second Attempt). #
##########################################################################
# Number of time ping is executed
icmp_ping_count = "REPLACE_NUMBER_OF_PING_ATTEMPTS_HERE"
選項 2:使用 Oracle Resource Manager (變數輸入範例)
定義變數 (例如 amper_image_id
、compartment_id
)、啟動設定網路資源 (create_vcn
、create_msg_1/2
)、建立 VM (create_vm_1_3
、create_vm_4
、shape_name
)、ICMP ping (icmp_pingvm1_fromlocal
、icmp_test_from_vm1
),以及執行計畫來建置基礎架構,以建立「Oracle 資源管理程式」堆疊。
接下來的步驟
基礎架構即程式碼 (IaC) 原則 (使用 Terraform) 可透過加速的部署和改進的安全性,大幅強化基礎架構管理。例如,在 OCI Architect Professional 認證 (2024) 中手動設定巢狀 NSG 實驗室 1:成為 OCI Architect Professional (2024) 通常耗用大約 25 分鐘。
藉由運用 Terraform,大幅縮短佈建及設定複雜 OCI 資源所需的時間,大幅提升效率。這代表管理複雜網路安全組態的 OCI 使用者可節省大量時間和成本。此外,IaC 可提升一致性並降低人為錯誤的風險,使其成為學習和實際客戶導入的寶貴模型。若要深入瞭解如何將 IaC 與 Terraform 或其他類似工具套用至您的 OCI 自動化需求,請考慮在其餘的 OCI Architect 專業認證實驗室中套用學習原則,同時探索 OCI 參考架構和最佳實務。
認可
- 作者 - Mahamat Hissein Guiagoussou (主要雲端架構師)
其他學習資源
探索 docs.oracle.com/learn 上的其他實驗室,或存取 Oracle Learning YouTube 頻道上的更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請造訪 Oracle Help Center 。
Accelerate Oracle Cloud Infrastructure Architect Professional Certification with Terraform
G13860-01
August 2024