Conceitos Básicos da Interface de Linha de Comando

Este tópico fornece uma instrução dos comandos necessários para iniciar uma instância do Linux e uma instância do Windows. Este tutorial inclui como trabalhar com um compartimento, criar uma rede virtual na nuvem e iniciar instâncias.

Dica

A CLI tem um modo interativo que fornece a conclusão automática do comando e informações e sugestões de parâmetros. Para obter mais informações, consulte Usando o Modo Interativo.

Sobre a Interface de Linha de Comando (CLI)

A CLI é uma ferramenta que permite que você trabalhe com a maioria dos serviços disponíveis no Oracle Cloud Infrastructure. A CLI fornece a mesma funcionalidade básica da Console, além de comandos adicionais. A funcionalidade da CLI e a ajuda do comando são baseadas na API do serviço.

Obtendo Ajuda com Comandos

Você pode obter ajuda em linha usando as palavras-chave --help, -h ou -?. Por exemplo:

oci --help
oci bv volume -h
oci os bucket create -?

Você também pode exibir toda a ajuda da CLI em seu browser.

Sobre os Exemplos de CLI

Os exemplos neste documento são agrupados como um comando e uma resposta, em que:

  • Você será informado sobre o que o comando faz e receberá o comando a ser usado
  • O resultado do comando é retornado em uma caixa de texto drop-down

O próximo exemplo mostra um comando e um grupo de respostas.

Para obter o namespace da sua tenancy, execute o comando a seguir.

oci os ns get
Resposta
Observação

Conceitos Básicos da Saída da Resposta

Essa resposta ao comando oci os ns get mostra a saída padrão, que é retornada no formato JSON. Os objetos JSON são gravados como pares de chave/valor, com a chave e o valor separados por dois-pontos. Por exemplo:
{
"data": "docs"
"id": "ocid1.compartment.oc1..aaaaaaaal3gzijdhqol2pglie6astxxeyqdqeyg35nz5zxil2rggnx7jnhwa"
"is-stateless": null							
}
Uma chave como "id" não é muito informativa. Para entender a referência de objeto JSON, é necessário ler o valor da chave.
{
"data": "docs"
}

A maioria dos grupos de comandos e respostas neste guia não é tão simples quanto o exemplo anterior. No entanto, à medida que você for percorrendo as tarefas, será mais fácil ler e trabalhar com elas.

Antes de Começar

Antes de começar a usar a interface de linha de comando, verifique se você atende a todos os requisitos descritos na CLI (Command Line Interface).

Como prática recomendada, conclua as tarefas deste tutorial em um ambiente de teste. Essa abordagem garante que suas configurações não afetem outros ambientes na tenancy. Ao final do tutorial, você pode excluir com segurança os recursos de teste.

Trabalhando em um Compartimento

Neste tutorial, você usa um compartimento para todos os seus recursos. Quando estiver pronto para criar um ambiente de produção, você provavelmente separará esses recursos em diferentes compartimentos.

Você pode usar um compartimento existente (recomendado) ou criar um novo compartimento.

Escolher um Compartimento

Ajuda: oci iam compartment list -h

Para listar os compartimentos em sua tenancy, execute o comando a seguir.

oci iam compartment list -c <tenancy_id>
Exemplo de Comando e Resposta
oci iam compartment list -c ocid1.tenancy.oc1..aaaaaaaal1fvgn0h9njji5u6ldrwb4l6aay2x87qatw2wte30f714lal9oom
{
  "data": [
    {
      "compartment-id": "ocid1.tenancy.oc1..aaaaaaaal1fvgn0h9njji5u6ldrwb4l6aay2x87qatw2wte30f714lal9oom",
      "description": "For testing CLI features",
      "id": "ocid1.tenancy.oc1..aaaaaaaal1fvgn0h9njji5u6ldrwb4l6aay2x87qatw2wte30f714lal9oom",
      "inactive-status": null,
      "lifecycle-state": "ACTIVE",
      "name": "CLIsandbox",
      "time-created": "2017-06-27T18:52:52.214000+00:00"
    },
    {
      "compartment-id": "ocid1.tenancy.oc1..aaaaaaaal1fvgn0h9njji5u6ldrwb4l6aay2x87qatw2wte30f714lal9oom",
      "description": "for testing",
      "id": "ocid1.compartment.oc1..aaaaaaaasqn3hj6e5tq6slj4rpdqqja7qsyuqipmu4sv5ucmyp3rkmrhuv2q",
      "inactive-status": null,
      "lifecycle-state": "ACTIVE",
      "name": "CLISandbox",
      "time-created": "2017-05-12T21:31:27.709000+00:00"
    }
    ],
  "opc-next-page": "   AAAAAAAAAAGLB28zJTjPUeNvgmLxg9QuJdAAZrl10FfKymIMh4ylXItQkO_Xk6RXbGxCn8hgkYm_pRpf1v6hVoxrYTQsaoveGMkX6iwwwPY5dptL8AKlyogYSs7F3G92KG2EhrI7j4NoUBtJ4-PTB53F2TZ31dReLsbzxBa3ljbwqQgwzQsUPYROLXA40EIJFdr2oYp67AzozSW8jt8MWFC8y19PsHEEEBW1jw8TT7Lq8XL_7mo5avasfsIYS7-VgP3ZFu6Y-Rab-gPNtjsT4pLh91BkDKWzbyHr0OmH4W1rhTJ5HfZ8YGpA0Ntm7_rOyNBd06qeBU496AQHk24-U_l9p4NvAvHuJ_fR-Z6ahgvWPlZQc1iCTRlJ6leM7ED3JNehIV0onOVQvGquJpF2WeEWFPcioQaqf4iScqHEchV--3Mn2k1yP_-b4AsVtSPRFYG8UuiRACPzg6ENVFjyeGOk3rrHjLR3j7s61pdgqtMOKZ1WtbOV8AcNON8ac1xJPN7O2YmjO3D0H4JmzXh_GxRskTpkl1D9En9zJXn99oWsNBOYgQQmv7s_7j82ZrXGoyOME-iT"
}

