- 1. 概要
- 2. Windows Serverのインスタンス起動
— 2.1. AMIを選択してインスタンス起動
— 2.2. Cドライブのサイジング - 3. Windows ServerのOS初期設定
— 3.1. Administratorのパスワード変更
— 3.2. Administrator以外のユーザー作成
— 3.3. Timezone設定、Language設定、Region設定
— 3.4. File name extensions設定
— 3.5. NTP設定(Amazon Time Sync Service)
— 3.6. Computer Name変更(*)
— 3.7. Windows Update - 4. EC2 管理ツールのインストール/セットアップ
— 4.1. AWS CLI のダウンロード & インストール
— 4.2. AWS CLI のセットアップ
— 4.3. E2CConfigのダウンロード & インストール
— 4.4. CloudWatch Agent のインストール
— 4.5. CloudWatch Agent のセットアップ(*) - 5. OSのネットワーク/セキュリティ関連の設定
— 5.1. リモートデスクトップ接続設定(セキュリティポリシーによる)
— 5.2. ネットワークレベル認証設定(セキュリティポリシーによる)
— 5.3. 暗号化レベルをHigh設定(セキュリティポリシーによる)
— 5.4. 暗号化TLS1.0/1.1 を無効化(セキュリティポリシーによる) - 6. ADに登録(*)
- 7. ミドルウェアのインストール(*)
— 7.1. ミドルウェアのインストール
— 7.2. ミドルウェアのログローテーション - 8. AMI を使った横展開
概要
- インフラエンジニアの基本は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
- AWS-InstallWindowsUpdates
- 事前に、EC2のロールにAmazonSSMFullAccessがアタッチされていることを確認する。
EC2 管理ツールのインストール/セットアップ
AWS CLI のダウンロード & インストール
- 以下より、AWS CLI のインストールモジュールをダウンロード。
https://s3.amazonaws.com/aws-cli/AWSCLISetup.exe - 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のダウンロード & インストール
- 以下より、AWS CLI のインストールモジュールをダウンロード、インストールする。
- あるいは、SSM(Systems Manager)のRun Commandを使用して、インストールする。
- AWS-UpdateEC2Config
CloudWatch Agent のインストール
- 以下より、AWS CLI のインストールモジュールをダウンロード、インストールする。
- https://s3.amazonaws.com/amazoncloudwatch-agent/windows/amd64/latest/amazon-cloudwatch-agent.msi
- msiexec /i amazon-cloudwatch-agent.msi
- 次のディレクトリが作成されたことを確認する。
- C:\Program Files\Amazon\AmazonCloudWatchAgent
- あるいは、SSM(Systems Manager)のRun Commandを使用して、インストールする。
- AWS-ConfigureAWSPackage
- Action: Install
- Name: AmazonCloudWatchAgent
- 事前に、EC2のロールにAmazonSSMFullAccessがアタッチされていることを確認する。
- 次のディレクトリが作成されたことを確認する。
- C:\Program Files\Amazon\AmazonCloudWatchAgent
- AWS-ConfigureAWSPackage
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のいずれかを使用する。
- なお、横展開後にサーバーごとに変更が必要と思われる箇所を(*)にて、マークする。