Amazon EC2 で実行する Windows のベストプラクティス - Amazon Elastic Compute Cloud

Amazon EC2 で実行する Windows のベストプラクティス

このプラクティスのリストにより、Amazon EC2 で実行する Windows から最大限の効果が引き出せます。

Windows ドライバーを更新する

すべての Windows EC2 インスタンスでドライバーを最新の状態に維持し、最新の問題修正とパフォーマンス強化がフリート全体に適用されるようにします。インスタンスタイプによっては、AWS PV、ENA、NVMe の各ドライバーを更新する必要があります。

  • Trusted Advisor を活用し、AWS が提供する Windows ドライバーで Amazon EC2 Windows を最新の状態に保ちます。

  • SNS トピックを使用して、ドライバーの新規リリースの最新情報を受け取ります。

  • AWS Systems Manager SSM ドキュメント AWSSupport-UpgradeWindowsAWSDrivers を使用して、簡単にインスタンス全体でアップデートを適用できます。

最新の Windows AMI を使用して新しいインスタンスを起動する

AWS では、毎月新しい Windows AMI をリリースしています。これには最新の OS パッチ、ドライバー、起動エージェントが含まれます。新しいインスタンスを起動する際、または独自のカスタムイメージを作成する際は、最新の AMI を使用してください。

移行前にシステム/アプリケーションパフォーマンスをテストする

エンタープライズアプリケーションを AWSに移行するには、多くの変更や設定が使用になる場合があります。EC2 ソリューションのパフォーマンステストを常に実施して、以下を確実にします。

  • インスタンスサイズ、拡張ネットワーク、テナント (共有または専有) などのインスタンスタイプが適切に構成されている。

  • インスタンストポロジーがワークロードに対し適切であり、必要に応じて高パフォーマンス機能を活用する (専有テナント、プレイスメントグループ、インスタンスストアボリューム、ベアメタル)。

起動エージェントを更新する

最新の EC2Launch v2 (Windows Server 2008 以降) エージェントに更新して、最新の問題の修正プログラムをフリート全体に適用します。更新するには、「最新バージョンの EC2Launch v2 のインストール」を参照してください。

EC2Config (Windows Server 2012 R2 以前) エージェントまたは EC2Launch (Windows Server 2016 以降) エージェントを引き続き使用する場合は、最新の問題の修正プログラムをフリート全体に適用していることを確認してください。

Security

Windows インスタンスを保護する場合は、Active Directory ドメインサービスを実装して、分散した場所でスケーラブル、セキュア、管理可能なインフラストラクチャを有効にすることをお勧めします。さらに、AWS コンソールまたは AWS CloudFormation などの Amazon EC2 プロビジョニングツールを介してインスタンスを起動した後は、Microsoft Windows PowerShell DSC などのネイティブ OS 機能を利用して、設定ドリフトが生じた場合に備えて設定状態を維持することをお勧めします。

