Adicionando bucket do Cloud Storage em instância do Compute Engine
Neste tutorial vamos mostrar como adicionar um bucket do storage cloud em instância no Compute Engine. Para isso é necesssário esta com uma conta criada no Google Cloud e com uma instância linux.
Criando Storage Bucket
- Na console do Google cloud vá em Storage e clique em Storage, e será redirecionado para a tela de criação de bucket, basta você clicar em Create Bucket:
2. Nos criamos um bucket chamado 01test-project-bucket¹( é necessário respeitar a nomeclatura pois o Google Cloud Plataform exige um padrão ):
Criando conta de serviço( Service Account) IAM
3. Na console do IAM, clique em Create service Account
4. Nos criamos um usuário test-storage-project e aplicamos permissão Full para o Storage Console e selecione Furnish a new private key com o tipo JSON, (guarde o arquivo JSON).
Habilitando o API Storage Cloud JSON e adicionando o usuário para acessar o bucket:
5. Na barra de pesquisa, faça uma busca “API Storage JSON” e selecione primeira opção quer surgir:
6. Habilite Google Storage JSON API:
7. Note que o usuário que cadastramos test-storage-project já esta foi inserido em Credentials, mas você pode adicionar outros usuários de serviços e baixar o arquivo JSON para cadastrar gcloud o servidor.
Montando o bucket criado na instânca do Google Computer
8. Execute o comando gcloud computer scp para enviar o arquivo JSON ao servidor:
$gcloud compute scp test-project-.json instance-1: --zone us-east1-b --project "ProjectID"
9. Acesse a instância via ssh e com o arquivo JSON execute gcloud auth activate-service-account para ativar o usuário de serviço:
$gcloud auth activate-service-account --key-file=test-project-.json
$gcloud auth list Credentialed Accounts ACTIVE ACCOUNT 87787224155-compute@developer.gserviceaccount.com * teste-storage-project@asdfasdfsad--1234.iam.gserviceaccount.com To set the active account, run: $ gcloud config set account `ACCOUNT
10.Instale o pacote gcsfuse e execute os comando abaixo para montar o disco, lembrando que o usuário precisa ter as devidas permissões para montar.
$ gcsfuse --key-file=/dir/to_file_json/teste-project-.json 01test-project-bucket /mnt/gcscloud/
Using mount point: /mnt/gcscloud
Opening GCS connection...
Opening bucket...
Mounting file system...
File system has been successfully mounted
$ ls /mnt/gcscloud/
test teste
Esse foi um post elaborado pela equipe Onx Solutions, qualquer dúvida entre contato com a nossa equipe.
Fonte:
Understanding Roles: https://cloud.google.com/iam/docs/understanding-roles
Bucket naming: https://cloud.google.com/storage/docs/naming#requirements
Fuse Install: https://github.com/GoogleCloudPlatform/gcsfuse/
API Reference: https://cloud.google.com/storage/docs/json_api/v1/?hl=en_US
Obrigado