ヤマムギ

growing hard days.

*

Route 53サブドメインホストゾーンを作成したら、元のホストゾーンにNSレコードを作成する自動化

   

ハンズオン環境でRoute 53のホストゾーンを触ってほしい際に、サブドメインを設定する場合があります。
複数アカウントでセットアップを自動化したかったので、構築しました。

動作

元のドメインがexample.comだとします。
サブドメインの123はアカウントIDを想定しています。

  1. アカウントBでRoute 53に123.example.comホストゾーンが作成される
  2. EventBridgeがイベントを検知してLambda関数を実行
  3. Lambda関数がアカウントAのDynamoDBテーブルにレコードを追加
  4. DynamoDBストリームがアカウントAのLambda関数をトリガー
  5. アカウントAのLambda関数がexample.comのホストゾーンにNSレコード123.example.comを作成

これで、アカウントBのRoute 53で、www.123.example.comなどを作成して、レコードセット設定のハンズオンができます。

GitHub

CloudFormationテンプレートはGitHubにあります。
Lambdaのコードもテンプレートにインラインにしています。

https://github.com/yamamanx/route53-creatensrecord

EventBridgeのルール

対象アカウントが限定的なので、ホストゾーンの作成、削除はすべて対応としています。

ターゲットはLambda関数です。
Lambda関数では、クロスアカウントのDynamoDBテーブルにPutItemするので、boto3で指定しているテーブル名はARNにしています。
CreateHostedZoneの際はoperation=”create”、DeleteHostedZoneの際はoperation=”delete”でPutItemのみ許可されるようにしています。
Lambda関数はCloudFormationテンプレートにあります。

DynamoDBのリソースベースポリシー

昨年DynamoDBにリソースベースのポリシーが追加されましたので、それを利用しています。
ハンズオン用のアカウントBは元のドメインを管理しているアカウントAとは同じOrganizations組織にあります。

そこで次のようなポリシーにしました。
PutItemのみを組織内のアカウントで許可されたプリンシパルから受け付けます。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「AWS教科書 AWS認定デベロッパーアソシエイト テキスト&問題集 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS , ,

  関連記事

AWS LambdaでChrome HeadlessドライバをAWS Lambda Layersから使う

この記事はSelenium/Appium Advent Calendar 201 …

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー」を執筆いたしました

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー」という本の第 …

ALBにWAFを関連付けて特定のヘッダー以外はブロックする

おかげさまで、ブログのアクセスも増えてきて、t3.nano EC2インスタンス単 …

Amazon EC2 Auto ScalingのVPCは変更できる

EC2 Auto ScalingのVPCは変更できたっけ??と思いまして試しまし …

AWSセルフマネージドAD環境にEC2 Windowsサーバーをドメイン参加する

AWSクイックスタートのActive Directory Domain Serv …

Amazon FSx for Lustreのユーザーガイド入門演習

ファイルシステムの作成 FSx for Lustreを選択しました。 容量やスル …

AWS Global Acceleratorでアクセラレーターを作成する

バージニア北部、東京、大阪のEC2インスタンスをエンドポイントにして作成してみま …

Amazon EC2のAMIイメージを自動取得して保持日数が過ぎたら削除

画像の保存をEC2に戻した事もあってEC2のバックアップの自動取得を勉強がてらや …

Amazon LinuxにAlfresco Community Editionをインストールする

ダウンロード準備 Alfresco公式サイトで、「エンタープライズコンテンツ管理 …

Route 53で不要なドメインを削除

勢いで作ったけど結局使うのをやめたドメインがあります。 要らないので削除しました …