Windows Instance でのパッケージのインストール - AWS OpsWorks

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

Windows Instance でのパッケージのインストール

重要

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

注記

この例では、「Windows インスタンスでのレシピの実行」の例を実行済みであることを前提としています。実行済みでない場合は、最初にその例を実行する必要があります。特に、インスタンスRDPへのアクセスを有効にする方法について説明します。

ソフトウェアが などのインストーラパッケージに含まれている場合はMSI、ファイルをインスタンスにダウンロードしてから実行する必要があります。この例では、 MSIパッケージ、Python ランタイムをインストールするためのクックブックを実装する方法と、関連する環境変数を定義する方法を示します。などの Windows 機能をインストールする方法の詳細についてはIIS、「」を参照してくださいWindows 機能のインストール: IIS

クックブックをセットアップするには
  1. installpython という名前のディレクトリを作成し、そのディレクトリに移動します。

  2. installpython に、次のコンテンツを含む metadata.rb ファイルを追加します。

    name "installpython" version "0.1.0"
  3. installpythonrecipes ディレクトリと files ディレクトリを追加して、ファイルに default ディレクトリを追加します。

  4. Python Releases for Windows からクックブックの files\default ディレクトリに Python パッケージをダウンロードします。この例では、 という名前のMSIインストーラを使用する Python 3.5.0a3 の Windows x86-64 バージョンをインストールしますpython-3.4.3.amd64.msi

  5. 以下のレシピコードを保存した default.rb という名前のファイルを recipes ディレクトリに追加します。

    directory 'C:\tmp' do rights :full_control, 'Everyone' recursive true action :create end cookbook_file 'C:\tmp\python-3.4.3.amd64.msi' do source "python-3.4.3.amd64.msi" rights :full_control, 'Everyone' action :create end windows_package 'python' do source 'C:\tmp\python-3.4.3.amd64.msi' action :install end env "PATH" do value 'c:\python34' delim ";" action :modify end

    このレシピでは、以下のような処理を実行します。

    1. ディレクトリリソースを使用して、C:\tmp ディレクトリを作成します。

      このリソースの詳細については、「例 3: ディレクトリの作成」を参照してください。

    2. cookbook_file リソースを使用して、クックブックの files\default ディレクトリから C:\tmp にインストーラをコピーします。

      このリソースの詳細については、「クックブックからのファイルのインストール」を参照してください。

    3. Windows_package リソースを使用してMSIインストーラを実行し、Python を にインストールしますc:\python34

      インストーラによって必要なディレクトリを作成され、ファイルがインストールされますが、システムの PATH 環境変数は変更されません。

    4. env リソースを使用して、システムパスに c:\python34 を追加します。

      env リソースを使用して、環境変数を定義します。この例では、レシピによって c:\python34 がパスに追加されて、コマンドラインから Python スクリプトを簡単に実行できるようになります。

      • この例では、リソース名に環境変数の名前 PATH を指定します。

      • この例では、value 属性に変数の値 c:\\python34 を指定します (\ 文字をエスケープする必要があります)。

      • :modify アクションによって、指定した値が変数の現在の値に付加されます。

      • delim 属性には、既存の値と新しい値を区切る記号 (この例では ;) を指定します。

  6. .zipinstallpython アーカイブを作成し、S3 バケットにアップロードして、公開します。URL 後で使用するためにアーカイブの を記録します。詳細については、「クックブックリポジトリ」を参照してください。

    Amazon S3 バケットに配信されるコンテンツには、カスタマーコンテンツが含まれている場合があります。機密データの削除の詳細については、「S3 バケットを空にする方法」または「S3 バケットを削除する方法」を参照してください。

以下のようにこの例のスタックを作成します。既存の Windows スタックを使用することもできます。後で説明するように、クックブックを更新するだけです。

Stack を作成する
  1. AWS OpsWorks スタックコンソールを開いて [Add Stack] を選択します。以下の設定を指定し、その他の設定はデフォルト値を受け入れて、[Add Stack] を選択します。

    • 名前 – InstallPython

    • リージョン – 米国西部 (オレゴン)

      この例はいずれのリージョンでも動作しますが、チュートリアルでは米国西部 (オレゴン) を使用することをお勧めします。

    • Default operating system (デフォルトのオペレーティングシステム) – Microsoft Windows Server 2012 R2

  2. [Add a layer] を選択し、以下の設定を使用してスタックにカスタムレイヤーを追加します。

    • Name (名前) – Python

    • Short name (短縮名) – python

  3. デフォルト設定で Pythonレイヤーに 24/7 インスタンスを追加し、起動します。

インスタンスがオンラインになった後、クックブックをインストールし、レシピを実行できます

クックブックをインストールし、レシピを実行するには
  1. カスタムクックブックを有効にするようにスタックを編集し、以下の設定を指定します。

    • Repository type (リポジトリタイプ) – S3 Archive (アーカイブ)

    • リポジトリ URL – 前に記録URLしたクックブックのアーカイブ。

    その他の設定ではデフォルト値を受け入れ、[Save] を選択してスタック設定を更新します。

  2. [Update Custom Cookbooks] スタックコマンドを実行します。スタックのオンラインインスタンスにカスタムクックブックの最新バージョンがインストールされます。以前のバージョンのクックブックがある場合は、このコマンドによって上書きされます。

  3. カスタムクックブックの更新が終了したら、実行するレシピinstallpython::default に設定してレシピの実行スタックコマンドを実行することで、レシピを実行します。このコマンドは、installpython::default から成る実行リストで Chef 実行を開始します。

    注記

    この例では、便宜上 Execute Recipes を使用していますが、通常 AWS OpsWorks 、 スタックはレシピを適切なライフサイクルイベントに割り当てることで自動的に実行します。このようなレシピは、イベントを手動でトリガーすることによって実行できます。Setup および Configure イベントをトリガーするにはスタックコマンドを使用し、Deploy および Undeploy イベントをトリガーするにはデプロイコマンドを使用できます。

  4. インストールを確認するには、 を使用してインスタンスRDPに接続し、Windows Explorer を開きます。

    • ファイルシステムに C:\Python34 ディレクトリがあることを確認できます。

    • コマンドラインから path を実行した場合は、PATH=c:\python34;C:\Windows\system32;...のようになります。

    • コマンドラインから python --version を実行した場合は、Python 3.4.3 が返されます。