Open20

AWS SAP試験勉強メモ

TatsuyaTatsuya

オリジンのセキュリティ強化

  • VPC 内のオリジンで Amazon CloudFront を使用している場合に、CloudFront ディストリビューションのみがリクエストをオリジンに転送できるようにしたいことがあります。Edge-to-Origin リクエストヘッダーを使用すると、CloudFront からオリジンにリクエストを転送する際に、既存のリクエストヘッダーの値への追加または上書きが可能

  • How to enhance Amazon CloudFront origin security with AWS WAF and AWS Secrets Manager

  • オリジンアクセス制限用にオリジンカスタムヘッダーの値を自動的にローテーション

  • CloudFrontディストリビューション
    「CloudFront Distribution」とは、AWS CloudFrontサービスを使用する際に特定のコンテンツデリバリーの設定や構成を指す言葉です。
    CloudFront Distributionは、特定のオリジン(通常はS3バケット、EC2インスタンス、API Gatewayなど)からデータを取得し、エッジロケーションにキャッシュします。
    CloudFront Distributionを設定することで、コンテンツの配信設定、キャッシュコントロール、セキュリティポリシーなどを定義できます。

  • Secret Managerにランダムな文字列を格納
  • 自動シークレットローテーションのためのLambdaを作成
  • オリジンリクエストのカスタムHTTPヘッダーとしてランダムな文字列を注入するためのcloudfront
  • カスタムヘッダの文字列の一致ルールを持つAWS WAFウェブACLルールを作成
  • Web ACLをALBに関連付ける
TatsuyaTatsuya

S3費用対効果

オブジェクトロック

削除または上書きされることを一定期間防止
- モード
- コンプライアンスモード
- もう何をやっても削除できない
- ガバナンスモード
- 特定の権限を持っている場合、削除可能

バナンスモードのリテンション設定を上書きまたは削除するには、ユーザーは s3:BypassGovernanceRetention アクセス許可を持っている必要があり、また、ガバナンスモードの上書きを必要とするリクエストで、x-amz-bypass-governance-retention:true を要求ヘッダーとして明示的に含める必要があります

ガバナンスモードでオブジェクトロックの削除・上書きを禁止

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "s3:BypassGovernanceRetention"
            ],
            "Resource": "*"
        }
    ]
}

https://dev.classmethod.jp/articles/s3-objectlock-bypass-governance-retention/

  • バージョニング
    • 目的 : 意図しないユーザーアクションからもアプリ障害からもより簡単に復旧する
TatsuyaTatsuya

SSM, WAF, Shield, Cloudfront

  • SSHアクセスを無効にしてSystems ManagerでEC2ログイン→辞書攻撃を防ぐ

  • WAF

  • Shield Advanced 有効か

    • DDos攻撃を防ぐ
  • オンプレミスではなく、RDSの利用によりSQLインジェクションを防ぐ

TatsuyaTatsuya

DAX

  • DAX cluster

    • テーブルの読み取りパフォーマンス向上
  • DynamoDB(プロビジョニングモード)

    • Appに必要な1sあたりのデータの読み込みと書き込みの回数を明示的に指定
TatsuyaTatsuya

フェデレーションを使用したSSO

  • オンプレミス

    • Idp認証
    • SAML Assertion取得
  • AWS Cloud

    • AWS SSO Endpoint
      • AssumeRokeWithSAML ⇔ AWS STS
  • IAMロールの信頼ポリシーで組織とAWS間の信頼関係を確立するプリンシパルとして設定

TatsuyaTatsuya

RAM

  • AWSアカウント間のリソース共有をするサービス

  • 最初にRoute 53 Resolver Rulesサポート

  • Transit Gatewayも追加

  • 共有方法

    • AWSアカウントを個別で指定して、受け側で申請を承認
    • Organizationレベルで有効化し、いちいち受け側で承認しなくてOK
  • Transit Gateway アタッチメント

    • VPCとTGWを接続する接点
    • 設定内容
      • TGW本体のID
      • 接続するVPCのID
      • VPCの中でアタッチメントを配置するサブネット
  • Stack Setを使ってメンバーアカウントに新しいVPCCとVPC TGWアタッチメントを自動的に作成

TatsuyaTatsuya

AWS Cost and Usage Report (CUR)

  • 管理アカウントからCURを作成
  • CUR → S3 → QuickSight
    • CURをS3に保存し、QSダッシュボードからデータソースとして指定することで可視化
