

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Elastic Beanstalk Windows サーバープラットフォームのメジャーバージョン間での移行
<a name="dotnet-v2migration"></a>

AWS Elastic Beanstalk には、Windows Server プラットフォームのメジャーバージョンがいくつかあります。このページでは、各メジャーバージョンでの主な改善点と、以降のバージョンに移行する前の考慮点について説明します。

Windows Server プラットフォームは現在バージョン 2 (v2) です。アプリケーションで v2 より前の Windows Server プラットフォームバージョンを使用している場合は、v2 に移行することをお勧めします。

## Windows サーバープラットフォームのメジャーバージョンの最新情報
<a name="dotnet-v2migration.diffs"></a>

### Windows サーバープラットフォーム V2
<a name="dotnet-v2migration.diffs.v2"></a>

Elastic Beanstalk Windows Server プラットフォームのバージョン 2 (v2) が [2019 年 2 月にリリースされました](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2019-02-21-windows-v2.html)。V2 では、いくつかの重要な点で Windows Server プラットフォームの動作が Elastic Beanstalk の Linux ベースのプラットフォームに近づいています。v2 は v1 と完全に下位互換性があり、v1 からの移行が容易です。

Windows Server プラットフォームでは次の機能がサポートされています。
+ *バージョニング* – 各リリースでは新しいバージョン番号が取得され、環境の作成および管理時には、以前のバージョン (まだ使用可能) を参照できます。
+ *拡張ヘルス* – 詳細については、「[Elastic Beanstalk の拡張ヘルスレポートおよびモニタリング](health-enhanced.md)」を参照してください。
+ *変更不可*の*追加のバッチとローリング*のデプロイ – デプロイポリシーの詳細については、「[Elastic Beanstalk 環境へのアプリケーションのデプロイ](using-features.deploy-existing-version.md)」を参照してください。
+ *変更不可の更新* – 更新タイプの詳細については、「[設定変更](environments-updating.md)」を参照してください。
+ *マネージドプラットフォーム更新* – 詳細については、「[マネージドプラットフォーム更新](environment-platform-update-managed.md)」を参照してください。

**注記**  
新しいデプロイおよび更新機能は、拡張ヘルスに依存します。それらを使用するには、拡張ヘルスを有効にします。詳細については、「[Elastic Beanstalk の拡張ヘルスレポートの有効化](health-enhanced-enable.md)」を参照してください。

### Windows サーバープラットフォーム V1
<a name="dotnet-v2migration.diffs.v1"></a>

Elastic Beanstalk Windows Server プラットフォームのバージョン 1.0.0 (v1) が 2015 年 10 月にリリースされました。このバージョンでは、環境の作成および更新中に Elastic Beanstalk が[設定ファイル](ebextensions.md)内のコマンドを実行する順序が変更されています。

以前のプラットフォームのバージョンでは、ソリューションスタック名にバージョン番号が使用されていません。
+ IIS 8.5 を実行する 64 ビット Windows Server 2012 R2
+ IIS 8.5 を実行する 64 ビット Windows Server Core 2012 R2
+ IIS 8 を実行する 64 ビット Windows Server 2012
+ IIS 7.5 を実行する 64 ビット Windows Server 2008 R2

以前のバージョンでは、設定ファイルの処理順には一貫性がありません。環境の作成中に、アプリケーションソースが IIS にデプロイされると `Container Commands` が実行されます。実行中の環境へのデプロイ中は、新しいバージョンがデプロイされる前にコンテナコマンドが実行されます。スケールアップ中は、設定ファイルはまったく処理されません。

これに加えて、コンテナコマンドの実行前に IIS が開始されます。この動作により一部の顧客はコンテナコマンドに回避策を実装し、コマンドの完了後に再度 IIS を起動して開始するコマンドの前に IIS サーバーを一時停止することになります。

