概要

  • インフラエンジニアの基本は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ドライブをサイジングする方法は、下記ドキュメントを参照。
概要はじめに今回は、EC2 のディスク拡張についてご紹介します。対象のサーバーOSは、Windows Server 2012 R2 となります(2016以降も手順は同じです)。マイクロソフトのドキュメントを例に、IaaSの設計時に悩ましい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 をセットアップする。
Linux + aws cli のはじめ方準備今回は、Linux にaws cli をインストールして初期設定する方法をまとめます。Linux環境は、Windows 10にインストールしたWindows Subsystem for Linuxを使用します。Windows Subsystem for Linuxのインストール方法は、下記の記事を参...

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 をセットアップする。
Windowsインスタンスの統合CloudWatch エージェント設定方法はじめに目的EC2インスタンス上のWindowsサーバーが個々に持つログを収集して、CloudWatch Logsに集約すること。CloudWatchを使って、各EC2インスタンスのカスタムメトリクスを監視すること。何が【新】か...

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

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

  • 以下記事を参考に、設定する。
Windows Server セキュリティ強化: ネットワークレベル認証前提条件Windows Server のセキュリティ強化の設定を紹介します。RDP(リモートデスクトップ)を行う際の認証方法をネットワークレベル認証(NLA)に変更します。ネットワークレベル認証とは、接続元のクラ...

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

  • 以下記事を参考に、設定する。
Windows Server セキュリティ強化: 暗号化レベルのHigh設定前提条件Windows Server のセキュリティ強化の設定を紹介します。RDP(リモートデスクトップ)による接続を行う際、サーバーとクライアント間で通信されるデータは暗号化されています。しかし、盗聴時に解読...

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

  • 以下記事を参考に、設定する。
Windows Server セキュリティ強化: TLS1.0/1.1を無効化する前提条件Windows Server のセキュリティ強化の設定を紹介します。TLS(Transport Layer Security)の旧バージョンであるTLS 1.0/ TLS 1.1を無効化し、旧バージョンの脆弱性から回避します。(例:TLS 1.0 に...

ADに登録(*)

  • システムでADサービスを利用する場合は、Windows Server をADに登録する。
  • 以下記事を参考に、ADに登録する。
Windows Server のAD登録方法前提条件AWSでは手軽にADサービスを利用することができます。本投稿では、マネージド型の Microsoft Active DirectoryにWindows Serverを登録する手順を記載します。OSのバージョンは、Windows Server 2012 R2 となります。Microsoft AD...

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

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

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

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

  • システムの要件に応じて、ミドルウェアののログローテーションや定期削除を組み込む。
概要Windows Server において、Linux のlogrotate コマンドの役割を作ります。Windowsのforfiles は、Linux のfind コマンドに近い動作をします。forfiles を使ったbatファイルを作成し、スケジューラーで定期実行させます。forfilesの使用方法構文forfiles [/c &...

AMI を使った横展開

  • これまでの構築後にAMIを取得し、別のサーバーに横展開 or スケールアウトする場合、AMIを取得する前にWindows Server をsysprep(初期化)する。
  • 以下記事を参考に、Windows Serverをsysprepする。なお、sysprepは、EC2Config サービス、あるいはSSM(Systems Manager)のRunCommandのいずれかを使用する。
  • なお、横展開後にサーバーごとに変更が必要と思われる箇所を(*)にて、マークする。
Windowsにログインせず、SSM(CLI)からsysprepを投げる概要はじめに今回は、SSM(Systems Manager)を使用して、EC2上のWindows Server に対してsysprepを行う方法をご紹介します。Sysprepはsysprepコマンドを直接実行するのではなく、AWSのEC2Config サービスを利...

元記事はこちら

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