翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
eb migrate
説明
インターネットインフォメーションサービス (IIS) サイトとアプリケーションを Windows サーバーから Elastic Beanstalk に移行します。コマンドはアプリケーションをパッケージ化し、設定を保持して、新しい Elastic Beanstalk 環境にデプロイします。
IIS サイトとアプリケーションの移行の詳細については、「」を参照してくださいIIS アプリケーションを Elastic Beanstalk に移行する。
注記
このコマンドを使用する前に、システムが次の要件を満たしていることを確認してください。
-
Internet Information Services (IIS) バージョン 7.0 以降
-
Web Deploy 3.6 以降がインストールされている
-
Windows サーバーの管理者権限
-
AWS 適切なアクセス許可で設定された 認証情報
-
ソースサーバーには、 AWS サービスへのアウトバウンドインターネットアクセスがあります。
次の手順は、移行プロセスをまとめたものです。
-
IIS サイトとその設定を検出します。
-
アプリケーションのコンテンツと設定をパッケージ化します。
-
Elastic Beanstalk 環境とアプリケーションを作成します。
-
保存された設定でアプリケーションをデプロイします。
コマンドは、次のリストに示すように、構造化ディレクトリに移行アーティファクトを作成します。
C:\migration_workspace\ └── .\migrations\latest\ ├── upload_target.zip └── upload_target\ ├── [SiteName].zip # One ZIP per default application of IIS site ├── [SiteName-ApplicationName].zip # One ZIP per additional application ├── aws-windows-deployment-manifest.json └── ebmigrateScripts\ ├── site_installer.ps1 # Site installation scripts ├── permission_handler.ps1 # Permission management └── other helper scripts
eb migrate cleanup を使用して、これらのアーティファクトを管理します。
構文
eb migrate [options]
eb migrate explore [options]
eb migrate cleanup [options]
引数なしで実行すると、 は非インタラクティブモードでeb migrate動作します。インタラクティブモードで実行するには、 を実行しますeb migrate --interactive。
インタラクティブモードコマンドは、次の情報を求めます。
-
移行する IIS サイトの選択
-
環境名とアプリケーション名
-
プラットフォームバージョンの選択
-
インスタンスタイプおよびその他の設定オプション
サブコマンド
探索
eb migrate explore サブコマンドは IIS サーバーを調べ、利用可能なサイトを一覧表示します。
このコマンドを使用して、次の情報を表示します。
-
サーバー上のすべての IIS サイトを表示する
-
を使用して
--verbose
、以下を含む詳細な設定を検査します。-
サイトバインディングとポート
-
アプリケーションプール
-
仮想ディレクトリとその物理パス
-
[認証] 設定
-
PS C:\migrations_workspace > eb migrate explore
Default Web Site
Site2
site3
router
PS C:\migrations_workspace > eb migrate explore --verbose
1: Default Web Site:
- Bindings:
- *:8083:
- Application '/':
- Application Pool: DefaultAppPool
- Enabled Protocols: http
- Virtual Directories:
- /:
- Physical Path: C:\inetpub\wwwroot
- Logon Method: ClearText
- Application '/dotnet-6-0':
- Application Pool: DefaultAppPool
- Enabled Protocols: http
- Virtual Directories:
- /:
- Physical Path: C:\inetpub\AspNetCoreWebApps\CoreWebApp-6-0
- Logon Method: ClearText
- Application '/dotnet-8-0':
- Application Pool: DefaultAppPool
- Enabled Protocols: http
- Virtual Directories:
- /:
- Physical Path: C:\inetpub\AspNetCoreWebApps\CoreWebApp-8-0
- Logon Method: ClearText
2: Site2:
- Bindings:
- *:8081:
...
クリーンアップ
eb migrate cleanup サブコマンドは、次のアクションを使用して移行アーティファクトを管理します。
-
で最後に成功した移行の保存
./migrations/latest
-
古い移行ディレクトリの削除
-
重要な設定ファイルの保守
PS C:\migrations_workspace > eb migrate cleanup
Are you sure you would like to cleanup older artifacts within `./migrations/`? (y/N):
クリーンアップ中に確認プロンプトをスキップ--force
するには、 を使用します。
PS C:\migrations_workspace > eb migrate cleanup --force
オプション
これらのオプションはいずれも必須ではありません。オプションeb migrateなしで を実行すると、EB CLI は非インタラクティブモードで実行されます。ではeb migrate --interactive、EB CLI から必要な設定の値を入力または選択するように求められます。
名前 |
説明 |
---|---|
or
|
新しい Elastic Beanstalk アプリケーションの名前。 タイプ: 文字列 デフォルト: EBMigratedApp |
|
によって以前に生成されたソースコードを含むディレクトリまたは ZIP ファイルeb migrate --archive-only。 このオプションを使用して、以前に作成した移行パッケージをデプロイします。 例: |
or
|
デプロイなしで送信先アーカイブディレクトリのみを作成します。 結果のディレクトリは、 |
または
|
移行されたアプリケーションの CNAME DNS エントリのプレフィックスとなるサブドメイン名。 タイプ: 文字列 デフォルト: 環境の名前 |
or
|
アクティブなバインディングを持つすべての HTTP ポートの送信先にソースサーバーのファイアウォール設定をコピーします。 対応するセキュリティグループルールを作成します AWS。 |
or
|
環境に関連付ける Amazon EBS スナップショット IDs のカンマ区切りリスト。 例: |
|
すべての新しい Amazon EBS ボリュームに暗号化を適用します。 重要これは、今後のすべての Amazon EBS ボリュームの作成に影響するアカウント全体の設定です。 |
or
|
新しい Elastic Beanstalk 環境の名前。 タイプ: 文字列 デフォルト: EBMigratedEnv 制約: 4~40 文字の長さにする必要があります。文字、数字、ハイフンのみを含めることができます。ハイフンでスタートまたは終了することはできません。 |
|
オペレーション中に確認プロンプトをスキップします。 cleanup サブコマンドで使用すると、 は確認なしで移行アーティファクトを削除します。 |
or
|
環境の Amazon EC2 インスタンスに関連付けるインスタンスプロファイル。 指定しない場合、 は Elastic Beanstalk リソースにアクセスするアクセス許可を持つデフォルトのインスタンスプロファイルを作成します。詳細については、「Elastic Beanstalk インスタンスプロファイル」を参照してください。 |
or
|
Elastic Beanstalk 環境の Amazon EC2 インスタンスタイプ。 タイプ: 文字列 デフォルト: c5.2xlarge 使用可能なインスタンスタイプについては、Amazon EC2 ユーザーガイド」の「Amazon EC2 インスタンスタイプ」を参照してください。 Amazon EC2 |
or
|
移行プロセスの強制インタラクティブモード。 デフォルトが使用可能な場合でも、設定値の入力を求めます。 |
or
|
環境インスタンスへの RDP アクセスを有効にする Amazon EC2 キーペア。 ログに表示されないインスタンスレベルの問題の調査に役立ちます。 有効な値: Amazon EC2 に登録されている既存のキーペア名 |
または
|
環境の Elastic Beanstalk プラットフォームランタイム。指定しない場合、ホスト Windows Server バージョンから自動的に検出されます。 例: 利用可能なプラットフォームバージョンのリストについては、eb プラットフォームリストを使用します。 |
|
リモートモードで移行を実行することを示します。このオプションを使用すると、踏み台ホストからの実行が可能になります。踏み台ホストは、Elastic Beanstalk に移行するアプリケーションと設定を含むターゲットサーバーに接続します。踏み台サーバーから実行すると、 は設定 このオプションを使用すると、移行する必要がある Windows サーバーに EB CLI と Python をインストールする必要がなくなります。代わりに踏み台ホストに Python と EB CLI をインストールします。ここでは、 eb migrate コマンドを
|
|
移行する IIS サーバーを含むリモート Windows マシンのパブリック IP アドレス。 を使用する場合に必要です |
|
移行する IIS サーバーを含むリモート Windows マシンにアクセスするためのユーザープロファイルのユーザー名。 を使用する場合に必要です |
|
移行する IIS サーバーを含むリモート Windows マシンにアクセスするためのユーザープロファイルのパスワード。 を使用する場合に必要です |
or
|
Elastic Beanstalk が関連サービスを管理するための IAM AWS サービスロール。 指定しない場合、 は必要なアクセス許可を持つデフォルトのサービスロールを作成します。詳細については、「Elastic Beanstalk サービスロール」を参照してください。 注記完全な ARN ではなく、ロール名のみを指定します。Elastic Beanstalk は完全な ARN を自動的に作成します。 |
or
|
移行する IIS サイトのカンマ区切りリスト。指定しない場合、 はサーバー上の利用可能なすべてのサイトを移行します。 例: |
|
Application Load Balancer に関連付ける ACM SSL 証明書 ARNs のカンマ区切りリスト。 HTTPS バインディングを使用してサイトを移行する場合に必要です。 例: |
or
|
環境内の新しいリソースにタグを付けるための 詳細については、「環境のタグ付け」を参照してください。 |
|
移行プロセス中に詳細情報を表示します。 explore サブコマンドとともに使用すると、 は包括的なサイト設定の詳細を表示します。 |
or
|
環境の VPC 設定。JSON ファイルパスまたは JSON 文字列として指定します。 設定には以下を含める必要があります。
重要パラメータを指定すると、移行はソース環境からの既存の VPC 設定を無視します |
Output
コマンドは、移行プロセス全体でステータスの更新を提供します。
-
VPC 設定検出 (EC2 インスタンスで実行されている場合)
-
各サイトのソースバンドル生成の進行状況
-
環境作成ステータス
-
デプロイの進捗状況
成功すると、以下を含む新しい環境の詳細が表示されます。
-
環境名と ID
-
アプリケーション名
-
リージョン
-
プラットフォームバージョン
-
環境 CNAME
移行中の問題については、 コマンドeb eventsと eb health コマンドを使用して詳細情報を取得します。
例
基本的な使用法
インタラクティブモードでの基本的な移行:
PS C:\migrations_workspace > eb migrate
Identifying VPC configuration of this EC2 instance (i-0123456789abcdef0):
id: vpc-1234567890abcdef0
publicip: true
elbscheme: public
ec2subnets: subnet-123,subnet-456,subnet-789
securitygroups: sg-123,sg-456
elbsubnets: subnet-123,subnet-456,subnet-789
Using .\migrations\latest to contain artifacts for this migration run.
Generating source bundle for sites, applications, and virtual directories...
Default Web Site/ -> .\migrations\latest\upload_target\DefaultWebSite.zip
Creating application version
Creating environment
Environment details for: EBMigratedEnv
Application name: EBMigratedApp
Region: us-west-2
Deployed Version: app-230320_153045
Environment ID: e-abcdef1234
Platform: 64bit Windows Server 2019 v2.7.0 running IIS 10.0
Tier: WebServer-Standard-1.0
CNAME: ebmigratedenv.us-west-2.elasticbeanstalk.com
Updated: 2023-03-20 15:30:45
カスタム設定で特定のサイトを移行する:
PS C:\migrations_workspace > eb migrate `
--sites "Default Web Site,InternalAPI" `
--application-name "CorporateApp" `
--environment-name "Production" `
--instance-type "c5.xlarge" `
--tags "Environment=Production,Team=WebOps" `
--copy-firewall-config
デプロイなしで移行アーカイブを作成する:
PS C:\migrations_workspace > eb migrate --archive-only
Using .\migrations\latest to contain artifacts for this migration run.
Generating source bundle for sites, applications, and virtual directories...
Default Web Site/ -> .\migrations\latest\upload_target\DefaultWebSite.zip
Generated destination archive directory at .\migrations\latest\upload_target
You can execute `eb init` and `eb create` from this directory to deploy to EB.
詳細設定の例
JSON ファイルを使用したカスタム VPC 設定による移行:
PS C:\migrations_workspace > cat vpc-config.json
{
"id": "vpc-1234567890abcdef0",
"publicip": "false",
"elbscheme": "internal",
"ec2subnets": [
"subnet-private1",
"subnet-private2"
],
"securitygroups": [
"sg-app",
"sg-database",
"sg-monitoring"
],
"elbsubnets": [
"subnet-private1",
"subnet-private2"
]
}
PS C:\migrations_workspace eb migrate `
--sites "InternalAPI" `
--vpc-config vpc-config.json `
--instance-type "r5.xlarge" `
--tags "Environment=Internal,Security=High"
SSL 証明書とホストヘッダーを使用したサイトの移行:
PS C:\migrations_workspace > eb migrate `
--sites "SecurePortal" `
--ssl-certificates "arn:aws:acm:region:account:certificate/cert1,arn:aws:acm:region:account:certificate/cert2" `
--verbose
INFO: Detected HTTPS bindings:
- www.example.com:443
- api.example.com:443
INFO: Configuring Application Load Balancer with SSL certificates
INFO: Creating host-based routing rules:
- www.example.com -> target group 1
- api.example.com -> target group 2
EBS スナップショット設定を使用した移行:fo
PS C:\migrations_workspace > eb migrate `
--sites "Default Web Site" `
--ebs-snapshots "snap-1234567890abcdef0" "snap-0987654321fedcba1" `
--encrypt-ebs-volumes
Using .\migrations\latest to contain artifacts for this migration run.
INFO: Enabling EBS encryption for all new volumes in us-west-2
INFO: Configuring environment with specified EBS snapshots
セキュリティ設定の例
複雑なファイアウォールルールを持つサイトの処理:
PS C:\migrations_workspace > eb migrate `
--sites "Default Web Site,ReportingService" `
--copy-firewall-config `
--verbose
INFO: Detected the following Windows Firewall rules:
- Allow Web Traffic (TCP 80, 443)
- Allow Reporting Traffic (TCP 8081)
INFO: Creating corresponding security group rules
カスタム IAM ロールを使用した移行:
PS C:\migrations_workspace > eb migrate `
--sites "SecureApp" `
--instance-profile "CustomInstanceProfile" `
--service-role "CustomServiceRole"
リモート実行の例
リモート Windows サーバーからの IIS アプリケーションの移行:
PS C:\migrations_workspace > eb migrate `
--remote `
--target-ip "192.0.2.10" `
--username "administrator" `
--password "YourPassword123" `
--application-name "RemoteApp" `
--environment-name "RemoteEnv"
INFO: Establishing SSH connection to remote host 192.0.2.10...
INFO: Connection established
INFO: Discovering IIS sites on remote host...
INFO: Found 2 sites: Default Web Site, API
INFO: Extracting site configurations...
INFO: Generating source bundle for sites, applications, and virtual directories...
Default Web Site/ -> .\migrations\latest\upload_target\DefaultWebSite.zip
API/ -> .\migrations\latest\upload_target\API.zip
Creating application version
Creating environment
Environment details for: RemoteEnv
Application name: RemoteAppstage mi
Region: us-west-2
Deployed Version: app-230320_153045
Environment ID: e-abcdef1234
Platform: 64bit Windows Server 2019 v2.7.0 running IIS 10.0
Tier: WebServer-Standard-1.0
CNAME: remoteenv.us-west-2.elasticbeanstalk.com
Updated: 2023-03-20 15:30:45
特定のサイト選択によるリモート移行:
PS C:\migrations_workspace > eb migrate `
--remote `
--target-ip "192.0.2.10" `
--username "administrator" `
--password "YourPassword123" `
--sites "API" `
--instance-type "c5.large"