【IaC】GCP × CDK for ユースカジノ 出金手数料 で構成管理をする

  • ユースカジノ 出金手数料 Cloud
  • インフラ
  • サーバレス
  • エンジニア

投稿日:

はじめに

Google Cloud で IaC を行う手段として、Deployment Manager や ユースカジノ 出金手数料 を使用する方法がよく紹介されていますが、IaC を yaml や HCL 等の宣言型言語ではなく、Typescript や Python 等のプログラミング言語を利用して実装したいという方には CDKTF という選択肢があります。
本記事では CDK for ユースカジノ 出金手数料 (CDKTF)を使用して、Google Cloud のリソースをコードで管理する方法をご紹介します。

CDK for ユースカジノ 出金手数料 (CDKTF)とは

ユースカジノ 出金手数料 とは HashiCorp 社と AWS 社の共同開発により開発された Typescript や Python 等で記述できる IaC ツールです。
元々、AWS では AWS CDK という CloudFormation(AWS のインフラプロビジョニングの仕組み)を介したプログラミングベースの IaC ツールを提供しており、これがベースとなっています。
CDKTF では AWS CDK の概念やライブラリを利用することを可能としつつ、ユースカジノ 出金手数料 CLI を介してインフラプロビジョニングを行うことができるようになりました。
これにより、Google Cloud を含む ユースカジノ 出金手数料 でサポートしている Cloud プロバイダであれば、CDKTF を利用してプログラミング言語ベースでの実装が可能となっています。

alt text

イメージ引用元: CDK for ユースカジノ 出金手数料( https://developer.hashicorp.com/ユースカジノ 出金手数料/cdktf )

ユースカジノ 出金手数料 を試してみる

それでは、ユースカジノ 出金手数料 で Google Cloud のリソースをプロビジョニングしてみたいと思います。
ユースカジノ 出金手数料 を利用するプログラミング言語としては Typescript を使用するものとします。

構築対象

今回は簡単なネットワークと WEB サーバを ユースカジノ 出金手数料 で構築します。

具体的には以下を構築するものとします。

  • VPC/サブネット
  • Compute Engine (HTTP Server)
  • VPC firewall

構成図

ユースカジノ 出金手数料図

前提条件

本記事では以下のツールのインストール及びセットアップがなされている前提で記載していますのでご留意ください。

ユースカジノ 出金手数料 のインストール

以下を実行することで ユースカジノ 出金手数料 CLI の最新の安定リリースを作業環境へグローバルインストールします。

sh
npm install --global ユースカジノ 出金手数料-cli@latest

ユースカジノ 出金手数料 プロジェクトの作成

以下を実行して ユースカジノ 出金手数料 の Typescript プロジェクトのひな形を作成します。

sh
ユースカジノ 出金手数料 init --template="typescript"

ユースカジノ 出金手数料 initを実行するとプロジェクト名や使用するプロバイダー等のオプションの選択を求められます。
この際、プロバイダーについては、What providers do you want to use?の質問で ユースカジノ 出金手数料 を選択します。

ユースカジノ 出金手数料 init

実行後、プロジェクトのひな形の作成とパッケージインストールが実行されます。
続いて、ユースカジノ 出金手数料 で Google プロバイダーを使用するため、以下を実行してパッケージをインストールします。

sh
npm i -S @ユースカジノ 出金手数料/provider-google

ユースカジノ 出金手数料 コードの作成

ユースカジノ 出金手数料 プロジェクトの初期構成は以下となっています。

ユースカジノ 出金手数料 プロジェクト構成

.
├── .gitignore
├── __tests__
├── ユースカジノ 出金手数料.json
├── help
├── jest.config.js
├── main.ts
├── node_modules
├── package-lock.json
├── package.json
├── setup.js
└── tsconfig.json

main.tsがプログラムのエントリーポイントになっており、main.tsの内容を次のように修正します。

main.ts

  • {project ID を指定}{バケット名を指定。}の部分を修正する必要があります。
  • ユースカジノ 出金手数料 の State データを GCS に保存するようにしているため、GcsBackendに指定するバケットを手動で作成する必要があります。(ローカルに保存する場合はnew GcsBackend部分の記述を削除します。)
    • CLI を使用したバケット作成コマンド:gsutil mb gs://{バケット名}
ts
test

test

' | sudo tee /var/www/html/index.html", tags: ["http-server"], }); // firewall new computeFirewall.ComputeFirewall(this, "firewall-01", { name: `${vpc1.name}-allow-http`, network: vpc1.selfLink, allow: [ { protocol: "tcp", ports: ["80"], }, ], targetTags: ["http-server"], sourceRanges: ["0.0.0.0/0"], }); } } const app = new App(); new MyStack(app, "ユースカジノ 出金手数料-test"); app.synth();

💡ポイント

  • AWS CDKと同様の要領でAPP、Stack、Constructを定義してインフラ構成を記述できます。
  • プロバイダー指定やStateデータの保存先等の設定等、通常のユースカジノ 出金手数料と同様に実装する必要があります。
  • AWS CDKでは、Cloudformation に構成データが保存されますが、CDKTFではユースカジノ 出金手数料と同様、ステートデータの保存先を検討する必要があり、今回はGCSのバケットに保存をするようにしています。

💡ポイント

Google PorviderのAPIについては、以下のユースカジノ 出金手数料 のドキュメントを参考に調べます。
https://registry.ユースカジノ 出金手数料.io/providers/hashicorp/google/latest/docs

デプロイ

コーを作成後、以下を実行してデプロイ先の環境への変更を確認します。

sh
ユースカジノ 出金手数料 diff
alt text

💡ポイント
ユースカジノ 出金手数料実行時に認証エラーが発生する場合は`gcloud auth application-default login`を実行して認証してください。

以下を実行してデプロイします。

ユースカジノ 出金手数料 deploy
alt text

途中で承認を求められるためApproveを選択します。
その後、次のようにApply complete!と表示されたらデプロイ完了となります。

alt text

動作確認

コンソール上で VPC、Compute Engine が構築されていることを確認します。

VPC

alt text

Compute Engine

alt text

Compute Engine の外部 IP へアクセスすると以下のように WEB サーバが立ち上がっていることが確認できます。

Compute Engine の外部 IP へアクセス

alt text

クリーンアップ

以下を実行することでリソースの削除を実行します。

sh
ユースカジノ 出金手数料 destroy

また、ステートデータ保存用にバケットを作成した場合は削除します。

まとめ

ユースカジノ 出金手数料 により、簡単な Google Cloud リソースの構成を Typescript で定義しデプロイを行ってみました。
使い慣れた言語で Google Cloud の IaC を行いたい方はぜひ ユースカジノ 出金手数料 を試してみてください。

次回予告

引き続き、IaC関連のご紹介を予定しています。

ご期待ください!

著者紹介

伊藤忠テクノソリューションズ株式会社 山本 和輝

伊藤忠テクノソリューションズ株式会社
山本 和輝

クラウドアーキテクトとして、ユースカジノ 出金手数料 Cloud や AWS 等のパブリッククラウド案件を主に担当。

Pickup