翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
IIS から Elastic Beanstalk への移行マッピングについて
IIS から Elastic Beanstalk への移行には、オンプレミスの Windows サーバー設定を AWS クラウドリソースにマッピングする必要があります。このマッピングを理解することは、移行の成功と移行後の管理に不可欠です。
Elastic Beanstalk の IIS サイトとアプリケーション
IIS では、ウェブサイトはウェブアプリケーションと仮想ディレクトリのコレクションを表し、それぞれに独自の設定とコンテンツがあります。Elastic Beanstalk に移行すると、これらのコンポーネントは次のように変換されます。
- IIS ウェブサイト
-
IIS ウェブサイトは Elastic Beanstalk 内のアプリケーションになります。バインディング、アプリケーションプール、認証設定を含む各ウェブサイトの設定は、Elastic Beanstalk のデプロイマニフェスト () を通じて保持されます
aws-windows-deployment-manifest.json
。たとえば、Default Web Site や IntranetSite などの複数のサイトがある場合、 は各サイトのコンテンツと設定をeb migrateパッケージ化し、分離を維持します。
コマンドは、アプリケーションへのルーティングリクエストを処理するための適切な Application Load Balancer (ALB) リスナールールを作成します。また、元の IIS バインディングに基づいて適切なポートアクセスを確保するようにセキュリティグループを設定します。
- アプリケーションプール
-
IIS アプリケーションプールは、アプリケーションのワーカープロセスの分離、ランタイム管理、リサイクル機能を提供します。Elastic Beanstalk では、これらは
aws:elasticbeanstalk:environment:process
名前空間で定義され、EC2 インスタンスの IIS を介して設定される環境プロセスにマッピングされます。移行では、次のような重要なアプリケーションプール設定が保持されます。
-
プロセスモデル設定 - ID (ApplicationPoolIdentity、NetworkService、またはカスタムアカウント)、アイドルタイムアウト設定、プロセスリサイクル間隔
-
.NET CLR バージョン設定 - アプリケーションの互換性を確保するために、指定された .NET Framework バージョン (v2.0、v4.0、またはマネージドコードなし) を維持します。
-
マネージドパイプラインモード - 統合パイプラインモードまたはクラシックパイプラインモードの設定を保持して、HTTP リクエスト処理アーキテクチャを維持します。
-
詳細設定 - キューの長さ、CPU 制限、ラピッドフェイル保護しきい値、起動時間制限
eb migrate コマンドは、Elastic Beanstalk 環境への移行中にサイトとアプリケーションプール間のマッピングを保持します。
アプリケーションプールがカスタムリサイクルスケジュール (特定の時間またはメモリしきい値) を使用している場合、これらは EC2 インスタンスで適切な IIS 設定を構成するデプロイパッケージの PowerShell スクリプトを通じて実装されます。
-
- ウェブサイトバインディング
-
クライアントがアプリケーションにアクセスする方法を定義する IIS ウェブサイトバインディングは、次の Application Load Balancer (ALB) 設定に変換されます。
-
ポートバインディングは、対応する ALB リスナールールにマッピングされます。
-
ホストヘッダー設定は ALB ルーティングルールに変換されます
-
SSL 対応サイトは証明書管理に AWS Certificate Manager (ACM) を使用します
-
仮想ディレクトリとアプリケーションパスの管理
IIS 仮想ディレクトリとアプリケーションは、物理ディレクトリへの URL パスマッピングを提供します。Elastic Beanstalk は、次のコンストラクトを通じてこれらの関係を維持します。
- 仮想ディレクトリ
-
移行プロセスでは、仮想ディレクトリの物理パスがデプロイパッケージに保持されます。
パスマッピングは EC2 インスタンスの IIS 設定で設定され、移行後も URL 構造がそのまま維持されます。
- システムドライブ以外の物理パス
-
重要
デフォルトでは、Elastic Beanstalk Windows 環境は C:\ ドライブ (ルートボリューム) のみをプロビジョニングします。現在のバージョンでは、システム以外のドライブ (D:\、E:\ など) にコンテンツがあるアプリケーションは移行をサポートしていません。
eb migrate コマンドは、システム以外のドライブにある物理パスを自動的に検出し、次の例のような潜在的な問題について警告します。
ERROR: Detected physical paths on drive D:\ which are not supported in the current version: - D:\websites\intranet - D:\shared\images Migration of content from non-system drives is not supported. Please relocate this content to the C:\ drive before migration. Otherwise, select only those sites that are on C:\.
アプリケーションがシステム以外のドライブに依存している場合は、移行前にアプリケーションを変更してすべてのコンテンツを C:\ ドライブに保存する必要があります。
- ネストされたアプリケーション
-
ウェブサイトの下にネストされたアプリケーションは、正しいパス設定と適切なアプリケーションプール割り当てでデプロイされます。移行プロセスではすべての
web.config
設定が保持されるため、アプリケーション固有の設定がクラウド環境で期待どおりに機能し続けます。
URL 書き換えとアプリケーションリクエストルーティング (ARR)
IIS デプロイで URL の書き換えまたはアプリケーションリクエストルーティング (ARR) を使用している場合、 は次のルールと設定を通じてこれらの設定eb migrateを処理します。
- URL 書き換えルール
-
web.config
ファイルからの URL 書き換えルールは、可能な場合は ALB ルーティングルールに変換されます。たとえば、次のエントリは、ホストヘッダーとパスパターンに基づいてトラフィックを指示する ALB リスナールールになります。<!-- Original IIS URL Rewrite Rule --> <rule name="Redirect to WWW" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTP_HOST}" pattern="^example.com$" /> </conditions> <action type="Redirect" url="http://www.example.com/{R:1}" /> </rule>
- アプリケーションリクエストのルーティング
-
ARR 設定は、EC2 インスタンスに ARR 機能をインストールすることで保持されます。移行プロセスは、次のタスクを完了します。
-
ソース環境に合わせてプロキシ設定を構成する
-
ARR に関連付けられた URL 書き換えルールを維持します
-
移行アーティファクト構造
を実行するとeb migrate、必要なすべてのデプロイコンポーネントを含む構造化ディレクトリが作成されます。次のリストでは、ディレクトリ構造について説明します。
C:\migration_workspace\
└── .\migrations\latest\
└── upload_target\
├── [SiteName].zip # One ZIP per IIS site
├── aws-windows-deployment-manifest.json
└── ebmigrateScripts\
├── site_installer.ps1 # Site installation scripts
├── arr_configuration.ps1 # ARR configuration scripts
├── permission_handler.ps1 # Permission management
└── firewall_config.ps1 # Windows Firewall rules
aws-windows-deployment-manifest.json
ファイルは、アプリケーションをデプロイする方法を Elastic Beanstalk に指示するコア設定ファイルです。次の構造例を参照してください。
{ "manifestVersion": 1, "deployments": { "msDeploy": [ { "name": "Primary Site", "parameters": { "appBundle": "DefaultWebSite.zip", "iisPath": "/", "iisWebSite": "Default Web Site" } } ], "custom": [ { "name": "ConfigureARR", "scripts": { "install": { "file": "ebmigrateScripts\\arr_configuration.ps1" }, "uninstall": { "file": "ebmigrateScripts\\noop.ps1" }, "restart": { "file": "ebmigrateScripts\\noop.ps1" } } } ] } }
このマニフェストにより、移行の結果が保証されます。
-
アプリケーションが正しい IIS パスにデプロイされる
-
カスタム設定が適用されます
-
サイト固有の設定は保持されます
-
デプロイ順序が維持されている