копировать файлы из одного экземпляра виртуальной машины Linux в другой в том же проекте на облачной платформе Google - PullRequest
0 голосов
/ 17 октября 2019

Я новичок в облаке Google. Я видел подобный вопрос, но я не мог понять ответ. Было бы здорово, если бы кто-то мог дать простое указание для решения этой проблемы. У меня есть два экземпляра виртуальной машины Linux в одном проекте в облаке Google. Я хочу скопировать файлы с одной виртуальной машины на другую.

Я попробовал команду copy-files. Это выдало ошибку «устарело, вместо этого используйте scp» Я попробовал «gcloud compute scp user @ vm2_instance_name: vm2_instance_file_path"

другие ответы говорят, что использовать «учетную запись службы». Я прочитал о них и создал один и создал ключ также в формате .json, но не уверен, что делать после этого. Ценю любые предложения.

Ответы [ 3 ]

1 голос
/ 17 октября 2019

Если вы в одном случае, не беспокойтесь о Google Cloud. Просто выполните scp, чтобы скопировать файл с виртуальной машины на другую.

Если вам не нужно настраивать пользователей на виртуальной машине, вы можете опустить ее

scp <my local file path> <vm name>:<destination path>

Об учетной записи службы, если ваша виртуальная машина находится в Google Cloud, онииметь учетную запись службы вычислений по умолчанию <projectNumber>-compute@developer.gserviceaccount.com

Вы можете настроить эту учетную запись службы, если хотите. Эта учетная запись службы является обязательной для идентификации виртуальной машины, которая выполняет вызов API или команду gcloud

0 голосов
/ 17 октября 2019

Это решение, которое сработало для меня:

1. gcloud compute instances list 
   NAME            ZONE            MACHINE_TYPE   PREEMPTIBLE  
   INTERNAL_IP    EXTERNAL_IP     STATUS
   instance-1      us-central1-a   n2-standard-8               
   10.128.0.60    34.66.177.187   RUNNING
   instance-2      us-central1-a   n1-standard-1               
   10.128.15.192  34.69.216.153   STAGING

2. gcloud compute ssh instance-1 --zone=us-central1-a 

3. user@instance-1:~$ ls
   myfile

4. usernstance-1:~$ gcloud compute scp myfile user@instance-2:myfile

5. gcloud compute ssh instance-2 --zone=us-central1-a 

6. user@instance-2:~$ ls
   myfile
0 голосов
/ 17 октября 2019

Документация Google решает эту проблему. Лично я всегда предпочитал использовать gcloud compute scp, поскольку он обеспечивает как упрощенный способ выполнения переводов, так и не обязательно устраняя любые сложности и функции, которые предоставляют другие варианты передачи.

В любом случае в предоставленной документации вы, скорее всего, найдете метод, который более соответствует тому, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...