AWS 認定ソリューションアーキテクト – プロフェッショナル 合格への道#25

#はじめに
ホワイトペーパー流し読みと簡単な復習をする

#学習
### AWS外部ユーザ用のロール
* IDフェデレーション
SAML2.0やOpenIDといったオープンスタンダードなID情報連携の仕組みが構築されている。SAMLを使うことで社内ADやLDAPにあるユーザID情報を使用して、AWSを使うことができるようにする。

<img width="394" alt="スクリーンショット 2020-05-16 10.51.16.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321923/0acf8d17-eb65-3015-490c-ae647adf4e52.png">

* 認証基盤
    * カスタムIdPアプリケーション
    * user pool
    * AD
* 認可
    * 直でstsにassumerole
    * ID poolを使うか

### ハイブリッド仮想プライベートネットワーク (VPN) 接続
* マネージドVPN
    * AWS Site-to-Site VPN
    * VPC とリモートネットワーク間で、IPsec および VPN 接続を作成できます。Site-to-Site VPN 接続の AWS 側では、仮想プライベートゲートウェイによって、自動フェイルオーバーのための 2 つの VPN エンドポイント (トンネル) が提供されます。Site-to-Site VPN 接続のリモート側でカスタマーゲートウェイを設定
* ソフトウェアVPN
    * AWS クライアント VPN
    * AWS Client VPN は、オンプレミスネットワーク内の AWS リソースに安全にアクセスできるようにする、クライアントベースのマネージド VPN サービスです。クライアント VPN を使用すると、OpenVPN ベースの VPN クライアントを使用して、どこからでもリソースにアクセスできます。
* AWS VPN CloudHub
    * AWS VPN CloudHub
    * リモートネットワークが複数ある (たとえば、複数の支社がある) 場合は、仮想プライベートゲートウェイを通じて複数の AWS Site-to-Site VPN 接続を作成すると、それらのネットワーク間で通信できるようになります。
    * 支社間でVPNできるようになるということ

### VPC エンドポイントの概念
* エンドポイントサービス
    * VPC 内の独自のアプリケーションです。他の AWS プリンシパルは、その VPC からエンドポイントサービスへの接続を作成できます。
* ゲートウェイエンドポイント
    * ゲートウェイエンドポイントは、サポートされる AWS のサービスを宛先とするトラフィックのルートテーブルで、ルートのターゲットとして指定するゲートウェイです。
    * S3
* インターフェイスエンドポイント
    * インターフェイスエンドポイントは、サポートされているサービスを宛先とするトラフィックのエントリポイントとして機能するサブネットの IP アドレス範囲のプライベート IP アドレスを持つ Elastic Network Interface

### TrangitGateway
<img width="475" alt="スクリーンショット 2020-05-16 11.22.01.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321923/eb0e3cc3-58de-a1dd-f635-1b712dc25106.png">

### DXgateway
<img width="715" alt="スクリーンショット 2020-05-16 11.27.05.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321923/5a09a4a6-45d3-b528-4a36-6af0c9bdc956.png">

### ストゲ
* file
    * S3 backend
* volume
    * cashed
        * snapshot
    * stored
        * S3 / EBS snapshot backend
* VTL
    * S3 / glacier backend

### CloudFront
* 署名付き URL や署名付き Cookie を作成するには、有効な CloudFront キーペアを持つ少なくとも 1 つの AWS アカウントが必要です。このアカウントは信頼された署名者と呼ばれます。
    * rootじゃないとキーペアは作れない
    * EC2のキーペアを代用はできない

### cloudformationまとめ
https://qiita.com/iron-breaker/items/a12d1228de12663e7d32

#### リソース属性リファレンス おさらい
* CreationPolicy 属性
    * AWS CloudFormation が指定数の成功シグナルを受信するかまたはタイムアウト期間が超過するまでは、ステータスが作成完了にならないようにします。
* DeletionPolicy 属性
    * DeletionPolicy 属性を使用すると、スタックが削除された際にリソースを保持または (場合によっては) バックアップできます。制御する各リソースに対して DeletionPolicy 属性を指定します。DeletionPolicy 属性が設定されていない場合、AWS CloudFormation ではデフォルトでリソースが削除されます。
* DependsOn 属性
    * DependsOn 属性を使用すると、特定のリソースが他のリソースに続けて作成されるように指定できます。DependsOn 属性をリソースに追加した場合、そのリソースの作成は必ず、DependsOn 属性で指定したリソースの作成後に行われます。
* Metadata 属性
    * リソースには、Metadata 属性を使用して構造化データを関連付けることができます。リソースに Metadata 属性を追加することで、JSON または YAML 形式のデータをリソースの宣言に追加することができます。また、Metadata 属性内で組み込み関数 (GetAtt、Ref など) やパラメータ、擬似パラメータを使用し、その解釈に基づく値を追加することもできます。

```
{
   "AWSTemplateFormatVersion" : "2010-09-09",
   "Resources" : {
      "MyS3Bucket" : {
         "Type" : "AWS::S3::Bucket",
         "Metadata" : { 
            "Object1" : "Location1",  
            "Object2" : "Location2" 
         }
      }
   }
} 
```
* UpdatePolicy 属性
    * UpdatePolicy 属性を使用して、AWS CloudFormation が、に対する更新を処理する方法を指定できます。
        * AWS::AutoScaling::AutoScalingGroup
        * AWS::ElastiCache::ReplicationGroup
        * AWS::Elasticsearch::Domain
        * AWS::Lambda::Alias
* UpdateReplacePolicy 属性
    * UpdateReplacePolicy 属性では、スタック更新オペレーションでリソースを置き換えるときに、リソースの既存の物理インスタンスを保持したり、必要に応じてバックアップしたりします。

### DAX
* 書き込みスルー
    * 読み込み時にキャッシュにも書き込みを行う方法
* 遅延読み込み
    * 読み込み時にキャッシュを参照してヒットしなかったらデータソースから参照してキャッシュに書き込みする

### ElasticCash
* redis
    * replication
    * 永続的
    * SSL暗号化可能

<img width="605" alt="スクリーンショット 2020-05-16 12.55.07.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321923/93514884-ada3-7269-9a0a-ab516a55c446.png">

### RedShift
* 冗長化
    * S３をデータソースとして、複数AZに展開したRedShiftからロードする

### AWS Security BP
https://dev.classmethod.jp/articles/explanation-aws-security-best-practices/