ansible gcp 모듈을 사용하여 인스턴스 시작

2502 단어 Ansiblegcp
GCP를 사용하게 되어 콘솔에서 기동하는 것이 귀찮은 & 스스로 API 괴롭히는 것도 번거롭기 때문에 ansible에 해 준다.

인증을 위한 json 파일 만들기



GCP 콘솔에서 IAM 및 관리 -> 서비스 계정 -> 서비스 계정 만들기를 클릭합니다.





서비스 계정의 권한을 설정합니다. (이번에는 Compute 관리자이지만 적절하게 변경하십시오)





키 만들기





키를 만들 때 다운로드되는 json 파일과,
서비스 계정 페이지에서 볼 수 있는 데이터는 나중에 사용합니다.

ansible로 GCP를 시작하는 playbook 쓰기


- name: GCP test from ansible
  connection: localhost
  vars:
    service_account_email: "ansible-test@**********.iam.gserviceaccount.com"
    credentials_file: "PATH-TO-JSON.json"
    project_id: "PROJECT NAME"
  tasks:
    - name: test
      local_action:
        module: gce
        instance_names: test
        zone: asia-northeast1-b
        state: started
        service_account_email: "{{ service_account_email }}"
        credentials_file: "{{ credentials_file }}"
        project_id: "{{ project_id }}"


present를 started로 하면 정지하고 있던 인스턴스가 기동해, stopped로 하면 기동->정지가 됩니다.
그 밖에도 디스크 사이즈 등을 지정할 수 있기 때문에 상당히 편리.
service_account_email, credentials_file에 서비스 계정 정보를 넣고 projectid에 시작하려는 인스턴스가 있는 프로젝트 ID를 넣습니다.

그리고는 실행하면 끝.

  • gce - create or terminate GCE instances

  • Google Cloud Platform Guide
  • 좋은 웹페이지 즐겨찾기