AWS の Windows インスタンスは、以下の高レベルのベストプラクティスに従う必要があります。

  • 最小アクセス: 信頼済みかつ想定済みのシステムと場所へのアクセスのみを許可します。これは、Active Directory、Microsoft ビジネス生産性サーバーなどのすべての Microsoft 製品、およびリモートデスクトップサービス、リバースプロキシサーバー、IIS ウェブサーバーなどのインフラストラクチャサービスに適用されます。Amazon EC2 インスタンスセキュリティグループ、ネットワークアクセスコントロールリスト (ACL)、Amazon VPC パブリック/プライベートサブネットなど、AWS の機能を使用して、アーキテクチャ内の複数の場所でセキュリティを階層化します。Windows インスタンス内で、顧客は Windows Firewall を使用して、デプロイ内で多層防御戦略をさらに階層化できます。システムが設計どおりに機能するために必要な OS コンポーネントとアプリケーションのみをインストールします。インフラストラクチャ全体のローカルおよびリモートのリソースにアクセスするために、IIS などのインフラストラクチャサービスをサービスアカウントで動作するように設定するか、アプリケーションプール ID などの機能を使用するように設定します。

  • 最小権限: インスタンスとアカウントがそれらの機能を実行するために必要とする権限の最小セットを決定します。サーバーとユーザーにこれらの定義済みのアクセス許可のみが付与されるように制限します。ロールベースのアクセスコントロールなどの手法を使用して、管理アカウントのパブリック面を減らし、タスクを実行するための最も制限されたロールを作成します。NTFS 内の暗号化ファイルシステム (EFS) などの OS 機能を使用して、保管時の機密データを暗号化し、アプリケーションとユーザーのそのデータへのアクセスをコントロールします。

  • 設定管理: ウイルス対策、マルウェア対策、侵入検知/防止、ファイル整合性モニタリングなど、最新のセキュリティパッチとホストベースの保護スイートを組み込んだベースラインサーバー設定を作成します。記録されている最新のベースラインに対して各サーバーを評価し、逸脱を識別して、フラグを付けます。適切なログおよび監査データを生成して安全に保存するように各サーバーが設定されていることを確認します。Windows インスタンスの更新の詳細については、 の「Windows インスタンスの更新」を参照してください。

  • 変更管理: サーバー設定ベースラインに対する変更を制御するプロセスを作成し、完全に自動化された変更プロセスを目指します。また、Windows PowerShell DSC で Just Enough Administration (JEA) を活用して、管理アクセスを最小限必要な機能に制限します。

  • 監査ログ: Amazon EC2 インスタンスに対するアクセスとすべての変更を監査して、サーバーの整合性を検証し、承認された変更のみが行われていることを確認します。IIS の拡張ログ記録などの機能を活用して、デフォルトのログ機能を強化します。VPC Flow Logs や AWS などの AWS CloudTrail 機能もネットワークアクセス (許可/拒否されたリクエストや API コールなど) の監査に利用できます。

Storage

  • オペレーティングシステム用およびデータ用として個別に Amazon EBS ボリュームを使用します。データのボリュームがインスタンス終了後も保持されることを確認します。詳細については、「インスタンスの終了時の Amazon EBS ボリュームの保持」を参照してください。

  • インスタンスで一時データの格納に使用できるインスタンスストアを使用します。インスタンスを停止、休止、または終了すると、インスタンスストアに格納されたデータは削除されることに注意してください。データベースストレージにインスタンスストアを使用する場合は、耐障害性を確保するレプリケーション係数が設定されたクラスターがあることを確認します。

  • EBS ボリュームとスナップショットを暗号化します。詳細については、「Amazon EBS 暗号化」を参照してください。

リソース管理

バックアップと復旧

  • 定期的に Amazon EBS スナップショットを使用して EBS ボリュームをバックアップし、インスタンスから Amazon Machine Image (AMI) を作成して、それ以降にインスタンスを起動するためのテンプレートとして設定を保存します。

  • 複数のアベイラビリティゾーンにアプリケーションの重要なコンポーネントをデプロイし、データを適切にレプリケートします。

  • インスタンスが再開したときに、動的な IP アドレスを処理するアプリケーションを設計します。詳細については、「Amazon EC2 インスタンスの IP アドレス指定」を参照してください。

  • イベントを管理し、対応します。詳細については、「Amazon EC2 のモニタリング」を参照してください。

  • フェイルオーバーを処理する準備が整っていることを確認します。基本的な解決策として、手動でネットワークインターフェイスをアタッチすることも、代替インスタンスに Elastic IP アドレスを関連付けることもできます。詳細については、「Elastic Network Interface」を参照してください。自動化されたソリューションとして Amazon EC2 Auto Scaling を使用できます。詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」を参照してください。

  • 障害が発生した場合にインスタンスと Amazon EBS ボリュームを復元するプロセスを定期的にテストします。

Networking

  • アプリケーションの TTL (有効時間) 値を IPv4 と IPv6 で 255 に設定します。小さい値を使用すると、アプリケーショントラフィックの送信中に TTL が期限切れになり、インスタンスの到達可能性の問題が発生する危険性があります。