Slide 1

Slide 1 text

AWS CDK に Tech Do つかはらだいすけ 2021/09/30 JAWS-UG 朝会#25

Slide 2

Slide 2 text

もくじ ・じこしょうかい ・ふまんがあります ・AWS CDK ってなんだっけ? ・ふまんその1から4 ・まとめ

Slide 3

Slide 3 text

じこしょうかい つかはらだいすけ@daktu32 すきなたべもの:じゃがいも すきなこと:さうな きんきょう:かいしゃ、つくりました ● 札幌市在住、事業会社の情シス+α。Uターン組。 ● AWS は本格利用 5 年目。11冠挑戦中。 ● 好きな AWS サービスは ECS, S3, CDK Twitter: @daktu32 qiita: https://qiita.com/daktu32
 note: https://note.com/daktu32
 Facebook: https://www.facebook.com/daisuke.tsukahara.509/
 LinkedIn: https://www.linkedin.com/in/daisuke-tsukahara-3bb41611a/
 Wantedly: https://www.wantedly.com/id/daisuke_tsukahara
 AWS 認定試験キャンペーンをつかって 5 科目受験してみた (https://note.com/daktu32/n/n348d7328af26)

Slide 4

Slide 4 text

ふまんがあります 出展:https://www.php.co.jp/fumanga/ おとなはいろいろとズルいとおもう。              ちゃんともんくをいって、ズルいのをやめてもらおう。

Slide 5

Slide 5 text

もんくをいうのはわるいこと? ● 「良い」もんくと「悪い」もんくがある ○ 良いもんく:フィードバック。事実。溢れるリスペクト。  ○ 悪いもんく:日本におけるクレーム。理不尽。ハラスメント。 ● 欧米圏では「クレームは創造的な行為」という認知が一般的 ○ Claim = 強い主張 ○ サービス利用者と提供者が意思疎通を円滑にし、協力してサービス品質を向 上する ● 日本人、特にエンジニアはクレームが苦手 ○ 謙虚 ○ 他責行為と捉えがち ○ クレーマー扱い=嫌われる 伝え方が大切。「ふまん」を上手に伝えればみんなハッピー。 ※ ※帝国ホテル感動のサービス クレームをつけるお客様を大切にする  https://honto.jp/netstore/pd-book_00006388.html

Slide 6

Slide 6 text

ふまんをじょうずにつたえよう ● 感情的にならない ● 事実と主観を区別する ● サービス提供者へのリスペクト ● 主張が通らないことも受け入れる 今日は AWS CDK について「ふまん」をいうよ!

Slide 7

Slide 7 text

AWS CDK ってなんだっけ? ● AWS Cloud Development Kit(CDK) ● みんな大好き CloudFormation(CFn)のグルーコードライブラリ ○ TypeScript / JavaScript / Python / Java / C# で書ける ○ AWS リソースをオブジェクトとして扱える ○ Well-Architected な構成をサクッと生成したりも ● CDK のここがすごい ○ 公式 ○ 頻繁なバージョンアップ(直近1か月で3回) ○ デバッグがはかどる(YAML 目 grep からの卒業) ○ IDE 統合

Slide 8

Slide 8 text

ふまん1:$(AWS_PROFILE) が効かない ● 常に default プロファイルが適用される ● あらかじめ profile 定義して、コマンド実行時に都度指定 いちいち めんどくさい。デフォルトでいいじゃん。

Slide 9

Slide 9 text

ふまん2:エラーメッセージがわかりずらい なにが起きているでしょうか?

Slide 10

Slide 10 text

ふまん2:エラーメッセージがわかりずらい メッセージどおり Stack に env は定義してあるし。。。

Slide 11

Slide 11 text

正解は「profile 名の typo」 ふまん2:エラーメッセージがわかりずらい 詳細ログ出すと わかる めっちゃ書いてる けど。。 そりゃデバッグログ確認しなかったのが悪いけどさ デフォルトで出してくれてもいいじゃない?

Slide 12

Slide 12 text

ふまん3:High / Low Level Construct を混ぜれない ● CDK では3種類の構造定義が使える ○ High Level Construct : AWS リソースを抽象化。直感的。 ○ Low Level Construct:CfnFunction のように CloudFormation リソースと対応 ○ Patterns:”aws-ecs-patterns” のように複数リソースがパッケージ ● たいていのリソースは High / Low 双方揃えてるが、Low しかないものも ○ ex) ElastiCache

Slide 13

Slide 13 text

ふまん3:High / Low Level Construct を混ぜれない ● VPC / ECS / RDS / ElastiCache な実行環境作る場合、Stack を分割して 二回に分けて deploy が必要 OutputされたIDを控えて後続Stackに食わせるのめんどい。 High Level Construct コンプリートはよ。

Slide 14

Slide 14 text

ふまん4:重い ● synthesize(CFnテンプレート変換)コストが高い ○ 10分待つのはざら ● マシンスペック不足という感じでもない ○ ロードアベレージは 1 以下、CPUはほぼアイドル状態 ● 待ち時間が手もち無沙汰で生産効率低下 ○ うっかりゲームして1時間経過とか日常(←自己責任) ほんとうにこまってるので、たすけてください。

Slide 15

Slide 15 text

まとめ ● 「ふまん」をじょうずにつたえよう ● AWS CDK はプログラマにとってもおすすめ ○ インフラエンジニアにもおすすめ ● 初心者支部で話したほうがよかったかも ● 「ふまんがあります」シリーズ化しようかな ごせいちょう ありがとうございました。

Slide 16

Slide 16 text

おしまい