pikesaku’s blog

個人的な勉強メモです。記載内容について一切の責任は持ちません。

PrivateLinkメモ

参考

[AWS Black Belt Online Seminar] Amazon VPC Advanced 資料及び QA 公開 | Amazon Web Services ブログ

・IF型のVPCエンドポイントのこと
・対応してるAWSサービスにインターネット経由せずVPCからアクセスできる

上記の機能は、PrivateLinkが発表される前からあった。

・接続先がAWSサービスだけでなく、ユーザーのリソースも定義できるようになった。
 例) 別VPCにあるNLBはGLB等

ユーザー定義が可能になりPrivateLinkとしてサービス化した感じ。

勘違いかもだけど、ひとまずこの考えとする。

IF型エンドポイントは
・実態はENI
・なのでサブネットに接続する
・なので冗長化検討必要

Lamda@Edgeメモ

Lamda@Edgeとは?

・Cloudfrontの機能
・ユーザーに近いリージョンのエッジキャッシュでLamda関数を実行。※Cloudfron単体で出来ない処理を実現。
 より近いエッジロケーションではない!
・実行タイミングは以下4か所
 ①ViewerRequest→②OriginRequest→③OriginResponse→④ViewerResponse
 ①・②、③・④の間に、エッジキャッシュ処理がある。キャッシュ前後どちらで処理するかを制御できる。

ユースケース

・ ヘッダ加工
 HSTSヘッダ付与等
・ 画像サイズ変換
 UAに応じてサイズ変換等
・レスポンス返却
検索エンジン最適化
 アクセス元がBotの場合、別コンテンツ返却
・データ暗号化
 AWS KMSと連携しコンテンツの全体 or 一部を暗号化できる。
・A/Bテスト
 クライアント側は意識せず、接続先を分けることでパターン別の評価ができる。
 ※そもそもA/Bテストとは?
  ABテストとは2つのものを比較するテストです。Webマーケティングでよく使われる。
  https://www.profuture.co.jp/mk/column/11571
・ユーザー認証認可、優先順位付け

類似機能のCloudfront Function

 Lamda@Edgeと同様に、Cloudfronイベントをトリガにコード実行できる。

Lamda@EdgeとCloudfron Functionの主な違い

No 項目 Lamda@Edge Cloudfron Function
1 実行場所 リージョンのエッジキャッシュ エッジロケーション
2 ランタイム Node.js、Python JavaScriptのみ
3 最大実行時間 数秒
実行タイミングにより異なる。Viewerトリガーの場合、5秒。
1ミリ秒未満
4 最大メモリ 数MB
実行タイミングにより異なる。Viewerトリガーの場合、1MB。
10KB

 →上記の通り、Cloudfron Functionは良い近い所で実行できるが、簡単な処理向け。

CloudFrontメモ

CloudFrontとは?

以下を実現するCDN
・高い安全性
・高い性能
・プログラム可能

動作

・ユーザーを一番近いエッジロケーションに誘導 ※低レイテンシで判断。EDNS Client Subnet情報も利用。
・エッジサーバでコンテンツキャッシュ
AWS WAF、AWS Shield連携しセキュリティ対策
AWS Certficate Manager(ACM)の証明書利用

用語

Viewer

Webブラウザ等のクライアント

Distribution

配信の設定単位。ドメイン名毎に作成。以下要素を含む。
・Origin
 コンテンツ提供するWebサーバ
 カスタムオリジン→VPCやオンプレのWebサーバ
 S3オリジン→S3バケット
・Behaviour
 キャッシュ動作、URLパスパターン設定

Behaviour設定

・リクエストパスパターン毎にキャッシュTTL設定
・サーバレスポンスにCache-Control:no-cache、no-store、privateディレクティブを付けた場合、CloudFrontでキャッシュされない。
 設定ミスると以下のようなトラブル事例もあり。
 CDN切り替え作業における、Web版メルカリの個人情報流出の原因につきまして | メルカリエンジニアリング

証明書

