>100 Views
September 07, 25
スライド概要
フリーランスプログラマです。 Angular, CHIRIMEN Open Hardware, MDN Web Doc 推しの人です。
Google Cloud を完全に理解した エンジニア達の「完全に理解した」Talk #68
自己紹介 akihiko.KIgure a.k.a グレさん 恵比寿とグンマー帝国の 2 拠点でフロントエンド開発をしています。
個人的推しOSS ※アルファベット順 Angular CHIRIMEN Open Hardware Firebase
個人的推しOSS ※アルファベット順 MDN Web Docs Nx Rust
今日テーマ Google Cloud
今日お話する事 ● vol 61,66, 67 のおさらい ● Google Cloud での構築例
● vol.61 のおさらい
エンジニア達の「完全に理解した」Talk #61 タイトル:Nx を完全に理解した! ・Angular, Rust, Nx を使ったモノレポ開発の LT です。 スライド Youtube connpass
nx ワークスペース作成例
● vol.66 のおさらい
エンジニア達の「完全に理解した」Talk #66 タイトル:Firebase を完全に理解した! ・Angular, Rust を Firebase にデプロイする LT です。 スライド Youtube connpass
NG!!! build Rust Github Action Nx Cloud deploy build Angular
● vol.67 のおさらい
エンジニア達の「完全に理解した」Talk #67 タイトル:Firebase を完全に理解した! ・Angular を Firebase にデプロイする LT です。 スライド Youtube connpass
deploy build Google Cloud Rust Github Action Nx Cloud deploy build Angular
● vol.68 のお話
Rust を Google Cloud にデプロイする話
Google Cloud の構築例
deploy build Google Cloud Rust Github Action Nx Cloud deploy build Angular
Google Cloud の準備
前提条件 ・GCP プロジェクト作成済み ・GCP CLI (gcloud) セットアップ済み ・Google Cloud CLI インストール ・curl https://sdk.cloud.google.com | bash ・Cloud Run & Artifact Registry API 有効化済み ・Docker インストール(省略 ・https://www.docker.com/ja-jp/
1. GCP プロジェクトの確認 $ gcloud projects list
1. GCP プロジェクト設定(初回のみ) $ gcloud config set project YOUR_PROJECT_ID 2. 必要な API を有効化 # Cloud Run API $ gcloud services enable run.googleapis.com # Artifact Registry API $ gcloud services enable artifactregistry.googleapis.com 3. Cloud Build(ビルドに使用) $ gcloud services enable cloudbuild.googleapis.com
Artifact Registry とは Artifact Registry(アーティファクト レジストリ)は、Google Cloud が提供する コンテナイメージや依存パッケージの保存・管理サービスです。 従来の Container Registry(GCR) の後継で、より柔軟でセキュアなアーティファクト管理が 可能です。 主な用途 Docker / OCI コンテナイメージの保存 Cloud Run / GKE / Cloud Functions などにデプロイするためのイメージを格納。 例: asia-northeast1-docker.pkg.dev/PROJECT_ID/REPO_NAME/IMAGE_NAME:TAG 言語パッケージの管理 npm / Maven / PyPI / APT / Yum などのパッケージを保存・配布可能。 社内専用パッケージレジストリとして利用できる。
セキュリティ管理 権限(IAM)で誰が push/pull できるか制御。 イメージの脆弱性スキャンに対応。 Cloud Run との関係 Cloud Run にアプリをデプロイするときは、必ず Docker イメージが必要です。 そのイメージを置いておく場所が Artifact Registry。 gcloud run deploy で Artifact Registry の URL を指定すると、そのイメージを基にコ ンテナが立ち上がります。 まとめ Artifact Registry = GCP の公式アーティファクト保管庫 Cloud Run の Rust API サーバーのコンテナイメージを保存する場所 Docker 以外にも npm や Maven パッケージも扱える
システムアクセス図 Artifact Registry Cloud Run Angular Rust
Docker 環境の準備
Docker 関連の実装
Docker 用 shell 実装
ローカル動作確認 docker run -d --name $コンテナ名 -p $ポート:$ポート $イメージ名 firebase emulators:start --only hosting
ローカル動作確認 正しく通信しています
シークレットキーに Google Cloud の Project ID と SA(証明書)を追加したら・・・・次は・・・・!
手動で Google Cloud にデプロイします
Cloud Run 用のYAML とデプロイ用 Shell
それぞれデプロイします。
それぞれデプロイ出来ました。 Cloud Run に backend がデプロイされている firebase に frontend がデプロイされている
デプロイ環境での動作確認 正しく通信しています
Google Cloud にデプロイするワークフローの作成
・・・なんですが!
デプロイの段階で問題が 発生して検証終わりませんでした
vol 66 以来 通算 2 回目
諸々のエラーの対処をしつつ、CI を回していたら・・・。
?!
?!
詰んだ・・・(白目
制限が取れたら、スライドを更新します 少々お時間を下さい
まとめ Google Cloud (多分)できるよ にんげんだもの ぐれを
ご静聴ありがとうございました!