ステップ 8: クックブックを更新してファイルを作成し、コピーする - AWS OpsWorks

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

ステップ 8: クックブックを更新してファイルを作成し、コピーする

重要

AWS OpsWorks Stacks は新規顧客を受け付けなくなりました。既存のお客様は、2024 年 5 月 26 日までは OpsWorks コンソール、 API、 CLI、および CloudFormation リソースを通常どおり使用できますが、その時点でこれらのリソースは廃止されます。この移行に備えて、できるだけ早くスタックを AWS Systems Manager に移行することをおすすめします。詳細については、AWS OpsWorks Stacks サポート終了に関する FAQ および AWS Systems Manager アプリケーションマネージャへの AWS OpsWorks Stacks アプリケーションの移行 を参照してください。

インスタンスに 2 つのファイルを追加するレシピを追加してクックブックを更新します。レシピの最初のリソースは、レシピコードを使用して完全にファイルを作成します。これは、Linux の catecho、または touch コマンド、または Windows の echo または fsutil コマンドに似ています。この手法は、少数のファイル、小さいファイル、またはシンプルなファイルに対して有効です。レシピの 2 番目のリソースはクックブックのファイルをインスタンスの別のディレクトリにコピーします。これは、Linux の cp コマンドまたは Windows の copy コマンドの実行と似ています。この手法は、多数のファイル、大きいファイル、または複雑なファイルに対して有効です。

このステップを開始する前に、「ステップ 7: クックブックを更新してディレクトリを作成する」を完了して、ファイルの親ディレクトリがすでに存在すること確認します。

インスタンスのクックブックを更新し、新しいレシピを実行するには
  1. ローカルワークステーションの opsworks_cookbook_demo ディレクトリで、files という名前のサブディレクトリを作成します

  2. files サブディレクトリで、hello.txtというテキストを含む Hello, World! という名前のファイルを作成します。

  3. opsworks_cookbook_demo ディレクトリにある recipes サブディレクトリで、以下のコードを含む create_files.rb という名前のファイルを作成します。詳細については、filecookbook_file を参照してください。

    file "Create a file" do content "<html>This is a placeholder for the home page.</html>" group "root" mode "0755" owner "ec2-user" path "/tmp/create-directory-demo/index.html" end cookbook_file "Copy a file" do group "root" mode "0755" owner "ec2-user" path "/tmp/create-directory-demo/hello.txt" source "hello.txt" end

    file リソースは、指定されたパスでファイルを作成します。cookbook_file リソースは、クックブックで作成した files ディレクトリから、インスタンスの別のディレクトリにファイルをコピーします (Chef では、ファイルのコピー元として files という名前のサブディレクトリがあることが想定されます)。

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

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

  6. ステップ 5: インスタンスのクックブックを更新し、レシピを実行する」の手順に従って、インスタンスのクックブックを更新し、レシピを実行します。「レシピを実行するには」の手順の [Recipes to execute] に、「opsworks_cookbook_demo::create_files」と入力します。

レシピをテストするには
  1. すでに行っていない場合は、インスタンスにログインします。

  2. コマンドプロンプトで、新しいファイルが追加されたことを確認するため、次のコマンドを 1 つずつ実行します。

    sudo cat /tmp/create-directory-demo/index.html sudo cat /tmp/create-directory-demo/hello.txt

    ファイルの内容が表示されます。

    <html>This is a placeholder for the home page.</html> Hello, World!

次のステップでは、クックブックを更新してインスタンスでコマンドを実行します。