Criar um Compartimento

Ajuda: oci iam compartment create -h

Antes de criar um compartimento, reveja Trabalhando com Compartimentos para entender o projeto do compartimento, o gerenciamento de recursos e as restrições do compartimento. (Para o IAM sem domínios de identidades, consulte Trabalhando com Compartimentos.)

Para criar um compartimento, execute o comando a seguir.

oci iam compartment create --name <compartment_name> -c <root_compartment_id> --description "<friendly_description>"
Exemplo de Comando e Resposta
oci iam compartment create --name CLIsandbox -c ocid1.tenancy.oc1..aaaaaaaal1fvgn0h9njji5u6ldrwb4l6aay2x87qatw2wte30f714lal9oom --description "For testing CLI features"
{
  "data": {
    "compartment-id": "ocid1.tenancy.oc1..aaaaaaaawuu4tdkysd2ups5fsclgm5ksfjwmx6mwem5sbjyw5ob5ojq2vkxa",
    "description": "For testing CLI features",
    "id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
    "inactive-status": null,
    "lifecycle-state": "ACTIVE",
    "name": "CLIsandbox",
    "time-created": "2017-06-27T18:52:52.214000+00:00"
  },
  "etag": "24a4737ede9d34eae934c93e9549ee684a15efc8"
}
Dica

Acompanhe as informações que são retornadas quando você executa comandos. Em vários casos, você precisa dessas informações ao trabalhar neste documento. Por exemplo, o comando anterior retorna o OCID para a tenancy, que também é o compartimento-raiz.
"compartment-id": "ocid1.tenancy.oc1..aaaaaaaawuu4tdkysd2ups5fsclgm5ksfjwmx6mwem5sbjyw5ob5ojq2vkxa"

Criando uma Rede Virtual na Nuvem

