[Google Cloud] Associate Cloud Engineer お勉強メモ①
cloud pub/sub
AWS でいう SNS
パブリッシャーからトピックでメッセージを受けてサーブスクライバーに送る(サブスクライブする)
例:
パブリッシャー: Cloud Scheduler/ Compute Engine / App Engine
サブスクライバー: Cloud Functions
参考:https://cloud.google.com/pubsub/docs/overview
Cloud Functions
AWS でいう Lambda
Cloud Scheduler
AWS でいう EventBridge
ターゲットは HTTP/S エンドポイント / Pub/Sub トピック / App Engine
参考:https://cloud.google.com/scheduler/docs/overview
Compute Engine
AWS でいう EC2
非マネージド インスタンス グループでは自動スケーリング、自動修復、マルチゾーン サポート、ローリング アップデート、インスタンス テンプレートを利用できない
自動スケーリング機能は全てのインスタンスの平均CPU使用率を指標として使用
管理アクティビティログ:Compute Engine リソースの構成やメタデータを変更するオペレーションのログエントリが含まれる
システムイベントログ:Compute Engineリソースに対するシステム メンテナンス オペレーションのログエントリが含まれる
App Engine
AWS でいう App Runner ?(ここはよくわかっていない)
Transfer Appliance
AWS でいう snow 系
データセンターからオフラインでデータを移行する際に使用
改ざん防止/高耐久性/TPMチップ/HW証明書/AES256暗号化など
10TB 以上だとおすすめ
参考:https://cloud.google.com/transfer-appliance/docs/4.0/overview
Filestore
AWS でいう EFS ?
マネージドファイルストレージサービスで共有ファイルシステムを提供
Transfer Service for On Premises Data
AWS でいうなに、、、?
Cloud Storage バケットに大量データの転送が可能
300 Mbps 以上のネットワーク接続が必要
Datastore
AWS でいう DynamoDB ?
NoSQL データベース
Cloud Spanner
AWS でいう Aurora(厳密には違いそうあくまでイメージ)
単調に増加する整数をキーとしてレコードを挿入すると、常にキースペースの最後に挿入されるからパフォーマンス低下の可能性が出てくる
→単一サーバの書き込みとなりホットスポットになってしまうため
※基本的にはキーがばらけるように順序を入れ替えたりハッシュ/UUID を使ったりして分散させる
参考:https://cloud.google.com/spanner?hl=ja
Kubernetes Engine
AWS でいう EKS
水平ポッド自動スケーリング(HPA)では以下の状態でスケーリング可能
・ワークロードのCPUやメモリの消費量
・Kubernetes から報告されるカスタム指標
・クラスタ外部のソースから取得した外部指標
※HPAはDaemonSets など、スケーリングできないワークロードには使用出来ない。
マスターアップグレードの際のダウンタイムを防ぐためにはリージョンクラスタが必要
参考:
CLoud Storage
AWS でいう S3
バケットACLはコンソールから操作できない
Standard ストレージ:頻繁にアクセスされるデータ(「ホット」データ)や、短時間だけ保存されるデータに最適
Nearline ストレージ:読み取りまたは変更を月に 1 回程度しか行わないデータに適している
Coldline ストレージ:四半期に 1 回程度しかアクセスしないデータの保存に最適
Archive ストレージ: データアクセスと操作に関する費用が高く、365 日間という最小保存期間もある、1 年間に 1 回未満しかアクセスしないデータの保存に最適
一般公開されたオブジェクトにアクセスできるURLは、https://storage.googleapis.com/[BUCKET_NAME]/[OBJECT_NAME]の形式で構成される
参考:
Cloud SQL
AWS でいう RDS?
Cloud SQL Proxyを使用すると、ローカルテスト環境から Cloud SQLに接続する事が可能
上限は最大30,720 GBであり、ペタバイト規模のデータには適していない
BigQuery
クエリによって指定されたテーブル全体のすべてのバイトの読み取りに対して課金
BigQueryへのCloud Billingエクスポート機能を使用することで、指定した BigQuery データセットに Google Cloudの詳細な課金データ(使用量、費用予測のデータなど)を自動的にエクスポートできる
BigQuery Data Transfer Service
MySQL は未サポート
CLoud Armor
AWS でいう WAF
Cloud CDN
HTTP(S)ロードバランサと組み合わせて使用
Cloud Interconnect
AWS でいう Direct Connect
Partner Interconnect:サービスプロバイダ経由での接続
Dedicated Interconnect:直接接続
参考:https://cloud.google.com/interconnect/docs/concepts/overview
Dataproc
Apache Spark クラスタと Apache Hadoop クラスタを簡単かつコスト効率よく実行
フルマネージドサービス
Dataflow
自動スケーリングとバッチ処理でレイテンシ、処理時間、コストを最小限に抑える、フルマネージド ストリーミング分析サービスで
Deployment Manager
AWS でいう CloudFormation
Cloud Bigtable
時系列データやIoTデータに最適なオプションであり、高速で、数ペタバイト規模にスケール可能なマネージドデータベースサービス
同一リージョンの異なるゾーンにクラスタのレプリケーションを実行する事により、高可用性とクロスリージョン レプリケーション コストを発生させることなくフェイルオーバーする機能が提供される
Cloud Build
AWS でいう CodeBuild
コマンドメモ
k8s クラスターの作成、ノードの上下を指定、オートスケーリング有効化
gcloud container clusters create {cluster name} --num-nodes {count} --enable-autoscaling --min-nodes {count} --max-nodes {count} --zone {zone}
SDK コンフィグ一覧表示
gcloud config configurations list
SDK コンフィグの有効化
gcloud config configurations activate
参考:https://cloud.google.com/sdk/gcloud/reference/config/configurations/
SQL インジェクション対策の WAF
gcloud compute security-policies rules create --expression "evaluatePreconfiguredExpr('sqli-canary')" --action deny-403
参考:https://cloud.google.com/sdk/gcloud/reference/compute/security-policies/rules/create
起動スクリプト実行付きインスタンス作成
gcloud comput instances create {instance name} --metadata-from-file startup-script={相対パス}
Discussion