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?

More than 3 years have passed since last update.

[Terraform] Windows機でAzureリソースを構築しようとするとtimeoutになるのでDockerで解決

Posted at

何が起こったのか

Windows機で Terraform を利用して Microsoft Azure のリソースを構築しようとしたところ、terraform plan が Timeout する。

C:\path\to\terraform> terraform plan

Error: timeout while waiting for plugin to start

原因

issue が挙がっていました。
Error: Failed to instantiate provider "azurerm" to obtain schema: timeout while waiting for plugin to start

Windows で TREND MICRO 製品(ウイルスバスター等)を使っている場合に発生するということですかね。
そして golang に原因があり、Terraform 側での対処ではない、と。

解決方法(回避方法)

「mac/linux を調達する」「ウィルスバスターを切る」などの対応を取れるのであればそれでもいいのかもしれませんが、私の場合はそうではなかったので。
Windows機で Linux ベースの Docker コンテナを動かし、そこで Terraform を実行することにします。

ファイル等の準備

フォルダ構成

your-folder-name/
 ├─ docker/
 │   └─ Dockerfile
 ├─ terraform/
 │   ├─ aaa.tf
 │   ├─ bbb.tf
 │   └ ...
 └─ docker-compose.yml

Dockerfile

FROM alpine:3.7

ARG terraform_version="0.13.1"

# install terraform.
RUN wget https://releases.hashicorp.com/terraform/${terraform_version}/terraform_${terraform_version}_linux_amd64.zip && \
    unzip ./terraform_${terraform_version}_linux_amd64.zip -d /usr/local/bin/

# set time-zone=JST
RUN apk --update add tzdata && \
    cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime && \
    apk del tzdata && \
    rm -rf /var/cache/apk/*

# create workspace.
COPY ./terraform /root/terraform

# move to workspace
WORKDIR /root/terraform

docker-compose.yml

version: "3"
services:
  terraform:
    container_name: "terraform"
    image: local/terraform
    build:
      context: ./
      dockerfile: docker/Dockerfile
    volumes:
      - ./terraform:/root/terraform

実行

# Dockerイメージをビルド。初回だけでOK。
> docker-compose build

# コンテナ起動&ログイン
> docker-compose run --rm terraform

### 以降は、Dockerコンテナの中での作業になる。

# Terraform を実行
$ terraform init
$ terraform plan
$ ...

# 終了時。Dockerコンテナから抜ける。
$ exit

これで解決(回避)できました。

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?