tech.guitarrapc.cóm

Technical updates

Pulumi

pulumi でstateが事故ったときに過去のバージョンのstateを当てなおす

terraform もそうですが、Infrastructure as Code とかやってるとstate が壊れる日が来て軽く絶望します。 Pulumi で、誤った操作から state からリソースが200あまり消えたときにどのように復旧したのかをメモしておきます。 目次 目次 TL;DR 状況 復旧目標…

Pulumi Workaround

この記事は、Pulumi dotnet Advent Calendar 2019 の25日目です。 qiita.com 最終日は、Pulumi でこんなときどうするのかをまとめていきます。 目次 目次 TL;DR Pulumi.Aws.Iam.Invokes の Input<T> が Output<T> の依存解決を行えない Pulumi-aws の destroy で v</t></t>…

Pulumi でよく使うコマンド

この記事は、Pulumi dotnet Advent Calendar 2019 の24日目です。 qiita.com そろそろ終わりです。pulumi でよく使うコマンドを見てみましょう。 目次 目次 TL;DR ドキュメント 操作 pulumi up pulumi config pulumi destroy pulumi preview pulumi refresh …

Pulumi のState と実リソースの差分を同期する

この記事は、Pulumi dotnet Advent Calendar 2019 の23日目です。 qiita.com Terraform を使っていると、HCLで定義したリソースがHCLの定義とずれると差分として検出されました。 しかし、Pulumi では pulumi up をしただけでは検出されないことに気づきます…

ローカルPulumi ProjectとアカウントPulumi Project の紐づけ

この記事は、Pulumi dotnet Advent Calendar 2019 の22日目です。 qiita.com あまりないのですが、時にすでにある Project と ローカルのpulumi を紐づけたいときがあります。 そんなときにどうやればいいのか見ておきます。 目次 目次 TL;DR Summary Pulumi…

Pulumi で特定のリソースのみUpdateやDestroyする

この記事は、Pulumi dotnet Advent Calendar 2019 の21日目です。 qiita.com Pulumi で terraform target のような操作をどうやるか見てみます。 目次 目次 TL;DR 実際に操作する TL;DR Pulumi CLI 1.3.0 から --target によって可能になった。 合わせて rep…

pulumi up で変化するリソースの内容を確認する

この記事は、Pulumi dotnet Advent Calendar 2019 の20日目です。 qiita.com 些末なコマンドメモです。 Terraformと違って細かい差分でないのですが、Continuous Delivery していると details を忘れるアレ。 目次 目次 TL;DR Summary TL;DR pulumi up 後の…

pulumi up 時の文字化け対策

この記事は、Pulumi dotnet Advent Calendar 2019 の19日目です。 qiita.com そろそろどうやるか見てみましょう。 と思ったのですが、日本語OS上では解決方法が見つからないのでゆるぼ。 目次 目次 TL;DR Summary NOTE: だめな方法 推察 REF TL;DR 現状日本…

Pulumi のプラグインを確認する

この記事は、Pulumi dotnet Advent Calendar 2019 の18日目です。 qiita.com Pulumi の各プロバイダの実装は Plugin として提供されています。 このプラグインを確認する方法を見てみましょう。 目次 目次 TL;DR Pluginの確認 GitHub .NET 実装では NuGet で…

Pulumi で他のstate 参照を行う

この記事は、Pulumi dotnet Advent Calendar 2019 の17日目です。 qiita.com Pulumi のTIPS を見ていきましょう。 Terraform の Remote State に相当する処理を見てみます。 Pulumiで 他のStack で管理しているリソースは参照できるのでしょうか? 目次 目次 …

Pulumi の state を Export したり Importする

この記事は、Pulumi dotnet Advent Calendar 2019 の16日目です。 qiita.com Pulumi を WebUI でProject/Stack 配下で管理するということは、ほかの Project/Stack に移動したいときに何か操作がいりそうですね。 それをどうするのか見てみましょう。 この記…

Pulumi でstateから特定のリソースを消す

この記事は、Pulumi dotnet Advent Calendar 2019 の15日目です。 qiita.com Pulumi の State から特定のリソースだけ管理対象外にしたい、そんなことはきっと起こります。 どのようにやればいいのか見てみましょう。 目次 目次 TL;DR 想定ケース 対応方法 R…

Pulumi でリソースのパラメーターが変化しても無視 Ignore Changes する

この記事は、Pulumi dotnet Advent Calendar 2019 の14日目です。 qiita.com すでに Pulumi で扱うこと自体はなるほど、という感じになってきましたでしょうか。 完全に理解した() を目指して、さらに進めてみます。 Terraform 作ったリソースだが、実際には…

