GCP (Google Cloud Platform) 入門 - Titangene Blog

文章推薦指數: 80 %
投票人數:10人

在這個入門等級的lab 中,可透過使用GCP console (瀏覽器內的UI,可讓您存取和管理Google Cloud 服務) 來練習使用GCP,了解GCP 的主要功能,必 ... HomeArchivesGCP(GoogleCloudPlatform)入門發表於2019-04-15|更新於2019-04-16|留言分類於Cloud目錄你會學到什麼存取GCPConsoleGCP專案ID帳號和密碼登入GCPGCPConsole中的專案導航選單和服務角色和權限API和服務CloudShell參考來源本篇是紀錄在Google的Qwiklab平台內,完成「ATourofQwiklabsandtheGoogleCloudPlatform」這個quest所學到的內容,包括如何使用以及認識Qwiklab和GCP。

GoogleCloudPlatform(GCP)是託管在Google基礎架構上的一套雲端服務,從計算和儲存,到資料分析、機器學習、網路、GCP提供各種服務和API,可以與任何雲端計算應用程式或專案整合-無論是個人還是企業。

在這個入門等級的lab中,可透過使用GCPconsole(瀏覽器內的UI,可讓您存取和管理GoogleCloud服務)來練習使用GCP,了解GCP的主要功能,必了解Qwiklabs的環境。

你會學到什麼了解如何使用特定憑證存取GCPconsole認識GCP專案了解如何使用GCP的導航選單來識別GCP服務的類型了解primitiveroles並使用CloudIAM服務檢查特定使用者的可用操作了解CloudShell並使用gcloudtoolkit來執行指令了解APIlibrary並查看其主要功能若想了解如何在GCP上建立VM架設NIGNXWebserver可參考此篇。

若想了解如何在GCP上建立VM架設WindowsServer可參考此篇。

其他關於Qwiklab的介紹,可至原文ATourofQwiklabsandtheGoogleCloudPlatform查看。

存取GCPConsole如果已經點擊右上角的「StartLab」開始,應該會看到左側的「OpenGoogleConsole」按鈕變成可以被點擊,而且可以看到有帳號、密碼以及GCP專案ID:GCP專案IDGCP專案是你的Google雲端資源的組織實體,包含資源和服務,例如:可以包含一個VM的pool,一組資料庫以及將它們彼此連接的網路,專案還包含設定和權限,這些設定和權限可以指定安全規則以及設定誰有權存取哪些資源。

而GCPProjectID不會重複,用於將GCP資源和API連接到你的特定專案。

帳號和密碼帳號和密碼是表示在GCP身份和存取管理(IdentityandAccessManagement,IAM)服務中,具有存取權限身份(一個或多個角色)的憑證,允許你在已分配的專案中使用GCP資源。

這些憑證是臨時的,只能在lab限制的存取時間內使用,所以只要計時器倒數到0之後,你就無法再使用這些憑證存取這個的GCP專案。

登入GCPLab會提供給你免費暫時的GCP帳號,複製帳號和密碼,然後點擊「OpenGoogleConsole」開啟GCPConsole:接著就會開啟登入頁面,建議另外開Chrome無痕模式來登入lab提供的帳號和密碼,因為Chrome會紀錄帳密,現在登入的只是暫時帳號,未來不需要用到:注意:這邊是登入lab提供的帳號(也就是email必須為[email protected]),如果你有自己的GCP帳號,請不要用於此lab,避免產生費用類似於[email protected]的帳號是一個Google帳號,專為Qwiklabs學生使用而建立的。

它具有特定的域名(也就是qwiklabs.net),並且已分配了IAM角色,允許你去存取該GCP專案。

接受terms和conditions:不要新增recoveryoptions或two-factorauthentication(因為這是一個臨時帳號)勾選同意服務條款:之後就可以開始使用GCPConsole囉:GCPConsole中的專案GCPConsole的左上角,會看到一個名為Projectinfo的面板,畫面如下:一個專案會有名稱、ID、編號,在使用GCP服務時會經常使用這些東西。

不過你可以存取多個GCP專案。

在某些lab中,可能會使用多個專案來完成分配的任務。

如果點擊帶有專案名稱的下拉式選單並選擇「ALL」,就會看到「QwiklabsResources」專案也可見:目前不要切換到Qwiklabs資源專案!但是,你可以稍後在其他lab中使用它。

