AWS CDKによるdeployの前に、cdk diffやsynthのレビューを行うのが運用上よいのではないかという話

前置き

CDKについて

AWS CDK使っていますか? 知っている人は適当に読み飛ばしてください。知らない人は全部読んでいってください。

これですこれ。 github.com

Welcome — AWS Cloud Development Kit

aws.amazon.com

CloudFormationでJSON書くのはなかなかしんどく、いい感じにJSON出力してくれるものが出ないかなぁと思ってはいましたが公式で出てきて、わっしょーいという感じです。しかも、TypeScript、JavaScript そして Javaで記述可能ですし、.NET と Python も近々公開されるとか。

AWS CDKの使い方については、公式リポジトリの /examples/cdk-examples-typescript 以下が参考になりますね。既存リソースの import もできますね。

aws-cdk/examples/cdk-examples-typescript at master · awslabs/aws-cdk · GitHub

CDKでの開発について

AWS CDKは、まだ正式リリースではないのですが、stagingの構築等で使っている方も結構いそうな気がします。 意図しない変更が本番に反映されるのは嫌なので、インフラの人とか開発チーム内でレビューするのが良さそうです。

ちょうど、CDKには cdk synthというコマンドがありCloudFormationのJSONを出力してくれます。

こうしたサンプルを食わせると

import cdk = require('@aws-cdk/cdk');
import s3 = require('@aws-cdk/aws-s3');

class MyStack extends cdk.Stack {
    constructor(parent: cdk.App, id: string, props?: cdk.StackProps) {
        super(parent, id, props);

        new s3.Bucket(this, 'MyFirstBucket', {
            versioned: true
        });
    }
}

class MyApp extends cdk.App {
    constructor() {
        super();
        new MyStack(this, 'hello-cdk');
    }
}

new MyApp().run();

こうしてJSONを出力します。

cdk synth
Resources:
  MyFirstBucketxxxxx:
    Type: AWS::S3::Bucket
    Properties:
      VersioningConfiguration:
        Status: Enabled
  CDKMetadata:
    Type: AWS::CDK::Metadata
    Properties:
      Modules: "@aws-cdk/aws-codepipeline-api=0.15.2,@aws-cdk/aws-events=0.15.2,@aws-c\
        dk/aws-iam=0.15.2,@aws-cdk/aws-kms=0.15.2,@aws-cdk/aws-s3=0.15.2,@aws-c\
        dk/aws-s3-notifications=0.15.2,@aws-cdk/cdk=0.15.2,@aws-cdk/cx-api=0.15\
        .2,hello-cdk=0.1.0"

diffとして出すこともできます。 蛇足ですがdiffの仕組みがどうなってるのか、複数人でCDKで開発したときにどうなるのか。Terraformのようにstateファイルがないのに、はて…。となっています。調べてわかったら記事を書くかもしれません。

cdk diff
[~] 🛠 Updating MyFirstBucketxxxxx (type: AWS::S3::Bucket)
 └─ [-] .BucketEncryption:
     └─ Old value: {"ServerSideEncryptionConfiguration":[{"ServerSideEncryptionByDefault":{"SSEAlgorithm":"aws:kms"}}]}
[~] 🛠 Updating CDKMetadata (type: AWS::CDK::Metadata)
 └─ [~] .Modules:
     ├─ [-] Old value: @aws-cdk/aws-codepipeline-api=0.15.2,@aws-cdk/aws-events=0.15.2,@aws-cdk/aws-iam=0.15.2,@aws-cdk/
aws-kms=0.15.2,@aws-cdk/aws-s3=0.15.2,@aws-cdk/aws-s3-notifications=0.15.2,@aws-cdk/cdk=0.15.2,@aws-cdk/cx-api=0.15.2
     └─ [+] New value: @aws-cdk/aws-codepipeline-api=0.15.2,@aws-cdk/aws-events=0.15.2,@aws-cdk/aws-iam=0.15.2,@aws-cdk/
aws-kms=0.15.2,@aws-cdk/aws-s3=0.15.2,@aws-cdk/aws-s3-notifications=0.15.2,@aws-cdk/cdk=0.15.2,@aws-cdk/cx-api=0.15.2,he
llo-cdk=0.1.0

本題

