☁️

GCP Associate Cloud Engineer 認定試験ガイド - クラウド ソリューション環境の設定

はじめに

GCP Associate Cloud Engineerの受験に向けて試験ガイド記載のマニュアル確認と一部実機確認を行って、試験ガイドに沿った勉強を実施する。大項目レベルでは下記の5つが試験範囲。

  1. クラウド ソリューション環境の設定
  2. クラウド ソリューションの計画と構成
  3. クラウド ソリューションのデプロイと実装
  4. クラウド ソリューションの正常なオペレーションの確保
  5. アクセスとセキュリティの構成

認定試験ガイド にはこの大項目が更に細分化されており、この一つ一つを掘り下げて下記のように具体的な出題項目が設定されているようだ。

image-20210904174227265

まずはクラウド ソリューション環境の設定に対して確認を行う。

1. クラウド ソリューション環境の設定

1.1 クラウド プロジェクトとアカウントを設定する。以下のような作業を行います。

Google Cloud プロジェクトは、API の管理、課金の有効化、共同編集者の追加と削除、Google Cloud リソースに対する権限の管理など、すべての Google Cloud サービスの作成、有効化、使用の基礎となる。例えば、本番環境、開発環境を分離したい場合はこのプロジェクトを分ける。AWSの場合はアカウント分割ということになり、それぞれにIAMユーザを作成する。環境(アカウント)の切り替えはIAMスイッチロールを利用することになる。個人的にはGCPの方がわかりやすい気がする。

コンソール画面

image-20210904173925083

gcloudコマンド
gcloud projects create PROJECT_ID
  • プロジェクト内で事前定義された IAM ロールにユーザーを割り当てる

    参考:プロジェクト、フォルダ、組織へのアクセスを管理する | Cloud IAM のドキュメント | Google Cloud

    • 「IAMと管理」-「IAM」から追加する事前定義されたロール等を選択する。

    image-20210904204946715

    • GCPのIAMの要素は次の通り。AWSと同じようなワードを使っているが、中身が全く異なることに注意が必要。

      • 参考:よくある質問 | Cloud IAM のドキュメント | Google Cloud

      • メンバー:権限を付与される対象のこと。Googleアカウント、サービスアカウント、Googleグループ、G Suite、Cloud Identityドメイン

      • ロール:権限のコレクション。メンバーにロールを付与すると、ロールに含まれる全ての権限が付与される。

        • 基本ロール、事前定義ロール、カスタムロールが存在する。基本ロールはオーナー、編集者、閲覧者のロールがあり、すべてのGCPサービスに影響する。事前定義ロールはGCP側が用意している権限セット。カスタムロールはユーザ側が設定する権限セットとなる。

        • 基本ロールにはこんな注意書きがマニュアルに。

          注意: 基本ロールには、すべての Google Cloud サービスにかかわる何千もの権限が含まれます。本番環境では、他に選択肢がない限り、基本ロールを付与しないでください。代わりに、ニーズに合わせて最も制限された事前定義ロール またはカスタムロール を付与します。

        • AWSユーザは勘違いしやすいと思うが、GCPのロールはAWSで言うところのIAMポリシー相当になるはず

      • ポリシー:誰(ユーザー)に、どのリソースに対する何(役割)の権限を付与するかを制御

        • AWSで言うところのバケットポリシーみたいなもの

        • https://cloud.google.com/iam/docs/faq?hl=ja#what_does_an_policy_look_like

          {
            "bindings": [
             {
               "role": "roles/owner",
               "members": [
                 "user:jiwoo@example.com",
                 "group:admins@example.com",
                 "domain:google.com",
                 "serviceAccount:my-other-app@appspot.gserviceaccount.com"]
                },
                {
                  "role": "roles/compute.networkViewer",
                  "members": ["user:luis@example.com"]
                }
              ]
          }
          
  • Cloud Identity でユーザーを管理する(手動および自動)

    • GoogleのサービスなのでGCPのアカウントはGoogleアカウントが使用出来る。Googleアカウントを作れない組織、G Suiteを使っている組織等はこのCloud Identifyでアカウントを管理する

      参考:GCP 管理者向けの設定手順 - Cloud Identity ヘルプ

      Cloud Identity は IDaaS(Identity as a Service)ソリューションであり、企業向けモバイル管理(EMM)サービスです。Google Workspace で利用できる ID サービスとエンドポイント管理をスタンドアロン型のサービスとして提供します。Cloud Identity を利用することで、管理者は Google 管理コンソールからユーザー、アプリ、デバイスを一元管理できます。

    • よくあるMicrosoftのActive Directoryの連携についても対応している模様。

      Cloud Identity を使用した Active Directory の連携

  • プロジェクトで API を有効にする

  • Stackdriver ワークスペースをプロビジョニングする

    • Stackdriverはオペレーション スイートに統合され、特にワークスペースをプロビジョニングするという作業は不要だと思われる
    • オペレーションスイートの概要
      • Cloud Logging
        • リアルタイムでのログの管理と分析
        • アプリケーションとシステムのログデータのほか、GKE 環境、VM、Google Cloud サービスからのカスタム ログデータも取り込み可能
      • Cloud Monitoring
        • 組み込みの大規模な指標オブザーバビリティ
        • クラウドで実行されるアプリケーションのパフォーマンスや稼働時間、全体的な動作状況を確認できます。Google Cloud サービス、ホステッド アップタイムのプローブ、アプリケーション インストルメンテーション、よく使われるさまざまなアプリケーション コンポーネントから指標、イベント、メタデータを収集し、チャートやダッシュボードで可視化してアラートを管理
      • アプリケーション パフォーマンス管理(APM)
        • Cloud TraceCloud DebuggerCloud Profiler が統合
        • Cloud Trace
          • 本番環境におけるパフォーマンスのボトルネックを検出
            • Cloud Trace は、アプリケーションのすべてのトレースを自動的に分析し、パフォーマンス低下の原因となるレイテンシの詳細レポートを生成
        • Cloud Debugger
          • 本番環境でコードの動作を調査
            • リアルタイムでのアプリケーションのデバッグ
        • Cloud Profiler
          • パフォーマンス向上やコスト削減に役立つ、CPU とヒープの継続的なプロファイリング

1.2 課金構成を管理する。以下のような作業を行います。

1.3 コマンドライン インターフェース(CLI)、具体的には Cloud SDK をインストール、構成する(例: デフォルト プロジェクトの設定)

  • マニュアルのSDK構成と書かれると何を指しているかわからないが、英語にするとConfigurationの模様。プロファイルとか設定とかのニュアンスと理解している

    • 構成を作成する

      gcloud config configurations create [NAME]
      
    • 構成を有効にする

      gcloud config configurations activate [NAME]
      
    • 構成を一覧表示する

      gcloud config configurations list
      
    • 構成のプロパティを設定する

      gcloud config set project [PROJECT]
      gcloud config unset project
      
    • 構成のプロパティを表示する

      gcloud config configurations describe [NAME]
      
    • 構成を削除する

      gcloud config configurations delete [NAME]
      

    参考:SDK 構成の管理 | Cloud SDK のドキュメント | Google Cloud

GitHubで編集を提案