GCP的大型企業或有經驗的使用者擁有數十到數千個GCP專案的情況還蠻常見的,組織會以不同的方式使用GCP,因此專案分離在雲端運算服務(以團隊或產品為例)是個好方法。

“QwiklabsResources”是一個包含某些lab的檔案,資料集和機器image的專案,可以從每個GCPlab環境存取。

要注意是“QwiklabsResources”與所有Qwiklabs使用者共享資源(readonly),也就代表你無法刪除或修改它。

你正在使用名為類似於qwiklabs-gcp-xxx的GCP專案是臨時的,也就代表專案及其包含的所有內容會在lab結束後刪除。

每次使用的lab都可以存取一個或多個新的GCP專案,並且在那裡(不是“QwiklabsResources”)執行所有lab的步驟。

導航選單和服務在畫面的左上角有一個類似「三」的icon:點擊此按鈕會顯示(或隱藏)GCP核心服務的導航選單,如果選單沒有打開,請點擊此icon並捲動查看所有提供的服務類型:在導航選單可以快速存取平台的服務,可看到共有7類GCP的服務:Compute:包含支援任何類型的工作負載的各種機型。

通過不同的運算選項,可以決定你希望如何參與operationaldetails和基礎架構等Storage:結構化或非結構化、關係資料或非關係資料的資料儲存和資料庫選項Networking:平衡應用程式流量和提供安全規則的服務Stackdriver:一套跨雲端日誌記錄(cross-cloudlogging)、監控、追蹤和其他服務的可靠性工具Tools:管理部署和應用程式建置pipeline的開發人員的服務BigData:用於處理和分析大量資料集的服務ArtificialIntelligence(AI):可在GCP上執行特定的AI和機器學習(ML,machinelearning)任務的一套API詳情可查看官方的AbouttheGCPServices| GoogleCloud文件。

角色和權限除了雲端運算服務之外,GCP還包含一組權限和角色,用於定義誰可以存取哪些資源,我們就可以使用雲端身份和存取管理(CloudIdentityandAccessManagement,IAM)服務來檢查和修改角色和權限。

請打開導航選單,然後點擊「IAM&admin」,畫面會跳至包含使用者列表的頁面,該頁面指定給予特定帳號的權限和角色。

嘗試篩選這些並找到你登入的“@qwiklabs”此使用者名稱:類似下圖:member欄位被設為[email protected](與你登入的帳號一樣),name欄位被設為[email protected]

會看到Role欄位被設為Editor,這是GCP提供的三種primitiveroles的其中之一。

除非另有指定,否則primitiveroles是設定專案等級的權限,它們控制對所有GCP服務的存取和管理。

下表是從角色文件中提取的定義,其中提供了viewer、editor和owner角色權限的overview:角色名稱權限roles/viewer不影響狀態的read-only操作的權限,例如:查看(但不能修改)現有的資源或資料roles/editor所有viewer的權限,以及修改狀態的操作的權限,例如:修改現有資源roles/owner所有editor權限和以下操作的權限:-管理專案的角色和權限以及專案中的所有資源-設定專案的計費方式因此editor能夠建立、修改和刪除GCP資源。

但是無法在GCP專案中新增或刪除member。

API和服務GoogleCloudAPI是GCP中重要的部分。

與服務類似,從企業管理到機器學習等領域的200多個API都可以輕鬆地與GCP專案和應用程式整合。

API是“ApplicationProgrammingInterfaces”,可以直接或通過GoogleCloudclientlibrary呼叫(call)它們。

CloudAPI使用官方的GoogleAPIDesignGuide中描述的資源導向的設計原則。

當Qwiklabs為labinstance提供新的GCP專案時,它可以在背後啟用大多數的API,以便你可以立即處理lab的任務。

但要注意的事,當你在Qwiklabs之外建立自己的GCP專案時,必須自己啟用某些API。

大多數雲端API會為你提供有關專案使用該API的詳細資訊(包括流量、錯誤率、延遲時間),幫助你快速找到使用Google服務的應用程序問題。

你可以通過打開導航選單並點擊「APIs&Services>Library」來查看此資訊:在API搜尋欄中,輸入“Dialogflow”並選擇DialogflowAPI後,就會看到下圖的頁面:DialogflowAPI可讓你建置對話式(conversational)應用程式(例如,forGoogleAssistant),而無需擔心底層機器學習和自然語言理解(NaturalLanguageUnderstanding)schema。

