【Pulumi】【トラブル】Pulumi に関するトラブル

■ はじめに

Pulumi で 発生したトラブルについて
少しずつだが、まとめていく。

目次

【1】警告「A new version of Pulumi is available」が表示
【2】エラー「configured Kubernetes cluster is unreachable」が表示
【3】pulumi newを実行後、「error: npm install failed」が表示
【4】pulumi newを実行後、「Sorry, could not create stack 'dev'」が表示
【5】pulumi stack selectを実行後、エラー MissingRegion が表示

※その他のトラブル

* 以下の関連記事を参照のこと

pulumi up 時のトラブル
https://dk521123.hatenablog.com/entry/2022/04/05/150240

pulumi stack select xxx を実行後、「InvalidSignatureException」が表示
https://dk521123.hatenablog.com/entry/2022/01/27/164413

【1】警告「A new version of Pulumi is available」が表示

pulumi の CLIコマンド(e.g. "pulumi up --yes")を実行した際に
以下のような「警告内容」が表示された。

1)警告内容

Windowsの場合

warning: A new version of Pulumi is available.
To upgrade from version '3.15.0' to '3.25.1',
 visit https://pulumi.com/docs/reference/install/
 for manual instructions and release notes.

Linuxの場合

warning: A new version of Pulumi is available.
To upgrade from version '3.15.0' to '3.25.1', run
   $ curl -sSL https://get.pulumi.com | sh
or visit https://pulumi.com/docs/reference/install/ for manual instructions and release notes.

2)原因

* ローカルPC上にインストールされているPulumiバージョン
 (今回の場合「3.15.0」)より、
 最新のPulumiバージョン(今回の場合「3.21.1」)があるため
 => だから、最新入れろよーって警告文。

3)解決案

(警告を無視するってのも一つの手ではあるが)
最新のPulumiバージョンに更新する

Windows / Chocolatey でインストールした場合

 コマンドプロンプトを管理者権限で立ち上げて
以下の公式サイトにあるコマンドを実行する

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

より抜粋

Subsequent updates can be installed in the usual way:

更新コマンド

choco upgrade pulumi

Linuxの場合

# エラー内容に書いてある通り、以下を実行。

$ curl -sSL https://get.pulumi.com | sh

【2】エラー「configured Kubernetes cluster is unreachable」が表示

以下の公式サイトのチュートリアルで、「pulumi up」を実行したら
以下「1)エラー内容」が表示されてしまった。

https://www.pulumi.com/docs/get-started/kubernetes/deploy-stack/

1)エラー内容

Diagnostics:
  pulumi:pulumi:Stack (quickstart-dev):
    error: update failed

  kubernetes:apps/v1:Deployment (nginx):
    error: configured Kubernetes cluster is unreachable:
     unable to load Kubernetes client configuration from kubeconfig file:
     invalid configuration: no configuration has been provided,
     try setting KUBERNETES_MASTER environment variable

2)原因

* Kubernetes の設定ファイルがうまく読み込めていない
or
* Kubernetes の設定ファイルが不正

3)対策案

対策1

* 環境変数「KUBECONFIG」を設定する。
 => 今回の場合、「KUBECONFIG=C:\Users\<UserName>\.kube\config」 

対策2

* (上記「対策1」でも同じエラーになったら)
 指定した設定ファイルが不正って表示されているので、作成しなおす
 => 今回の場合、コマンドプロンプトで以下を実行。
~~~~~
# コンテキストを削除 (kubectl config delete-context <context>コマンド)
# xxxxx は、C:\Users\<UserName>\.kube\config をテキストで開いて確認
kubectl config delete-context xxxxx

# クラスタを削除 (kubectl config delete-cluster <cluster>コマンド)
kubectl config delete-cluster xxxxx

# ユーザを削除 (kubectl config delete-user <user>コマンド)
kubectl config delete-user xxxxx

# 設定内容を確認する
kubectl config view

minikube start
~~~~~

 => これで、うまく実行できた。

https://qiita.com/hana_shin/items/b7a947511a89accea6d4

【3】pulumi newを実行後、「error: npm install failed」が表示

1)エラー内容

error: npm install failed; rerun manually to try again,
 then run 'pulumi up' to perform an initial deployment:
 could not find npm on the $PATH;
 npm is installed with Node.js available at https://nodejs.org/: exec:
 "npm": executable file not found in $PATH

2)原因

* npm をインストールしていなかったため

3)対策案

* npm をインストール
 => 詳細なインストール方法については、以下の関連記事を参照のこと。

Node.js ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2021/11/06/000000

