AWS Blackbelt EC2 メモ


EC2のBlackbeltで学んだことをメモしました。
https://www.youtube.com/watch?v=P5zX4DdlYOE&feature=youtu.be

#EC2
- AWS Nitro Systemとは？
    - 独自のハードウェア/Hypervisorにより最適化された性能を提供
    - C5など最新世代のものは性能が最適化されている。
        - 仮想化による性能劣化を避けている。

- AWS Gravition Processorとは？
    - AWS独自のCPU(64bit Arm arch)
    - A1ファミリはC5ファミリに比べて、安価。小規模向け。
        - Arm版に対応したOSが利用可能。（Amazon linux, Red Hatなど）
- 
- APIでインフラ自動化が可能とは？
- インスタンスオプションの名前の由来は？
    - n network
    - a AMCのCPUを搭載
- インスタンスサイズの名前の決め方は？
    - 大きくなると倍増される？
- AWSのベアメタルの特徴
    - 2018年リリース　ハードウェアへのダイレクトアクセスを提供
    - Intel VTX, パフォーマンスカウンターを、使える。
    - Hyper-V, KVM使って仮想化可能
    - ハードウェアの機能を使いたいユースケースに使用
- バースト可能インスタンス
    - クレジットバランス（貯金箱）にクレジット（貯金）を貯めるイメージ
    - 貯金を使うとCPU100%で利用可能
    
- Key pairってWindowsも？→必要
    - https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/ec2-key-pairs.html

- EC2の費用
    - 専用ホストとハードウェア専有インスタンスの違いは？

気づき
- ENIって他のインスタンスに付け替えできるのね
- EC2のネットワーク制限
　シングルフローとマルチフローの定義がわからなかった。
    - シングルフロー
        - 同一クラスタープレイスメントグループ　最大10Gps
        - その他　最大5Gbps 
    - マルチフロー
        - 各インスタンスタイプが持つ通信帯域の最大
        - リージョン外　最大5Gbps
- EBS最適化オプションがある
    - 通常のネットワークとは別にEBS専用帯域を確保するオプション
- AWS が提供、または AWS Marketplace で提供される RHEL、SUSE Linux、および WindowsAMI を専有ホストで使用不可 

- AMI
    - 推奨マトリックスがある。
    - https://aws.amazon.com/jp/amazon-linux-ami/instance-type-matrix/
- 商用OS AMI
    - WIndows, Red Hat, SuSEは時間(hour)課金
- 物理ホストの専有オプション
    - 違いはDedicated Host では、物理サーバーにインスタンスを配置する方法について追加の可視性およびコントロールが得られること。
        - ポータルから追加できるってことですね。
        - https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/how-dedicated-hosts-work.html#launching-dedicated-hosts-instances
    - https://aws.amazon.com/jp/ec2/dedicated-hosts/
    - HW専有インスタンス（Dedicated Instance）
    - Amazon EC2 Dedicated Host
        - 物理ホストを専有。物理ホストへのインスタンス配置ができる。

- プレイスメントグループ
    - Cluster（密）・・・近づけることでレイテンシーを低くする。
        - 単一AZ, 複数のプレイスメントグループに属せない。
    - Spread（疎）・・・HWを分けることで障害耐性を上げる。
        - AZをまたいで定義可能。
    - パーティションプレイスメントグループ
        - インスタンスを論理的なパーティションに配置
        - パーティションが異なるインスタンスは同一HWを共有しないように分散して配置。
        - HDFS, など分散処理ワークロード。
- CPU最適化オプション
    - CPUコア数、ハイパースレッディングの無効化を指定可能とするオプション
    - 起動後の変更は不可
    - ベアメタルでは使用不可

- 拡張ネットワーキング
    - 最新はElastic Network Adapter(ENA)を使う。ENAはAWS独自のインターフェース。
    - EC2インスタンスの通信性能を最大化する機能
- EFA
    - HPCワークロードを高速化する新しいネットワークデバイス
- アクセラレータオプション
    - 特定ワークロードを高速化できるローコストに利用可能なアクセラレータ
    - EBSのようにアタッチして使用可能。かんたんすぎて驚き。
        - Elastic Graphics（GPU)
        - Elastic Inferrence(deep learning)

##EC2の運用管理
Instance Store-Backed AMIはStopped状態に遷移不可。

- ハイバネーション機能をサポート
    - メモリの状態をディスクに書き出した上でインスタンスを停止可能に
    - Amazon Linux1, 2 Ubuntu
    - Windowsも可能に。
        - https://aws.amazon.com/jp/about-aws/whats-new/2019/10/amazon-ec2-hibernation-now-available-on-windows/
       
- モニタリング
    - AWSサービスのメトリックス監視
    - メトリクスに基づいたアラーム作成
- スケジュールイベント
    - 計画メンテナンス
    - リタイヤ日までにstop→startを実行
- Auto recovery
    - インスタンスの以上を検知し復旧
        - インスタンスの以上を2つに分けて検知
            - インスタンスをホストするHW障害
            - EC2インスタンス内部で障害発生
    - 条件
        - 特定のインスタンスタイプのみ対応
        - VPC内のEBS-Backedインスタンスのみ対応（VPC外ってあるのか？）
        - テナント属性がdefaultまたはdedicatedインスタンス
            - ※Dedicated hostsは対応なし。

- User data
    - 起動時にスクリプト実行
- Launch Template
    - EC2インスタンス起動時に設定すべき項目をテンプレート化
- インスタンスメタデータ
    - 自インスタンスに関するデータを取得するための方法
- EC2 fleet
    - 1回のリクエストで大量のオンデマンドおよびスポットインスタンスの起動が可能
- 上限緩和
    - リージョンごとに20インスタンスまでしか起動できないようになっている。（デフォルト）