

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

# ステップ 3: スクリプトを実行する環境セットアップ
<a name="migrating-to-systems-manager-script-parameters"></a>

以下のコマンドを使用して、スクリプトを実行する環境を設定します。

```
pipenv install -r requirements.txt
pipenv shell
```

**注記**  
 現在、このスクリプトは Application Manager で単一レイヤーのアプリケーションのみをプロビジョニングできます。たとえば、同じスタック内の二つのレイヤーに対してスクリプトを 2 回実行すると、そのスクリプトによって Application Manager に二つの異なるアプリケーションが作成されます。

環境を設定したら、スクリプトパラメータを確認します。`python3 stack_exporter.py --help` コマンドを実行すると、移行スクリプトで使用可能なオプションを確認できます。


****  

| パラメータ | 説明 | 必須 | タイプ | デフォルトの 値 | 
| --- | --- | --- | --- | --- | 
| --layer-id | この OpsWorks レイヤー ID のCloudFormation テンプレートをエクスポートします。 | はい | string |  | 
| --region | OpsWorks スタックの AWS リージョン。OpsWorks スタック Region と API エンドポイント Region が異なる場合は、スタック Region を使用してください。これは、OpsWorks スタックの他のリソース部分 (EC2 インスタンスやサブネットなど) と同じ Region です。 | 不可 | string | us–east–1 | 
| --provision-application | デフォルトでは、スクリプトは CloudFormation テンプレートによってエクスポートされたアプリケーションをプロビジョニングします。CloudFormation テンプレートのプロビジョニングをスキップするには、このパラメータを FALSE の値でスクリプトに渡します。 | 不可 | ブール値 | TRUE | 
| --launch-template | このパラメータは、既存の起動テンプレートを使用するか、新しい起動テンプレートを作成するかを定義します。推奨インスタンスプロパティを使用するか、オンラインインスタンスと一致するインスタンスプロパティを使用する新しい起動テンプレートを作成できます。 有効な値を次に示します。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/migrating-to-systems-manager-script-parameters.html)  | 不可 | string | RECOMMENDED | 
| --system-updates |  カーネルとパッケージの更新をインスタンスの起動時に実行するかどうかを定義します。 有効な値を次に示します。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/migrating-to-systems-manager-script-parameters.html)  | 不可 | string | ALL\$1UPDATES | 
| --http-username | カスタムクックブックを含む HTTP アーカイブへの認証に使用されるユーザー名を格納する Systems Manager SecureString パラメーターの名前です。 | 不可 | string |  | 
| --http-password | カスタムクックブックを含む HTTP アーカイブへの認証に使用されるパスワードを格納する Systems Manager SecureString パラメータの名前です。 | 不可 | string |  | 
| --repo-private-key | カスタムクックブックを含むリポジトリへの認証に使用される SSH キーを格納する Systems Manager SecureString パラメータの名前です。リポジトリが GitHub 上にある場合は、新しい Ed25519 SSH キーを生成する必要があります。新しい Ed25519 SSH キーを生成しないと、 GitHub リポジトリへの接続は失敗します。 | 不可 | string |  | 
| --lb-type | 既存のロードバランサーを移行する際に作成するロードバランサーのタイプです。 有効な値を次に示します。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/migrating-to-systems-manager-script-parameters.html)  | 不可 | string | ALB | 
| --lb-access-logs-path | 既存の S3 バケットへのパスと、ロードバランサーのアクセスログを保存するためのプレフィックスです。S3 バケットとロードバランサーは同じリージョンに存在する必要があります。値を指定せず、--lb-type パラメータ値が None に設定されている場合、スクリプトは新しい S3 バケットとプレフィックスを作成します。このプレフィックスには適切なバケットポリシーがあることを確認してください。 | 不可 | string |  | 
| --enable-instance-protection | TRUE に設定すると、スクリプトは Auto Scaling グループのカスタム終了ポリシー (Lambda 関数) を作成します。protected\$1instance タグ付きの EC2 インスタンスはスケールインイベントから保護されます。スケールインイベントから保護したい各 EC2 インスタンスに protected\$1instance タグを追加します。 | 不可 | ブール値 | FALSE | 
| --command-logs-bucket | AWS ApplyChefRecipe と MountEBSVolumes ログを保存する既存の S3 バケットの名前です。値を指定しない場合、スクリプトによって新しい S3 バケットが作成されます。 | 不可 | string | aws-opsworks-application-manager-logs-account-id | 
| --custom-json-bucket | カスタム JSON を保存する既存の S3 バケットの名前です。値を指定しない場合、スクリプトによって新しい S3 バケットが作成されます。 | 不可 | string | aws-apply-chef-application-manager-transition-data-account-id | 

**注意**:
+ プライベート GitHub リポジトリを使用する場合は、SSH 用の新しい `Ed25519` ホストキーを作成する必要があります。これは、GitHub が SSH でサポートされるキーを変更し、暗号化されていない Git プロトコルを削除したためです。`Ed25519` ホストキーの詳細については、GitHub のブログ投稿 [「GitHub の Git プロトコルセキュリティの改善」](https://github.blog/2021-09-01-improving-git-protocol-security-github/) を参照してください。新しい `Ed25519` ホストキーを生成したら、SSH キー用の Systems Manager `SecureString` パラメータを作成し、その `SecureString` パラメータ名を `--repo-private-key` パラメータの値として使用します。Systems Manager `SecureString`パラメータの作成方法の詳細については、AWS Systems Manager 「ユーザーガイド」の[「SecureString パラメータ（AWS CLI）の作成)」](https://docs.aws.amazon.com/systems-manager/latest/userguide/param-create-cli.html#param-create-cli-securestring)または[「Systems Manager パラメータ(コンソール)を作成する」](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-create-console.html)を参照してください。
+ `--http-username`、`--http-password`および`--repo-private-key`パラメータは、Systems Manager `SecureString`パラメータの名前を指します。移行スクリプトは、`AWS-ApplyChefRecipes` ドキュメントを実行するときにこれらのパラメータを使用します。
+ `--http-username` パラメータでは、`--http-password` パラメータの値も指定する必要があります。
+  `--http-password` パラメータでは、`--http-username` パラメータの値も指定する必要があります。
+ `--http-password` と `--repo-private-key` の両方に値を設定しないでください。Systems Manager `SecureString` パラメータ名または SSH キー (`--repo-private-key`)、またはリポジトリユーザー名 (`--http-username`) とパスワード (`--http-password`) のいずれかを指定します。