AWSのCloudFrontでS3,EC2,API GatewayをPath Patternで分けて一つの独自ドメイン(HTTPS)に纏める
CloudFrontのマルチオリジンを使用してPath Patternを分けることによって一つのドメイン(HTTPS)でAPI Gateway,S3にアクセスすることができました。詳細は「AWS Cognitoで認証画面を作成してサインイン後にAPI GatewayをCognitoで認可する」を参照ください。
これにEC2のApacheも同一ドメインにしたかったので、色々調べているとどうもELB(ロードバランサー)経由してHTTPS化することにより可能な気がしたので、一旦ELB + EC2でサブドメインを作成しました。詳細は「AWSのEC2にELB経由で接続する」を参照下さい。
前提条件がかなりありますが、大事なポイントだけ。
- ACMは2つ必要で、一つはバージニア北部で「*.ドメイン名.co.uk」で取得する
- ACMは2つ必要で、一つはELBと同じリージョンで取得する
- ELBはサブドメイン名と対応付ける
ではS3とAPI Gatewayはマルチオリジン対応済みとしてEC2を追加します。
ELBをサブドメインとしているため、ACMは「*.ドメイン名.co.uk」に取得しなおします。ACMの特徴としてワイルドカードが使用できます。
EC2(ELB)のオリジンを作成する
次にELBのオリジンを作成します。前の記事ではサブドメインにしていますので、Origin Domain Nameに「elb.ドメイン名.co.uk」を設定します。
Behaviorを作成する
次にBehaviorを作成します。WhitelistでHostを追加する必要があります。
これでコンソールの設定は完了です。Path Patternを「ec2/*」としたので、度九面とルートは「var/www/html/ec2/」となりますので気を付けてください。試しにec2配下にindex.htmlを作成しました。
以下、アクセスした結果です。
これでEC2もELB経由でHTTPSでアクセスすることが確認できました。
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント