Skip to content

Capítulo 3: OCI Foundations

3.4 Acessando o OCI

3.4.1 Formas de Acesso ao OCI

Todo provedor de Computação em Nuvem, incluindo o OCI, disponibiliza seus serviços por meio de APIs REST. Isso significa que, para criar um recurso - seja uma máquina virtual, um banco de dados ou uma rede - você deve utilizar uma ou mais dessas APIs.

Embora seja possível interagir diretamente com as APIs do OCI, essa abordagem pode ser complexa. Por exemplo, para criar uma VCN diretamente por meio de sua API, é necessário enviar uma solicitação HTTPS utilizando o método POST para um endpoint na região de São Paulo, Brasil, semelhante ao exemplo abaixo:

1
2
3
4
5
6
7
$ curl -X POST https://iaas.sa-saopaulo-1.oraclecloud.com/20160918/vcns \
> -H "Content-Type: application/json" \
> -d '{
>   "compartmentId": "ocid1.compartment.oc1..aaaaaaaaaaaaaaaabbbbbbbbccc",
>   "displayName": "vcn-saopaulo",
>   "cidrBlock": "172.16.0.0/16"
> }'

NOTA

Toda interação com as APIs do OCI exige um usuário válido com sua devida credencial de autenticação. Além de ter as credenciais corretas, o usuário deve estar autorizado por meio de Policies. Na seção XYZ, abordaremos a criação de novos usuários e a concessão de permissões para utilizar as APIs do OCI.

NOTA

Para consultar a lista completa de APIs disponíveis para todos os recursos e serviços oferecidos pelo OCI, acesse o link API Reference and Endpoints.

Diante disso, existem basicamente quatro maneiras de acessar e interagir com as APIs do OCI sem a necessidade de montar requisições HTTP manualmente. São elas:

Web Console

A Web Console, acessível por meio de um navegador de internet (Mozilla Firefox, Google Chrome ou Opera), oferece uma interface gráfica intuitiva para gerenciar todos os serviços de nuvem do OCI. Essa é a forma mais comum e a mais utilizada para acessar e administrar seu ambiente no OCI.

Para acessar a Web Console, insira o seguinte endereço no seu navegador:

alt_text

Você será direcionado para a página onde deverá inserir o Nome da Conta ou Nome do Tenancy que foi criado. No exemplo do livro, o nome da conta é: ocipizza

alt_text

Será solicitado a escolha de um Domínio de Identidade (Identity Domain) para a autenticação do usuário. Neste caso, iremos utilizar o Default pois nenhum outro domínio de identidade foi criado.

alt_text

NOTA

Consulte a documentação "Gerenciando Domínios de Identidade" para obter mais informações sobre como criar, administrar e federar outros domínios de identidade.

Após selecionar o Domínio de Identidade a ser utilizado, é hora de inserir o nome de usuário e a senha. Neste caso, o usuário a ser utilizado é o usuário administrador que foi configurado durante a criação da conta no OCI.

alt_text

Após a autenticação bem-sucedida, você será redirecionado para a página principal da Web Console.

alt_text

NOTA

Este é um livro "Orientado a Código". Consoles gráficas, como a Web Console, sofrem mudanças com maior frequência e por isso, este meio será pouco utilizado nos exemplos apresentados. Para obter mais informações sobre a Web Console, consulte a documentação disponível no link Home Page da Console.

OCI CLI (OCI Command Line Interface)

O OCI CLI é uma ferramenta de linha de comando que permite criar e gerenciar seus recursos no OCI, sendo este o método que será mais utilizado nos exemplos deste livro.

É importante lembrar que tudo o que pode ser realizado por meio do Web Console também pode ser feito através do OCI CLI, uma vez que ambos interagem com as mesmas APIs REST disponibilizadas pelo OCI. Vale ressaltar que algumas funcionalidades estão disponíveis exclusivamente no OCI CLI e não na Web Console.

Por exemplo, para criar uma VCN utilizando o OCI CLI, você pode executar o seguinte comando:

1
2
3
4
5
6
$ oci --region "sa-saopaulo-1" network vcn create \
> --compartment-id "ocid1.compartment.oc1..aaaaaaaaaaaaaaaabbbbbbbbccc" \
> --cidr-blocks '["172.16.0.0/16"]' \
> --display-name "vcn-saopaulo" \
> --dns-label "vcnsaopaulo" \
> --wait-for-state AVAILABLE

OCI SDK (OCI Software Development Kits)

Um SDK, ou Software Development Kit (Kit de Desenvolvimento de Software), é projetado para auxiliar os desenvolvedores na integração de funcionalidades e recursos de uma tecnologia específica em seus aplicativos.

No caso do OCI SDK, disponível em várias linguagens de programação, ele proporciona uma maneira simplificada de integrar e acessar as APIs do OCI diretamente no código do seu aplicativo.

Neste livro, utilizaremos o OCI Python SDK, que é um módulo Python que disponibiliza diversas classes e métodos para interagir com as APIs do OCI. Em resumo, a aplicação OCI Pizza, também desenvolvida em Python, faz uso desse SDK para se comunicar com as APIs do OCI.

A instalação do OCI Python SDK é fácil e pode ser feita com um único comando:

$ python3 -m pip install oci

A seguir, um exemplo de como utilizar o OCI Python SDK para criar uma VCN:

import oci

config = oci.config.from_file("~/.oci/config", "DEFAULT") 

vcn_client = oci.core.VirtualNetworkClient(config)

create_vcn_details = oci.core.models.CreateVcnDetails(
    compartment_id="ocid1.compartment.oc1..aaaaaaaaaaaaaaaabbbbbbbbccc",
    display_name="vcn-saopaulo",
    cidr_blocks=["172.16.0.0/16"]
)

vcn_client.create_vcn(create_vcn_details)

NOTA

A documentação do OCI Python SDK pode ser acessada através do link Oracle Cloud Infrastructure Python SDK.

NOTA

Consulte "Interface de Linha de Comando e Kits de Desenvolvimento de Software" para acessar uma lista dos SDKs disponíveis em outras linguagens de programação.

Terraform

Terraform é uma ferramenta de Infraestrutura como Código (Infrastructure as Code - IaC) desenvolvida pela HashiCorp que permite definir, criar e gerenciar recursos no OCI por meio de código. Assim como o OCI CLI, o OCI SDK e a Web Console, o Terraform utiliza as mesmas APIs para interagir com os serviços e recursos disponíveis no OCI.

Por exemplo, para criar uma VCN utilizando o Terraform, o código seria este:

1
2
3
4
5
resource "oci_core_vcn" "vcn-saopaulo" {
   compartment_id = "ocid1.compartment.oc1..aaaaaaaaaaaaaaaabbbbbbbbccc"
   display_name = "vcn-saopaulo"
   cidr_blocks = ["172.16.0.0/16"]
}

NOTA

A utilização do Terraform para criar e gerenciar infraestrutura no OCI será discutida de forma mais detalhada no "Capítulo XYZ - Terraform". Nesse capítulo, também será apresentado o Resource Manager, que é essencialmente uma implementação do Terraform como serviço no OCI.