[AWS Black Belt Online Seminar] EC2 Windows レポート

アイキャッチ AWS EC2

こんにちは、菊池です。

2017年5月24日(水)のAWS Black Belt Online Seminarを受講しましたので、レポートします。

今回は EC2 Windows ということで、AWSの基本サービスともいえるAmazon EC2から、Windowsに特化した内容でした。講師はアマゾンウェブサービスジャパン、ソリューションアーキテクトの渡邉源太さんでした。

レポート

アジェンダは以下の通りでした。

  • Amazon EC2 - Windows概要
  • Amazon Machine Image(AMI)
  • インスタンスの設定
  • モニタリング
  • ネットワークとセキュリティ
  • まとめ

Amazon EC2 - Windows 概要

  • AWSにおけるWindowsのイノベーション
    • 最初はWinsows Server 2003/2008 & SQL Server 2008のみ
    • 最近では.NET on Lambdaも
  • Amazon EC2
    • 仮想コンピューティング環境
    • 数分で起動/1時間ごとの従量課金
    • 管理者権限(root/Administrator)で利用可能
  • Amazon EC2 Systems Manager
    • Amazon EC2、またはオンプレミスのシステムに対して自動構成・継続的な管理を提供
      • Run Command
      • State Manager
      • Inventory
      • Maintenance Window
      • Patch Manager
      • Automation
      • Parameter Store
  • 既存のOS/アプリ/ミドルウェアが利用可能
  • マイクロソフトライセンスモビリティ
    • 既存のマイクロソフト製品のライセンスをAWS上に持ち込み可能
      • Exchange Server
      • SharePoint Server
      • SQL Server Enterpriseなど
    • ソフトウェアアシュアランス(SA)の特典として提供
    • 仮想コアライセンスなどMicrosoftのライセンスモデルに応じてデフォルトテナンシーのEC2インスタンス上で利用することが可能
  • ライセンスモビリティの対象製品
    • マイクロソフト製品条項(PT)に定義
    • 毎月更新されるため定期的に要確認
    • マイクロソフト製品及びオンラインサービスのボリュームライセンス
    • ライセンスモビリティ対象製品
      • Exchange Server
      • SharePoint Server
      • SQL Server Enterpriseなど
    • ライセンスモビリティの対象でない製品
      • Windows OS
      • デスクトップアプリケーションなど
  • EC2 Dedicated HostsによるBYOL
    • ライセンスのコンプライアンスを維持
      • きめ細かいリソースと配置のコントロール
      • 物理リソースの可視化
      • 物理コアとソケットのカウント
      • キャパシティ利用率
      • インスタンス配置
    • 費用ディスカウントとリソースの予約をサポート
  • マイクロソフトライセンスの選択肢
    • AWSによるライセンス管理
      • 従量課金
      • マルチテナントまたは専有
      • SA不要
      • CAL無制限
    • ライセンスの持ち込み(BYOL)
      • ライセンス費用の削減
      • 専有インスタンスまたはホスト
      • お客様によるISVのライセンスコストとコンプライアンスの管理
      • SA不要
    • ライセンスモビリティの利用
      • AWSによるWindows Serverライセンスの管理
      • お客様によるISVのライセンスコストとコンプライアンスの管理
      • SAの利用

AMI

  • インスタンスとAMI
    • AMIはインスタンス起動に必要なOSイメージ(S3に保存)
    • AWS以外にサードパーティもAMIを提供
    • 自由にカスタマイズAMIを作成可能
      • 他のアカウントと共有も可能
      • カスタムAMIから何台でもEC2を起動可能
      • 別リージョンへのコピーも可能
  • Windows AMI
    • Windows Server 2016(64ビット)
    • Windows Server 2012 R2(64ビット)
    • Windows Server 2012(64ビット)
    • Windows Server 2008 R2(64ビット)
    • Windows Server 2008(32/64ビット)
    • Windows Server 2003 R2(32/64ビット)
    • MS SQL Serverの各エディション(Enterprise/Standard/Express/Web)がインストールされたAMIも利用可能
  • Windows Server 2016 AMI
    • Windows Server 2016 Base (English/Japanese)
    • Windows Server 2016 Base with Containers
    • Windows Server 2016 Base Nano
    • Windows Server 2016 with SQL Server (Express/Web/Standard)
  • Windows Server 2016 AMI における変更点
    • EC2Configサービスが廃止されEC2Launchに置き換え
    • ドメインさんかとCloudWatch LogsインテグレーションはEC2 Systems Managerから実行
    • Windows Server 2016 Nano ではRDP接続未サポートのため、PowerShellリモーティングにより管理を行う
  • Windows Server 2016 インスタンスでのDockerコンテナの競合
    • Windows Server 2016 インスタンスでDockerを実行するには、"Windows Server 2016 Base with Containers" AMIを使用する必要がある
    • 別のWindows Server 2016 AMIからインスタンスを作成する場合、DockerをインストールしてからSysprepを実行するとインスタンスは正しく起動されない
    • EC2のデフォルトVPC(172.31.0.0/16)とDocker用のCIDR(172.16.0.0/12)がコンフリクトするのを防ぐためdaemon.jsonで172.17.0.0/16を指定している
  • Windows AMIの検索
    • 条件を元に検索(リージョン/OS/アーキテクチャ(32/64ビット)/ルートデバイスタイプ)
    • 日本語版AMIを使う場合は"Japanese"をつけて検索
    • AWS CLIを使ったWindows AMIの検索
      • $ aws ec2 describe-images --owners amazon --filters "Name=platform,Values=windows"
  • Windows AMIのバージョン
    • Windows AMIは通常のWindows Serverと同じように構成
    • いくつかのツールがインストールされる
      • EC2Configサービス
      • 準仮想化(PV)ドライバ
      • AWS Tools for Windows PowerShell
      • AWS CloudFormationヘルパースクリプト
    • Microsoftの定例パッチ(毎月第二火曜日)の5営業日以内に更新されたAMIを提供
    • Amazon SNSでWindows AMIの更新を通知可能
  • Amazon SNSによる更新の通知
    • 新しいAMIのリリース、AMIが非公開になった時に通知を受信可能
      • リージョンをUS East(N.Virginia)に変更
      • [Subscription]から[Create Subscription]をクリック
      • [Topic ARN]で次のARNのいづれかを入力
        • arn:aws:sns:us-east-1:801119661308:ec2-windows-ami-update
        • arn:aws:sns:us-east-1:801119661308:ec2-windows-ami-private
      • [Protocol]で[Email]を選択し[Endpoint]にメールアドレスを入力
    •  新しいAMIのリリースでec2-windows-ami-update、AMIが非公開になるとec2-windows-ami-privateのトピックに通知される

