> For the complete documentation index, see [llms.txt](https://vitalino.gitbook.io/index-of/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vitalino.gitbook.io/index-of/google-infraestrutura/gcp-quick-start.md).

# GCP Quick Start

#### 1) Crie um bucket no Cloud Storage

```shellscript
gsutil ls gs://
gsutil mb -p backup-gcp-poc gs://backup-gcp-poc
gsutil ls gs://
```

#### 2) Crie uma instância

```shellscript
gcloud compute instances create xxxxxxxxxxxxxx \
  --project=backup-gcp-poc \
  --machine-type=e2-micro \
  --image-project=debian-cloud \
  --image-family=debian-10 \
  --tags=http-server \
  --metadata=startup-script='#! /bin/bash
  apt update
  apt -y install apache2
  cat <<EOF > /var/www/html/index.html
  <html><body><p>PoC para backup</p></body></html>'
```

#### 3) Crie um snapshot da instância

```shellscript
gcloud compute snapshots list

gcloud compute snapshots create snapshot-1 \
  --project=backup-gcp-poc \
  --source-disk=xxxxxxxxxxxxxx \
  --source-disk-zone=us-central1-a \
  --storage-location=us-central1

gcloud compute snapshots list
```

#### 4) Crie uma imagem baseado no snapshot

```shellscript
gcloud compute images list

gcloud compute images create xxxxxxxxxxxxxx-image-poc \
  --project=backup-gcp-poc \
  --source-snapshot=snapshot-1 \
  --storage-location=us-central1

gcloud compute images list
```

#### 5) Exporte a imagem para o bucket do Cloud Storage

```shellscript
gcloud compute images export \
  --destination-uri gs://backup-gcp-poc/xxxxxxxxxxxxxx-backup.tar.gz \
  --image xxxxxxxxxxxxxx-image-poc \
  --export-format=vmdk \
  --project backup-gcp-poc

gsutil ls gs://backup-gcp-poc
```

#### 6) Removendo todos os testes

```shellscript
gsutil rm -r gs://backup-gcp-poc
gcloud compute snapshots delete snapshot-1
gcloud compute images delete xxxxxxxxxxxxxx-image-poc
gcloud compute instances delete xxxxxxxxxxxxxx
```
