AWS SAP試験勉強メモ
オリジンのセキュリティ強化
-
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に関連付ける
S3費用対効果
オブジェクトロック
削除または上書きされることを一定期間防止
- モード
- コンプライアンスモード
- もう何をやっても削除できない
- ガバナンスモード
- 特定の権限を持っている場合、削除可能
バナンスモードのリテンション設定を上書きまたは削除するには、ユーザーは s3:BypassGovernanceRetention アクセス許可を持っている必要があり、また、ガバナンスモードの上書きを必要とするリクエストで、x-amz-bypass-governance-retention:true を要求ヘッダーとして明示的に含める必要があります
ガバナンスモードでオブジェクトロックの削除・上書きを禁止
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": [
"s3:BypassGovernanceRetention"
],
"Resource": "*"
}
]
}
- バージョニング
- 目的 : 意図しないユーザーアクションからもアプリ障害からもより簡単に復旧する
SSM, WAF, Shield, Cloudfront
-
SSHアクセスを無効にしてSystems ManagerでEC2ログイン→辞書攻撃を防ぐ
-
WAF
- SQLインジェクション(DBから悪意で情報を抜き出す)
- SQLインジェクションステートメントに Sensitivity levelsが設定可能
- https://dev.classmethod.jp/articles/aws-waf-sql-injection-sensitivity-levels/
- SQLインジェクション(DBから悪意で情報を抜き出す)
-
Shield Advanced 有効か
- DDos攻撃を防ぐ
-
オンプレミスではなく、RDSの利用によりSQLインジェクションを防ぐ
Step function ⇔ DynamoDB
- AWS Batchはラムダをトリガーにできない
DAX
-
DAX cluster
- テーブルの読み取りパフォーマンス向上
-
DynamoDB(プロビジョニングモード)
- Appに必要な1sあたりのデータの読み込みと書き込みの回数を明示的に指定
フェデレーションを使用したSSO
-
オンプレミス
- Idp認証
- SAML Assertion取得
-
AWS Cloud
- AWS SSO Endpoint
- AssumeRokeWithSAML ⇔ AWS STS
- AWS SSO Endpoint
-
IAMロールの信頼ポリシーで組織とAWS間の信頼関係を確立するプリンシパルとして設定
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アタッチメントを自動的に作成
AWS Cost and Usage Report (CUR)
- 管理アカウントからCURを作成
- CUR → S3 → QuickSight
- CURをS3に保存し、QSダッシュボードからデータソースとして指定することで可視化
Amazon VPC と、作成したプライベートホストゾーンを異なる AWS アカウントに関連付ける
-
アカウントA : プライベートホストゾーン
-
アカウントB : EC2, RDS
-
1.AのPHZをBの新しいVPCに関連付ける承認を作成
- $ aws route53 create-vpc-association-authorization
-
- BのVPCをアカウントAのホストゾーンに関連付け
- $ aws route53 associate-vpc-with-hosted-zone
SSHアクセス
-
Session Managerで接続できるようにし、SSHポートを閉じる
-
ベストプラクティスである「攻撃対象領域を縮小する」
-
EC2
- SSMManagedInstanceCore ポリシー
-
EC2 Instance Connect
- EIC エンドポイントを使用するとパブリックIPアドレスを使用せずにEC2インスタンスにSSHおよびRDP接続できるようになる
https://dev.classmethod.jp/articles/ec2-instance-connect-endpoint/
- EIC エンドポイントを使用するとパブリックIPアドレスを使用せずにEC2インスタンスにSSHおよびRDP接続できるようになる
Savings Plans
S3 403 Acccess Denied
- S3バケットからS3ブロックパブリックアクセスのオプション削除
- S3バケットからリクエスト元による支払い設定を削除する
- リクエスタ支払い
- S3の転送量に料金をデータ提供者でなく利用者が支払う仕組み
- バケットのリクエスト認証に失敗した場合、上記のエラー返す
- リクエスタ支払い
SCPで制限
"Condition":{
"StringNotEquals":{
"aws:RequestedRegion":[
"ap-northeast-1"
]
}
}
"Condition":{
"StringNotEquals":{
"ec2":InstanceType: "XXX"
}
}
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
RDS
-
Enhanced Monitoring
- OSレベルのメトリクスをリアルタイムで提供
-
Performance Insights
- RDSパフォーマンス分析ツール
- データベースのワークロードを分析し、ボトルネックや遅延の原因を特定
Service Catalog
- ポートフォリオ
- 製品の集合体
- 製品
- CFn / Terraformで管理されている
- アクセス
- ポートフォリオへのアクセス権
- 制約
- 起動制約、テンプレート制約、通知制約
- タグ
- TagOptions
- 共有
- ポートフォリオを別アカウンに共有可能
AWS Network Firewall
- VPC向けのFW、IDS・IPSを提供するマネージドサービス
- IGWの前に置く
https://qiita.com/tech4anyone/items/1c1b8d39c0f429b10d26
SCTとDMSを用いたDB移行
Aurora
- 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を呼び出せるように
- 保存されているデータに対して移動させずに結果取得できる
-
DHCP Options Set (VPC)
-
EC2インスタンスのDNS/NTPサーバの設定できる
-
DHCPオプションセットを作成
- DHCPオプションセット
- ドメイン名
- ドメインネームサーバー
- NTPサーバー
- NetBIOSネームサーバー
- NetBIOSノードタイプ
- DHCPオプションセット
-
DHCCPオプションセット編集
- VPC ID
- DHCPオプションセット
AmazonProvidedDNS = Route53 Resolver
- VPCに標準で備わっているDNSサーバー
- EC2のローカルVPCドメイン名
- プライベートホストゾーンのレコード
- フルリゾルバに対して外部ドメイン名の再帰的検索