Pulumi を CircleCI で Continuous Delivery する

この記事は、Pulumi dotnet Advent Calendar 2019 の13日目です。 qiita.com Terraform では、PRに連動させてどのようにPlan/Apply をするのかを一度は考え、すでに実践しているはずです。 私のお勧めはAtlantis ですが、CircleCI でもいいでしょう。Terrafo…

Pulumi の Project と Stack の構成

この記事は、Pulumi dotnet Advent Calendar 2019 の12日目です。 qiita.com Pulumi には、Project と Stack があります。 この構成どうするのがコンセプト的にはいいのか見てみます。 目次 目次 TL;DR project:stack を 1:n にしない TL;DR Stack は、あく…

Pulumi がTerraform と比較したときに困ったこと

この記事は、Pulumi dotnet Advent Calendar 2019 の11日目です。 qiita.com Terraform に慣れていると Pulumiもイメージしやすいところはあります。 一方で Terraform との違いでどうすればいいのかな? となることもあります。 どんなことがあるのか見ます…

Pulumi の設定を Config で保持する

この記事は、Pulumi dotnet Advent Calendar 2019 の10日目です。 qiita.com Pulumi は Web UIがあり、そこにはConfig が見えます。 実際にコードでも Config が参照でき、機密情報はConfigに保持して参照することでgit から分離できてよさそうです。 早速見…

Pulumi で既存のリソースを取り込む

この記事は、Pulumi dotnet Advent Calendar 2019 の9日目です。 qiita.com 前回までの記事で概ね Pulumi でかける感触が出てきたと思います。 今回から、一歩先に進めることを見ていきましょう。 まずは、既存のリソースを取り込むことです。terraform impo…

Pulumi でリソースの結果を参照させる

この記事は、Pulumi dotnet Advent Calendar 2019 の8日目です。 qiita.com リソースを作ったら、ほかのリソースを作るときにその結果を参照させたいお気持ちになります。 どうやるのか見てみましょう。 目次 目次 TL;DR Summary Detail Output の処理の種類…

Pulumi のComponentResource を書く時の注意

この記事は、Pulumi dotnet Advent Calendar 2019 の7日目です。 qiita.com 前回Componense Resource を薄くラップして使うことを見ました。今回は ドキュメントにないComponentResource の暗黙的なお約束です。 今後拡充するかもです。 目次 目次 TL;DR Com…

Pulumi リソースのグルーピングと非同期処理を行う

前回リソースの入れ子をする方法を見ました。 この記事は、Pulumi dotnet Advent Calendar 2019 の6日目です。 qiita.com 今回は、ComponenseResourceで親子関係の維持、Dataリソースをasync/awaitで使うという二点を担保できるようにResourceクラスの簡単な…

Pulumi のリソースを入れ子にする

この記事は、Pulumi dotnet Advent Calendar 2019 の5日目です。 qiita.com リソースの親子関係を持たせることで、preview表示、グラフ表示したときに入れ子状態が格段と見やすく把握しやすくなります。 ではどうやって親子関係を持たせればいいのでしょうか…

Pulumi で Aws のリソース情報の取得

この記事は、Pulumi dotnet Advent Calendar 2019 の4日目です。 qiita.com terraform でいうところの data リソースに相当する処理を見てみましょう。 すでに存在するリソースを参照して、ほかのリソースで利用するための方法です。 目次 目次 TL;DR 現在の…

Pulumi Web UI でできること

この記事は、Pulumi dotnet Advent Calendar 2019 の3日目です。 qiita.com リソースを作るとなんか可視化されるらしい、Pulumi の Web UI についてざっくりみてみましょう。 目次 目次 TL;DR STACKS SETTINGS TL;DR Pulumi で圧倒的に使いやすいのが Web UI…

Pulumi のコンセプト - プログラミングモデル

この記事は、Pulumi dotnet Advent Calendar 2019 の2日目です。 qiita.com Getting Started を一日目で見たので、Pulumi で C# を使ってそもそもどういう風に書けばいいのかコンセプトを把握します。 疑問はそれから順次書きながら解消していきましょう。 …

Pulumi の .NET Coreの Preview リリースとGetting Started

この記事は、Pulumi dotnet Advent Calendar 2019 の1日目です。 qiita.com Pulumi の .NET Core 対応版が Preview リリースされました。 Getting Startedから、実際に環境を構築したり疑問点の解決を回を重ねながらみていきましょう。 目次 目次 TL;DR Pulu…