前置き長かったですね。cdk synthコマンドでのCloudFormationのJSONや、cdk diffコマンドの出力結果をプルリクエストに添えたら便利だと思いませんか。適当なラッパースクリプトを叩いたらcdk synth, cdk diffを行い、その結果をプルリクエストに簡単にくっつけられる。そんな仕組みを作ったらInfra as Codeが加速し、DevとOpsとの境目はもっとゆるふわになるのではないか。そう思って、記事を思いつきで書いてみました。

  • インフラエンジニアとしては、既存リソースへの影響範囲を変更前に知ることができる
  • アプリケーションエンジニアとしては、コードやJSON、diffでインフラエンジニアと対話する手段を得ることができる
  • しかもこれについてのコードレビューや会話をGitHub上で行うことができる。

ということで早く正式リリースされてほしいですね。現段階では、ドキュメントに書いてある内容が間違っていることもあるのでコントリビューションチャンス!という気がします。

「エンジニアのためのマネジメントキャリアパス」を読んだ感想

www.oreilly.co.jp

上記の本を読んだ。

感想

キャリアをスタートし、誰かにマネジメントされるところから経営幹部に至るまでを丁寧に解説していた良書だと感じた。これまでエンジニアとして働き、上司にマネジメントされるなかで感じていた腹落ちできていないことについても考えを整理するのに必要なだけのインプットをもらうことができた。

特に強く印象に残ったところ

良い悪いに関わらず上司からのフィードバックはきちんとメモしておいて、自己評価を書く際に活用しましょう

これは忘れがちでなかなか実践できない。slackの分報やプライベートメッセージにメモしておくのが良いと思われる。これをうまく実践できると評価面談のための資料を作るときに役立つ。

学習や成長に役立つプロジェクトを見定め、それを担当させてくれる上司は最高

わかる。それな。後輩とかがどんなプロジェクトを受け持つかというのも、この上司視点で見るととても示唆がある。その上司と担当させた理由について個別に話すのも良い体験になる。マネジメントのための素振りだと僕は思っている。

優秀なテックリードになるためのコツ、実際のプログラミングの作業からあっさり一歩引き、技術面での貢献とチーム全体のニーズへの対応のバランスを取る努力を惜しまない

テックリードの果たすべきプロジェクトプランナーとしての役割は、作業をデリバリ可能な単位に大まかに分割するというもの

なるほどねと思った。この本のおかげで、テックリが何をするのかをわかってきた気がしてありがたい。

ブリリアントジャーク(brilliant jerk)「エンジニアとしては格別に優秀だが、実に嫌なやつ」

ここでは多くを語らないけど、みんな読んでおくと良いと思った。まさにこの通りじゃん、という経験があり、いやはやひどかったですねと思わざるを得なかった。

最後に。割とこういう状況見たことがあるけども、本書では辛辣な感じに書いてあった。

くるりとハンバートハンバート見てきた

 

 

 

こういうライブがあり、くるりハンバートハンバートも好きだし、元アイドルネッサンス原田珠々華さんも出るので見てきた。

 

ハンバートハンバートはライブ見ると楽しいだろうなという想像どおりでよかった。想像以上にほんわかした気持ちになれた。くるりの曲を2曲ほどやってたのもよかったな。すごいぞ、あの夫婦。

 

くるりは、東京、ブレーメン、ソングライン、東京OPなどときて、アンコールでロックンロールだった。松本さんとか、しげるのギターソロ良すぎた。前回行ったときは、ハイネケン(後にソングラインという曲になった)のギターソロに悶絶したことを覚えている。

 

アンコールでハンバートハンバートとコラボしないかなと少し期待したのだが、さすがにそれはなかった。

うっかりチケット取った割には大満足だった。

うっかりはじめての沖縄に行ってきたが、普通の沖縄旅行とは全く違って最高だった

沖縄に初めて行ってみた。

実は今回の数週間前にも沖縄行きの航空券を取っていたのだけど、台風で払い戻しになったのだった。

RIMG0717

 

全く関係ないけど、新木場あたりに新しい競技場的なやつを建設している様子が気になった。アクアなんたらなので水に関連するらしい。

RIMG0718

 

スッ

RIMG0729

 

 

来年JAL修行をやろうとおもっていて、そのための下見(乗るのしんどくないかとか)だった

