

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

# Java App Server OpsWorks スタックレイヤー
<a name="layers-java"></a>

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

**注記**  
このレイヤーは、Linux ベースのスタックでのみ使用できます。

Java App Server レイヤーは、Java OpsWorks アプリケーションサーバーとして機能するインスタンスの設計図を提供する スタックレイヤーです。このレイヤーは [Apache Tomcat 7.0](http://tomcat.apache.org/) と [Open JDK 7 ](http://openjdk.java.net/)に基づいています。 OpsWorks スタックは Java コネクタライブラリもインストールします。これにより、Java アプリケーションは JDBC `DataSource` オブジェクトを使用してバックエンドのデータストアに接続できます。

**インストール**: Tomcat は `/usr/share/tomcat7` にインストールされます。

[**Add Layer**] ページには、以下の設定オプションがあります。

**Java VM Options**  
この設定を使用すると、カスタム Java VM オプションを指定できます。デフォルトオプションはありません。たとえば、一般的なオプションのセットは `-Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC` です。**Java VM オプション**を使用する場合は、有効なオプションセットを渡してください。 OpsWorks スタックは文字列を検証しません。無効なオプションを渡そうとすると、通常は Tomcat サーバーが開始に失敗し、セットアップが失敗します。その場合は、インスタンスのセットアップ Chef ログで詳細を確認できます。Chef ログを表示および解釈する方法の詳細については、「[Chef ログ](troubleshoot-debug-log.md)」を参照してください。

**Custom security groups**  
この設定は、組み込み OpsWorks の スタックセキュリティグループをレイヤーに自動的に関連付けないことを選択した場合に表示されます。レイヤーに関連付けるセキュリティグループを指定する必要があります。詳細については、「[新しいスタックを作成する](workingstacks-creating.md)」を参照してください。

**[Elastic Load Balancer]**  
レイヤーのインスタンスに、Elastic Load Balancing のロードバランサーをアタッチできます。詳細については、「[Elastic ロードバランシングレイヤー](layers-elb.md)」を参照してください。

カスタム JSON またはカスタム属性ファイルを使用して、その他の設定を指定できます。詳細については、「[カスタム設定](layers-java-config.md)」を参照してください。

**重要**  
Java アプリケーションが SSL を使用する場合は、[CVE-2014-3566](http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3566) で説明されている脆弱性に対応するために、可能であれば SSLv3 を無効にすることをお勧めします。詳細については、「[Apache サーバーに対する SSLv3 の無効化](#layers-java-sslv3)」を参照してください。

**Topics**
+ [Apache サーバーに対する SSLv3 の無効化](#layers-java-sslv3)
+ [カスタム設定](layers-java-config.md)
+ [Java アプリケーションのデプロイ](layers-java-deploy.md)

## Apache サーバーに対する SSLv3 の無効化
<a name="layers-java-sslv3"></a>

SSLv3 を無効にするには、Apache サーバーの `ssl.conf` ファイルの `SSLProtocol` 設定を変更する必要があります。そのためには、組み込みの [apache2 cookbook's](https://github.com/aws/opsworks-cookbooks/tree/release-chef-11.10/apache2) (apache2 クックブック) の `ssl.conf.erb` テンプレートファイルをオーバーライドする必要があります。このテンプレートファイルは、Java アプリケーションアプリケーションサーバーレイヤーの Setup レシピで `ssl.conf` を作成するために使用されます。詳細は、レイヤーのインスタンスに指定するオペレーティングシステムによって異なります。以下に、Amazon Linux または Ubuntu システムに必要な変更内容を示します。SSLv3 では、Red Hat Enterprise Linux (RHEL) システムが自動的に無効になっています。組み込みテンプレートのオーバーライドの詳細については、「[カスタムテンプレートの使用](workingcookbook-template-override.md)」を参照してください。

**Amazon Linux**  
これらのオペレーティングシステムの `ssl.conf.erb` ファイルは、`apache2` クックブックの `apache2/templates/default/mods` ディレクトリにあります。組み込みファイルの関連する部分を次に示します。  

```
...
#SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

# enable only secure protocols: SSLv3 and TLSv1.2, but not SSLv2
SSLProtocol all -SSLv2
</IfModule>
```
`ssl.conf.erb` をオーバーライドし、`SSLProtocol` 設定を次のように変更します。  

```
...
#SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

# enable only secure protocols: SSLv3 and TLSv1.2, but not SSLv2
SSLProtocol all -SSLv3 -SSLv2
</IfModule>
```

**Ubuntu 14.04 LTS**  
このオペレーティングシステムの `ssl.conf.erb` ファイルは、`apache2` クックブックの `apache2/templates/ubuntu-14.04/mods` ディレクトリにあります。組み込みファイルの関連する部分を次に示します。  

```
...
# The protocols to enable.
# Available values: all, SSLv3, TLSv1.2
# SSL v2 is no longer supported
SSLProtocol all
...
```
この設定を次のように変更します。  

```
...
# The protocols to enable.
# Available values: all, SSLv3, TLSv1.2
# SSL v2 is no longer supported
SSLProtocol all -SSLv3 -SSLv2
...
```