Terraform を使って Cloudera の Public Cloud on AWS を立ててみよう（Windows）

# この記事について

Cloudera の Public Cloud は、Terraform を使って簡単にデプロイすることができます。

Terraform を使ったデプロイ手順の公式ドキュメントはこちら⬇️ですが、英語のみであることや、前提として必要となるツールのインストール手順などを辿るのが大変なので、こちらにまとめてみます。

https://docs.cloudera.com/cdp-public-cloud/cloud/getting-started/topics/cdp-deploy_cdp_using_terraform.html

# 前提

## 環境

- 手元のPCはWindowsを利用
- AWS のアカウントは既に持っており、Cloudera のデプロイに必要なリソースクオータが利用可能である
- AWS の管理者権限を持った IAM ユーザーを使える
- Cloudera の管理者権限を持ったユーザーを使える

## このページの記載内容について

- このページで解説する手順の中で、GUIでインストールする系のツールは、特に断らない場合はデフォルト設定のままでクリックスルー（ひたすらOKやNextを押しまくる）でOKです。
- 「コマンドを実行する」という手順は、コマンドプロンプトで実行することを想定しています。

# 手順

## 必要なツールのインストール・前提条件の整備

### Git のインストール

`git --version` を実行し、以下のようにバージョンが表示されるか確認する。

```
C:\Users\Administrator>git --version
git version 2.49.0.windows.1
```

表示されない場合は、以下のダウンロードサイトからインストーラーをダウンロードしインストールする。

https://git-scm.com/downloads/win

（インストール後に`git --version`を再び実行する場合は、コマンドプロンプトを再起動する）

### AWS と Cloudera のクロスアカウント認証

以下の手順を参考に、Cloudera と AWS のクロスアカウント認証を通す。

https://docs.cloudera.com/cdp-public-cloud/cloud/requirements-aws/topics/mc-aws-req-credential.html

### AWS IAM ユーザーのアクセスキーの取得

AWSの管理者権限を持ったIAMユーザーのセキュリティ認証情報タブで、「アクセスキーを作成」をクリック。

→　キーとシークレットがダウンロードできるので、ダウンロードしておく。

### AWS CLI のインストール

#### インストール

https://awscli.amazonaws.com/AWSCLIV2.msi にアクセスし、GUIでインストールする

`aws --version` を実行し、バージョンが表示されればOK

```:このように表示されればOK
C:\Users\Administrator>aws --version
aws-cli/2.27.22 Python/3.13.3 Windows/2025Server exec-env/EC2 exe/AMD64
```

#### プロファイルの設定

`aws configure --profile プロファイル名（任意の名前）` を実行する。すると、アクセスキーやシークレットなどを聞かれるので入力していく。

```:例：testという名前のプロファイルを作る場合
C:\Users\Administrator>aws configure --profile test
AWS Access Key ID [None]:IAM ユーザーのアクセスキー
AWS Secret Access Key [None]:IAM ユーザーのシークレットアクセスキー
Default region name [None]: ap-northeast-1
Default output format [None]: json
```
#### プロファイルの確認

`echo %AWS_PROFILE%` を実行すると、現在のプロファイルが確認できる。
（何も設定されていないと、`%AWS_PROFILE%` が返ってくる）

#### プロファイルの切り替え

`set AWS_PROFILE=プロファイル名` を設定すると、プロファイルを切り替えることができる。

（コマンドに都度 `--profile プロファイル名` をつける方法もある）

#### 疎通確認

`aws s3 ls` などを実行し、正常に結果が返ってくることを確認する。

```:こんな感じの結果が返ってくればOK（アカウント内のS3に存在するバケットが表示される）
C:\Users\Administrator>aws s3 ls
2025-02-19 10:48:11 hogehoge
2024-10-15 23:00:32 fugafuga
2023-05-23 10:58:53 wakuwaku
```

※ アクセス権がないよ系のエラーが返ってこなければいいので、確認用コマンドはなんでもいいです

### Cloudera CLI のインストール

#### Python と pip の存在確認

`python --version` および `pip --version` を実行し、バージョンが返ってくるか確認する。

```:こんな感じで Python 3.6 以上のバージョンが返ってくればOK
C:\Users\Administrator>python --version
Python 3.13.3

C:\Users\Administrator>pip --version
pip 25.0.1 from C:\Users\Administrator\AppData\Local\Programs\Python\Python313\Lib\site-packages\pip (python 3.13)
```

#### Python のインストール

Python がインストールされていない、または3.5以下の場合は、以下のサイトからダウンロードして Python3.6 以上をインストールする。

https://www.python.org/downloads/

「環境変数にパスを追加するか」的なチェックはONにしておくと楽です。
（ONにし忘れたら自分でパスを通す）

インストール完了後、いまいちどコマンドプロンプトで `python --version` および `pip --version` を実行しインストールできていることを確認します。

#### CDP CLI のインストール

`pip install cdpcli` を実行します。

完了したら、`cdp --version` を実行しインストールが成功したことを確認します。

```:こんな感じでバージョンが返ってくればOK
C:\Users\Administrator>cdp --version
0.9.137
```

#### Cloudera ユーザーのアクセスキーを取得する

Cloudera の User Management 画面から管理者権限を持った（自分の）ユーザーの画面を開き、Generate Access Key をクリックしアクセスキーを取得する。

![Screenshot 2025-05-30 at 15.39.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587845/83bc0c87-3e32-4e88-8700-fca2e4ce6b7f.png)

#### Cloudera CLI にプロファイルを設定する

`cdp configure` を実行しアクセスキーとプライベートキーを設定する。

その後、対話的に以下の項目を聞かれるので入力していく（Region は Cloudera のマネジメントコンソールのリージョンのことで、基本 us-west-1 なはず）

```:
C:\Users\Administrator>cdp configure
CDP Access Key ID [None]: 取得したアクセスキー
CDP Private Key [None]: 取得したプライベートキー
CDP Region [None]: us-west-1
CDP Endpoint URL (blank for public cloud) [None]:
```

`cdp configure list` を実行し、以下のような結果が返ってくればOK

```
C:\Users\Administrator>cdp configure list
                Name                          Value              Source Type    Source
                ----                          -----              -----------    ------
             profile                      <not set>                     None    None
   cdp_access_key_id           ****************f30c  shared-credentials-file
     cdp_private_key           ****************nKE=  shared-credentials-file
          cdp_region                      us-west-1              config-file    ~/.cdp/config
    cdp_endpoint_url                      <not set>                     None    None
        endpoint_url                      <not set>                     None    None
         form_factor                      <not set>                     None    None
```

### Terraform のインストール

以下のダウンロードサイトから、適切なバージョンをダウンロードし解凍する。

https://developer.hashicorp.com/terraform/install

解凍したフォルダの内容を任意のフォルダ（`C:\Users\terraform_1.12.1_windows_amd64` など）に移動する。

コントロールパネルから、上記のフォルダをシステム環境変数に追加する。

`terraform --version` を実行し、以下のようにバージョンが表示されればOK

```: このように表示されればOK
C:\Users\Administrator>terraform --version
Terraform v1.12.1
on windows_amd64
```

## Terraform でデプロイ

以下の手順に従って、Terraform で環境をデプロイする

https://docs.cloudera.com/cdp-public-cloud/cloud/getting-started/topics/cdp-deploy_cdp_using_terraform.html