EC2のWindows Server構築でやるべきこと

概要

  • インフラエンジニアの基本はIaaS構築から! 本記事は、EC2上に起動したWindows Server OSの構築でやるべきことをまとめた記事となります。対象はOSのベースのみであり、WebサーバーやDBなどミドルウェアの手順については含みません。
  • なお、本記事に完成はなく、Windows Server OSの構築で新しい発見があれば都度更新の予定です。
 

Windows Serverのインスタンス起動

AMIを選択してインスタンス起動

  • AMI を選択します。「コミュニティ AMI」を選択し、「Windows」をチェックします。
  • 日本語OS を使用する場合、「Japanese」で検索します。
  • 特に理由がなければ、AWSが配布するAMI(provided by Amazon)を選択します。バージョンやミドルウェアを含むなどいくつかの種類がありますので、目的に応じて選択。
  • 以降のインスタンスの設定については、本記事では省略します。
 

Cドライブのサイジング

  • Windows Server のCドライブにはある程度の未使用領域が必要です。Cドライブをサイジングする方法は、下記ドキュメントを参照。
 

Windows ServerのOS初期設定

  • 次に、Windows Server が起動した後のOS初期設定を記載します。
 

Administratorのパスワード変更

  • Administratorのパスワード変更
    • 確認のためサインアウト/サインイン

Administrator以外のユーザー作成

  • Administrator以外のユーザー作成
  • Administratorsグループ割り当て
    • 確認のためサインアウト/作成したユーザーにてサインイン

Timezone設定、Language設定、Region設定

  • タイムゾーン(Timezone)の設定
    • コントロール パネルの時計、言語、および地域(Control Panel\Clock, Language, and Region)
    • 例:UTC
  • 言語(Language)の設定
    • 例:English(US)
  • Regionの設定
    • 例:United States

File name extensions設定

  • ファイル名拡張子(File name extensions)の表示は有効にする。

NTP設定(Amazon Time Sync Service)

  • Amazon Time Sync Service(Server:169.254.169.123)を設定。

C:\Users\Administrator>w32tm /query /status
Leap Indicator: 3(last minute has 61 seconds)
Stratum: 0 (unspecified)
Precision: -6 (15.625ms per tick)
Root Delay: 0.0000000s
Root Dispersion: 0.0000000s
ReferenceId: 0x00000000 (unspecified)
Last Successful Sync Time: unspecified
Source: Local CMOS Clock
Poll Interval: 9 (512s)


C:\Users\Administrator>net stop w32time
The Windows Time service is stopping.
The Windows Time service was stopped successfully.


C:\Users\Administrator>w32tm /config /syncfromflags:manual /manualpeerlist:"169.254.169.123"
The command completed successfully.

C:\Users\Administrator>w32tm /config /reliable:yes
The command completed successfully.

C:\Users\Administrator>net start w32time
The Windows Time service is starting.
The Windows Time service was started successfully.


C:\Users\Administrator>w32tm /query /status
Leap Indicator: 0(no warning)
Stratum: 4 (secondary reference - syncd by (S)NTP)
Precision: -6 (15.625ms per tick)
Root Delay: 0.0341949s
Root Dispersion: 7.7766624s
ReferenceId: 0xA9FEA97B (source IP:  169.254.169.123)
Last Successful Sync Time: 2/22/2019 10:53:21 AM
Source: 169.254.169.123
Poll Interval: 9 (512s)
 

Computer Name変更(*)

  • Computer Name(コンピューター名)を変更する。
    •  OSの再起動を伴うため、OS初期設定の最後に実施とする。
 

Windows Update

SSM(Systems Manager)からWindows Update

  • SSM(Systems Manager)のRun Commandより、下記コマンドを使用して、SSMのUpdateを実施。
    • AWS-UpdateSSMAgent
    • SSMが古いと、次のWindows Updateが失敗するため。
  •  SSM(Systems Manager)のRun Commandより、下記コマンドを使用して、Windows Updateを実施。
    •  AWS-InstallWindowsUpdates
      • Action: Install
      • Allow Reboot: True
  • 事前に、EC2のロールにAmazonSSMFullAccessがアタッチされていることを確認する。
 

EC2 管理ツールのインストール/セットアップ

AWS CLI のダウンロード & インストール


C:\Users\niikawa>aws --version
aws-cli/1.16.103 Python/3.6.0 Windows/2012ServerR2 botocore/1.12.93

AWS CLI のセットアップ

  • 以下記事を参考に、AWS CLI をセットアップする。

E2CConfigのダウンロード & インストール

 

CloudWatch Agent のインストール

  • 以下より、AWS CLI のインストールモジュールをダウンロード、インストールする。
  • あるいは、SSM(Systems Manager)のRun Commandを使用して、インストールする。
    • AWS-ConfigureAWSPackage
      • Action: Install
      • Name: AmazonCloudWatchAgent
    • 事前に、EC2のロールにAmazonSSMFullAccessがアタッチされていることを確認する。
    • 次のディレクトリが作成されたことを確認する。
      • C:\Program Files\Amazon\AmazonCloudWatchAgent

CloudWatch Agent のセットアップ(*)

  • 以下記事を参考に、CloudWatch Agent をセットアップする。
 

OSのネットワーク/セキュリティ関連の設定

リモートデスクトップ接続設定(セキュリティポリシーによる)

  • リモートデスクトップ(RDP)接続を 2セッションまで許可する設定に変更する。
  • ローカルグループポリシー(gpedit.msc)を起動し、コンピューターの構成を開く。
  • 下記の項目を展開する。
    • 管理用テンプレート → Windows コンポーネント → リモート デスクトップ サービス → リモート デスクトップ セッション ホスト → 接続
    • (English)Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Connections
  • 下記のパラメータを無効(Disabled)に変更する。
    • リモート デスクトップ サービス ユーザーに対してリモート デスクトップ サービス セッションを 1 つに制限する
    • (English)Restrict Remote Desktop Services users to a single Remote Desktop Services Session
 

ネットワークレベル認証設定(セキュリティポリシーによる)

  • 以下記事を参考に、設定する。

暗号化レベルをHigh設定(セキュリティポリシーによる)

  • 以下記事を参考に、設定する。

暗号化TLS1.0/1.1 を無効化(セキュリティポリシーによる)

  • 以下記事を参考に、設定する。
 

ADに登録(*)

  • システムでADサービスを利用する場合は、Windows Server をADに登録する。
  • 以下記事を参考に、ADに登録する。
 

ミドルウェアのインストール(*)

ミドルウェアのインストール

  • システムの要件に応じて、各種ミドルウェアやツールをインストールする。
  • 例) Microsoft .NET Framework, IIS, DB, Javaなど

ミドルウェアのログローテーション

  • システムの要件に応じて、ミドルウェアののログローテーションや定期削除を組み込む。
 

AMI を使った横展開

  • これまでの構築後にAMIを取得し、別のサーバーに横展開 or スケールアウトする場合、AMIを取得する前にWindows Server をsysprep(初期化)する。
  • 以下記事を参考に、Windows Serverをsysprepする。なお、sysprepは、EC2Config サービス、あるいはSSM(Systems Manager)のRunCommandのいずれかを使用する。
  • なお、横展開後にサーバーごとに変更が必要と思われる箇所を(*)にて、マークする。