cFnでDynamoDBを作りました | 石川事務所 ITエンジニアブログ ~高い付加価値提供のため~

石川事務所 ITエンジニアブログ ~高い付加価値提供のため~

IT技術ブログです。日々の仕事から得た技術や知識について記述していきます。

Amazon DynamoDBをアプリケーション開発チームがマネジメントコンソールで作ったのでそれをトレースして本番環境でCloudFormation(以下cFn)を使って作るという依頼がありました。

勉強がてら1から作ってみました。参考にしたテンプレートは以下です。

AWS::DynamoDB::Table

現時点では英語のドキュメントしかありませんでした。
DataBaseをcFnで作る経験は初めてです。やはり実際に構築を経験しないとわからない制約がありました。

Properties :KeySchemaは第1スキーマのKeyTypeは”HASH”、第2スキーマは”RANGE”でなければならない 等

作っていて2つ選択肢があることに気づきました。
1.他の環境(dev,stg)の設定を予めキャプチャを取りその設定をまねて作る。
2.他の環境(dev,stg)の設定をcFnへと取り込みテンプレート化し本番環境へデプロイする。

  既存リソースの CloudFormation 管理への取り込み

初めてなので時間がかかるのは2です。期限内におさまるかわからない。
しかし、スキルが身に付くのも2です。こんなトレードオフはエンジニアであればたくさん経験があると思います。

今回は、仕事としては1を選択しますがスキルとしては是非2を身に着けたいです。
「リソースをインポートするので正確ですし慣れれば工数を大幅に削減できそうです。」

余暇を利用してこのスキルを身に付けるため、実践していきます。

マネジメントコンソールとcFnでは、確かにマネジメントコンソールのほうがリソース作成は簡単に済みます。
しかし、全く同じ環境を短時間でデプロイするにはやはりcFnに軍配が上がります。設計書も不要です。
読解するスキルは必要ですがcFnのコードは設計書になるのでは?と思います。
AWSはドキュメントが豊富ですし、cFnは可読性が優れているコードに入ると思います。

AWSでインフラをコード化するスキルは是非身に付けたいですね。