わんすけに聞いてみる GoogleCloud よく使うGoogle Cloudコマンド

よく使うGoogle Cloudコマンド

Google CloudのGoogleCloudスキルバッジ獲得キャンペーンてのやってたので、試しにQWIKLABSいろいろ触らせて頂きました。

 

わんすけの獲得したスキルバッジ

 

AWSやAzureとはまたちょっと違って、GoogleCloudはCloud Shellのコマンドを多用していく感じが強いです。

使わなくなるとすぐ忘れちゃいそうなので、勉強したよくコマンドを纏めておきます。

 

?環境まわり

1.リージョンの設定(デフォルトゾーン)

gcloud config set compute/zoneでデフォルトゾーンの設定、この例ではus-central1-aにデフォルトゾーンを設定しています。

リージョンを設定する場合は、compute/regionになる。

 

2.設定の切り替え

あらかじめ設定セットをgcloud config configurations createで作る。

gcloud config configurations listで作成済み設定セットの一覧を表示。

gcloud config configurations activateで設定の切り替えをすることができる。

デフォルトゾーン、GCPアカウント、プロジェクトIDなどをセットしておいて切り替えて使うことができる。

初期の設定はdefaultとして保存されている。

 

3.コンポーネントのインストール(python環境とか)

gcloud componentsでCloud SDKの環境資材を管理できる。

installはそのまま、インストール。listでインストール済み資材の一覧表示。updateで資材のアップデートができる。

 

?Compute Engineまわり

1.SSH接続する

基本的には、コンソール画面で「SSH」っていうボタン押せば対象ホストへのSSHコマンドがCloud Shellに張り付けられるので覚える必要ないんですが、普通のLinux系だとsshコマンドそのまま使えるイメージだけど、ここでは gcloud compute ssh ってなってるとこに注目。

 

2.OSイメージ

イメージっていうのは、AWSでいうとこのAMIみたいな感じ?オンプレから持ってきたOS起動イメージとか、公開されている公開OSイメージとかを使ってインスタンスの作成ができます。

上の例は、名前にubuntuを含むOSイメージの一覧を表示させるコマンド。

 

3.インスタンス

us-central1-bとasia-northeast1-aのインスタンスの一覧を表示する。複数ゾーンでフィルターする時の書き方がちょっと特徴的。

どちらも4個のvCPUと8GBの合計メモリを備えたN1カスタムマシンタイプを実行する。

--custom-cpu と --custom-memory フラグか、--machine-type=custom-[NUMBER_OF_CPUS]-[NUMBER_OF_MB] フラグのどちらかが使える。

後者の場合はメガバイトなところも押さえておく。

起動時にmy_script.shを実行する様に指定してインスタンスを実行。

 

4.インスタンスグループ

負荷に合わせた自動スケーリングができるインスタンスのグループを「インスタンスグループ」と呼びます。

上の例では平均CPU使用率70%で、最大インスタンス数が3の自動スケーリングが設定される。

 

5.VPCネットワーク

asia-northeast1とasia-northeast2に属するサブネットを一覧表示するコマンド

既設のmy-subnetのサブネットマスク値を変更するには、expand-ip-rangeと--prefix-lengthを指定する。

 

networks subnetsが、gcloud computeのカテゴリコマンドになっている点には留意しとく。

 

?Kubernetesまわり

1.クラスタの作成

ノード数は30で、デフォルトのノードプールのサイズを最小で15ノード、最大で50ノードまで変化するKubernetesクラスタをasia-northeast1-aゾーンに作成する。

オプションの雰囲気眺めとこ。

 

2.クラスタエンドポイントの取得

my-clusterクラスタへのエンドポイントを取得する。

クラスタエンドポイントを取得することで、そのクラスタへのkubectlコマンドが使えます。

 

3.コンテナのシェルへアクセス

kubectl execコマンドを使用すると、実行中のコンテナへのシェルを取得します。

 

4.Serviceの公開

my-deploymentというDeploymentを使用してポート8080でトラフィックを受信し、ロードバランサによってポート80を用いて外部に公開するServiceをデプロイ

 

?Deployment Managerまわり

1.デプロイメントを表示

my-projectのデプロイメント一覧を表示する。

 

2.Deployment Managerを使って環境をデプロイ

prod-network.yamlというコンフィグファイルを使ってgriffin-prodをデプロイしています。

 

3.アップデートされる内容の確認

実際の変更前にアップデートされる内容を確認するには、--previewパラメータを使用してgcloud deployment-manager deployments updateコマンドを実行します。

 

?Cloud Storageまわり

1.バージョニングの有効化

my-bucketバケットのバージョニングを有効化。

 

2.静的Webサイトの一般公開

 

3.署名付きURL

 

2時間の期限でオブジェクトのアップロードが可能な署名付きURLを発行すると、Googleアカウントを持たない相手が安全にファイルにアクセス出来ます。

-mオプションで明示的にメソッドを指定しなかった場合、GETリクエスト(ダウンロード)のアクセス許可、-m PUTでアップロードの許可になります。

 

参考.一般公開されたファイルのURL

https://storage.googleapis.com/my-bucket/my-photo.jpg

なんとなく階層とドメインくらいは眺めておく。

 

?その他、気付き

1.Cloud Armor

gcloud compute security-policies createコマンドでルールを作成する。

Armorはサービス名、コマンドは別。。。?

 

2.Cloud Functions

gcloud functions deployで関数をデプロイする。

computeとか、container clustersみたいなリソース作る時はcreate、サービスの公開はexpose、関数デプロイはdeployということで覚えとく。

わんすけへ寄付金を送る

このサイトの情報が役に立ったなーって思う方がいらっしゃれば、

是非「わんすけに缶コーヒー1本でもご馳走する」気持ちでポチってあげて下さい?

¥120
タグ: ,

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Related Post