バージョン 1 ではこの一貫性のない状態が修正されており、Windows Server プラットフォームの動作が Elastic Beanstalk の Linux ベースのプラットフォームにより近いものになっています。v1 プラットフォームでは、Elastic Beanstalk は IIS サーバーを起動する前に常にコンテナコマンドを実行します。

v1 のプラットフォームソリューションスタックでは、Windows Server のバージョンの後に `v1` が付きます。
+ IIS 8.5 を実行する 64 ビット Windows Server 2012 R2 v1.1.0
+ IIS 8.5 を実行する 64 ビット Windows Server Core 2012 R2 v1.1.0
+ IIS 8 を実行する 64 ビット Windows Server 2012 v1.1.0
+ IIS 7.5 を実行する 64 ビット Windows Server 2008 R2 v1.1.0

さらに、v1 プラットフォームはコンテナコマンドを実行する前に、アプリケーションソースバンドルのコンテンツを抽出して `C:\staging\` に保存します。コンテナコマンドの完了後に、このフォルダのコンテンツは .zip ファイルに圧縮され IIS にデプロイされます。このワークフローにより、コマンドまたはスクリプトを使用してアプリケーションソースバンドルのコンテンツを変更してからデプロイできます。

## Windows サーバープラットフォームの以前のメジャーバージョンからの移行
<a name="dotnet-v2migration.migration"></a>

環境を更新する前に、このセクションの移行の考慮事項についてお読みください。新しいバージョンに環境のプラットフォームを更新するには、「[Elastic Beanstalk 環境のプラットフォームバージョンの更新](using-features.platform.upgrade.md)」を参照してください。

### V1 から V2 へ
<a name="dotnet-v2migration.migration.fromv1"></a>

Windows Server プラットフォーム v2 では、.NET Core 1.x および 2.0 をサポートしていません。アプリケーションを Windows Server v1 から v2 に移行中で、アプリケーションがこれらのいずれかの .NET Core バージョンを使用している場合は、v2 がサポートしている .NET Core バージョンにアプリケーションを更新します。サポートされているバージョンのリストについては、AWS Elastic Beanstalk プラットフォームの「[IIS を使用する Windows Server での .NET](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.net)」を参照してください。

アプリケーションでカスタム Amazon Machine Image (AMI) を使用している場合は、Windows Server プラットフォーム v2 AMI に基づいて新しいカスタム AMI を作成します。詳細については、「[Elastic Beanstalk 環境でのカスタム Amazon マシンイメージ (AMI) の使用](using-features.customenv.md)」を参照してください。

**注記**  
Windows Server v2 の新しいデプロイおよび更新機能は、拡張ヘルスに依存します。環境を v2 に移行するときは、拡張ヘルスが無効になります。これらの機能を使用するには、拡張ヘルスを有効にします。詳細については、「[Elastic Beanstalk の拡張ヘルスレポートの有効化](health-enhanced-enable.md)」を参照してください。

### V1 以前から
<a name="dotnet-v2migration.migration.fromv0"></a>

v1 からの移行の考慮点に加えて、v1 以前の Windows Server ソリューションスタックからアプリケーションを移行していて、現在コンテナコマンドを使用している場合は、新しいバージョンに移行するときに処理の不一致を回避するために追加したコマンドをすべて削除します。v1 からは、コンテナコマンドは、デプロイされるアプリケーションソース、および IIS が起動する前に、完全に実行することが保証されています。これにより、このステップ中に問題なく `C:\staging` のソースに変更を加え、IIS 設定ファイルを修正することができます。

たとえば、 を使用して、DLL ファイルを Amazon S3 からアプリケーションソースに AWS CLI ダウンロードできます。

`.ebextensions\copy-dll.config`

```
container_commands:
  copy-dll:
    command: aws s3 cp s3://amzn-s3-demo-bucket/dlls/large-dll.dll .\lib\
```

設定ファイルの使用の詳細については、「[設定ファイル (`.ebextensions`) による高度な環境のカスタマイズ](ebextensions.md)」を参照してください。