インスタンスの設定

  • EC2Configサービスを使用したWindowsインスタンスの設定
    • AWSが追加したサービスで、初回起動時に次を実行
    • 管理者アカウントにランダムに生成したパスワードを設定
    • RDPのホスト証明書の生成とインストール
    • OSパーテーションの拡張
    • ユーザーデータの実行
  • Windows Server 2016 AMIにはEC2Configサービスは含まれない
    • nanoサーバサポートのため、EC2Launchに入れ替えた
  • EC2Configサービスのプロパティ
    • [Set Computer Name]:コンピュータ名の設定
    • [User Data]:ユーザーデータの実行
    • [Event Log]:起動時にイベントログをコンソールに表示
    • [CloudWatch Logs]:イベントログをCloudWatch Logsにエクスポート
    • [Wallpaper Information]:システム情報を壁紙に表示
  • ユーザーデータの利用
    • コマンドまたはPowerShellスクリプトを埋め込むことで、インスタンス起動時の処理を自動化
    • ユーザーデータはEC2Configサービスが起動されるとすぐに実行される
  • EC2ConfigによるSysprepの実行
    • カスタムAMIを作成するためにSysprepにより複製用のマスターイメージを作成可能
    • Administratorパスワードのオプション
    • コマンドからの実行
  • EC2Launchを使用したWindowsインスタンスの構成
    • EC2LaunchはEC2Configサービスを置き換えるPowerShellスクリプト
      • 壁紙にインスタンス情報表示
      • コンピューター名の設定
      • EC2コンソールにインスタンス情報/RDP証明書のフィンガープリントを通知
      • 管理者パスワードをセット
      • DNSサフィックスの追加
      • OSパーテーションの拡張
      • ユーザーデータの実行
  • 準仮想化(PV)ドライバの種類
    • PVドライバが3種類ある
    • 現行はAWS PVドライバ
    • 古いインスタンスではRedHatなどの場合がある

bb-win-001

  • PVドライバのアップグレード
    • Windows Server 2008R2/2012/2012 R2/2016ではAWS PVドライバのアップグレードが可能
    • RedHat PVドライバを使用している場合はCitrix PVドライバにアップグレード可能
    • Citrix PVドライバをしようしている場合はCitrix Xenゲストエージェントサービスをアップグレード可能
  • Windows OSのアップグレード
    • インポート後のOSをアップグレードすることが可能
    • スナップショットによるインストールメディアの提供
    • Windows Server 2016へのアップグレードは現在未サポート
    • アプグレード後にEC2Configサービス及び修正プログラム(KB2800213、KB2922223)をインストール

モニタリング

  • EC2Rescueの使用
    • EC2 Windowsインスタンスで問題の診断とトラブルシューティングに役立つツール
    • アクティブ/オフラインのインスタンスからデータ収集可能
      • イベントログ
      • メモリダンプ
      • ログファイル
      • レジストリ
      • システム情報
      • ブート構成
      • Windows Updateログ(2016以外)

ネットワークとセキュリティ

  • キーペアとWindowsインスタンス
    • 鍵認証はパスワード認証よりも安全
    • AWSでは公開鍵のみ保持し起動時にインスタンスへコピー
    • 秘密鍵はユーザで保持
    • Windowsインスタンスではキーペアを使用して管理者パスワードを取得
  • Windowsパスワードの取得
    • 初回起動後、10分から15分程度で取得可能に
  • インスタンスへのリモートデスクトップ接続

まとめ

  • Amaozn EC2によりWindowsやMicrosoftサーバ製品の実行が可能
  • EC2 Systems Managerによるシステム設定の自動化に対応
  • モニタリングや管理のためのさまざまなツール・サービスを提供

今後のオンラインセミナー

6月はすくなめ開催なのでしょうか。AWS Summitもあるためか、ちょっと間が開くみたいですね。

最後に

以上です。

AWSでWindowsを使うのであれば必見の内容でした。特に、Windows Server 2016からのEC2Launchや、Dockerを使う際の注意点などは、知らなければ確実にハマってしまうのではないかと思いました。また、EC2Configが廃止されたのはNanoサーバが理由ということで納得しました。

ライセンスの扱いなど、Windowsならではのポイントをしっかり考慮して使って行きましょう。

参考資料