1
1

閉域網でのみアクセス可能なWebページを作る

Posted at

要件として話に挙がったので調べたメモ。

S3のエンドポイントの種類

S3はREST APIエンドポイントウェブサイトエンドポイントの2つのエンドポイントを有する。

REST APIエンドポイント

  • 通常、S3のオブジェクトにアクセスするたいにはREST APIエンドポイントを利用する。
  • オブジェクトURLとも呼ばれるもの。
  • アクセス権限が正しく設定できていないとXML形式のエラーが表示されるのを見たことがあるようにREST APIエンドポイントではXMLでエラーレスポンスが返る。
  • HTTPSでアクセスできる。

ウェブサイトエンドポイント

  • S3で静的ホスティングを有効にするとウェブサイトエンドポイントが利用できるようになる。
  • s3-website.<region>.amazonaws.comといったドメイン名でアクセスでいるようになる。
  • HTTPSに対応していない。
  • インデックスドキュメントを返すことができる。

参考

S3静的ホスティングのあれこれ

image.png

  • カスタムドメインを当てたい場合、Route53にCNAMEレコードを設定する。
  • HTTPSを利用したい場合、CloudFront、ACMを噛ませる。

閉域網からS3でホストするページにアクセスしたい。

  • DirectConnectで繋いだオンプレ環境やプライベートサブネットなどからインターネットを介さずHTTPSを利用したアクセスをする場合、CloudFrontは使えない。
  • この場合ALBを利用する。

image.png

参考

単純にS3にアクセスしたい(オブジェクトURLにアクセスしたい)

PrivateLink (Interface型エンドポイント) 利用

image.png

参考

Gateway型エンドポイント利用

S3がプライベートリンクに対応したことですでに旧来の方法となった。

参考

動的ページもプライベートに公開したい。

プライベートタイプのAPI Gatewayを利用することでVPCエンドポイント経由でプライベートにAPI GWにアクセスすることができる。

image.png

参考

認証をかけたい。

インターネット公開するよくある構成としてCognitoで認証を嚙ますが、現在CognitoはVPCエンドポイントに対応しておらず閉域網での認証には利用できない。

以下のような構成もあるものの実用できるのか、、?

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1