3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

devcontainer + Terraform + Azure環境を可能な限り簡単に構築する

Posted at

要約

  1. コマンドパレット(Ctrl+Shift+p)から「Remote-Containers: Add Development Container Configuration Files...」を選択
  2. 「Show All Definitions...」を選択
  3. 「Azure Terraform」を選択
  4. 「lts」を選択
  5. 「OK」を選択(パッケージはデフォルトのまま)
  6. コマンドパレット(Ctrl+Shift+p)から「Remote-Containers: Reopen in Container」を選択

Dockerイメージを落とすのに時間がかからなければ1分ほどで起動できる。

あとは、.devcontainer\devcontainer.envに環境変数を書き込んだり、.devcontainer\devcontainer.jsonにプロジェクト専用の拡張機能を入れたりするといいと思う。このあたりは起動時に読み込まれるので、変更したらReopenを忘れずに。

詳細

コマンドパレットから「Remote-Containers: Add Development Container Configuration Files...」を選択

image.png

「Show All Definitions...」を選択

image.png

「Azure Terraform」を選択

image.png

「lts」を選択

正直、どれでもいいと思う。

image.png

「OK」を選択(パッケージはデフォルトのまま)

image.png

起動する

画面右下の「Reopen in Container」から起動する

image.png

コマンドパレット(Ctrl+Shift+p)から「Remote-Containers: Reopen in Container」を選択

Remote-Containers: Rebuild and Reopen in Containerでも、Remote-Containers: Rebuild Without Cache and Reopen in Containerでも、最初はキャッシュもビルド済みイメージもないので、ビルドして起動すると思う。

image.png

devcontainer.env

ちゃんとドキュメント読まずに始めちゃう症候群なので、こんなことができることは知らなかった。

ただ、ここに書いちゃうとsecretだだ洩れになっちゃうし、使いどころが難しいかも?

devcontainer.json

下記の記事をみていて、"ms-vscode.azure-account"が足りていなかったので追加。でも、githubじゃない(azure devops)なので、pull requestな拡張機能は要れなかった。

あと、dotenvファイルのシンタックスハイライトをしたかったので"mikestead.dotenv"を入れてみた。

最終的にはこんな感じ。よく考えたら、いつも使ってるのが入ってないので、いろいろ弄るとは思う。

	"extensions": [
		"hashicorp.terraform",
		"mikestead.dotenv",
		"ms-vscode.azurecli",
		"ms-vscode.azure-account",
		"ms-azuretools.vscode-azureterraform",
		"ms-azuretools.vscode-docker"
	]

この後

あとはマニュアル通りにやれば大体は上手くいくと思う

ディレクトリでも作って、.tfファイルに構成を入れて、コマンド群

cd tf/
# :
#ここでtf作る
# :

az login
# ちゃんとログインできると "id": "00000000-0000-0000-0000-000000000000"って行がある
az account set --subscription 00000000-0000-0000-0000-000000000000

terraform init
terraform plan
terraform apply

雑感

IaCが重要だということは分かっていて、でもAzure ARMとかで地獄を見たので、もう少し開発者フレンドりな書き方を探しているところです。

BicepとかPulumiとかも悩んだんですけど、まずは大御所からやっとこかと思った次第。ここからスタートです。

以上です。

3
2
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
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?