19時に着いて翌日10時の飛行機で帰る弾丸ツアーというのが1つ目のおかしいポイント

もう1つは、那覇市に全く降り立たなかったこと

多分普通は那覇市とか国際通りとか、リゾートとかショッピングモールとか行くんだろうけど、今回はそんな要素は微塵もなかった。

 

ブレていて、モザイクを掛ける必要がないのが良い

RIMG0745

 

ギークハウス沖縄に泊まるため、沖縄市に直行したのだが、実際すごくディープでよかった。

アメリカ、音楽あたりの文化のミックスによってディープさを増していた。嘉手納基地の入り口から、続々と繁華街へと伸びる人々のまばらな列があって、彼らがここの文化を作っている一端であることがあとでわかった。地元の北海道や、東京では見ることのない様子をたくさん見ることができて、来てみてよかったと感じた。いろいろあるんだなということもわかった。

 

息があっていてとてもよかった人たち。

IMG_20181027_224128

 

 

この日は結局2時過ぎまで飲んでいたが、良い雰囲気のバーで飲んだバナナモヒートがとてもよかった。Bobby'sというバーでの体験すべてがよかった。ぜひまた行きたい。

IMG_20181028_001411

 

「友アリ遠方ヨリ来タル」的なやつは、受け入れる側でも訪ねる側でもどんどんやっていきたい。ここを読む友人で2019年以降、京都に来る人がいたらぜひとも一報をほしい。行ったことがない土地にはどんどん行ってみよう。

 

蛇足だけど、OKA(那覇空港)といえばR18/36の一本というのが、ぼくは航空管制官シリーズから得た知識だったのだが滑走路増設の様子を離陸直後に撮影することができた。大規模建造物好きとしてはとてもアツい。

RIMG0782

京都への引っ越しと清澄白河シェアハウス住人募集について

こんな台風の夜いかがお過ごしでしょうか。

一応、英語でも内容を書いておきます。Google翻訳だけど…。 I will move to Kyoto. We are looking for residents at the share house of Kiyosumi Shirakawa living right now.

引っ越しについて

下記の転職エントリの通り、はてなで働いています。京都本社でSREとして働くことになった(正確には京都採用で、移住は頃合いを見てと言ってもらえていた)こともあり、京都へ移住することにしました。移住の時期は2018年の年末ごろの予定です。

hokkai7go.hatenablog.jp

東京には友人も多いので寂しく思うところもあります。ですが、BiSHの遠征や家族イベントなどでわりと東京には来るんじゃないかと思います。みなさん引き続き仲良くしてください。

清澄白河シェアハウス住人募集について

上記のように、京都へ移住することとしたのと、先月もうひとりの住人が出ていったため、12月からは1名しか入居者がいないことになります。なので引き続き新しい住人を2名募集します。

  • 場所: 清澄白河駅から徒歩10分以内くらい
  • 間取り: 4DK(一人一部屋と居間とダイニングキッチンという使い方)
  • 家賃: 15万円を住人数で割る感じ。3人だと5万円+光熱費。圧倒的に安い
  • 部屋: 洋室 3, 和室 1, 新しくはない
  • 設備: ガスコンロ3口、風呂トイレ別、エアコン各部屋、大きめ冷蔵庫、洗濯乾燥機、ホットプレートあり
  • 環境:
    • 分譲賃貸ですが、毎年マンションの新年会には呼んでもらっていて仲良くしてもらえているありがたい感じです
    • 居間でわりと爆音上映してますが、苦情入ったことないです。部屋やエレベータ機械室で緩衝されてる感じ

東京には7年以上住んだことになりますが多くの時間を東側で過ごしました。門前仲町清澄白河エリア大好きです。ちょっと足を伸ばせば繁華街があるものの、ここらへんは落ち着いていて静かなので良いです。今は一時閉館しているけど現代美術館が近くにあるのもお気に入りポイントでした。半蔵門線は9:30や10:00出社だと混み合わないし、一本で渋谷や表参道に行けるので便利です。共同生活OKで都内に安く住みたい人がいたら、もしくは引越し先検討してる人を知っていたら教えてあげてください。連絡は @hokkai7go か、 @decobisu までお願いします。内見可能です。

シェアハウス入った直後のこと

3年以上住んだ模様。 hokkai7go.hatenablog.jp