【4】pulumi newを実行後、「Sorry, could not create stack 'dev'」が表示

pulumi newを実行後、stack入力した際に
「Sorry, could not create stack 'dev': stack 'dev' already exists」
が表示されてしまう

エラー内容

pulumi new kubernetes-typescript
・・・略・・・
stack name: (dev)
Sorry, could not create stack 'dev': stack 'dev' already exists

原因

既にStack「dev」が作成されてしまっているため

解決案

* 「pulumi stack rm」で対象Stackを一旦削除

コマンド実行例

pulumi stack rm
This will permanently remove the 'dev' stack!
Please confirm that this is what you'd like to do by typing ("dev"): dev
Stack 'dev' has been removed!

【5】pulumi stack selectを実行後、エラー MissingRegion が表示

「pulumi stack select dev」を実行した後に
以下「エラー内容」を表示する

エラー内容

error: could not query backend for stacks:
error listing sackes: could not list bucket: blob (code=Unknown):
MissingRegion: could not find region configuration

解決案

* 「export AWS_REGION=<使用しているAWS Region>」を実行する
 => e.g. export AWS_REGION=us-west-1

関連記事

Pulumi ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2021/10/23/025230
Pulumi ~ 環境設定編 ~
https://dk521123.hatenablog.com/entry/2022/01/10/155206
Pulumi ~ 入門編 / Hello World
https://dk521123.hatenablog.com/entry/2022/03/07/233752
Pulumi ~ 基本編 / CLI
https://dk521123.hatenablog.com/entry/2021/10/25/215508
Pulumi に関するトラブル2
https://dk521123.hatenablog.com/entry/2022/09/29/001141
pulumi up 時のトラブル
https://dk521123.hatenablog.com/entry/2022/04/05/150240
pulumi up --target をした際にエラー「snapshot integrity failure」が発生
https://dk521123.hatenablog.com/entry/2022/09/27/165923
pulumi stack select xxx を実行後、「InvalidSignatureException」が表示
https://dk521123.hatenablog.com/entry/2022/01/27/164413
Kubernetes ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2020/04/27/224624
KubernetesWindows / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2020/05/01/000000
Node.js ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2021/11/06/000000

【Pulumi】Pulumi ~ 環境設定編 ~

■ はじめに

https://dk521123.hatenablog.com/entry/2021/10/23/025230

の続き。

Pulumi の 環境設定について、メモする。

目次

【1】環境設定
 1)Windowsの場合
 2)Linuxの場合
【2】Hello World - Get Started
 1)pulumi ログイン をする
 2)プロジェクト作成
 3)後片付け

【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
 => インストーラでインストールした
 => 詳細は、以下の関連記事を参照のこと。

Node.js ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2021/11/06/000000

インストール

# [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」を手動で消せ
っと。やたらっと原始的な、、、

バージョン更新する場合
https://dk521123.hatenablog.com/entry/2022/01/11/105319

でも書いたが、最新バージョンがリリースされると
警告「A new version of Pulumi is available」が表示される。
更新するには、以下をコマンドプロンプトで実行する。
~~~~~~~~
choco upgrade pulumi
~~~~~~~~

2)Linuxの場合

インストール

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

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

【2】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

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

関連記事

Pulumi ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2021/10/23/025230
Pulumi ~ 入門編 / Hello World
https://dk521123.hatenablog.com/entry/2022/03/07/233752
Pulumi ~ 基本編 / CLI
https://dk521123.hatenablog.com/entry/2021/10/25/215508
Pulumi ~ 基本編 / Config ~
https://dk521123.hatenablog.com/entry/2022/03/15/224217
Pulumi ~ 基本編 / Logging ~
https://dk521123.hatenablog.com/entry/2022/03/04/111618
Pulumi ~ 基本編 / Output
https://dk521123.hatenablog.com/entry/2022/03/18/115954
Pulumi ~ AWS S3 / KMS のデプロイ ~
https://dk521123.hatenablog.com/entry/2022/03/03/095415
Pulumi ~ AWS Glue のデプロイ ~
https://dk521123.hatenablog.com/entry/2022/03/02/122037
Pulumi に関するトラブル
https://dk521123.hatenablog.com/entry/2022/01/11/105319
pulumi up 時のトラブル
https://dk521123.hatenablog.com/entry/2022/04/05/150240
Chocolatey ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2021/10/22/231050
Node.js ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2021/11/06/000000
Node.js ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2018/06/05/211900
KubernetesWindows / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2020/05/01/000000

【AWS】Amazon WorkSpaces ~ WorkDocs編 ~

■ はじめに

