翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Windows Instance でのパッケージのインストール
重要
この AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、 AWS re:Post
注記
この例では、「Windows インスタンスでのレシピの実行」の例を実行済みであることを前提としています。実行済みでない場合は、最初にその例を実行する必要があります。特に、インスタンスRDPへのアクセスを有効にする方法について説明します。
ソフトウェアが などのインストーラパッケージに含まれている場合はMSI、ファイルをインスタンスにダウンロードしてから実行する必要があります。この例では、 MSIパッケージ、Python ランタイムをインストールするためのクックブックを実装する方法と、関連する環境変数を定義する方法を示します。などの Windows 機能をインストールする方法の詳細についてはIIS、「」を参照してくださいWindows 機能のインストール: IIS。
クックブックをセットアップするには
-
installpython
という名前のディレクトリを作成し、そのディレクトリに移動します。 -
installpython
に、次のコンテンツを含むmetadata.rb
ファイルを追加します。name "installpython" version "0.1.0"
-
installpython
にrecipes
ディレクトリとfiles
ディレクトリを追加して、ファイルにdefault
ディレクトリを追加します。 -
Python Releases for Windows
からクックブックの files\default
ディレクトリに Python パッケージをダウンロードします。この例では、 という名前のMSIインストーラを使用する Python 3.5.0a3 の Windows x86-64 バージョンをインストールしますpython-3.4.3.amd64.msi
。 -
以下のレシピコードを保存した
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
このレシピでは、以下のような処理を実行します。
-
ディレクトリ
リソースを使用して、 C:\tmp
ディレクトリを作成します。このリソースの詳細については、「例 3: ディレクトリの作成」を参照してください。
-
cookbook_file
リソースを使用して、クックブックの files\default
ディレクトリからC:\tmp
にインストーラをコピーします。このリソースの詳細については、「クックブックからのファイルのインストール」を参照してください。
-
Windows_package
リソースを使用してMSIインストーラを実行し、Python を にインストールします c:\python34
。インストーラによって必要なディレクトリを作成され、ファイルがインストールされますが、システムの
PATH
環境変数は変更されません。 -
env
リソースを使用して、システムパスに c:\python34
を追加します。env リソースを使用して、環境変数を定義します。この例では、レシピによって
c:\python34
がパスに追加されて、コマンドラインから Python スクリプトを簡単に実行できるようになります。-
この例では、リソース名に環境変数の名前
PATH
を指定します。 -
この例では、
value
属性に変数の値c:\\python34
を指定します (\
文字をエスケープする必要があります)。 -
:modify
アクションによって、指定した値が変数の現在の値に付加されます。 -
delim
属性には、既存の値と新しい値を区切る記号 (この例では;
) を指定します。
-
-
-
.zip
のinstallpython
アーカイブを作成し、S3 バケットにアップロードして、公開します。URL 後で使用するためにアーカイブの を記録します。詳細については、「クックブックリポジトリ」を参照してください。Amazon S3 バケットに配信されるコンテンツには、カスタマーコンテンツが含まれている場合があります。機密データの削除の詳細については、「S3 バケットを空にする方法」または「S3 バケットを削除する方法」を参照してください。
以下のようにこの例のスタックを作成します。既存の Windows スタックを使用することもできます。後で説明するように、クックブックを更新するだけです。
Stack を作成する
-
AWS OpsWorks スタックコンソール
を開いて [Add Stack] を選択します。以下の設定を指定し、その他の設定はデフォルト値を受け入れて、[Add Stack] を選択します。 -
名前 – InstallPython
-
リージョン – 米国西部 (オレゴン)
この例はいずれのリージョンでも動作しますが、チュートリアルでは米国西部 (オレゴン) を使用することをお勧めします。
-
Default operating system (デフォルトのオペレーティングシステム) – Microsoft Windows Server 2012 R2
-
-
[Add a layer] を選択し、以下の設定を使用してスタックにカスタムレイヤーを追加します。
-
Name (名前) – Python
-
Short name (短縮名) – python
-
-
デフォルト設定で Pythonレイヤーに 24/7 インスタンスを追加し、起動します。
インスタンスがオンラインになった後、クックブックをインストールし、レシピを実行できます
クックブックをインストールし、レシピを実行するには
-
カスタムクックブックを有効にするようにスタックを編集し、以下の設定を指定します。
-
Repository type (リポジトリタイプ) – S3 Archive (アーカイブ)
-
リポジトリ URL – 前に記録URLしたクックブックのアーカイブ。
その他の設定ではデフォルト値を受け入れ、[Save] を選択してスタック設定を更新します。
-
-
[Update Custom Cookbooks] スタックコマンドを実行します。スタックのオンラインインスタンスにカスタムクックブックの最新バージョンがインストールされます。以前のバージョンのクックブックがある場合は、このコマンドによって上書きされます。
-
カスタムクックブックの更新が終了したら、実行するレシピを
installpython::default
に設定してレシピの実行スタックコマンドを実行することで、レシピを実行します。このコマンドは、installpython::default
から成る実行リストで Chef 実行を開始します。 -
インストールを確認するには、 を使用してインスタンスRDPに接続し、Windows Explorer を開きます。
-
ファイルシステムに
C:\Python34
ディレクトリがあることを確認できます。 -
コマンドラインから
path
を実行した場合は、PATH=c:\python34;C:\Windows\system32;...
のようになります。 -
コマンドラインから
python --version
を実行した場合は、Python 3.4.3
が返されます。
-