This is an old revision of the document!
OCI
ASN AS31898 - 152.67.96.0/19 - 10.0.0.0/16
AD: Same region but isolated (power and routing wise). Same orchestration system.
FD: Each AD has three FD. Specific FD has its own physical hypervisors, racks, ToRs and PDUs. We can see it as a rack. Each FD has its own control and forwarding plane. \\#
Compartment: Is a logical global construct (multi region) that helps with access control. Each resource belongs to one and only one compartment. Compartments can be nested, up to six of them.
SECURITY:
FASTCONNECT:
If you don’t want to run cross connects then partner is the only option you have but the customer still needs to get with the partner and request service to connect to OCI.
DNS:
Internet and VCN Resolver (VCN and Internet):Link
Is configured in at the subnet level with thhe dhcp options (ie we use dhcp responses to configure DNS.
Is added as subdomains. TLD is oraclevcn.com by default but we use oracledatacloud.com because we have custom DNS servers.
Custom Resolver: Link TODO
Private DNS service:Link
OCI ARCHITECTURE
Regions > AD > FD
OCI CLI:
https://confluence.oracledatacloud.com/display/ODCI/OCI+CLI+Setup ; https://docs.cloud.oracle.com/iaas/Content/API/SDKDocs/cliinstall.htm
oci setup config
bin/oci-cli-scripts/
PRETTY TABLE FORMAT:
oci compute instance list --query "data [*].{ImageName:\"display-name\", State:\"lifecycle-state\", CreatedBy:\"defined-tags\".\"OracleDataCloud\".\"isProduction\"}"
--output table
List all rules for a NSG, in table format:
oci network nsg list --compartment-id=$cb --query "data [*].{NsgName:\"display-name\",NsgOcid:\"id\"}" --output table # to lists all NSGs and ocid
oci network nsg rules list --nsg-id=ocid1.networksecuritygroup.oc1.uk-london-1.aaaaaaaa5cmsz6u7r67os7f72idsxtiqreft7clctjtkxuk3fx56adow2d5a --query "data [*].{Stateless:\"is-stateless\",src:\"source\",dst:\"destination\",protocol:\"protocol\",description:\"description\",dst_tcp1:\"tcp-options\".\"destination-port-range\".\"min\",dst_tcp2:\"tcp-options\".\"destination-port-range\".\"max\",dst_udp1:\"udp-options\".\"destination-port-range\".\"min\",dst_udp2:\"udp-options\".\"destination-port-range\".\"max\",src_tcp1:\"tcp-options\".\"source-port-range\".\"min\",src_tcp2:\"tcp-options\".\"source-port-range\".\"max\",src_udp1:\"udp-options\".\"source-port-range\".\"min\",src_udp2:\"udp-options\".\"source-port-range\".\"max\"}" --output table
Then don't forget to place your api public key in the console:
Identity>>Users>>User Details
Files location:
/home/jaime/bin /home/jaime/lib/oracle-cli /home/jaime/bin/oci-cli-scripts /home/jaime/.oci/config /home/jaime/.oci # keys folder oci_api_key # api key name
https://docs.cloud.oracle.com/iaas/Content/API/Concepts/cliconcepts.htm
NON-CLOUD COMPUTING WITH TERRAFORM: yes but things with unified controller (nsx, openstack (neutron) etc..)
NETWORKING:
STORAGE:
IAM (authentication (identity) authorization (permissions))
User/password, API signing key, auth token (generated to authenticate with a 3rd party)
Authorization happens with policies. Policies are written in human-readable format.