

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

# ステップ 9: クックブックを更新してコマンドを実行する
<a name="gettingstarted-cookbooks-run-command"></a>

**重要**  
この AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、[AWS re:Post](https://repost.aws/) または[AWS プレミアムサポート](https://aws.amazon.com/support)を通じて AWS サポート チームにお問い合わせください。

インスタンスで SSH キーを作成するコマンドを実行するレシピを追加してクックブックを更新します。

**インスタンスのクックブックを更新し、新しいレシピを実行するには**

1. ローカルワークステーションの `opsworks_cookbook_demo` ディレクトリにある `recipes` サブディレクトリで、以下のコードを含む `run_command.rb` という名前のファイルを作成します。詳細については、「[execute](https://docs.chef.io/resource_execute.html)」を参照してください。

   ```
   execute "Create an SSH key" do
     command "ssh-keygen -f /tmp/my-key -N fLyC3jbY"
   end
   ```

1. ターミナルまたはコマンドプロンプトで、**tar** コマンドを使用して `opsworks_cookbook_demo.tar.gz` というファイルの新しいバージョンを作成します。これには、`opsworks_cookbook_demo` ディレクトリとその更新されたコンテンツが含まれます。

1. 更新済みの `opsworks_cookbook_demo.tar.gz` ファイルを S3 バケットにアップロードします。

1. 「[ステップ 5: インスタンスのクックブックを更新し、レシピを実行する](gettingstarted-cookbooks-copy-cookbook.md)」の手順に従って、インスタンスのクックブックを更新し、レシピを実行します。「レシピを実行するには」の手順の [**Recipes to execute**] に、「**opsworks\$1cookbook\$1demo::run\$1command**」と入力します。

**レシピをテストするには**

1. すでに行っていない場合は、インスタンスにログインします。

1. コマンドプロンプトで、SSH キーが作成されたことを確認するため、次のコマンドを 1 つずつ実行します。

   ```
   sudo cat /tmp/my-key
   
   sudo cat /tmp/my-key.pub
   ```

   SSH プライベートキーおよびパブリックキーのコンテンツが表示されます。

   ```
   -----BEGIN RSA PRIVATE KEY-----
   Proc-Type: 4,ENCRYPTED
   DEK-Info: AES-128-CBC,DEF7A09C...541583FA
   A5p9dCuo...wp0YYH1c
   -----END RSA PRIVATE KEY-----
   
   ssh-rsa AAAAB3N...KaNogZkT root@cookbooks-demo1
   ```

[次のステップ](gettingstarted-cookbooks-run-script.md)では、クックブックを更新してインスタンスでスクリプトを実行します。