

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

# Elastic Beanstalk アプリケーションソースバンドルを作成する
<a name="applications-sourcebundle"></a>

このトピックでは、ソースバンドル内の Elastic Beanstalk にアプリケーションソースファイルをアップロードする方法について説明します。ソースバンドルの要件、構造、および作成方法について説明します。

 AWS Elastic Beanstalk コンソールを使用して新しいアプリケーションまたはアプリケーションバージョンをデプロイする場合は、アプリケーションのファイルを*ソースバンドル*にアップロードする必要があります。ソースバンドルは次の要件を満たしている必要があります。
+ 単一の `ZIP` ファイルまたは `WAR` ファイルで構成される (`WAR` ファイル内に複数の `ZIP` ファイルを含めることが可能)
+ 500 MB 以下
+ 親フォルダまたは最上位ディレクトリを含まない（サブディレクトリを除く）

定期的なバックグラウンドタスクを処理するワーカーアプリケーションをデプロイする場合には、アプリケーションソースバンドルに `cron.yaml` ファイルも含める必要があります。詳細については、「[定期的なタスク](using-features-managing-env-tiers.md#worker-periodictasks)」を参照してください。

Elastic Beanstalk コマンドラインインターフェイス (EB CLI)、 AWS Toolkit for Eclipse、または AWS Toolkit for Visual Studio を使用してアプリケーションをデプロイする場合、ZIP ファイルまたは WAR ファイルは自動的に正しく構造化されます。詳細については[Elastic Beanstalk コマンドラインインターフェイス (EB CLI) をセットアップして Elastic Beanstalk を管理する](eb-cli3.md)、[Elastic Beanstalk への Java アプリケーションのデプロイ](create_deploy_Java.md)、および[AWS Toolkit for Visual Studio「��](dotnet-toolkit.md)を参照してください。

**Topics**
+ [コマンドラインからソースバンドルを作成する](#using-features.deployment.source.commandline)
+ [Git を使用してソースバンドルを作成する](#using-features.deployment.source.git)
+ [Mac OS X Finder または Windows エクスプローラでファイルを圧縮する](#using-features.deployment.source.gui)
+ [.NET アプリケーションのソースバンドルの作成](#using-features.deployment.source.dotnet)
+ [ソースバンドルをテストする](#using-features.deployment.source.test)

## コマンドラインからソースバンドルを作成する
<a name="using-features.deployment.source.commandline"></a>

`zip` コマンドを使用してソースバンドルを作成します。非表示のファイルとフォルダを含めるには、次のようなパターンを使用します。

```
~/myapp$ zip ../myapp.zip -r * .[^.]*
  adding: app.js (deflated 63%)
  adding: index.js (deflated 44%)
  adding: manual.js (deflated 64%)
  adding: package.json (deflated 40%)
  adding: restify.js (deflated 85%)
  adding: .ebextensions/ (stored 0%)
  adding: .ebextensions/xray.config (stored 0%)
```

これにより、Elastic Beanstalk [設定ファイル](ebextensions.md)と、ピリオドで始まるその他のファイルとフォルダがアーカイブに含まれます。

Tomcat ウェブアプリケーションの場合は、`jar` を使用してウェブアーカイブを作成します。

```
~/myapp$ jar -cvf myapp.war .
```

上記のコマンドには、ソースバンドルのサイズを不要に増やす可能性のある非表示のファイルが含まれます。よりきめ細かに制御するには、より詳細なファイルパターンを使用するか、[Git でソースバンドルを作成](#using-features.deployment.source.git)します。

## Git を使用してソースバンドルを作成する
<a name="using-features.deployment.source.git"></a>

Git を使用してアプリケーションのソースコードを管理している場合、`git archive` コマンドを使用してソースバンドルを作成します。

```
$ git archive -v -o myapp.zip --format=zip HEAD
```

`git archive` には、Git に保存されているファイルのみが含まれ、無視されたファイルや Git ファイルは除外されます。これにより、ソースバンドルをできるだけ小さくできます。詳細については、[git-archive のマニュアルページ](http://git-scm.com/docs/git-archive)を参照してください。

## Mac OS X Finder または Windows エクスプローラでファイルを圧縮する
<a name="using-features.deployment.source.gui"></a>

Mac OS X Finder または Windows エクスプローラーで `ZIP` ファイルを作成する場合、親フォルダではなく、ファイルとサブフォルダを圧縮していることを確認します。

**注記**  
Mac OS X および Linux ベースのオペレーティング システムのグラフィカルユーザーインターフェイス（GUI）は、ピリオド（.）で始まる名前のファイルとフォルダを表示しません。`ZIP` ファイルに `.ebextensions` などの隠しフォルダを含める必要がある場合、アプリケーションの圧縮に、GUI ではなくコマンドラインインターフェイスを使用します。Mac OS X または Linux ベースのオペレーティング システムで `ZIP` ファイルを作成するコマンドラインの手順については、「[コマンドラインからソースバンドルを作成する](#using-features.deployment.source.commandline)」を参照してください。

**Example**  
`myapp` という Python プロジェクトフォルダがあり、そこに次のファイルとサブフォルダが含まれるとします。  

```
myapplication.py
README.md
static/
static/css
static/css/styles.css
static/img
static/img/favicon.ico
static/img/logo.png
templates/
templates/base.html
templates/index.html
```
上記の要件一覧に示すように、ソースバンドルは親フォルダなしで圧縮し、解凍後の構造には余分な上位レベルのディレクトリが含まれないようにする必要があります。この例では、ファイルの圧縮時に `myapp` フォルダは作成されません（または、コマンドラインで `myapp` セグメントがファイルパスに追加されません）。  
このサンプルファイル構造はこのトピックを通して使用され、ファイルを圧縮する方法を示します。

## .NET アプリケーションのソースバンドルの作成
<a name="using-features.deployment.source.dotnet"></a>

Visual Studio を使用する場合は、 に含まれているデプロイツールを使用して AWS Toolkit for Visual Studio 、.NET アプリケーションを Elastic Beanstalk にデプロイできます。詳細については、「[デプロイツールを使用して .NET に Elastic Beanstalk アプリケーションを AWS デプロイする](deploy_NET_standalone_tool.md)」を参照してください。

.NET アプリケーションのソースバンドルを手動で作成する必要がある場合は、プロジェクトディレクトリを含む `ZIP` ファイルを簡単に作成することはできません。Elastic Beanstalk へのデプロイに適したプロジェクトのウェブデプロイパッケージを作成する必要があります。デプロイパッケージを作成するために使用できる方法にはいくつかあります。
+ Visual Studio の **Web 発行** ウィザードを使用してデプロイパッケージを作成します。詳細については、[Visual Studio でウェブデプロイパッケージを作成する方法](http://msdn.microsoft.com/en-us/library/dd465323.aspx)を参照してください。
**重要**  
ウェブデプロイパッケージを作成するとき、**サイト名** は `Default Web Site` で始める必要があります。
+ .NET プロジェクトを用意している場合、次の例に示すように、**msbuild** コマンドを使用してデプロイパッケージを作成できます。
**重要**  
`DeployIisAppPath` パラメータは `Default Web Site` で始める必要があります。

  ```
  C:/> msbuild <web_app>.csproj /t:Package /p:DeployIisAppPath="Default Web Site"
  ```
+ ウェブサイトプロジェクトを用意している場合、IIS ウェブデプロイツールを使用してデプロイパッケージを作成します。詳細については、[Packaging and Restoring a Web site](http://www.iis.net/learn/publish/using-web-deploy/packaging-and-restoring-a-web-site) を参照してください。
**重要**  
`apphostconfig` パラメータは `Default Web Site` で始める必要があります。

複数のアプリケーションまたは ASP.NET コアアプリケーションをデプロイする場合は、ソースバンドルのルートに、`.ebextensions` フォルダをアプリケーションバンドルとマニフェストファイルに並べて置きます。

```
~/workspace/source-bundle/
|-- .ebextensions
|   |-- environmentvariables.config
|   `-- healthcheckurl.config
|-- AspNetCore101HelloWorld.zip
|-- AspNetCoreHelloWorld.zip
|-- aws-windows-deployment-manifest.json
`-- VS2015AspNetWebApiApp.zip
```

## ソースバンドルをテストする
<a name="using-features.deployment.source.test"></a>

ソースバンドルを Elastic Beanstalk にアップロードする前に、ローカルでテストする必要があります。Elastic Beanstalk は基本的にファイルの抽出にコマンドラインを使用するため、GUI ツールではなくコマンドラインからテストを実行することをお勧めします。

解凍されたファイルが、新しい上位フォルダまたはディレクトリではなく、アーカイブ自体があるフォルダに表示されていることを確認します。