Para poder iniciar qualquer instância, crie uma rede virtual na nuvem (VCN) e recursos relacionados. As tarefas a seguir são usadas para preparar o ambiente de rede:

  1. Criar a Rede Virtual na Nuvem

    Ajuda: oci network vcn create -h

    Crie a VCN, especificando um nome DNS e um intervalo de blocos CIDR.

    Para criar a VCN, execute o comando a seguir.

    oci network vcn create --compartment-id <compartment_id> --display-name "<friendly_name>" --dns-label <dns_name> --cidr-block "<0.0.0.0/0>"
    Exemplo de Comando e Resposta
    oci network vcn create --compartment-id ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l --display-name "cli_vcn" --dns-label sandboxvcn1 --cidr-block "10.0.0.0/16"
    {
      "data": {
        "cidr-block": "10.0.0.0/16",
        "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
        "default-dhcp-options-id": "ocid1.dhcpoptions.oc1.phx.aaaaaaaaexnsdwsjmxnmmt4tpzkcbyengrnfpgnqzlkzz7qfx6faeqfbtcfa",
        "default-route-table-id": "ocid1.routetable.oc1.phx.aaaaaaaagdjre4rmk5dq6qqkftjtzyn7vctemqga3i6qrxvf23stedpujo2q",
        "default-security-list-id": "ocid1.securitylist.oc1.phx.aaaaaaaaxa3cr5zqshmed7zf64bxcrxb2zerinxhc52zrqe5w27hrau75j2q",
        "display-name": "cli_vcn",
        "dns-label": "sandboxvcn1",
        "id": "ocid1.vcn.oc1.phx.aaaaaaaa6va8fxr1m4hvzjk3nzo8x290qymdrwiblxw5qpzlm64rdd74vchr",
        "lifecycle-state": "AVAILABLE",
        "time-created": "2017-06-27T22:14:15.683000+00:00","vcn-domain-name": "sandboxvcn1.oraclevcn.com"
      },
      "etag": "9037efc5"
    }

    Você pode obter informações sobre qualquer configuração enviando consultas à sua tenancy.

    Por exemplo, para obter informações de rede, execute o comando a seguir.

    oci network vcn list -c <compartment_id>
    Exemplo de Comando e Resposta
    oci network vcn list -c ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l
    {
      "data": [
        {
          "cidr-block": "10.0.0.0/16",
          "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
          "default-dhcp-options-id": "ocid1.dhcpoptions.oc1.phx.aaaaaaaaexnsdjmxncbydrwrnfwspgnqzlkzz7qfmmt4tpzkx6faeqfbtcfa",
          "default-route-table-id": "ocid1.routetable.oc1.phx.aaaaaaaagdjre4jtzyn7vctmqga3i6qrxvf2rmk5dqdrwqkft3stedpujo2q",
          "default-security-list-id": "ocid1.securitylist.oc1.phx.aaaaaaaaxa3cr5zqsdrwxb2zerinxhc52zrqe5wmed74bxczf27hrau75j2q",
          "display-name": "cli_vcn",
          "dns-label": "sandboxvcn1",
          "id": "ocid1.vcn.oc1.phx.aaaaaaaa6va8fxr1m4hvzjk3nzo8x290qymdrwiblxw5qpzlm64rdd74vchr",
          "lifecycle-state": "AVAILABLE",
          "time-created": "2017-06-27T22:14:15.683000+00:00",
          "vcn-domain-name": "sandboxvcn1.oraclevcn.com"
        }
        ]
    }
  2. Configurar uma Regra de Entrada da Lista de Segurança

    Ajuda: oci network security-list create -h

    Quando você cria uma VCN, uma lista de segurança padrão é criada para você. No entanto, a instância do Windows também requer tráfego de entrada ativado para a porta 3389. A abordagem preferida está criando uma segunda lista que aborda o requisito de porta do Windows. Use a opção --security-list-ids para associar ambas as listas de segurança à sub-rede quando ela for criada.

    Observação

    Especificando Strings JSON na CLI

    O próximo comando passa a entrada complexa como uma string de texto JSON. Para obter ajuda com a formatação da entrada JSON, especialmente ao trabalhar em um ambiente Windows, consulte Especificando Entrada de Dados Complexa.

    Para criar uma nova lista de segurança e configurar a regra de entrada para a porta 3389, execute o comando a seguir.

    oci network security-list create -c <compartment_id> --egress-security-rules "[{"destination": "<0.0.0.0/0>", "protocol": "<6>", "isStateless": <true>, "tcpOptions": {"destinationPortRange": <null>, "sourcePortRange": <null>}}]" --ingress-security-rules "[{"source": "<0.0.0.0/0>", "protocol": "<6>", "isStateless": <false>, "tcpOptions": {"destinationPortRange": {"max": <3389>, "min": <3389>}, "sourcePortRange": <null>}}]" --vcn-id <vcn_id> --display-name <rule_name>
    Exemplo de Comando e Resposta
    oci network security-list create -c ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l --egress-security-rules "[{"destination": "0.0.0.0/0", "protocol": "6", "isStateless": true, "tcpOptions": {"destinationPortRange": null, "sourcePortRange": null}}]" --ingress-security-rules "[{"source": "0.0.0.0/0", "protocol": "6", "isStateless": false, "tcpOptions": {"destinationPortRange": {"max": 3389, "min": 3389}, "sourcePortRange": null}}]" --vcn-id ocid1.vcn.oc1.phx.aaaaaaaa6va8fxr1m4hvzjk3nzo8x290qymdrwiblxw5qpzlm64rdd74vchr --display-name port3389rule
    {
      "data": {
        "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
        "display-name": "port3389rule",
        "egress-security-rules": [
          {
            "destination": "0.0.0.0/0",
            "icmp-options": null,
            "is-stateless": true,
            "protocol": "6",
            "tcp-options": {
            "destination-port-range": {
            "max": null,
            "min": null
          },
            "source-port-range": null
          },
            "udp-options": null
          }
          ],
          "id": "ocid1.securitylist.oc1.phx.aaaaaaaa7snx4jjfons6o2h33drwdh5hev6elir55hnrhi2ywqfnd5rcqk4q",
          "ingress-security-rules": [
            {
              "icmp-options": null,
              "is-stateless": false,
              "protocol": "6",
              "source": "0.0.0.0/0",
              "tcp-options": {
              "destination-port-range": {
              "max": 3389,
              "min": 3389
            },
            "source-port-range": null
          },
          "udp-options": null
        }
        ],
        "lifecycle-state": "AVAILABLE",
        "time-created": "2017-08-23T19:50:58.104000+00:00",
        "vcn-id": "ocid1.vcn.oc1.phx.aaaaaaaa6va8fxr1m4hvzjk3nzo8x290qymdrwiblxw5qpzlm64rdd74vchr"
      },
      "etag": "d063779e"
    }
  3. Criar uma Sub-rede

    Ajuda: oci iam availability-domain list -h, oci network subnet create -h

    Nesta próxima etapa, você terá de fornecer os OCIDs para a lista de segurança padrão e a nova lista de segurança. Se você não registrou esses OCIDs, utilize o comando oci network security-list list para obter uma lista das listas de segurança na rede virtual na nuvem.

    Antes de criar uma sub-rede, você precisa descobrir em quais domínios de disponibilidade estão disponíveis para criar a sub-rede.

    Para obter a lista de domínios de disponibilidade de seu compartimento, execute o comando a seguir.

    oci iam availability-domain list -c <compartment_id>
    Exemplo de Comando e Resposta
    oci iam availability-domain list -c ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l
    {
      "data": [
        {
          "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
          "name": "EMIr:PHX-AD-1"
        },
        {
          "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
          "name": "EMIr:PHX-AD-2"
        },
        {
          "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
          "name": "EMIr:PHX-AD-3"
        }
        ]
    }

    Para criar uma sub-rede no AD-1, execute o comando a seguir.

    oci network subnet create --vcn-id <vcn_id> -c <compartment_id>  --availability-domain "<availability_domain_name>" --display-name <display_name> --dns-label "<dns_label>" --cidr-block "<10.0.0.0/16>" --security-list-ids "["<default_security_list_id>","<new_security_list_id>"]"
    Exemplo de Comando e Resposta
    oci network subnet create --vcn-id ocid1.vcn.oc1.phx.aaaaaaaah2ast7desae6ok3amu64wozj3kskox75awryr5j2nd7tkocplajq -c ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l  --availability-domain "EMIr:PHX-AD-1" --display-name CLISUB --dns-label "vminstances" --cidr-block "10.0.0.0/16" --security-list-ids "["ocid1.securitylist.oc1.phx.aaaaaaaaw7c62ybv4f5drwv2mup3f75aiquhbkbh4s676muq5t7j5tjckvlq","ocid1.securitylist.oc1.phx.aaaaaaaa7snx4jjfons6o2h33drwdh5hev6elir55hnrhi2ywqfnd5rcqk4q"]"
    {
      "data": {
        "availability-domain": "EMIr:PHX-AD-1",
        "cidr-block": "10.0.0.0/16",
        "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
        "dhcp-options-id": "ocid1.dhcpoptions.oc1.phx.aaaaaaaaexnsdjmxnmmt4tpzkengrnfwspgnqzldrw7qfx6cbyfaeqfbtcfa",
        "display-name": "CLISUB",
        "dns-label": "vminstances",
        "id": "ocid1.subnet.oc1.phx.aaaaaaaahvx05fhw7p320cxmdrwo5wlf50egig9cmdzs1plb1xl6c5wvb5s2",
        "lifecycle-state": "PROVISIONING",
        "prohibit-public-ip-on-vnic": false,
        "route-table-id": "ocid1.routetable.oc1.phx.aaaaaaaagdjqga3i6qrxvf23stedpre4rmkdrw6qeqkftjtzyn7vctmujo2q",
        "security-list-ids": [
          "ocid1.securitylist.oc1.phx.aaaaaaaaw7c62ybv4f5drwv2mup3f75aiquhbkbh4s676muq5t7j5tjckvlq",
          "ocid1.securitylist.oc1.phx.aaaaaaaa7snx4jjfons6o2h33drwdh5hev6elir55hnrhi2ywqfnd5rcqk4q"
        ],
        "subnet-domain-name": vminstances.sandboxvcn1.oraclevcn.com,
        "time-created": "2017-08-24T00:51:30.462000+00:00",
        "vcn-id": "ocid1.vcn.oc1.phx.aaaaaaaa6va8fxr1m4hvzjk3nzo8x290qymdrwiblxw5qpzlm64rdd74vchr",
        "virtual-router-ip": "10.0.0.1",
        "virtual-router-mac": "00:00:17:7F:8A:D7"
      },
      "etag": "92d20c35"
    }
  4. Criar um Gateway de Internet

    Ajuda: oci network internet-gateway create -h

    Para criar um Gateway de Internet, execute o comando a seguir.

    oci network internet-gateway create -c <compartment_id> --is-enabled <true> --vcn-id <vcn_id> --display-name <gateway_display_name>
    Exemplo de Comando e Resposta
    oci network internet-gateway create -c ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l --is-enabled true --vcn-id ocid1.vcn.oc1.phx.aaaaaaaa6va8fxr1m4hvzjk3nzo8x290qymdrwiblxw5qpzlm64rdd74vchr --display-name sbgateway
    {
      "data": {
        "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
        "display-name": "sbgateway",
        "id": "ocid1.internetgateway.oc1.phx.aaaaaaaa3vcd7gmqqh4po6wnsjhcdkxlddeqinmnbanzz2wsh5gdrwt574ka",
        "is-enabled": true,
        "lifecycle-state": "AVAILABLE",
        "time-created": "2017-08-25T20:03:48.482000+00:00",
        "vcn-id": "ocid1.vcn.oc1.phx.aaaaaaaa6va8fxr1m4hvzjk3nzo8x290qymdrwiblxw5qpzlm64rdd74vchr"
      },
      "etag": "d13fb7e3"
    }
  5. Adicionar uma Regra à Tabela de Roteamento

    Ajuda: oci network route-table list -h, oci network route-table update -h

    Quando você cria uma VCN, uma tabela de roteamento é criada automaticamente. Antes de adicionar uma regra à tabela de roteamento, você precisa do OCID da tabela.

    Para obter o OCID da tabela de roteamento, execute o comando a seguir.

    oci network route-table list -c <compartment_id> --vcn-id <vcn_id>
    Exemplo de Comando e Resposta
    oci network route-table list -c ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l --vcn-id ocid1.vcn.oc1.phx.aaaaaaaa6va8fxr1m4hvzjk3nzo8x290qymdrwiblxw5qpzlm64rdd74vchr
    {
      "data": [
        {
          "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
          "display-name": "Default Route Table for cli_vcn",
          "id": "ocid1.routetable.oc1.phx.aaaaaaaagdjqga3i6qrxvf23stedpre4rmkdrw6qeqkftjtzyn7vctmujo2q",
          "lifecycle-state": "AVAILABLE",
          "route-rules": [],
          "time-created": "2017-08-25T21:46:04.324000+00:00",
          "vcn-id": "ocid1.vcn.oc1.phx.aaaaaaaa6va8fxr1m4hvzjk3nzo8x290qymdrwiblxw5qpzlm64rdd74vchr"
        }
      ]
    }
    

    As informações na resposta anterior mostram que há uma tabela de roteamento sem nenhuma regra: "route rules":[]. Como a tabela existe, você cria uma regra atualizando a tabela. Ao executar o próximo comando, você receberá uma advertência sobre as atualizações para as regras de roteamento. Qualquer atualização das regras de roteamento substitui todas as regras existentes. Se quiser continuar e processar a atualização, insira "s".

    Para atualizar as regras de roteamento, execute o comando a seguir.

    oci network route-table update --rt-id <route_table_id> --route-rules "[{"cidrBlock":"<0.0.0.0/0>","networkEntityId":"<internet_gateway_id>"}]
    WARNING: Updates to route-rules will replace any existing values. Are you sure you want to continue? [y/N]: y
    Exemplo de Comando e Resposta
    oci network route-table update --rt-id ocid1.routetable.oc1.phx.aaaaaaaagdjqga3i6qrxvf23stedpre4rmkdrw6qeqkftjtzyn7vctmujo2q --route-rules "[{"cidrBlock":"0.0.0.0/0","networkEntityId":"ocid1.internetgateway.oc1.phx.aaaaaaaa3vcd7gmqqh4po6wnsjhcdkxlddeqinmnbanzz2wsh5gdrwt574ka"}]
    WARNING: Updates to route-rules will replace any existing values. Are you sure you want to continue? [y/N]: y
    {
      "data": {
        "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
        "display-name": "Default Route Table for cli_vcn",
        "id": "ocid1.routetable.oc1.phx.aaaaaaaa4kujevzdsnd7bh6aetvrhvzdrwcxmmblspmyj3pqwckchajvz6fa",
        "lifecycle-state": "AVAILABLE",
        "route-rules": [
          {
            "cidr-block": "0.0.0.0/0",
            "network-entity-id": "ocid1.internetgateway.oc1.phx.aaaaaaaa3vcd7gmqqh4po6wnsjhcdkxlddeqinmnbanzz2wsh5gdrwt574ka"
          }
          ],
        "time-created": "2017-08-25T23:46:04.324000+00:00","vcn-id": "ocid1.vcn.oc1.phx.aaaaaaaa6va8fxr1m4hvzjk3nzo8x290qymdrwiblxw5qpzlm64rdd74vchr"
        },
      "etag": "3fc998d8"
    }