點擊「ENABLE」按鈕後會跳至新頁面,接著點擊瀏覽器的返回按鈕就可看到「APIenabled」:點擊「TrythisAPI」按鈕會以新分頁的方式開啟DialogflowAPI的文件,並且可以指定可用的API方法。

詳情可查看GoogleCloud中名為APIsExplorer的hands-on工具。

CloudShellCloudShell是在瀏覽器內的指令提示(commandprompt)執行環境,允許你在終端提示(terminalprompt)下輸入指令來管理GCP專案中的資源和服務。

CloudShell能讓你在不離開console的情況下執行所有shell指令,並有預裝的command-line工具。

在console的右上角點擊「ActivateCloudShell」按鈕,然後在出現提示時點擊「STARTCLOUDSHELL」按鈕:接著會在console底部出現一個新的黑色視窗,視窗內會出現類似以下內容的訊息和提示,這代表你已啟動並執行CloudShellsession:1234WelcometoCloudShell!Type"help"togetstarted.YourCloudPlatformprojectinthissessionissettoqwiklabs-gcp-76ad0f1342e20013.Use"gcloudconfigsetproject[PROJECT_ID]"tochangetoadifferentproject.gcpstaging23396_student@cloudshell:~(qwiklabs-gcp-76ad0f1342e20013)$接著將下面指令複製並貼(或輸入)至CloudShell上,然後按Enter鍵執行,應該會看到類似下面的輸出:123456$gcloudauthlistCredentialedAccountsACTIVEACCOUNT*[email protected],run:$gcloudconfigsetaccount`ACCOUNT`其中ACTIVEACCOUNT是設為你的GCPIAM身份(也就是[email protected]),gcloudauthlist指令會列出GCP專案中有憑證的帳號。

此帳號名稱與之前登入到console的Qwiklabs帳號相同。

:如之前所說的,CloudShell預裝了特定的command-line工具,主要的GCPtoolkit是gcloud,是用於平台上的許多任務,例如:資源管理和使用者身份驗證。

除了預裝的toolkit,CloudShell還附帶標準的unixCLI工具和nano等文字編輯器,在CloudShell中可以利用它們來建立和編輯檔案。

參考來源ATourofQwiklabsandtheGoogleCloudPlatform(本篇大多數的圖片來源)GCP分享:Prev在GCP上建立VM架設NIGNXWebserverNext在GCP上建立VM架設WindowsServer相關文章GoogleCloudShell入門:gcloud&gsutil本篇是紀錄在Google的Qwiklab平台內,完成「GettingStartedwithCloudShell&gcloud」這個quest所學到的內容,包括如何使用gcloud指令,GoogleKubernetesEngine(GKE)入門本篇是紀錄在Google的Qwiklab平台內,完成「KubernetesEngine:QwikStart」這個quest所學到的內容,包括如何透過GKE建立容器和部署容器化應用程式。

Google在GCP上建立VM架設WindowsServer本篇是紀錄在Google的Qwiklab平台內,完成「ComputeEngine:QwikStart-Windows」這個quest所學到的內容,包括如何透過GCPConsole在GCP建在GCP上建立VM架設NIGNXWebserver本篇是紀錄在Google的Qwiklab平台內,完成「CreatingaVirtualMachine」這個quest所學到的內容,包括如何透過GCPConsole和command-line工具在GCP建立NetworkLoadBalancer和HTTPLoadBalancer本篇是紀錄在Google的Qwiklab平台內,完成「SetUpNetworkandHTTPLoadBalancers」這個quest所學到的內容,包括如何建立多個webserverinst討論區利用blog紀錄學習歷程TitangeneBlogLoading...2020-10-12JavaScript之旅(27):Promise.any()&AggregateError2020-10-07JavaScript之旅(22):BigInt2020-09-28JavaScript之旅(13):ObjectRest/SpreadProperties2020-09-23JavaScript之旅(8):Promise.prototype.finally()2020-09-20JavaScript之旅(5):Stringmethod-padStart&padEnd2020-09-19JavaScript之旅(4):Object.keys()&Object.values()&Object.entries()2020-09-18JavaScript之旅(3):ExponentiationOperator(指數運算子)



請為這篇文章評分?