🦔
Cognitoはprefix domainとcustom domainを両方設定できる
この記事は?
CognitoにはCognitoが払い出すドメイン(prefix domain)と自分で取得したドメイン(custom domain)が存在する。これらは同時に設定することができる。terraformを使ってこれらのドメインを同時に設定する方法を記録した。
なぜこの記事を書いたか?
ChatGPTにprefix domainとcustom domainは同時設定できないと嘘をつかれたからです。
どのように2つのドメインを設定するか?
同じユーザープールIDに対して普通に2つリソースを立てればOK。certificate_arn を引数に渡した方がcustom domain、渡さなかった方がprefix domainとして認識される。
resource "aws_cognito_user_pool_domain" "custom_domain" {
domain = var.cognito_custom_domain
user_pool_id = aws_cognito_user_pool.user_pool.id
certificate_arn = var.cognito_acm_certificate_arn
}
resource "aws_cognito_user_pool_domain" "prefix_domain" {
domain = var.cognito_prefix_domain
user_pool_id = aws_cognito_user_pool.user_pool.id
}
custom domainは上記のリソースを立てた後、Cognitoから払い出されるエイリアスターゲットのcloudfrontをcustom domainのCNAMEの値に設定する必要がある[1]。これは現在手動でやっている。
-
Route53で設定する場合、CNAMEではなく、Aレコードへの登録でもOK。参考:https://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/cognito-user-pools-add-custom-domain.html#cognito-user-pools-add-custom-domain-console-step-2 ↩︎
Discussion