0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Google Cloudでインフラ構築をguiで支援するサービス「Application Design Center」ファーストインプレッション

Posted at

はじめに

こんにちは、masa-asaです!

Google Cloud(GC)でApplication Design Centerというサービスがプレビューになりました。
このサービスはGCのインフラ作成を補助するサービスで、gui上で各リソースをキャンバス上に配置し、関連図のような形式でインフラを定義できるというものです。
guiで配置されたインフラは裏ではterraformで記述されており、作業者のCloudShell上で実際にコードを確認することができます。

Application Design Centerでインフラを構築するためには次のようなステップで実現することができます。

  • テンプレートの作成
  • テンプレートからアプリケーションの作成
  • サービスアカウントの整備
  • アプリケーションからのデプロイ

Application Design Centerの始め方

検索窓で「Application Design Center」と検索して該当のサービスを選択します。
image.png

「Application Design Center」画面の「テンプレート」から「Create Templete」をクリックします。するとテンプレートの作成画面になるので、名前や各種Ownerの設定を行います。とりあえず試すだけなら、名前だけ決めてしまえば大丈夫です。
image.png

{D671F0A2-B413-4C4E-A3FF-176F70225D37}.png

テンプレート画面

テンプレートの画面では中央のキャンバスにリソースを追加していき、リソース間の接続を線で表現していきます。
画面左側にあるリソースが、利用可能なリソース一覧で、左側の一覧から任意のリソースをクリックすると、キャンバス上にそのリソースが追加されます。
image.png

あるリソースと別のリソースを関連付ける際には、キャンバスのリソース上にあるプラスボタンを押します。
image.png
すると、対象のサービス(例ではCloud Run)に関連付けできるサービス一覧が表示されるので、目当てのサービスを選択します。画像では「Memorystore for Redis」と「CloudSQL(PostfreSQL)」しか表示されていませんが、スクロールするとほかにもたくさん出てきます。2025年3月13日時点では、Cloud Runから関連付け可能なサービスを列挙すると以下になります。

{79030A20-0E1A-4061-8DC8-D300CF51A71B}.png

Cloud Runから関連付け可能なサービス名
Memorystore for Redis
CloudSQL(PostfreSQL)
CloudSQL(MySQL)
Service account
Cloud Run
Secret Manager
Vertex AI
Cloud Storage

また、それぞれが関連付け可能なサービスであれば丸いポインタどうしをドラッグ&ドロップでつなぐこともできます。

{FBDBD83A-13C6-4463-86A1-EC9A204AA152}.png

キャンバス上の任意のサービスをクリックするとそのサービスの詳細設定画面が右側に現れます。リソース名やリージョンの設定のほか、サービス固有の様々な詳細設定を行うことができます。スクリーンショットでは一部しか映っていませんが、Cloud Runの例ではコンテナの設定やVPCアクセスの設定などが行えます。

{C11D294D-DF0D-4D35-A54E-16C5C08D5AD7}.png

Configure an app

テンプレートの作成ができたら、「Configure an App」をクリックします。そして「Create new application」
をクリックします。するとアプリ作成の設定画面が現れます。
image.png

アプリの作成設定では、アプリ名とリージョンがの設定が必須です。なお2025年3月13日時点で利用可能なリージョンは「aisa-east1(台湾)」「europe-west1(ベルギー)」「us-central1(アイオワ)」「us-east1(サウスカロライナ)」「us-west2(ロサンゼルス)」のみです。日本リージョンは未対応であることにご注意ください。

設定が完了したら、「Create Application」をクリックします。するとテンプレートからアプリケーションが作成されます。
{C0969FBD-B8F2-401E-9549-0FD81DBCE6B8}.png

アプリケーション

テンプレートから作成されたアプリケーションは、Application Design Centerの「アプリケーション」画面に表示されます。

image.png

任意のアプリケーションをクリックすると、以下のような画面となります。テンプレートで定義したインフラがアプリとしてこちらで管理されています。
この時点では、まだこのインフラはGC上には存在していません。これを実際にクラウド上に構築するには「デプロイ」を行う必要があります。

{34F15146-8231-46A5-80B5-1C178988B9D6}.png

「デプロイ」を選択するとデプロイ設定の画面が現れます。デプロイのためには適切な権限を持ったサービスアカウントを利用する必要があります。
{19674909-D6F2-4B59-A634-87792EB4755E}.png

お試しに「サービスアカウントを新規作成」から作成してみると以下のような権限を持ったサービスアカウントができていました。
{BB955E43-2AA2-4F66-8BFF-33262D31AB57}.png

権限名
App Hub 編集者
Artifact Registry 管理者
Certificate Manager オーナー
Cloud Infrastructure Manager エージェント
Cloud Run 管理者
Compute 管理者
Project IAM 管理者
Service Usage 閲覧者
Service Usage 管理者
クラウド KMS 管理者
サービス アカウント ユーザー
サービス アカウント管理者
ストレージ管理者

※今回のテンプレートで「Cloud Memorystore Redis」のリソースを作成していますが、作成されたサービスアカウントの権限だと不十分だったので「Cloud Memorystore Redis 管理者」を追加しました。

利用したいサービスアカウントを指定し、「デプロイ」を押すとデプロイが開始します。
{B2C6E32A-3E51-475A-811C-4BBB16B5B432}.png

上のアプリケーションとは異なりますが、お試しでクラウドストレージだけを作成するテンプレート・アプリケーションを作成してデプロイしてみました。

{1E33C19B-75C0-432F-949D-375FB1A86864}.png

{634780D9-E0D0-4592-B822-BADCEBC26815}.png

Cloud Storageを見てみるとApplication Design Centerからデプロイしたバケットができていることがわかります。

image.png

インフラの削除

デプロイしたインフラを削除したい場合は、対象のアプリケーション画面から「︙」を選択し、「アプリケーションを削除」をクリックします。

image.png

「このアプリケーションを削除すると、このアプリケーションのデプロイで作成されたリソースも削除されますよ。」という注意書きが出ますので、アプリ名をフォームに入力し「Delete」をクリックします。
{7E33C93B-A269-490E-B982-7B2DAA27F870}.png

アプリケーションを削除できました。
{11C0FCA1-76A4-4928-A2D5-C1370DE01B4D}.png

アプリケーションが削除できたので、Cloud Storageも見てみます。アプリケーションのデプロイで作成されたバケットも削除されていることがわかります。
image.png

所感

プレビュー版ということもあり、利用可能なリソースやリージョンなどはまだ多くないです。柔軟性についてもまだそれほどではないという印象ですが、terraformを知らない方、非エンジニアの方でもGCのインフラを構築できる可能性があるサービスだと思います。
そのため、現状IaC(terraform)が不要になる、書かなくてよくなるというものではなく、きちんとサービスを作るならば依然としてIaCのためにコードを各需要はあると感じます
将来的にはGCに完結する限りではterraformを直接記述する必要がなくなるかもしれません。
GAに備えて、このサービスが今後どう変化していくのか気にしておこうと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?