Observação:
- Este tutorial requer acesso ao Oracle Cloud. Para se inscrever em uma conta gratuita, consulte Conceitos Básicos do Oracle Cloud Infrastructure Free Tier.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
Acelere a Certificação Profissional de Arquitetos do Oracle Cloud Infrastructure com o Terraform
Introdução
A obtenção da certificação de Arquiteto Profissional da Oracle Cloud Infrastructure (OCI) exige um profundo conhecimento da Oracle Cloud e experiência prática. Este tutorial acelera sua jornada aproveitando a Infraestrutura como Código (IaC) com o Terraform.
A Figura 1 abaixo mostra a arquitetura do OCI de destino a ser implantada. O lado direito descreve uma abordagem estruturada para o laboratório OCI Architect Professional Certification (2024), dividido em sete etapas sequenciais. Aproveitando trechos de código pré-criados do Terraform personalizados para os laboratórios de exames de certificação, tarefas repetitivas são automatizadas, liberando tempo valioso para se concentrar no domínio de conceitos essenciais da OCI. Essa abordagem não apenas acelera a conclusão do laboratório, mas também promove uma compreensão mais profunda da plataforma.
Figura 1: OCI Architecture Professional Certification Lab 1 - Arquitetura e Processo Manual versus Automatizado
Drawback de Métodos Manuais
Abordagens manuais para os laboratórios práticos do exame de certificação da OCI podem ser um obstáculo significativo. Algumas desvantagens são:
- Erro Prone: tarefas manuais repetitivas aumentam o risco de erros humanos, levando a erros de digitação, etapas perdidas e atrasos.
- Consumo de Tempo: Fluxos de trabalho complexos são demorados, dificultando o progresso e limitando a prática.
- Não Escalável: Requer copiar e colar, introduzir erros e multiplicar esforços de correção.
- Teste de gargalo: A avaliação de tarefas manuais é subjetiva, dificultando a medição e a prontidão precisas do desempenho.
- Deficiências de Documentação: Depende de informações humanas informais, práticas inconsistentes e desafios na manutenção de procedimentos.
- Além da dor manual:
- Os métodos tradicionais criam uma pressão de tudo ou nada. Um único passo perdido pode descarrilar o progresso, adicionando estresse desnecessário e obscurecendo a verdadeira compreensão.
- Esses métodos confundem a linha entre habilidades essenciais e tarefas obrigatórias. O tempo de prática valioso é perdido em uma configuração tediosa, dificultando o aprendizado e o domínio das habilidades da OCI.
Domine as habilidades da OCI mais rapidamente: o poder da automação
Este tutorial mostra como acelerar a certificação da OCI automatizando tarefas, concentrando-se nas principais habilidades e diminuindo o tempo de prática.
Benefícios-chave:
- Aprendizagem Focada: Automatize tarefas repetitivas, liberando tempo para dominar os principais conceitos e aprofundando a compreensão e a retenção de conhecimento.
- Exercício sob Demanda: Obtenha flexibilidade escolhendo qual parte dos laboratórios automatizar, personalizando o ritmo de aprendizado e acelerando a prontidão.
- Aumente a Eficiência: Reduza o tempo de preparação em até 80% por meio da automação.
Benefícios adicionais:
- Escalabilidade e economia de custos: Amplie ou reduza facilmente a infraestrutura com base na demanda, resultando em economia de custos.
- Erros Reduzidos: Elimine o erro humano, certifique-se de que a infraestrutura esteja sempre provisionada de forma segura e correta.
Para agilizar sua jornada de Certificação OCI Architect Professional (2024), automatizaremos o Lab 1: Oracle Cloud Infrastructure Architect Professional ilustrado na Figura 1 usando o Terraform. Essa abordagem automatizada pode ser estendida a outros laboratórios de certificação e implementações de nuvem do mundo real.
Grupo de Segurança de Rede (NSG) como Origem de Entrada para Outro NSG, em vez de Bloco CIDR
Este tutorial explora os Grupos de Segurança de Rede no OCI e como eles fornecem controle granular sobre o tráfego de rede em uma Rede Virtual na Nuvem (VCN). Os Grupos de Segurança de Rede atuam como firewalls virtuais, controlando o acesso à rede a recursos dentro de uma VCN. Isso inclui, por exemplo, instâncias do OCI Compute, clusters do Kubernetes ou bancos de dados. Os Grupos de Segurança de Rede oferecem maior flexibilidade do que as listas de segurança, permitindo o controle entre recursos em vez de apenas entre sub-redes.
Abordagem híbrida semi-automatizada em 7 etapas
Os laboratórios práticos do OCI Architect Professional Certification, embora abrangentes, podem ser demorados. Considere o Laboratório 1: Oracle Cloud Infrastructure Architect Professional, que exige pelo menos 25 minutos para ser concluído. Ao automatizar tarefas repetitivas como criação de VCN, NSG e máquina virtual (VM) com o Terraform, você pode reduzir esse tempo em até 80%, concentrando-se nos principais conceitos de segurança, em vez de em etapas manuais tediosas. A abordagem semi-automatizada proposta oferece flexibilidade, permitindo que você escolha quais tarefas automatizar.
Objetivos
- Acelere a preparação da Certificação de Arquiteto Profissional do Oracle Cloud Infrastructure com o Terraform.
Pré-requisitos
-
Familiaridade com Infraestrutura como princípios de Código (IaC) e recursos principais do Terraform.
-
Conhecimento básico do Terraform. Os iniciantes devem concluir o Oracle Cloud Infrastructure Architect Professional ou qualquer guia iniciante como Terraform for_each: Um Tutorial simples com Exemplos.
-
Uso do OCI Cloud Shell, do Oracle Resource Manager (ORM) ou do IDE (por exemplo, Visual Studio) com o plug-in do Terraform.
Tarefa 1: Criar uma VCN (rede virtual na nuvem)
Opção Manual:
Use o assistente de VCN do OCI para criar recursos de rede principais: VCN, gateway de internet, tabela de roteamento, lista de segurança, sub-redes públicas e privadas. Para obter mais informações, consulte Início Rápido de Rede Virtual.
-
Vá para a Console do OCI, navegue até Rede, Redes Virtuais na Nuvem e crie uma nova VCN.
-
Clique em Informações da VCN e anote os OCIDs de VCN, Sub-rede Privada e Sub-rede Pública (Figura 2).
-
Adicione os OCIDs ao arquivo
input.auto.tfvars
(outerraform.tfvars
), conforme descrito na seção de opções de implantação.
Por padrão, o flag create_vcn
está desativado (crie manualmente a VCN na Console do OCI). Colete o OCID da VCN, OCIDs de Sub-redes e adicione-os ao arquivo 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"
Figura 2: View da VCN da Console para Coletar OCID da VCN, OCID da Sub-rede Pública e OCID da Sub-rede Privada
Opção automatizada:
Crie a VCN usando as etapas a seguir.
-
Para criar automaticamente a VCN e todos os recursos de rede, defina o flag
create_vcn
comotrue
no arquivoinput.auto.tfvars
. -
Especifique VCN, sub-rede pública, blocos CIDR de sub-redes privadas e prefixo de nome de host.
# 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"
Tarefa 2: Criar Dois NSGs (NSG-01 e NSG-02)
Opção Manual:
Crie dois NSGs (NSG-01 e NSG-02) usando as seguintes etapas:
-
Selecione a VCN criada na Tarefa 1.
-
Em Recursos, clique em Grupos de Segurança de Rede.
-
Clique em Criar Grupo de Segurança de Rede e especifique as seguintes informações.
- Nome: Digite um nome. Por exemplo,
<REGION-KEY>-AP-LAB01-NSG-01
. - Create-In Compartment: Informe o seu compartimento de trabalho.
- Clique em Criar.
- Nome: Digite um nome. Por exemplo,
-
Repita a etapa 1 a 3 para o segundo NSG chamado
<REGION-KEY>-AP-LAB01-NSG-02
.
Opção automatizada:
O código do Terraform a seguir cria dois NSGs (NSG-01 e 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"
}
Para criar os dois NSGs, defina os flags create_nsg_1
e create_nsg_2
como true
.
# Step 2: Create two(2) empty Network Security Groups (NSG-01 & NSG-02).
create_nsg_1 = true
create_nsg_2 = true
Tarefa 3: Iniciar Quatro VMs usando o Terraform e Executar Teste de Ping do ICMP (Internet Control Message Protocol)
Supondo familiaridade com a inicialização manual de VMs na Console do OCI. Para obter mais informações, consulte Criando uma Instância.
Observação: Só abordamos a opção de automação do Terraform para criar 4 VMs (3 VMs na sub-rede pública e 1 VM na sub-rede privada).
Ative o flag create_vm_1_3
para instruir o Terraform a criar três VMs (VM-01, VM-02 e VM-03).
# Step 3a: Launch three(3) VMs(VM-01, VM-02, VM-03) in the public subnet.
create_vm_1_3 = true
Para criar três instâncias de computação dentro da sub-rede pública, usamos o metaargumento count
no código do Terraform abaixo. Essa abordagem concisa simplifica o processo de criação em comparação com o metaargumento for_each
mais complexo. A definição de count
como 3 gera automaticamente instâncias indexadas 0, 1 e 2, melhorando a legibilidade e a eficiência do código.
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"
}
}
Observação: para acessar as VMs públicas por meio do SSH, gere seu próprio par de chaves SSH. Para obter mais informações, consulte Gerar chaves SSH.
Em seguida, ative o flag create_vm_4
para instruir o Terraform a criar VM-04 na rede privada.
# Step 3b: Launch the fourth VM (VM-04) in the private subnet.
create_vm_4 = true
Esta é a parte do código do Terraform que cria a quarta instância (VM-04) na sub-rede privada.
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"
}
}
Teste Manual de Eco do ICMP: Observando o impacto de NSGs no tráfego.
-
Vá para a Console do OCI, navegue até Compute e Instances. Todas as quatro instâncias serão listadas.
-
Anote os endereços IP públicos das três instâncias (VM-01, VM-02, VM-03).
-
No seu computador, faça ping no endereço IP público de cada instância de VM.
Resultados Esperados:
-
Todas as instâncias falharão porque a lista de segurança não tem uma regra de eco ICMP.
-
As regras de segurança padrão permitiram o acesso SSH (porta 22) a todas as VMs públicas.
Teste de Eco ICMP Automatizado: Esse teste é automatizado usando o provisionador local-exec
do Terraform.
-
Definimos um array,
VM1_3
, contendo três elementos para representar as três VMs públicas e uma variável,icmp_ping_count
, para especificar o número de pings. -
O código do Terraform a seguir automatiza os testes de eco ICMP para
VM-02
da sua máquina local.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}" } }
Edite o arquivo input.auto.tfvars
para definir o valor da variável icmp_ping_count
. Para ativar o ping de cada uma das três VMs públicas do seu computador local, defina os flags icmp_pingvm?_fromlocal
como true
(em que 1, 2 ou 3 representa a VM específica).
# ICMP ping from Local Computer (First Attempt)
icmp_pingvm1_fromlocal = true
icmp_pingvm2_fromlocal = true
icmp_pingvm3_fromlocal = true
Tarefa 4: Configurar o Tráfego de Entrada do ICMP e Anexar vNICs ao NSG-01
Opção Manual:
As subtarefas a seguir necessárias para configurar o tráfego entre VM-03 e NSG-01.
Tarefa 4.1: Adicionar uma Nova Regra de Entrada na Rede
Para atualizar o primeiro NSG (NSG-01), siga as etapas descritas na Figura 3.
-
Selecione sua VCN.
-
Em Grupos de Segurança de Rede, selecione NSG-01 e clique em Adicionar Regras.
-
Insira as informações a seguir e clique em Adicionar.
- Tipo de Origem: Digite CIDR.
- CIDR de Origem: Digite
0.0.0.0/0
. - IP Protocol: Selecione ICMP.
- Tipo: Informe 8.
- Código: Selecione Todos.
Figura 3: Adicionar regra de entrada ao NSG-01 para permitir ICMP Ping da Internet
Tarefa 4.2: Configurar a Terceira VM (VM-03) para Apontar para NSG-01
Para anexar o NSG-01 à interface de rede virtual (VNIC) VM-03, siga as etapas descritas na Figura 4.
-
Em Compute, clique em Instâncias, VM-03 e Exibir Detalhes.
-
Selecione o vNICs anexado e clique em VNIC Principal.
-
Em Informações da vNIC, clique no link Editar ao lado de Grupo de Segurança de Rede e selecione NSG-01.
-
Clique em Salvar Alterações.
Figura 4: Anexar NSG-01 à vNIC VM-03
Opção automatizada:
Vá para o arquivo input.auto.tfvars
e ative o flag automate_step_4
.
# Step 4: Add CIDR ingress rule in Network, attach VM-03 vNIC with NSG-01.
automate_step_4 = true
Observações:
- É altamente recomendável executar tarefas de configuração manualmente enquanto aproveita o Terraform para provisionamento automatizado de recursos.
- Se optar pela automação do Terraform, lembre-se de recriar (destruir e recriar) VMs para anexar NSG-01 à vNIC VM-03 com sucesso.
- Independentemente da opção escolhida, o laboratório exige testes de ping ICMP.
Verificação Manual: Execute um segundo teste de eco ICMP (ping) para os endereços IP públicos das VMs VM-01, VM-02 e VM-03 do seu computador local.
Resultados:
- Todo ping falhará. Somente a terceira instância (VM-03) responderá com sucesso.
- VM-03 responde ao ping devido ao anexo de sua vNIC ao NSG-01 (Figura 4), que permite tráfego ICMP de entrada (Figura 3).
Verificação Automatizada: Navegue até o arquivo input.auto.tfvars
e defina todos os flags icmp_pingvm?_fromlocal
como verdadeiros (em que 1, 2 ou 3 representa a VM específica).
# ICMP ping from Local Computer (Second Attempt)
icmp_pingvm1_fromlocal = true
icmp_pingvm2_fromlocal = true
icmp_pingvm3_fromlocal = true
Tarefa 5: Executar Ping ICMP Antes de Aninhar os dois NSGs
Opção Manual:
Inicialmente, tente fazer ping do endereço IP privado de VM-04 nas três VMs públicas.
- Conecte-se via SSH a todas as instâncias de computação na sub-rede pública (VM-01, VM-02, VM-03).
- Em cada servidor, faça ping no endereço IP privado de VM-04.
Resultados Esperados: Todas as tentativas de ping falharão. Para ativar a conectividade, é necessária uma arquitetura NSG aninhada.
Opção automatizada:
Defina o flag icmp_test_from_vm?
como verdadeiro para cada VM pública (VM-01, VM-02 e VM-03). Substitua pelo número de VM específico (1, 2 ou 3) em cada nome de flag.
# 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
Essa opção aproveita o provisionador remote-exec
do Terraform para automatizar o teste ICMP. Você precisará especificar a chave SSH privada que corresponde à chave pública usada durante a criação de VMs. O script shell, ping_script.sh
itera pelo número de tentativas de ping definidas por 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",
]
}
}
Tarefa 6: Configurar NSGs Aninhados (NSG-01 e NSG-02)
Opção Manual:
Configure o segundo NSG (NSG-02) com uma regra de entrada que especifique NSG-01 como origem, permitindo o fluxo de tráfego ICMP entre os dois NSGs.
Tarefa 6.1: Adicionar uma Regra de Entrada na Rede (Rede Virtual na Nuvem)
-
Em sua VCN (VCN-01), clique em Regras de Segurança.
-
Selecione NSG-02 e clique em Adicionar Regras.
-
Insira as informações a seguir e clique em Adicionar.
- Source Type: Selecione Network Security Group.
- Origem: Digite NSG-01.
- IP Protocol: Selecione ICMP.
- Tipo: Informe 8.
- Código: Selecione Todos.
Figura 5: Adicionar NSG-01 como Origem à Regra de Entrada do NSG-02
Tarefa 6.2: Configurar a Quarta VM (VM-04) para Apontar para NSG-02
-
Em Informações de vNIC da VM-04 (Figura 6), clique no link Editar ao lado do NSG e selecione NSG-02.
-
Clique em Salvar Alteração.
Figura 6: Anexe o NSG-02 à vNIC VM-04
Opção automatizada:
Para automatizar essa tarefa, defina automate_step_6
como verdadeiro no arquivo input.auto.tfvars
.
# Step 6: Add NSG-01 as ingress rule source, attach NSG-02 to VM04 vNIC.
automate_step_6 = true
Tarefa 7: Executar os Testes de Eco ICMP Finais para os NSGs Aninhados
Testes Manuais de Ponta a Ponta:
Tente executar novamente o ping do endereço IP privado de VM-04 nas VMs públicas.
-
Estabeleça SSH nas três instâncias da sub-rede pública (VM-01, VM-02, VM-03).
-
De cada um, faça ping no IP privado de VM-04. Somente VM-03 é bem-sucedido, conforme ilustrado na Figura 1.
Explicação: A vNIC da VM-04 agora é governada pelas regras no NSG-02 e pelas da lista de segurança padrão. O NSG-01 é configurado como uma origem de regra de entrada para NSG-02, permitindo o tráfego da internet.
Teste Automatizado de Ponta a Ponta:
Ative o Terraform para executar automaticamente testes de ping de eco ICMP.
-
Defina o flag
icmp_test_from_vm?
comotrue
para cada uma das 3 VMs (VM-01, VM-02 e VM-03). -
Conforme descrito na parte esquerda da Figura 1, apenas VM-03 faz pings com sucesso de 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
A Figura 7 exibe os resultados de várias tentativas de ping ICMP executadas após estabelecer uma conexão SSH com VM-03. A figura compara o resultado do ping antes e depois da implementação de NSGs aninhados.
Figura 7: Resultados de ping antes e depois de aninhar o NSG-02 no NSG-01 e anexar vNICs às VMs
Observação: Ao usar o Terraform, recrie VMs após alternar da configuração manual para garantir a vinculação adequada do NSG-02 à vNIC VM-04.
Opções de Implantação
Opção 1: Usando a Interface de Linha de Comando (CLI) do Terraform (Community Edition)
Antes de executar os comandos Terrafrom para planejar e implantar sua infraestrutura usando a CLI do Terraform, você precisa atualizar a configuração do Terraform fornecida com os detalhes específicos do seu ambiente da sua máquina local ou remotamente no OCI Cloud Shell. Faça download do código-fonte completo do Terraform a partir daqui: oci-blog-fast-tracking-apcertif-main.zip. O único arquivo que você precisa personalizar para seu ambiente é o arquivo input.auto.tfvars
(o arquivo com o mesmo nome é terraform.tfvars
). Você pode especificar, por exemplo, os OCIDs da imagem de computador usada (amper_image_id
) e do compartimento (compartment_id
) no qual os recursos de laboratório serão criados (modifique os valores padrão somente se necessário). O pacote fornece instruções abrangentes para configurar seu ambiente, executar laboratórios e compreender conceitos de rede e segurança. Ele inclui guias detalhados, dicas e melhores práticas para aprimorar sua experiência de aprendizado avançado da 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"
Opção 2: Usando o Oracle Resource Manager (amostras de entrada variáveis)
Crie uma pilha do Oracle Resource Manager definindo variáveis (por exemplo, amper_image_id
, compartment_id
), provisionando recursos de rede (create_vcn
, create_msg_1/2
), criando VMs (create_vm_1_3
, create_vm_4
, shape_name
), pings ICMP (icmp_pingvm1_fromlocal
, icmp_test_from_vm1
) e executando o plano para implantar a infraestrutura.
Próximas Etapas
Os princípios de Infraestrutura como Código (IaC), usando o Terraform, aprimoram significativamente o gerenciamento de infraestrutura por meio de implementação acelerada e segurança aprimorada. Por exemplo, configurar manualmente NSGs aninhados no OCI Architect Professional Certification (2024) Lab 1: Become An OCI Architect Professional (2024) geralmente consome cerca de 25 minutos.
Ao aproveitar o Terraform, reduzimos significativamente o tempo necessário para provisionar e configurar recursos complexos da OCI, demonstrando um ganho substancial de eficiência. Isso se traduz em economia de tempo e custo mensurável para usuários da OCI que gerenciam configurações complexas de segurança de rede. Além disso, o IaC promove a consistência e reduz o risco de erro humano, tornando-o um modelo valioso para implementações de clientes no mundo real e de aprendizado. Para saber mais sobre a aplicação do IaC com o Terraform ou outras ferramentas semelhantes para suas necessidades de automação da OCI, considere aplicar os princípios aprendidos nos laboratórios restantes de Certificação Profissional de Arquitetos da OCI enquanto explora a Arquitetura de Referência da OCI e as melhores práticas.
Confirmações
- Autor - Mahamat Hissein Guiagoussou (Arquiteto de Nuvem Principal Mestre)
Mais Recursos de Aprendizagem
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Accelerate Oracle Cloud Infrastructure Architect Professional Certification with Terraform
G13858-01
August 2024