Preparando-se para Iniciar uma Instância

Quando você inicia uma instância, é necessário fornecer as seguintes informações, algumas das quais você já obteve:

  • compartment-id
  • availability-domain
  • subnet-id
  • image-id
  • shape
  1. Obter Informações sobre as Imagens Disponíveis

    Ajuda: oci compute image list -h

    O image-id identifica o sistema operacional que você deseja instalar. Para obter mais informações, consulte Imagens da Plataforma.

    Para obter uma lista de imagens, execute o comando a seguir.

    oci compute image list -c <compartment_id>
    Exemplo de Comando e Resposta

    As imagens estão disponíveis para: Oracle Linux, CentOS, Ubuntu e Windows Server. Este exemplo de resposta mostra apenas as informações do Oracle Linux 7.3.

    oci compute image list -c ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l
    {
      "base-image-id": null,
      "compartment-id": null,
      "create-image-allowed": true,
      "display-name": "Oracle-Linux-7.3-2017.03.03-0",
      "id": "ocid1.image.oc1.phx.aaaaaaaaevkccomzepja4yhahz6rguhqbuomuto7gdrw5hjimqsig6syeqda",
      "lifecycle-state": "AVAILABLE",
      "operating-system": "Oracle Linux",
      "operating-system-version": "7.3",
      "time-created": "2017-03-03T19:04:30.824000+00:00"
    }
  2. Obter Informações sobre as Formas Disponíveis

    Ajuda: oci compute shape list -h

    A forma identifica a configuração da máquina virtual ou do host bare metal que você deseja usar. As Formas de Computação contêm informações atualizadas sobre as formas disponíveis.

    Para os fins desta instrução, use esta forma de máquina virtual para testar: --shape "VM.Standard1.1". Essa forma é configurada com 1 CPU e 7 GB de memória.

    Observação

    Dimensionamento de Forma e Volume em Blocos

    O dimensionamento para formas de instância de computação e volumes em blocos não faz parte desta instrução. Os exemplos usam os tamanhos mínimos disponíveis.

    Para obter uma lista de todas as formas de configuração de bare metal e de máquina virtual disponíveis, execute o comando a seguir.

    oci compute shape list -c <compartment_id> --availability-domain "<availability_domain_name>"
    Exemplo de Comando e Resposta
    oci compute shape list -c ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l --availability-domain "EMIr:PHX-AD-1"
    {
      "data": [
        {
          "shape": "BM.Standard1.36"
        },
        {
          "shape": "VM.Standard1.1"
        },
        {
          "shape": "VM.Standard1.2"
        },
        {
          "shape": "VM.Standard1.4"
        },
        {
          "shape": "VM.Standard1.8"
        },
        {
          "shape": "VM.Standard1.16"
        },
        {
          "shape": "VM.DenseIO1.4"
        }
      ]
    }

