翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ステップ 8: クックブックを更新してファイルを作成し、コピーする
重要
- AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、 にお問い合わせください。 AWS Support でのチーム AWS re:Post
インスタンスに 2 つのファイルを追加するレシピを追加してクックブックを更新します。レシピの最初のリソースは、レシピコードを使用して完全にファイルを作成します。これは、Linux の cat、echo、または touch コマンド、または Windows の echo または fsutil コマンドに似ています。この手法は、少数のファイル、小さいファイル、またはシンプルなファイルに対して有効です。レシピの 2 番目のリソースはクックブックのファイルをインスタンスの別のディレクトリにコピーします。これは、Linux の cp コマンドまたは Windows の copy コマンドの実行と似ています。この手法は、多数のファイル、大きいファイル、または複雑なファイルに対して有効です。
このステップを開始する前に、「ステップ 7: クックブックを更新してディレクトリを作成する」を完了して、ファイルの親ディレクトリがすでに存在すること確認します。
インスタンスのクックブックを更新し、新しいレシピを実行するには
-
ローカルワークステーションの
opsworks_cookbook_demo
ディレクトリで、files
という名前のサブディレクトリを作成します -
files
サブディレクトリで、hello.txt
というテキストを含むHello, World!
という名前のファイルを作成します。 -
opsworks_cookbook_demo
ディレクトリにあるrecipes
サブディレクトリで、以下のコードを含むcreate_files.rb
という名前のファイルを作成します。詳細については、fileと cookbook_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
という名前のサブディレクトリがあることが想定されます)。 -
ターミナルまたはコマンドプロンプトで、tar コマンドを使用して
opsworks_cookbook_demo.tar.gz
というファイルの新しいバージョンを作成します。これには、opsworks_cookbook_demo
ディレクトリとその更新されたコンテンツが含まれます。 -
更新済みの
opsworks_cookbook_demo.tar.gz
ファイルを S3 バケットにアップロードします。 -
「ステップ 5: インスタンスのクックブックを更新し、レシピを実行する」の手順に従って、インスタンスのクックブックを更新し、レシピを実行します。「レシピを実行するには」の手順の [Recipes to execute] に、「
opsworks_cookbook_demo::create_files
」と入力します。
レシピをテストするには
-
すでに行っていない場合は、インスタンスにログインします。
-
コマンドプロンプトで、新しいファイルが追加されたことを確認するため、次のコマンドを 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!
次のステップでは、クックブックを更新してインスタンスでコマンドを実行します。