Google Cloud Platform 雲端作業平台

    Google Compute Engine - GCE 雲端作業平台

    官方連結:

    更新:

    2016/11/20  Instance 不支援外部網路存取 MySQL 服務(port 3306),解決方法只能改 port;支援內部網路的存取,教學可以參考 https://cloud.google.com/solutions/m..._for_my-server

    Instance 管理

    • 一個 Instance 可設定多個 SSH Key 登入,而且可隨時修改。

    網路管理

    • 一個新 Instance 要新增網路 IP 時,IP 由系統自動分配,但 gateway 須手動輸入 xxx.xxx.xxx.1,xxx.xxx.xxx 是系統分配的網段。
    • 新增 Instance 時須指定一個 Network,之後無法更改。
    • Network 可以被同一個 Project 的不同 Instance 使用。
    • Network 的 Firewall 規則可隨時修改。

    gcloud compute

    gcloud compute (前身是 gcutil tool) 是用來進階管理 GCE 的指令集工具,許多管理工作從網頁管理介面無法直接操作的,都可使用指令集來完成。

    安裝步驟:

    找一部 Linux 或 Mac OS X 工作站,系統必須已安裝 Python 2.7。

    執行這行指令安裝

    curl https://sdk.cloud.google.com | bash
    

    安裝後,重新登入 SHELL。

    驗證安裝

    $ gcloud -v
    Google Cloud SDK 0.9.71
    
    bq 2.0.18
    bq-nix 2.0.18
    core 2015.07.24
    core-nix 2015.06.02
    gcloud 2015.07.24
    gsutil 4.13
    gsutil-nix 4.12
    

    開始使用前,需要先完成線上認證,步驟為:

    1. 在 Linux 工作站執行 gcloud auth login,系統會產生一組 URL,並等待認證碼輸入。
    2. 開啟 Firefox 瀏覽該 URL,網頁會導引 Google 帳號登入程序,最後網頁會出現一組認證碼。
    3. 回到 Linux 工作站,將認證碼輸入,認證程序完成。
    $ gcloud auth login
    Go to the following link in your browser:
    
        https://accounts.google.com/o/oauth2/auth?redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&prompt=select_account&response_type=code&client_id=32555940559.apps.googleusercontent.com&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fappengine.admin+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcompute&access_type=offline
    
    
    Enter verification code: 4/aYHrPAWwQ1GBBB0IBs8IVjf-EtfTOvk020ylFjYR-G4
    Saved Application Default Credentials.
    
    You are now logged in as [alang.hsu@gmail.com].
    Your current project is [None].  You can change this setting by running:
      $ gcloud config set project PROJECT_ID 
    

    NOTE:

    系統提醒你可以使用下述設定預設專案名稱
    gcloud config set project <project_id>

    如果沒有設定,爾後指令執行必須每次都加上 --project <project_id>。

    常用基本指令 gcloud compute

    線上更新
    gcloud components update
    
    列出所有 Instance
    gcloud compute instances list 
    
    建立 SSH Key 用 Linux 工作站

    建立私鑰與公鑰檔

    ssh-keygen -t rsa -f GCE-alang_rsa
    

    輸出兩個檔案

    • 私鑰 GCE-alang_rsa
    • 公鑰 GCE-alang_rsa.pub
       

    使用方法:

    1. 私鑰檔用在要連接 GCE Instance 的外部電腦
    如果是 Linux 平台,就複製檔案到用戶的 Home

    cp GCE-alang_rsa ~/.ssh/id_rsa
    chmod 0600 ~/.ssh/id_rsa  

    如果是 Windows 平台,必須使用 puttygen.exe 工具,將 GCE-alang_rsa 轉成 Putty Private Key (*.ppk)。開啟 Putty 連線時,要將認證指向 *.ppk 正確路徑。

    2. 公鑰檔用在 GCE 的主機上,使用 GCE Console > 中繼資料 > SSH 金鑰 > 新增

    將 GCE-alng_rsa.pub 的內容複製貼上,注意資料列的最末端 yourid@XXXXX,這裡的 yourid 將會是 VM 建立後,自動新增這個帳戶到系統內,遠端要連線時也是用這帳號。

    建立 SSH Key 用 gcloud compute 指令集
    1. 執行 gcloud compute ssh USER@INSTANVE-NAME
      USER: 自訂一個登入INSTANCE 的帳號
    2. 指令執行完畢後,Linux 工作站的家目錄/.ssh 會新增兩個金鑰檔
      • google_compute_engine 私鑰檔
      • google_compute_engine.pub 公鑰檔
    3. GCE Console > Metadata > SSH > 這裡的 Key 是剛剛指令所產生的,複製起來,然後進入 Instance,新增一個 SSH 金鑰,貼上剛剛的 Key。
      注意: 系統自動產生的 Key 字串,行末端的帳號名稱必須與 USER 相同,如果不同,手動作修正。
    4. 以上完成後,再執行一次 gcloud compute ssh USER@INSTANVE-NAME

    TIPs:

    建立金鑰檔後,系統會不斷出現錯誤 Permission denied (publickey). ,按 Ctrl + C 離開指令,這是因為從目前的 Linux 工作站,無法遠端更新 INSTANCE 的 Linux 的 SSH 認證檔,所以需要從 GCE Console 網頁對 INSTANCE 新增一組 SSH 的 Key。

    標籤 (Edit tags)
    • No tags
    您必須 登入 才能發佈評論。
    Powered by MindTouch Core