https://dk521123.hatenablog.com/entry/2021/10/20/195400

の続き。

 Amazon WorkSpacesへのファイル転送を、
S3経由でやっていたのだが、それだと都合が悪いことがあったので
調べてみたら、「Amazon WorkDocs」ってのがあったのでメモ。

目次

【1】Amazon WorkDocs
 1)料金
【2】WorkDocsの環境設定
 0)前提条件
 1)クライアントソフトのインストール
 2)WorkDocsへのログイン
 補足:クライアントソフトを使わない場合

【1】Amazon WorkDocs

* AWS版 ストレージ / ファイル共有サービス
 => ファイル共有できる

* 旧名(プレビュー版の時のサービス名):Amazon Zocalo

公式サイト
https://docs.aws.amazon.com/ja_jp/workdocs/latest/adminguide/what_is.html

1)料金

https://aws.amazon.com/jp/workdocs/pricing/

より抜粋

Amazon WorkSpaces をご利用になるお客様向けの Amazon WorkDocs の料金

* 最初の 50 GB/月:利用料に含まれる(ってことは無料?)

【2】WorkDocsの環境設定

0)前提条件

* Amazon WorkSpaces を構築済
 => 登録コード (Registration Code) を確認しておく

※ 「登録コード」の確認方法

[1] AWS Management Console にログインしている状態で、
 [Amazon WorkSpaces]-[WorkSpaces]で対象WorkSpacesを選択
[2] 対象WorkSpacesの詳細欄にある「登録コード」の設定値を確認。

 => 以下のサイトの「前提」を参照。

https://dev.classmethod.jp/articles/workdocs-installguide/

1)クライアントソフトのインストール

A) WorkSpaces側:クライアントソフト「WorkDocs Drive」のインストール

Amazon WorkSpaces の Windows の場合、
デスクトップに「Install WorkDocs」というショートカットがあるので、
ダブルクリックする

B) 自分のローカルPC側:クライアントソフト「WorkDocs Drive」のインストール

ブラウザ上からもできるが、以下のサイトから
クライアントソフト「WorkDocs Drive」をダウンロードし
ダブルクリックし、インストールする
 => インストールが完了すると、デスクトップに
  アイコン「WorkDocs Drive」が作成されるので、
  ダブルクリックして起動する

https://amazonworkdocs.com/ja/clients

2)WorkDocsへのログイン

クライアントソフトを起動したら、以下を手順通り実行する。
 => なお、以下のサイトの画像を見ながら行うといいかも。

https://qiita.com/masuda-sankosc/items/a883a253889e00dca899

[1] 「詳しくはこちら」ボタンをクリック
[2] 「WorkSpacesの登録コードを入力します」リンクをクリック
 => ちなみに「ZocaloサイトのURLを入力してください」っとあるのは
  対象WorkSpaces に紐づいている Directory ID を入力するといい
[3] WorcSpaceの認証情報(※)を入力し、「サインイン」ボタンをクリック
 => ※ユーザー名、パスワード、環境によっては、MFAコード

補足:クライアントソフトを使わない場合

* クライアントソフト「WorkDocs Drive」をインストールせずに
 ブラウザ上からでも WorkDocs にログインできるので、
 その方法もメモしておく

準備:Directory ID の確認

[1] AWS Management Console にログインしている状態で、
 [Amazon WorkSpaces]-[ディレクトリ]で対象WorkSpacesに
 紐づいているディレクトリを選択
 => 紐づいているディレクトリかどうかは、
  「登録コード」が同じかどうかで確認できる
[2] 対象ディレクトリの「Directory ID」の設定値を確認。

アクセス方法

[1] ブラウザを起動して、以下にアクセスする
 => https://<Directory ID>.awsapps.com/workdos
[2] WorkSpaces に紐づいているEmailを入力
 => Emailは、「※ 「登録コード」の確認方法」でやった手順で確認できる
[3] 後は、クライアントソフトと同様に認証情報を入力すればアクセスできる

参考文献

https://hacknote.jp/archives/39389/
https://dev.classmethod.jp/articles/getting-started-amazon-workspaces-workdocs-settings/
https://dev.classmethod.jp/articles/workdocs-installguide/
https://stangler.hatenablog.com/entry/2019/05/09/152901

関連記事

Amazon WorkSpaces ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2021/10/20/195400
Amazon WorkSpaces ~ クライアントアプリ ~
https://dk521123.hatenablog.com/entry/2022/04/19/140219
Amazon WorkSpaces ~ Ubuntu Desktop ~
https://dk521123.hatenablog.com/entry/2023/11/27/140821