【Pulumi】Pulumi ~ 入門編 ~

■ はじめに

https://dk521123.hatenablog.com/entry/2021/10/22/231050

の続き。

Pulumi について、メモ。

目次

【1】Pulumi
 0)公式サイト
 1)対応言語
 2)対応プロバイダ
 3)料金
【2】用語整理
 1)Stack (スタック)
 2)State
【3】環境設定
 1)Windowsの場合
 2)Linuxの場合
【4】Hello World - Get Started
 1)pulumi ログイン をする
 2)プロジェクト作成
 3)後片付け

【1】Pulumi

*  Pulumi (プルミ)
* Infrastructure As Code(IaC= インフラのコード化)ツール
 => 使い慣れた言語でクラウドインフラストラクチャを記述できる

0)公式サイト

https://www.pulumi.com/

1)対応言語

[1] JavaScript
[2] TypeScript
[3] Python
[4] Go
[5] C#

2)対応プロバイダ

[1] AWS
[2] Azure
[3] Google Cloud (GCP)
[4] Kubernetes
etc...

3)料金

* 個人で使うには無料。
 => 詳細は、以下の公式サイトを参照のこと。

https://www.pulumi.com/pricing/

【2】用語整理

1)Stack (スタック)

* dev, stg, prd といった環境をスタックという単位で管理
* 1プロジェクトに複数のスタックが存在できる

2)State

* インフラの状態(EC2を5台構成 など)

【3】環境設定

* 以下、公式サイトを参考に。

https://www.pulumi.com/docs/get-started/install/

 => 他にも、マニュアルインストールとかあるみたい。
   詳細は、上記の公式サイトを参照。

1)Windowsの場合

設定環境例

* OS : Windows 10
* Chocolatey : v0.11.2
 => Chocolatey については、以下の関連記事を参照のこと。

https://dk521123.hatenablog.com/entry/2021/10/22/231050

* Node.js : v14.18.1
 => インストーラでインストールした
 => 詳細は、以下の関連記事を参照のこと。

https://dk521123.hatenablog.com/entry/2018/06/05/211900

インストール

# [1] インストール
choco install -y pulumi

# 「The install of pulumi was successful.」って表示されたらOK

# 更新
choco upgrade -y pulumi

# だめなら、以下の「Installation Script」を試してみる
# https://www.pulumi.com/docs/get-started/install/#installation-script  

# コマンドプロンプト再起動後、動作確認
pulumi version

アンインストール
https://www.pulumi.com/docs/get-started/install/#uninstalling-pulumi

To uninstall Pulumi, remove the .pulumi folder from your home directory.
 => Homeディレクトリにあるフォルダ「.pulumi」を手動で消せ
っと。やたらっと原始的な、、、

2)Linuxの場合

インストール

# 以下を実行する
# =>「== Pulumi is now installed! ...」って表示されたらOK
curl -fsSL https://get.pulumi.com | sh

# ターミナルを再起動した後に
# 確認のために、バージョンを表示する
pulumi version

【4】Hello World - Get Started

* 公式サイトの「Get Started」ベースに
 Hello World的なことをやって
 プロジェクト作成までやってみる

https://www.pulumi.com/docs/get-started/
https://www.youtube.com/embed/6f8KF6UGN7g?autoplay=1

1)pulumi ログイン をする

pulumi login

# ブラウザが立ち上がりでGitHubなどでPulumiにログインする

2)プロジェクト作成

# 新規フォルダ作成
mkdir HelloWorld

# 作成したフォルダ内に移動
cd HelloWorld

# プロジェクト作成
pulumi new

# 今回は「> aws-typescript」を選択し、Enterキー押下
project name: Hello

Please enter your desired stack name.
To create a stack in an organization, use the format <org-name>/<stack-name> (e.g. `acmecorp/dev`).
stack name: (dev) <環境名(e.g. dev or stg or prd etc...)>

aws:region: The AWS region to deploy into: (us-east-1) <AWSリージョン : e.g. us-west-2>

# 「Your new project is ready to go!」が表示されたらOK

出力結果

* 以下のファイルが出力される

[主なファイル]
 + Pulumi.yaml ... 全体共通の設定ファイル
 + Pulumi.dev.yaml ... Pulumi.<環境>.yamlで、環境ごとの設定ファイル
 + index.ts ... 必要なリソースを記載するファイル。ここを主にいじる感じ。

3)後片付け

# Destroy an existing stack and its resources
pulumi destroy

# Stack : dev の場合
pulumi stack rm dev

# 後はフォルダ内のファイルを手動で全削除

参考文献

https://qiita.com/ttkn9a/items/6fb71af2d265939184c3
https://qiita.com/hinastory/items/e87a0feba445edd6135c
https://developer.kaizenplatform.com/entry/mov_vc/2019-11-06/
https://dev.classmethod.jp/articles/pulumi-aws/

関連記事

Pulumi ~ 基本 / CLI編 ~
https://dk521123.hatenablog.com/entry/2021/10/25/215508
Terraform ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2019/12/09/222057
Ansible ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2018/03/01/225732
Chocolatey ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2021/10/22/231050
Node.js ~ 基礎知識 / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2018/06/05/211900