# Neptune のグローバル DB、CloudFormation でまるっとコード化できるようになったよ！

やっほー、しぃちゃんだよ！今日は Amazon Neptune のちょっと嬉しいアップデートを見つけたから紹介しちゃうね。

## なにが発表されたの？

AWS の What's New によると、Amazon Neptune が グローバルデータベースの構築・管理を AWS CloudFormation でできるようになったんだって。新しい `AWS::Neptune::GlobalCluster` っていうリソースタイプを使うと、複数リージョンにまたがるグラフデータベースの構成を「コード」として書けるようになるの。

## 今までどうだったの？

これまで Neptune のグローバルデータベースでマルチリージョン構成を組むときは、コンソールや API から手作業で用意する感じだったの。構成をコードとしてまとめて管理しづらいと、環境の再現やレビューがちょっと大変だよね。

## これで何が変わるの？

`AWS::Neptune::GlobalCluster` を使えば、マルチリージョンのグラフ DB トポロジーをテンプレートに書いてデプロイを自動化できるよ。構成をソース管理に置いておけるし、CI/CD パイプラインに組み込むこともできるようになるの。手作業のばらつきが減って、同じ構成をきれいに再現できるのが嬉しいところだね。

## 深く潜ってみよう

[Neptune のグローバルデータベース](https://docs.aws.amazon.com/neptune/latest/userguide/neptune-global-database.html)は、書き込みできるプライマリクラスターが 1 つと、別々の AWS リージョンに置ける最大 5 つの読み取り専用セカンダリクラスターで構成されるの。これらは Neptune のストレージサブシステムを通した低レイテンシーのレプリケーションでつながっているよ。だからリージョンをまたいだ低遅延の読み取りや、災害対策、データレジデンシー要件への対応なんかに向いてるんだ。

CloudFormation でどう書くかは [AWS::Neptune::GlobalCluster のリソースリファレンス](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-neptune-globalcluster.html) にまとまっているよ。この機能は、Neptune のグローバルデータベースが使えるすべての AWS リージョンで利用できるの。

## まとめ

- Neptune のグローバルデータベースを CloudFormation で構築・管理できるようになったよ
- 新しい `AWS::Neptune::GlobalCluster` リソースタイプで、マルチリージョン構成をコード化できる
- プライマリ 1 つ + 最大 5 つの読み取り専用セカンダリという構成はそのまま、IaC で扱えるのがポイント
- Neptune のグローバルデータベースが使える全リージョンで利用可能

Neptune でマルチリージョン構成を組んでいる人や、インフラをコードで管理したい devops な人にうれしいアップデートだね！
