AWSでAPI Gatewayとロードバランサーを組み合わせて使う
     [アクセス元]---[API Gateway]---[ロードバランサー]---[EC2のインスタンス]
を想定して接続したい。
試した方法はEC2のインスタンスにセキュリティグループを負わせる。
以下、ロードバランサーをLBと記す。
 - EC2のインスタンス
 
 - 普通に作成する。
 
 - 
  
   - セキュリティグループ
 
   - LBからアクセスできるものを割り当てる。
 
  
  
 - ターゲットグループ
 
 - クラシックなLBはWebサーバーなどを直接的なターゲットとするが、AWSの流儀はEC2のインスタンスを束ねるターゲットグループを設けて、LBのリスナーの転送先としてターゲットグループを指定する。
 
 - 想定は
[LB]---[EC2のインスタンス]だが、この流儀だと[LB]---[ターゲットグループ]---[EC2のインスタンス]という感じで連携する。 
 - 
  
   - ターゲットの種類
 
   インスタンス
を選択する。 
   - インスタンスの登録
 
   - "入れ物"となるターゲットグループをとにかく作り、その後にメニューからインスタンスを登録・解除する設定へ進む。
 
  
  
 - LB
 
 - 後に出る
VPCリンク
のためにNetwork Load Balancer
を作成する。 
 - 
  
   - LBの設定
 
   - 
    
     - スキーム
 
     - 
      
       - ターゲットへルーティングする方法を指定する
 
       - 
        ルーティングする方法であり、LBのアクセス元でないことに気をつける。
        
         - インターネット向け
 
         - インターネットを経由する。
 
         - 内部
 
         - プライベートIPアドレスを使う。
 
        
        
      
      
     - アベイラビリティーゾーン
 
     - 仕様で2つ以上アベイラビリティーゾーンを選択する必要がある。
 
     - ターゲットが1つだけでもその1つともう1つを適当に選択すればよい。
 
    
    
  
  
 - API Gateway
 
 - 
  
   - VPCリンク
 
   - AWSの説明に
VPC内HTTP(S)リソースへのアクセスを一般のインターネットに直接露出しないように提供します。
とあり、この設定が必要になる。 
   - 
    
     - ターゲットNLB
 
     - 作成したLBを選択する。
 
    
    
   - API
 
   - 
    
     - エンドポイントタイプ
 
     リージョン
を選択する。 
     - リソース > [メソッド]  > 統合リクエスト
 
     - 
      
       - 統合タイプ
 
       VPCリンク
を選択する。 
       - VPCリンク
 
       - 設定したVPCリンクを選択する。
 
       - エンドポイントURL
 
       - 設定したLBのDNS名とリスナーのポートをURLにしたものを指定する。
 
       - 例: http://xxxxx.elb.region.amazonaws.com:8080/
 
      
      
    
    
  
  
     2019/08/15 21:25