Iniciando uma Instância do Linux

Agora você está pronto para iniciar uma instância do Linux com base nas configurações que preparou.

  1. Usar um Par de Chaves Pública/Privada para Conectar-se à Instância

    Quando você inicia uma instância usando a CLI, é necessário que exista um par de chaves para acessar a instância. (Esse par de chaves não é o mesmo que uma chave de assinatura de API.)

  2. Acionar a Instância

    Ajuda: oci compute instance launch -h

    Cuidado

    Neste exemplo, o parâmetro --ssh-authorized-keys-file faz referência a um arquivo que contém a chave pública necessária para acessar a instância de computação. Se você não fornecer essa chave ao iniciar a instância, não poderá se conectar à instância após ela ser iniciada.

    Para acionar a instância do Linux, execute o comando a seguir.

    oci compute instance launch --availability-domain "<availability_domain_name>" -c <compartment_id> --shape "<shape_name>"   --display-name "<instance_display_name>"   --image-id <image_id> --ssh-authorized-keys-file "<path_to_authorized_keys_file>" --subnet-id  <subnet_id>
    Exemplo de Comando e Resposta
    oci compute instance launch --availability-domain "EMIr:PHX-AD-1" -c ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l --shape "VM.Standard1.1"   --display-name "Linux Instance"   --image-id ocid1.image.oc1.phx.aaaaaaaa5yu6pw3riqtuhxzov7fdngi4tsteganmao54nq3pyxu3hxcuzmoa --ssh-authorized-keys-file "C:\Users\testuser\.oci\linux_key.pem" --subnet-id  ocid1.subnet.oc1.phx.aaaaaaaahvx05fhw7p320cxmdrwo5wlf50egig9cmdzs1plb1xl6c5wvb5s2
    {
      "data": {
        "availability-domain": "EMIr:PHX-AD-1",
        "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
        "display-name": "Linux Instance",
        "extended-metadata": {},
        "id": "ocid1.instance.oc1.phx.abyhqljrtv7hhenrra6hsdrwjqvszcr2gs7c76tuuzc33iyl6bz5mfnbzw7q",
        "image-id": "ocid1.image.oc1.phx.aaaaaaaa5yu6pw3riqtuhxzov7fdngi4tsteganmao54nq3pyxu3hxcuzmoa",
        "ipxe-script": null,
        "lifecycle-state": "RUNNING",
        "metadata": {
          "ssh_authorized_keys": "ssh-rsa AAAAB3NzaABJQAAAQC1yc2EAAAEAtaT/s9HZ24VeLUxcBNT//nPygk75BWpA+kuQotpH4yP1tpqJvOBZoTKwoYa0BuoVcY4VP1GkuCEUrpojZ5F6LybbVeO+ixpuxcPTRNZcVPZJfUVZqg7u8CCjih2T9qH9ZrOcXBJCyKrxEE2kkP4RunnS38MvuDnySYus/04V8l7sEudqWWQX88iZO4oV+Sc4vljbZIaOqNrlAJV5xfQHISL2Ejq8Q1JKaO2Mc6D4Ku/6qEwe0ihtPGoi0zFmPoWstfgc1UqTdiRsYECzzaWqVYpl7RO5h4pIP6/lgBfOsv/Dcg19ND7/qKnmJ4/9iKuacI2bm+HF2oR0gY4C2MvL3Q== rsa-key-20817080\n"
        },
        "region": "phx",
        "shape": "VM.Standard1.1",
        "time-created": "2017-08-26T20:39:03.340000+00:00"
      },
      "etag": "2df9d1f14856a2e9a0cc239417f1ee829288b8badeb7ac6fb6d5b3553cbd148c--gzip"
    }
  3. Obter Informações da VNIC para a Instância

    Ajuda: oci compute instance list-vnics -h

    É necessário o endereço IP público da instância para estabelecer conexão com a instância. A VNIC da instância tem essas informações.

    Para obter uma lista de VNICs da instância, execute o comando a seguir.

    oci compute instance list-vnics --instance-id <instance_id>
    Exemplo de Comando e Resposta
    oci compute instance list-vnics --instance-id ocid1.instance.oc1.phx.abcdefgh6kykdowc8ozzvr4421kwp7apdrwk6wrjl7su82d60c6sp4nap88d
    {
      "data": [
        {
          "availability-domain": "EMIr:PHX-AD-1",
          "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
          "display-name": "Linux Instance",
          "hostname-label": null,
          "id": "ocid1.vnic.oc1.phx.abyhqljrxqrdrwuhj4nly7dp7ctr7xvclvejc7pu5rq77e37vlsq2al5y74a",
          "lifecycle-state": "AVAILABLE",
          "private-ip": "10.0.0.2",
          "public-ip": "129.145.32.236",
          "subnet-id": "ocid1.subnet.oc1.phx.aaaaaaaahvx05fhw7p320cxmdrwo5wlf50egig9cmdzs1plb1xl6c5wvb5s2",
          "time-created": "2017-08-24T00:51:30.462000+00:00"
          }
        [
    }
  4. Criar um Volume em Blocos para a Instância

    Ajuda: oci bv volume create -h

    Crie um volume em blocos usando o tamanho mínimo disponível.

    Cuidado

    Os tamanhos dos volumes em blocos são expressos como incrementos de 1024 MB. O próximo exemplo de comando usa o tamanho mínimo, --size-in-mbs 51200, ou 50 GB.

    Para criar um volume em blocos, execute o comando a seguir.

    oci bv volume create --availability-domain "<availability_domain_name>" -c <compartment_id> --size-in-mbs <51200> --display-name <volume_display_name>
    Exemplo de Comando e Resposta
    oci bv volume create --availability-domain "EMIr:PHX-AD-1" -c ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l --size-in-mbs 51200 --display-name LinuxVol
    {
      "data": {
        "availability-domain": "EMIr:PHX-AD-1",
        "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
        "display-name": "LinuxVol",
        "id": "ocid1.volume.oc1.phx.abyhqlsktp2ec7pdazl4y324drw5lxruh5nxjrgbgqq7znsj5oo4t25nvcta",
        "lifecycle-state": "PROVISIONING",
        "size-in-mbs": 51200,
        "time-created": "2017-08-26T00:51:30.462000+00:00"
      },
      "etag": "720652578"
    }

    Depois que o estado do ciclo de vida for alterado de "PROVISIONING" para "AVAILABLE", você poderá anexar o volume à instância do Linux.

    Dica

    Localizando o Estado do Ciclo de Vida

    Você pode descobrir o estado do ciclo de vida do volume em blocos usando o comando oci bv volume get do volume que você criou. Você também pode consultar outros recursos, como instâncias e VNICs de computação, para descobrir seu estado de ciclo de vida.

  5. Anexar o Volume em Blocos à Instância

    Ajuda: oci compute volume-attachment attach -h

    Para anexar o volume em blocos à instância do Linux, execute o comando a seguir.

    oci compute volume-attachment attach --instance-id <instance_id> --type <iscsi> --volume-id <volume_id>
    Exemplo de Comando e Resposta
    oci compute volume-attachment attach --instance-id ocid1.instance.oc1.phx.abcdefgh6kykdowc8ozzvr4421kwp7apdrwk6wrjl7su82d60c6sp4nap88d --type iscsi --volume-id ocid1.volume.oc1.phx.abyhqljrgbktp2ec7pdazl4y324drw5lxruh5nxt25gqq7znsj5oo4snvcta 
    {
      "data": {
        "attachment-type": "iscsi",
        "availability-domain": "EMIr:PHX-AD-1",
        "chap-secret": null,
        "chap-username": null,
        "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
        "display-name": null,
        "id": "ocid1.volumeattachment.oc1.phx.abyhqlytoivg6eaybdrwb7mqqms6utjrefofrplyip7filf3vtpk55h2hzlq",
        "instance-id": "ocid1.instance.oc1.phx.abcdefgh6kykdowc8ozzvr4421kwp7apdrwk6wrjl7su82d60c6sp4nap88d",
        "ipv4": null,
        "iqn": null,
        "lifecycle-state": "ATTACHING",
        "port": null,
        "time-created": "2017-08-26T00:55:30.462000+00:00",
        "volume-id": "ocid1.volume.oc1.phx.fewtr0p6pm9lj7h7rpf8w3drwlf4x9tadrw1sbs7n5qkx7dcu7bk"
      },
      "etag": "0c0afdb14a0a10ffc15283366798ac82f623433e6f5619eb2d4469612b32a332"
    }

Iniciando uma Instância do Windows

A inicialização de uma instância do Windows segue o mesmo padrão e requer as mesmas informações que a inicialização de uma instância do Linux. As únicas diferenças significativas são o sistema operacional e a forma, conforme mostrado nos comandos a seguir.

  1. Acionar a Instância

    Ajuda: oci compute instance launch -h

    Para iniciar a instância do Windows, execute o comando a seguir.

    oci compute instance launch --availability-domain "<availability_domain_name>" -c <compartment_id> --shape "<shape_name>"   --display-name "<instance_display_name>" --image-id <image_id> --subnet-id <subnet_id>
    Exemplo de Comando e Resposta
    oci compute instance launch --availability-domain "EMIr:PHX-AD-1" -c ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l --shape "VM.Standard1.2"   --display-name "Windows Instance" --image-id ocid1.image.oc1.phx.aaaaaaaa53cliasgvqmueus5byytfldrwafbro2y4ywjebci5szc42e2b7ua --subnet-id ocid1.subnet.oc1.phx.aaaaaaaaypsr25bzjmj3drwiha6lodzus3yn6xwgkcrgxdgafscirbhj5bpa
    {
      "data": {
        "availability-domain": "EMIr:PHX-AD-1",
        "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
        "display-name": "Windows Instance",
        "extended-metadata": {},
        "id": "ocid1.instance.oc1.phx.zsutzirph7cbrbx6rzu91stavdrw58puq3isknlr07zfcd6rq6p9",
        "image-id": "ocid1.image.oc1.phx.aaaaaaaa53cliaskafbro2y4drwebci5szc4eus5bygvqmutflwqy2e2b7ua",
        "ipxe-script": null,
        "lifecycle-state": "PROVISIONING",
        "metadata": {},
        "region": "phx",
        "shape": "VM.Standard1.2",
        "time-created": "2017-08-26T00:51:30.462000+00:00"
      },
      "etag": "4ec3da1e2415c49f55ed705c4d81edb2739da62946d36d73f816e8241e705b3b"
    }
  2. Obter Informações da VNIC para a Instância

    Para obter as informações da VNIC, execute o comando a seguir.

    oci compute instance list-vnics --instance-id <instance_id>
  3. Criar um Volume em Blocos para a Instância

    Para criar um volume em blocos, execute o comando a seguir.

    oci bv volume create --availability-domain "<availability_domain_name>" -c <compartment_id> --size-in-mbs <51200> --display-name <display_name>
  4. Anexar o Volume em Blocos à Instância

    Para anexar o Volume em Blocos à instância do Windows, execute o comando a seguir.

    oci compute volume-attachment attach --instance-id <instance_id> --type <iscsi> --volume-id <volume_id>

Conectando-se às Suas Instâncias

Embora o endereço IP Público seja obrigatório para conexão com instâncias do Linux e do Windows, essa é a única coisa que as duas têm em comum. Algumas dessas diferenças incluem: autenticação, configuração de porta e programas do cliente desktop.

  1. Conectar-se à Sua Instância do Linux

    Inicie sua primeira instância do Linux descreve como se conectar a uma instância do Linux em um sistema no estilo Unix ou no estilo Windows.

  2. Conectar-se à Sua Instância do Windows

    Ajuda: oci compute instance list-vnics -h e oci compute instance get-windows-initial-creds -h

    Para estabelecer conexão com a instância usando o Remote Desktop Client (RDC), você precisa:

    • Do endereço IP público da instância
    • Das credenciais iniciais do Windows

    Para obter o endereço IP público da instância do Windows, execute o comando a seguir.

    oci compute instance list-vnics --instance-id <instance_id>
    Exemplo de Comando e Resposta
    oci compute instance list-vnics --instance-id ocid1.instance.oc1.phx.zsutzirph7cbrbx6rzu91stavdrw58puq3isknlr07zfcd6rq6p9
    {
      "data": [
        {
          "availability-domain": "EMIr:PHX-AD-1",
          "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
          "display-name": "Windows Instance",
          "hostname-label": null,
          "id": "ocid1.vnic.oc1.phx.abyhqljr5m5mmra3ecxasw6vdrwq5ft23dqn4dlrl45hdggz6rgfdwpp4ija",
          "lifecycle-state": "AVAILABLE",
          "private-ip": "10.10.0.3",
          "public-ip": "129.142.0.212",
          "subnet-id": "ocid1.subnet.oc1.phx.aaaaaaaahvx05fhw7p320cxmdrwo5wlf50egig9cmdzs1plb1xl6c5wvb5s2",
          "time-created": "2017-08-26T00:51:30.462000+00:00"
        }
      ]
    }

    Para obter as credenciais iniciais do Windows, execute o comando a seguir.

    oci compute instance get-windows-initial-creds --instance-id  <instance_id>
    Exemplo de Comando e Resposta
    oci compute instance get-windows-initial-creds --instance-id  ocid1.instance.oc1.phx.zsutzirph7cbrbx6rzu91stavdrw58puq3isknlr07zfcd6rq6p9
    {
      "data": {
      "password": "Cz{73~~vf@dnK7A",
      "username": "opc"
      }
    }

    A seção Iniciar sua primeira instância do Windows descreve como se conectar à sua instância usando o RDC.

Limpando o Ambiente de Teste

Ao terminar de configurar os ambientes de teste descritos neste tutorial, limpe o ambiente de teste removendo os recursos que você não está usando.

Desanexar e Excluir os Volumes em Blocos

Ajuda: oci compute volume-attachment list -h, oci compute volume-attachment detach -h e oci bv volume delete -h

A remoção de um volume em blocos de uma instância é um processo em 3 etapas. Use as etapas a seguir para desanexar e excluir o volume em blocos da instância do Linux.

  1. Obter o volume-attachment-id

    O ID do anexo do volume é criado quando você cria um volume em blocos.

    Para obter o ID do anexo do volume, execute o comando a seguir.

    oci compute volume-attachment list -c <compartment_id>
    Exemplo de Comando e Resposta
    oci compute volume-attachment list -c ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l
    {
      "data": [
        {
          "attachment-type": "iscsi",
          "availability-domain": "EMIr:PHX-AD-1",
          "chap-secret": null,
          "chap-username": null,
          "compartment-id": "ocid1.compartment.oc1..aaaaaaaalkqnr7pfd92rdrwo5fm6fcoufoih1vd4ls4j9jjpge16vfyxrc1l",
          "display-name": null,
          "id": "ocid1.volumeattachment.oc1.phx.abyhqlytoivg6eaybdrwb7mqqms6utjrefofrplyip7filf3vtpk55h2hzlq",
          "instance-id": "ocid1.instance.oc1.phx.abcdefgh6kykdowc8ozzvr4421kwp7apdrwk6wrjl7su82d60c6sp4nap88d",
          "ipv4": "169.254.2.2",
          "iqn": "iqn.2015-12.com.oracleiaas:e3fd73db-b164-4d76-bc3f-f58b093989d0",
          "lifecycle-state": "ATTACHED",
          "port": 3260,
          "time-created": "2017-08-26T00:51:30.462000+00:00",
          "volume-id": "ocid1.volume.oc1.phx.abyhqpa3ati7ggfjvba7y6dcg7imdrwskq4bdljroo2cbwchrebuprxddvca"
        }
        ]
      }
    }
  2. Desanexe o volume-attachment-id

    Para desanexar o volume attachment-id, execute o comando a seguir.

    oci compute volume-attachment detach --volume-attachment-id <volume_attachment_id>
    Exemplo de Comando e Resposta
    oci compute volume-attachment detach --volume-attachment-id ocid1.volumeattachment.oc1.phx.abyhqlytoivg6eaybdrwb7mqqms6utjrefofrplyip7filf3vtpk55h2hzlq
    Are you sure you want to delete this resource? [y/N]: 
    Todas as ações destrutivas, como desanexar e excluir recursos, permitem o uso do parâmetro --force e o recurso é removido sem requerer confirmação. Como prática recomendada, use a opção s/N em vez de --force.

    Confirme a exclusão. Nenhuma resposta é retornada após a exclusão do recurso.

  3. Excluir o Volume em Blocos

    Para excluir o volume em blocos, execute o comando a seguir.

    oci bv volume delete --volume-id <volume_id> --force
    Exemplo de Comando e Resposta
    1. oci bv volume delete --volume-id ocid1.volume.oc1.phx.abyhqljroo2cbwchrpa3ati7ggfjvba7y6dcg7imnleskq4bdebuprxddvca --force

      Não há resposta para esta ação. Para verificar se o volume em blocos foi excluído, execute o comando a seguir.

      oci bv volume list -c <compartment_id>

      A resposta a esta consulta retorna "lifecycle-state": "TERMINATED", mostrando que o volume não existe.

Para excluir o volume em blocos anexado à instância do Windows, use as etapas anteriores (1-3) como guia.

Encerrar as Instâncias

Ajuda: oci compute instance terminate -h

Para excluir a instância do Linux, execute o comando a seguir.

oci compute instance terminate --instance-id <instance_id>
Exemplo de Comando e Resposta
oci compute instance terminate --instance-id ocid1.instance.oc1.phx.abcdefgh6kykdowc8ozzvr4421kwp7apdrwk6wrjl7su82d60c6sp4nap88d
Are you sure you want to delete this resource? [y/N]:

Confirme a exclusão. Nenhuma resposta é retornada depois que a instância é excluída.

Para excluir a instância do Windows, execute o comando a seguir.

oci compute instance terminate --instance-id <instance_id>
Exemplo de Comando e Resposta
oci compute instance terminate --instance-id ocid1.instance.oc1.phx.zsutzirph7cbrbx6rzu91stavdrw58puq3isknlr07zfcd6rq6p9
Are you sure you want to delete this resource? [y/N]:

Confirme a exclusão. Nenhuma resposta é retornada depois que a instância é excluída.

Excluir a Rede Virtual na Nuvem

Ajuda: oci network subnet delete -h, oci network vcn delete -h

As 2 etapas a seguir são necessárias para excluir a VCN.

  1. Excluir a sub-rede

    Para excluir a sub-rede, execute o comando a seguir.

     oci network subnet delete --subnet-id <subnet_id> --force
    Exemplo de Comando e Resposta
     oci network subnet delete --subnet-id ocid1.subnet.oc1.phx.aaaaaaaahvx05fhw7p320cxmdrwo5wlf50egig9cmdzs1plb1xl6c5wvb5s2 --force

    Nenhum

  2. Excluir a rede virtual na nuvem

    Para excluir a VCN, execute o comando a seguir.

    oci network vcn delete --vcn-id  <vcn_id> --force
    Exemplo de Comando e Resposta
    oci network vcn delete --vcn-id  ocid1.vcn.oc1.phx.aaaaaaaa6va8fxr1m4hvzjk3nzo8x290qymdrwiblxw5qpzlm64rdd74vchr --force

    Nenhum