AWS OpsWorks
ユーザーガイド (API バージョン 2013-02-18)

カスタムクックブックのインストール

スタックがカスタムクックブックをインストールおよび使用するようにするには、すでに設定されていない場合はカスタムクックブックが有効になるようにスタックを設定する必要があります。リポジトリ URL と、パスワードなどの関連情報を指定する必要があります。

重要

カスタムクックブックをサポートするようにスタックを設定すると、AWS OpsWorks スタックによって起動時にすべての新しいインスタンスにクックブックが自動的にインストールされます。ただし、既存のインスタンスに新しいクックブックや更新されたクックブックをインストールするには、[Update Custom Cookbooks (カスタムクックブックの更新)] スタックコマンドを実行することによって、明示的に AWS OpsWorks スタックに指示する必要があります。詳細については、「カスタムクックブックの更新」を参照してください。スタックの [Use custom Chef cookbooks (カスタム Chef クックブックを使用する)] を有効化する前に、実行するカスタムクックブックとコミュニティクックブックが、スタックで使用する Chef のバージョンをサポートしていることを確認してください。

カスタムクックブックのスタックを設定するには

  1. スタックのページで、[Stack Settings] をクリックして [Settings] ページを表示し、[Edit] をクリックして設定を編集します。

  2. [Use custom Chef cookbooks] を [Yes] に切り替えます。

    
                    スタックの設定ページの編集
  3. カスタムクックブックを設定します。

設定が完了したら、[Save] をクリックして更新されたスタックを保存します。

カスタムクックブックリポジトリの指定

Linux スタックは、次のリポジトリタイプからカスタムクックブックをインストールできます。

  • HTTP または Amazon S3 アーカイブ。

    これらはパブリックでもプライベートでもかまいませんが、プライベートアーカイブに推奨されるオプションは通常 Amazon S3 です。

  • Git リポジトリと Subversion リポジトリは、ソース管理と複数のバージョンを設定する機能を提供します。

Windows スタックは、Amazon S3 アーカイブと Git リポジトリからカスタムクックブックをインストールできます。

すべてのリポジトリタイプに、以下の必須フィールドがあります。

  • [Repository type (リポジトリタイプ)] – リポジトリのタイプ

  • [Repository URL (リポジトリ URL)] – リポジトリの URL

AWS OpsWorks スタックは、プライベートにホストされる Git サーバーに加えて、パブリックにホストされる Git リポジトリ (GitHubBitbucket など) をサポートしています。Git リポジトリの場合、リポジトリがパブリックとプライベートのどちらであるかに応じて、次の URL 形式の 1 つを使用する必要があります。Git サブモジュールと同じ URL のガイドラインに従います。

パブリック Git リポジトリの場合は、HTTPS または Git の読み取り専用プロトコルを使用します。

  • Git 読み取り専用 – git://github.com/amazonwebservices/opsworks-example-cookbooks.git

  • HTTPS – https://github.com/amazonwebservices/opsworks-example-cookbooks.git

プライベート Git リポジトリの場合は、以下の例に示すように、SSH の読み取り/書き込み形式を使用する必要があります。

  • Github リポジトリ – git@github.com:project/repository

  • Git サーバー上のリポジトリ – user@server:project/repository

残りの設定はリポジトリのタイプによって異なり、これらについて以下のセクションで説明します。

HTTP アーカイブ

[Repository type] で [Http Archive] を選択すると、2 つの追加の設定が表示されます。アーカイブがパスワードで保護されている場合は、これらを指定する必要があります。

  • [User name (ユーザー名)] – ユーザー名

  • [Password (パスワード)] – ユーザーのパスワード

Amazon S3 アーカイブ

[Repository type (リポジトリタイプ)] で [S3 Archive (S3 アーカイブ)] を選択すると、以下の追加のオプション設定が表示されます。AWS OpsWorks スタックの API またはコンソールを使用している場合、AWS OpsWorks スタックは Amazon EC2 ロール (ホストオペレーティングシステムのマネージャー認証) を使用してリポジトリにアクセスできます。

  • [Access key ID] – AWS アクセスキー ID(AKIAIOSFODNN7EXAMPLE など)。

  • [Secret access key] – 対応する AWS シークレットアクセスキー(wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY など)。

Git リポジトリ

[Source Control] の [Git] を選択すると、次の追加オプション設定が表示されます。

[Repository SSH key]

プライベート Git リポジトリにアクセスするには、デプロイ SSH キーを指定する必要があります。Git サブモジュールの場合、指定するキーには、それらのサブモジュールへのアクセス権が必要です。詳細については、「Git リポジトリの SSH キーの使用」を参照してください。

重要

デプロイ SSH キーでパスワードを必須にすることはできません。パスワードを渡すための仕組みが AWS OpsWorks スタックには存在しません。

[Branch/Revision]

リポジトリに複数のブランチがある場合、AWS OpsWorks スタックはデフォルトではマスターブランチをダウンロードします。特定のブランチを指定するには、ブランチ名、SHA1 ハッシュ、タグ名のいずれかを入力します。特定のコミットを指定するには、40 桁の 16 進数コミット ID を入力します。

Subversion リポジトリ

[Source Control] の [Subversion] を選択すると、次の追加設定が表示されます。

  • [User name (ユーザー名)] – プライベートリポジトリのユーザー名。

  • [Password (パスワード)] – プライベートリポジトリのパスワード。

  • [Revision (リビジョン)] – (オプション) 複数のリビジョンがある場合のリビジョン名。

    ブランチまたはタグを指定するには、リポジトリ URL を変更する必要があります。たとえば、http://repository_domain/repos/myapp/branches/my-apps-branch または http://repository_domain_name/repos/calc/myapp/my-apps-tag のように変更します。