TatsuyaTatsuya

Amazon VPC と、作成したプライベートホストゾーンを異なる AWS アカウントに関連付ける

  • アカウントA : プライベートホストゾーン

  • アカウントB : EC2, RDS

  • 1.AのPHZをBの新しいVPCに関連付ける承認を作成

    • $ aws route53 create-vpc-association-authorization
    1. BのVPCをアカウントAのホストゾーンに関連付け
    • $ aws route53 associate-vpc-with-hosted-zone

https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/hosted-zone-private-associate-vpcs-different-accounts.html

TatsuyaTatsuya

SSHアクセス

  • Session Managerで接続できるようにし、SSHポートを閉じる

  • ベストプラクティスである「攻撃対象領域を縮小する」

  • EC2

    • SSMManagedInstanceCore ポリシー
  • EC2 Instance Connect

TatsuyaTatsuya

S3 403 Acccess Denied

  • S3バケットからS3ブロックパブリックアクセスのオプション削除
  • S3バケットからリクエスト元による支払い設定を削除する
    • リクエスタ支払い
      • S3の転送量に料金をデータ提供者でなく利用者が支払う仕組み
      • バケットのリクエスト認証に失敗した場合、上記のエラー返す
TatsuyaTatsuya

S3

S3 Transfer Acceleration

  • クライアントと S3 バケットの間で長距離にわたるファイル転送を高速、簡単、安全に行えるようにするバケットレベルの機能
  • Amazon CloudFront の世界中に点在するエッジロケーションを利用
  • エンドポイント
    • bucketname.s3-accelerate.amazonaws.com
    • action : s3:PutAccelerateConfiguration

S3 Replication Time Control

  • S3にアップロードするほとんどのオブジェクトを数秒で複製し、このようなオブジェクトの99.99%を15分以内に複製

S3アクセスポイント

  • 各アプリケーションに対して専用のS3アクセスポイントを作成して最小限の操作を許可

S3 prefix

  • s3
  • s3express
  • glacier
  • s3-object-lambda
  • s3-outposts
TatsuyaTatsuya

Service Catalog

  • ポートフォリオ
    • 製品の集合体
  • 製品
    • CFn / Terraformで管理されている
  • アクセス
    • ポートフォリオへのアクセス権
  • 制約
    • 起動制約、テンプレート制約、通知制約
  • タグ
  • TagOptions
  • 共有
    • ポートフォリオを別アカウンに共有可能

https://qiita.com/tech4anyone/items/1c1b8d39c0f429b10d26

TatsuyaTatsuya

Aurora

https://dev.classmethod.jp/articles/aurora-or-rds-by-table/

  • Auroraを構成するコンポーネント
    • Aurora DBクラスター
    • Writerインスタンス(プライマリ)
    • Readerインスタンス
    • クラスタボリューム
    • Auroraエンドポイント

  • Aurora Serverless Data API

    • 各エンジンのネイティブプロトコルに加え、HTTPSエンドポンイント、SDKからアクセスを提供
    • LambdaやAppSyncからVPCにアクセスすることなくAurora利用可能
  • Database Activity Stream (DAS)

    • DBを保護し、コンプライアンス/規制要件を満たすモニタリング

    • Aurora ML

      • Aurora内からSagemakerとcomprehendを呼び出せるように
      • 保存されているデータに対して移動させずに結果取得できる

https://pages.awscloud.com/rs/112-TZM-766/images/02_Amazon Aurora MySQL_PostgreSQL 独自機能のご紹介.pdf

TatsuyaTatsuya

DHCP Options Set (VPC)

  • EC2インスタンスのDNS/NTPサーバの設定できる

  • DHCPオプションセットを作成

    • DHCPオプションセット
      • ドメイン名
      • ドメインネームサーバー
      • NTPサーバー
      • NetBIOSネームサーバー
      • NetBIOSノードタイプ
  • DHCCPオプションセット編集

    • VPC ID
    • DHCPオプションセット

https://media.suz-lab.co.jp/2021/04/16/directory-service-dhcp-options-sets/

AmazonProvidedDNS = Route53 Resolver

  • VPCに標準で備わっているDNSサーバー
  • EC2のローカルVPCドメイン名
  • プライベートホストゾーンのレコード
  • フルリゾルバに対して外部ドメイン名の再帰的検索