・標準で「cloudfront.net」ドメイン証明書
独自ドメイン証明書も利用可能。以下のCNAMEレコード登録が必要
 独自ドメインFQDN → cloudfront.netドメインFQDN
 ※ディストリビューション設定の以下に"独自ドメインFQDN"を設定する必要あり。これを設定しないとCloudfrontは"cloudfront.netドメインFQDN"の証明書を提示してくる。
  
  関連情報
  CloudFront の無効なリクエストのエラーを解決する
  代替ドメイン名 (CNAME) を追加することによるカスタム URL の使用 - Amazon CloudFront

プロトコルポリシー

・クライアント→Cloudfront間
 HTTP or HTTPS/Redirect HTTP to HTTPS/HTTPS Only
・Cloudfront→オリジン間
 HTTPS Only/Match Viewer(Viewer→Cloudfronと同じプロトコル利用)

署名付きURL、Cookie

 URLもしくは、Cookieにコンテンツへの資格情報を含めて認証OKの場合にアクセスを許可する機能
 公開鍵認証で認証をする。
 アプリケーションで認証し、認証OKの場合にURLもしくはCookie秘密鍵で暗号化したデータを含め、Cloudfrontは公開鍵で復号できれば認証OKの判断をする。
 使い分けは、コンテンツが単一ファイルの場合はURL、複数ファイルある場合はCookie
 仕組みの詳細は以下参照
 署名付き URL の使用 - Amazon CloudFront
 署名付き Cookie の使用 - Amazon CloudFront

オリジンアクセスアイデンティティ(OAI)

 オリジンに直接アクセス不可にし、Cloudfron経由のみ許可する
 ※S3のみ。

エッジでのgzip圧縮機能

 S3がgzip圧縮未サポートの為、価値あり。

オリジンフェイルオーバ

 複数オリジンを作成し、片系異常時に正常系にフェイルオーバする機能

Geographical Restriction

 特定の国からのアクセスを制限する機能

Price Class

 利用するエッジロケーションを制限

AWS Networking Specility調査

試験ガイド

https://d1.awsstatic.com/ja_JP/training-and-certification/docs-advnetworking-spec/AWS-Certified-Advanced-Networking-Specialty_Exam-Guide.pdf

試験範囲技術

アプリケーション統合

Amazon EventBridge (Amazon CloudWatch Events)
Amazon Simple Notification Service (Amazon SNS)
Amazon Simple Queue Service (Amazon SQS)

コンピューティング

Amazon EC2
Amazon EC2 Auto Scaling
AWS Lambda

コンテナ

Amazon Elastic Container Registry (Amazon ECR)
Amazon Elastic Container Service (Amazon ECS)
Amazon Elastic Kubernetes Service (Amazon EKS)
AWS Fargate

コスト管理

AWS Cost Explorer

フロントエンドのウェブとモバイル

Amazon API Gateway

管理とガバナンス

AWS Auto Scaling
AWS CLI
AWS CloudFormation
AWS CloudTrail
Amazon CloudWatch
AWS Config
AWS Control Tower
AWS Management Console
AWS Organizations
AWS Personal Health Dashboard
AWS Trusted Advisor
AWS Well-Architected Tool
ネットワークとコンテンツ配信
Amazon API Gateway
AWS App Mesh
AWS Client VPN
AWS Cloud Map
Amazon CloudFront
AWS Direct Connect
Elastic Load Balancing
AWS Global Accelerator
AWS PrivateLink
Amazon Route 53
AWS Site-to-Site VPN
AWS Transit Gateway
Amazon VPC

セキュリティ、アイデンティティコンプライアンス

AWS Firewall Manager
AWS Identity and Access Management (IAM)
AWS Network Firewall
AWS Resource Access Manager (AWS RAM)
AWS Shield
AWS WAF

サーバーレス

Amazon API Gateway
Amazon EventBridge (Amazon CloudWatch Events)
AWS Fargate
AWS Lambda
Amazon Simple Notification Service (Amazon SNS)
Amazon Simple Queue Service (Amazon SQS)
Amazon Simple Storage Service (Amazon S3)

ストレージ

Amazon S3

弱いとこ

api gateway
glb
gloval accelarator
container系
ipv6
dnssec
bgp community

スコア足りなかったところ

セキュリティ、アイデンティティコンプライアンス

AWS Firewall Manager
AWS Identity and Access Management (IAM)
AWS Network Firewall
AWS Resource Access Manager (AWS RAM)
AWS Shield
AWS WAF

aws機能が一通どんなものか?は把握しておく