

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

# RabbitMQ ブローカーの設定
<a name="rabbitmq-broker-configuration-parameters"></a>

設定には、Cuttlefish 形式の RabbitMQ ブローカーのすべての設定が含まれます。設定は、ブローカーを作成する前に作成することができます。作成後、設定を 1 つ、または複数のブローカーに適用できます。

## 属性
<a name="configuration-attributes"></a>

ブローカー設定には複数の属性があります。次に例を示します。
+ 名前 (MyConfiguration)
+ ID (c-1234a5b6-78cd-901e-2fgh-3i45j6k178l9)
+ Amazon リソースネーム (ARN) (arn:aws:mq:us-east-2:123456789012:configuration:c-1234a5b678cd-901e-2fgh-3i45j6k178l9)

設定属性の完全なリストについては、Amazon MQ REST API リファレンスで以下を参照してください。
+ [REST オペレーション ID: 設定](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configuration.html)
+ [REST オペレーション ID: 設定](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configurations.html)

設定のリビジョン属性の詳細なリストについては、以下を参照してください。
+ [REST オペレーション ID: 設定のリビジョン](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configuration-revision.html)
+ [REST オペレーション ID: 設定のリビジョン](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configuration-revisions.html)

トピック
+ [RabbitMQ ブローカー設定の作成と適用](rabbitmq-creating-applying-configurations.md)
+ [Amazon MQ for RabbitMQ 設定リビジョンを編集する](edit-current-rabbitmq-configuration-console.md)
+ [Amazon MQ での RabbitMQ の設定可能な値 Amazon MQ](configurable-values.md)
+ [RabbitMQ 設定での ARN サポート](arn-support-rabbitmq-configuration.md)

# RabbitMQ ブローカー設定の作成と適用
<a name="rabbitmq-creating-applying-configurations"></a>

*configuration* には、ActiveMQ ブローカーのすべての設定が Cuttlefish 形式で含まれています。設定は、ブローカーを作成する前に作成することができます。次に、設定を 1 つ以上のブローカーに適用できます。

以下の例では、 AWS マネジメントコンソールを使用して Amazon MQ ブローカーの設定を作成および適用する方法を示します。

**重要**  
設定は `DeleteConfiguration` API を使用してのみ**削除**できます。詳細については、「*Amazon MQ API リファレンス*」の「[設定](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/configurations-configuration-id.html)」を参照してください。

## 新しい設定の作成
<a name="creating-rabbitmq-configuration-from-scratch-console"></a>

 設定をブローカーに適用するには、まず設定を作成する必要があります。

1. [Amazon MQ コンソール](https://console.aws.amazon.com/amazon-mq/)にサインインします。

1. 左側のナビゲーションパネルを展開し、[**設定**] を選択します。  
![\[Amazon MQ navigation panel showing Brokers and Configurations options.\]](http://docs.aws.amazon.com/ja_jp/amazon-mq/latest/developer-guide/images/amazon-mq-tutorials-create-configuration.png)

1. [**設定**] ページで、[**Create configuration (設定の作成)**] を選択します。

1. **[設定の作成]** ページの **[詳細]** セクションで **[設定名]** (`MyConfiguration` など) を入力し、**[ブローカーエンジン]** のバージョンを選択します。

   Amazon MQ for ActiveMQ がサポートする RabbitMQ エンジンバージョンの詳細については、「[Amazon MQ for RabbitMQ エンジンバージョンの管理](rabbitmq-version-management.md)」を参照してください。

1. **[設定を作成]** を選択します。

## 新しい設定リビジョンの作成
<a name="creating-new-rabbitmq-configuration-revision-console"></a>

 設定を作成したら、設定リビジョンを使用して設定を編集する必要があります。

1. 設定リストから、[***MyConfiguration***] を選択します。
**注記**  
設定の最初のリビジョンは常に、Amazon MQ が設定を作成するときに作成されます。

   **[*MyConfiguration*]** ページに、新しい設定リビジョンが使用するブローカーのエンジンタイプとバージョン (例: **RabbitMQ 3.xx.xx**) が表示されます。

1. **[設定の詳細]** タブに、設定リビジョン番号、説明、およびブローカー設定が Cuttlefish 形式で表示されます。
**注記**  
現在の設定を編集すると、設定の新しいリビジョンが作成されます。

1. **[設定の編集]** を選択して、Cuttlefish 設定を変更します。

1. **[保存]** を選択します。

   [**Save revision**] (リビジョンの保存) ダイアログボックスが表示されます。

1. (オプション) `A description of the changes in this revision` を入力します。

1. **[保存]** を選択します。

   設定の新しいリビジョンが保存されます。
**重要**  
設定を変更しても、その変更はブローカーに直ちに適用*されません*。変更を適用するには、次のメンテナンスウィンドウまで待機するか、[ブローカーを再起動](amazon-mq-rebooting-broker.md)する必要があります。  
現在、設定を削除することはできません。

## 設定リビジョンをブローカーに適用する
<a name="apply-rabbitmq-configuration-revision-creating-console"></a>

 設定リビジョンを作成したら、設定リビジョンをブローカーに適用できます。

1. 左側のナビゲーションパネルを展開し、[**Brokers (ブローカー)**] を選択します。  
![\[Amazon MQ navigation panel showing Brokers and Configurations options.\]](http://docs.aws.amazon.com/ja_jp/amazon-mq/latest/developer-guide/images/amazon-mq-tutorials-apply-configuration.png)

1. ブローカーリストからブローカーを選択して (**MyBroker** など)、[**Edit**] (編集) をクリックします。

1. [**Edit *MyBroker***] (MyBroker の編集) ページの [**Configuration**] (設定) セクションで [**Configuration**] (設定) と [**Revision**] (リビジョン) を選択してから、[**Schedule Modifications**] (変更をスケジュールする) をクリックします。

1. [**ブローカー変更のスケジュール**] セクションで、変更を [**次回のスケジュールされたメンテナンスウィンドウ中**] に適用するか、[**即時**] 適用するかを選択します。
**重要**  
再起動中、シングルインスタンスブローカーはオフラインになります。クラスターブローカーの場合、ブローカーの再起動中にダウンするノードは 1 つだけです。

1. [**Apply**] (適用) をクリックします。

   設定リビジョンが指定された時刻にブローカーに適用されます。

# Amazon MQ for RabbitMQ 設定リビジョンの編集
<a name="edit-current-rabbitmq-configuration-console"></a>

 以下の手順では、ブローカーの設定リビジョンを編集する方法について説明します。

1. [Amazon MQ コンソール](https://console.aws.amazon.com/amazon-mq/)にサインインします。

1. ブローカーリストからブローカーを選択して (**MyBroker** など)、[**Edit**] (編集) をクリックします。

1. [***MyBroker***] ページで、[**編集**] を選択します。

1. [**Edit *MyBroker***] (MyBroker の編集) ページの [**Configuration**] (設定) セクションで [**Configuration**] (設定) と [**Revision**] (リビジョン) を選択してから、[**Edit**] (変更) をクリックします。
**注記**  
ブローカーの作成時に設定を選択する場合を除き、最初のリビジョンは、常に Amazon MQ がブローカーを作成する時に作成されます。

   **[*MyBroker*]** ページに、設定が使用するブローカーのエンジンタイプとバージョン (**RabbitMQ 3.xx.xx** など) が表示されます。

1. **[設定の詳細]** タブに、設定リビジョン番号、説明、およびブローカー設定が Cuttlefish 形式で表示されます。
**注記**  
現在の設定を編集すると、設定の新しいリビジョンが作成されます。

1. **[設定の編集]** を選択して、Cuttlefish 設定を変更します。

1. **[保存]** を選択します。

   [**Save revision**] (リビジョンの保存) ダイアログボックスが表示されます。

1. (オプション) `A description of the changes in this revision` を入力します。

1. **[保存]** を選択します。

   設定の新しいリビジョンが保存されます。
**重要**  
設定を変更しても、その変更はブローカーに直ちに適用*されません*。変更を適用するには、次のメンテナンスウィンドウまで待機するか、[ブローカーを再起動](amazon-mq-rebooting-broker.md)する必要があります。  
現在、設定を削除することはできません。

# 設定可能な値
<a name="configurable-values"></a>

 AWS マネジメントコンソールでブローカー設定ファイルを変更することで、以下のブローカー設定オプションの値を設定できます。

次の表で説明する値に加えて、Amazon MQ は、認証と認可、およびリソース制限に関連する追加のブローカー設定オプションをサポートしています。これらの設定オプションの詳細については、「」を参照してください。
+ [OAuth 2.0 の設定](configure-oauth2.md)
+ [LDAP 設定](configure-ldap.md)
+ [HTTP 設定](configure-http.md)
+ [SSL 設定](configure-ssl.md)
+ [mTLS 設定](configure-mtls.md)
+ [ARN サポート](arn-support-rabbitmq-configuration.md)
+ [リソースの制限](rabbitmq-resource-limits-configuration.md)
+ [AMQP クライアント SSL 設定](rabbitmq-amqp-client-ssl-configuration.md)


| 設定 | デフォルト値 | 推奨値 | 値 | 適用可能なバージョン | 説明 | 
| --- | --- | --- | --- | --- | --- | 
| consumer\$1timeout | 1800000 ミリ秒 (30 分) | 1800000 ミリ秒 (30 分) | 0～2,147,483,647 ミリ秒。Amazon MQ は値 0 もサポートしています。これは「無限」を意味します。 | すべてのバージョン | コンシューマーの配信承認のタイムアウト。コンシューマーが配信を受け付けない状況を検出するために使用されます。 | 
| heartbeat | 60 秒 | 60 秒 | 60～3600 秒 | すべてのバージョン | RabbitMQ で接続が利用できないと見なされるまでの時間を定義します。 | 
| management.restrictions.operator\$1policy\$1changes.disabled | true | true | true、false | すべてのバージョン | オペレーターポリシーへの変更を無効にします。この変更を行う場合は、HA プロパティを独自のオペレーターポリシーに含めることを強くお勧めします。 | 
| quorum\$1queue.property\$1equivalence.relaxed\$1checks\$1on\$1redeclaration | true | true | true、false | すべてのバージョン | TRUE に設定すると、アプリケーションはクォーラムキューを再宣言するときのチャネル例外を回避します。 | 
| secure.management.http.headers.enabled | true | true | true、false | すべてのバージョン | 変更不可能な HTTP セキュリティヘッダーを有効にします。 | 

## コンシューマーの配信承認の設定
<a name="configuring-consumer-delivery"></a>

consumer\$1timeout を設定して、コンシューマーが配信を受け付けないタイミングを検出できます。コンシューマーがタイムアウト値の時間内に承認を送信しない場合、チャネルは閉じられます。例えば、デフォルト値の 1800000 ミリ秒を使用している場合は、コンシューマーが 1800000 ミリ秒以内に配信承認を送信しないとチャネルが閉じられます。Amazon MQ は値 0 もサポートしています。これは「無限」を意味します。

## ハートビートの設定
<a name="configuring-heartbeat"></a>

ハートビートタイムアウトを設定すると、接続の中断や失敗が発生したときに検出できます。ハートビート値は、接続がダウンと見なされるまでの時間制限を定義します。

## オペレーターポリシーの設定
<a name="configuring-operator-policies"></a>

各仮想ホストのデフォルトのオペレーターポリシーには、以下の推奨される HA プロパティがあります。

```
{
"name": "default_operator_policy_AWS_managed",
"pattern": ".*",
"apply-to": "all",
"priority": 0,
"definition": {
"ha-mode": "all",
"ha-sync-mode": "automatic"
}
}
```

 AWS マネジメントコンソール または Management API を介したオペレーターポリシーの変更は、デフォルトでは利用できません。ブローカー設定に次の行を追加することで変更を有効にすることができます。

```
management.restrictions.operator_policy_changes.disabled=false
```

この変更を行う場合は、HA プロパティを独自のオペレーターポリシーに含めることを強くお勧めします。

## キューの宣言時の緩和チェックの設定
<a name="configuring-relaxed-checks"></a>

クラシックキューをクォーラムキューに移行してもクライアントコードを更新していない場合は、quorum\$1queue.property\$1equivalence.relaxed\$1checks\$1on\$1redeclaration を true に設定することで、クォーラムキューを再宣言するときにチャネル例外を回避できます。

## HTTP セキュリティヘッダーの設定
<a name="configuring-http-security"></a>

secure.management.http.headers.enabled 設定では、次の HTTP セキュリティヘッダーが有効になります。
+ [X-Content-Type-Options: nosniff:](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options) ブラウザによるコンテンツスニッフィングの実行を防ぎます。コンテンツスニッフィングは、ウェブサイトのファイル形式を推定するために使用されるアルゴリズムです。
+ [X-Frame-Options: DENY:](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) 第三者が独自のウェブサイト上のフレームに管理プラグインを埋め込んで他者をだますことを防ぎます。
+ [Strict-Transport-Security: max-age=47304000; includeSubDomains:](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security) ウェブサイトとそのサブドメインに接続を行うときに、今後長期間 (1.5 年) にわたって HTTPS を使用するようにブラウザに強制します。

バージョン 3.10 以降で作成された Amazon MQ for RabbitMQ ブローカーは、デフォルトで secure.management.http.headers.enabled が true に設定されます。これらの HTTP セキュリティヘッダーを有効にするには、secure.management.http.headers.enabled を true に設定します。これらの HTTP セキュリティヘッダーをオプトアウトする場合は、secure.management.http.headers.enabled を false に設定します。

# OAuth 2.0 認証と認可の設定
<a name="configure-oauth2"></a>

OAuth 2.0 設定オプションとブローカーの OAuth 2.0 認証の設定については、[「サポートされている OAuth 2.0 設定](oauth-for-amq-for-rabbitmq.md#oauth-tutorial-supported-configs)」および[OAuth 2.0 認証と認可の使用](oauth-tutorial.md)」を参照してください。

# LDAP 認証と認可の設定
<a name="configure-ldap"></a>

LDAP 設定オプションとブローカーの LDAP 認証の設定については、[「サポートされている LDAP 設定](ldap-for-amq-for-rabbitmq.md#ldap-supported-configs)」および「」を参照してください[LDAP 認証と認可の使用](rabbitmq-ldap-tutorial.md)。

# HTTP 認証と認可の設定
<a name="configure-http"></a>

HTTP 認証設定値とブローカーの HTTP 認証の設定については、[「HTTP 認証と認可](http-for-amq-for-rabbitmq.md)」および「」を参照してください[HTTP 認証と認可の使用](rabbitmq-http-tutorial.md)。

**注記**  
HTTP 認証プラグインは、Amazon MQ for RabbitMQ バージョン 4 以降でのみ使用できます。

# SSL 証明書認証の設定
<a name="configure-ssl"></a>

SSL 証明書認証の設定値とブローカーの SSL 証明書認証の設定については、[「SSL 証明書認証](ssl-for-amq-for-rabbitmq.md)」および「」を参照してください[SSL 証明書認証の使用](rabbitmq-ssl-tutorial.md)。

**注記**  
SSL 証明書認証プラグインは、Amazon MQ for RabbitMQ バージョン 4 以降でのみ使用できます。

# mTLS の設定
<a name="configure-mtls"></a>

Amazon MQ for RabbitMQ は、さまざまなエンドポイントや外部サービスへの安全な接続のための相互 TLS (mTLS) をサポートしています。mTLS は、クライアントとサーバーの両方に証明書を使用した認証を要求することで、セキュリティを強化します。

**注記**  
mTLS のプライベート認証機関の使用は、Amazon MQ for RabbitMQ バージョン 4 以降でのみ使用できます。

**重要**  
Amazon MQ for RabbitMQ は、証明書とプライベートキーファイルに対して AWS ARNs の使用を強制します。詳細については、[RabbitMQ 設定の ARN サポート](arn-support-rabbitmq-configuration.md)を参照してください。

**Topics**
+ [AMQP エンドポイント](#mtls-amqp-endpoint)
+ [RabbitMQ 管理プラグイン](#mtls-management-plugin)
+ [RabbitMQ OAuth 2.0 プラグイン](#mtls-oauth2-plugin)
+ [RabbitMQ HTTP 認証プラグイン](#mtls-http-plugin)
+ [RabbitMQ LDAP プラグイン](#mtls-ldap-plugin)
+ [AMQP クライアント接続](#mtls-amqp-client)

## AMQP エンドポイント
<a name="mtls-amqp-endpoint"></a>

AMQP エンドポイントへのクライアント接続に mTLS を設定します。これは SSL 証明書認証で使用されます。サポートされている設定については、「」を参照してください[SSL 証明書認証](ssl-for-amq-for-rabbitmq.md)。

## RabbitMQ 管理プラグイン
<a name="mtls-management-plugin"></a>

RabbitMQ 管理インターフェイスへの接続用に mTLS を設定します。

**注記**  
厳格な mTLS は、 管理 API ではサポートされていません。

`aws.arns.management.ssl.cacertfile`  
管理インターフェイスに接続するクライアント証明書を検証するための認証機関ファイル。

`management.ssl.verify`  
ピア検証モード。サポートされている値: `verify_none`、 `verify_peer`

`management.ssl.depth`  
検証のための証明書チェーンの最大深度。

`management.ssl.hostname_verification`  
ホスト名検証モード。サポートされている値: `wildcard`、 `none`

以下の SSL 設定値はサポートされていません。

### 完全なリストを表示する
<a name="management-ssl-options-list-content"></a>
+ `management.ssl.cert`
+ `management.ssl.client_renegotiation`
+ `management.ssl.dh`
+ `management.ssl.dhfile`
+ `management.ssl.fail_if_no_peer_cert`
+ `management.ssl.honor_cipher_order`
+ `management.ssl.honor_ecc_order`
+ `management.ssl.key.RSAPrivateKey`
+ `management.ssl.key.DSAPrivateKey`
+ `management.ssl.key.PrivateKeyInfo`
+ `management.ssl.log_alert`
+ `management.ssl.password`
+ `management.ssl.psk_identity`
+ `management.ssl.reuse_sessions`
+ `management.ssl.secure_renegotiate`
+ `management.ssl.versions.$version`
+ `management.ssl.sni`

## RabbitMQ OAuth 2.0 プラグイン
<a name="mtls-oauth2-plugin"></a>

Amazon MQ から OAuth 2.0 ID プロバイダーへの接続用に mTLS を設定します。サポートされている設定については、「」を参照してください[OAuth 2.0 の認証と認可](oauth-for-amq-for-rabbitmq.md)。

## RabbitMQ HTTP 認証プラグイン
<a name="mtls-http-plugin"></a>

Amazon MQ から HTTP 認証サーバーへの接続に mTLS を設定します。サポートされている設定については、「」を参照してください[HTTP 認証と認可](http-for-amq-for-rabbitmq.md)。

## RabbitMQ LDAP プラグイン
<a name="mtls-ldap-plugin"></a>

Amazon MQ から LDAP サーバーへの接続用に mTLS を設定します。サポートされている設定については、「」を参照してください[LDAP 認証と認可](ldap-for-amq-for-rabbitmq.md)。

## AMQP クライアント接続
<a name="mtls-amqp-client"></a>

フェデレーションとシャベルで使用される AMQP クライアント接続の TLS ピア検証を設定します。詳細については、[「AMQP クライアント SSL 設定](rabbitmq-amqp-client-ssl-configuration.md)」を参照してください。

**重要**  
Amazon MQ は現在、AMQP クライアント接続のクライアント証明書の設定をサポートしていません。そのため、フェデレーションとシャベルは、クライアント証明書認証を必要とする mTLS 対応ブローカーに接続できません。

# リソース制限の設定
<a name="configure-resource-limits"></a>

Amazon MQ for RabbitMQ は、RabbitMQ 4 以降のブローカーリソース制限の設定をサポートしています。ブローカーを作成すると、Amazon MQ はこれらのリソース制限にデフォルト値を自動的に適用します。これらのデフォルトは、一般的な顧客使用パターンに対応しながらブローカーの可用性を保護するためのガードレールとして機能します。特定のワークロード要件に合わせて制限設定値を変更することで、ブローカーの動作をカスタマイズできます。デフォルトと最大許容値の詳細については、「」を参照してください[Amazon MQ for RabbitMQ のサイズ設定ガイドライン](rabbitmq-sizing-guidelines.md)。

## リソース名と設定キー
<a name="resource-limit-configuration-keys"></a>


| リソース名 | 設定キー | 
| --- | --- | 
| 接続 | connection\$1max | 
| [チャネル] | channel\$1max\$1per\$1node | 
| [キュー] | cluster\$1queue\$1limit | 
| Vhost | vhost\$1max | 
| シャベル | runtime\$1parameters.limits.shovel | 
| Exchange | cluster\$1exchange\$1limit | 
| チャネルあたりのコンシューマー | consumer\$1max\$1per\$1channel | 
| 最大メッセージサイズ (MB) | max\$1message\$1size | 

## リソース制限を上書きする方法
<a name="override-resource-limits"></a>

Amazon MQ API と Amazon MQ コンソールを使用してリソース制限を上書きできます。

次の例は、 を使用してキュー数のデフォルト制限を上書きする方法を示しています AWS CLI。

```
aws mq update-configuration --configuration-id <config-id> --data "$(echo "cluster_queue_limit=500" | base64 --wrap=0)"
```

呼び出しが成功すると、設定リビジョンが作成されます。設定を RabbitMQ ブローカーに関連付け、ブローカーを再起動してオーバーライドを適用する必要があります。詳細については、「」を参照してください。 [RabbitMQ Broker Configurations](rabbitmq-broker-configuration-parameters.md)

## リソース制限オーバーライドエラー
<a name="resource-limit-override-errors"></a>

ブローカーをサポートされている範囲外の設定値に関連付けたり作成したりすると、次のようなエラーレスポンスが発生します。

```
Configuration Revision N for configuration:cluster_queue_limit has limit: of value: 100000000 larger than maximum allowed limit:5000
```

# RabbitMQ 設定での ARN サポート
<a name="arn-support-rabbitmq-configuration"></a>

Amazon MQ for RabbitMQ は、一部の RabbitMQ 設定の値の AWS ARNs をサポートしています。これは、RabbitMQ コミュニティプラグイン [rabbitmq-aws](https://github.com/amazon-mq/rabbitmq-aws) によって有効になります。このプラグインは Amazon MQ によって開発および保守されており、Amazon MQ によって管理されていないセルフホスト RabbitMQ ブローカーでも使用できます。 Amazon MQ

**重要な考慮事項**  
aws プラグインによって取得された解決された ARN 値は、実行時に RabbitMQ プロセスに直接渡されます。RabbitMQ ノードの他の場所には保存されません。
Amazon MQ for RabbitMQ には、設定された ARNs にアクセスするために Amazon MQ が引き受けることができる IAM ロールが必要です。これは、 を設定することによって設定されます`aws.arns.assume_role_arn`。
IAM ロールを含むブローカー設定で CreateBroker または UpdateBroker APIs を呼び出すユーザーには、そのロールに対する `iam:PassRole` アクセス許可が必要です。
IAM ロールは、RabbitMQ ブローカーと同じ AWS アカウントに存在する必要があります。設定内のすべての ARNs は、RabbitMQ ブローカーと同じ AWS リージョンに存在する必要があります。
Amazon MQ は、IAM ロールを引き受ける`aws:SourceArn`ときに IAM グローバル条件キー`aws:SourceAccount`と を追加します。これらの値は、[混乱した代理保護](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)のためにロールにアタッチされた IAM ポリシーで使用する必要があります。

**Topics**
+ [サポートされるキー](#arn-support-supported-keys)
+ [IAM ポリシーのサンプル](#arn-support-iam-policy-samples)
+ [アクセス検証](#arn-support-validation)
+ [関連するブローカーの隔離状態](#arn-support-quarantine-states)
+ [シナリオの例](#arn-support-example-scenario)

## サポートされるキー
<a name="arn-support-supported-keys"></a>

`aws.arns.assume_role_arn`  
Amazon MQ が他の AWS リソースにアクセスするために引き受ける IAM ロール ARN。他の ARN 設定を使用する場合に必要です。

### AMQP エンドポイント
<a name="arn-support-amqp-endpoint"></a>


| 設定キー | 説明 | 
| --- | --- | 
| aws.arns.ssl\$1options.cacertfile | SSL/TLS クライアント接続の認証機関ファイル。Amazon MQ では、Amazon S3 または を使用して証明書を保存する必要があります。 | 

### RabbitMQ 管理プラグイン
<a name="arn-support-management-plugin"></a>


| 設定キー | 説明 | 
| --- | --- | 
| aws.arns.management.ssl.cacertfile | 管理インターフェイス SSL/TLS 接続の認証機関ファイル。Amazon MQ では、Amazon S3 または を使用して証明書を保存する必要があります。 | 

### RabbitMQ OAuth 2.0 プラグイン
<a name="arn-support-oauth2-plugin"></a>


| 設定キー | 説明 | 
| --- | --- | 
| aws.arns.auth\$1oauth2.https.cacertfile | OAuth 2.0 HTTPS 接続の認証機関ファイル。Amazon MQ では、Amazon S3 または を使用して証明書を保存する必要があります。 | 

### RabbitMQ HTTP 認証プラグイン
<a name="arn-support-http-plugin"></a>


| 設定キー | 説明 | 
| --- | --- | 
| aws.arns.auth\$1http.ssl\$1options.cacertfile | HTTP 認証 SSL/TLS 接続の認証機関ファイル。Amazon MQ では、Amazon S3 または を使用して証明書を保存する必要があります。 | 
| aws.arns.auth\$1http.ssl\$1options.certfile | Amazon MQ と HTTP 認証サーバー間の相互 TLS 接続用の証明書ファイル。Amazon MQ では、Amazon S3 または を使用して証明書を保存する必要があります。 | 
| aws.arns.auth\$1http.ssl\$1options.keyfile | Amazon MQ と HTTP 認証サーバー間の相互 TLS 接続用のプライベートキーファイル。Amazon MQ では AWS Secrets Manager 、 を使用してプライベートキーを保存する必要があります。 | 

### RabbitMQ LDAP プラグイン
<a name="arn-support-ldap-plugin"></a>


| 設定キー | 説明 | 
| --- | --- | 
| aws.arns.auth\$1ldap.ssl\$1options.cacertfile | LDAP SSL/TLS 接続の認証機関ファイル。Amazon MQ では、Amazon S3 または を使用して証明書を保存する必要があります。 | 
| aws.arns.auth\$1ldap.ssl\$1options.certfile | Amazon MQ と LDAP サーバー間の相互 TLS 接続用の証明書ファイル。Amazon MQ では、Amazon S3 または を使用して証明書を保存する必要があります。 | 
| aws.arns.auth\$1ldap.ssl\$1options.keyfile | Amazon MQ と LDAP サーバー間の相互 TLS 接続用のプライベートキーファイル。Amazon MQ では AWS Secrets Manager 、 を使用してプライベートキーを保存する必要があります。 | 
| aws.arns.auth\$1ldap.dn\$1lookup\$1bind.password | LDAP DN ルックアップバインドのパスワード。Amazon MQ では AWS Secrets Manager 、 を使用してパスワードをプレーンテキスト値として保存する必要があります。 | 
| aws.arns.auth\$1ldap.other\$1bind.password | LDAP の他のバインドのパスワード。Amazon MQ では AWS Secrets Manager 、 を使用してパスワードをプレーンテキスト値として保存する必要があります。 | 

## IAM ポリシーのサンプル
<a name="arn-support-iam-policy-samples"></a>

ロールの引き受けポリシードキュメントやロールポリシードキュメントを含む IAM ポリシーの例については、[CDK サンプル実装](https://github.com/aws-samples/amazon-mq-samples/blob/main/rabbitmq-samples/rabbitmq-ldap-activedirectory-sample/lib/rabbitmq-activedirectory-stack.ts#L232)を参照してください。

 AWS Secrets Manager と Amazon S3 リソースをセットアップする手順[LDAP 認証と認可の使用](rabbitmq-ldap-tutorial.md)については、「」を参照してください。

## アクセス検証
<a name="arn-support-validation"></a>

ARN 値を取得できないシナリオをトラブルシューティングするために、aws プラグインは、Amazon [MQ がロールと resolveARN を正常に引き受けることができるかどうかを確認するために呼び出すことができる RabbitMQ 管理 API エンドポイント](https://github.com/amazon-mq/rabbitmq-aws/blob/main/API.md)をサポートしています。 Amazon MQ AWS ARNs これにより、ブローカー設定を更新したり、新しい設定リビジョンでブローカーを更新したり、設定変更をテストするためにブローカーを再起動したりする必要がなくなります。

**注記**  
この API を使用するには、既存の RabbitMQ 管理者ユーザーが必要です。Amazon MQ では、他のアクセス方法に加えて、内部ユーザーを使用してテストブローカーを作成することをお勧めします。[OAuth 2.0 と簡易 (内部) 認証の両方を有効にする](oauth-tutorial.md#oauth-tutorial-config-both-auth-methods-using-cli)を参照してください。その後、このユーザーを使用して検証 API にアクセスできます。

**注記**  
aws プラグインは検証 API への入力として新しいロールを渡すことをサポートしていますが、このパラメータは Amazon MQ ではサポートされていません。検証に使用する IAM ロールは、ブローカー設定`aws.arns.assume_role_arn`の の値と一致する必要があります。

## 関連するブローカーの隔離状態
<a name="arn-support-quarantine-states"></a>

ARN サポートの問題に関連するブローカーの隔離状態については、以下を参照してください。
+ [RABBITMQ\$1INVALID\$1ASSUMEROLE](troubleshooting-action-required-codes-invalid-assumerole.md)
+ [RABBITMQ\$1INVALID\$1ARN\$1LDAP](troubleshooting-action-required-codes-invalid-arn-ldap.md)
+ [RABBITMQ\$1INVALID\$1ARN](troubleshooting-action-required-codes-invalid-arn.md)

## シナリオの例
<a name="arn-support-example-scenario"></a>
+ ブローカー`b-f0fc695e-2f9c-486b-845a-988023a3e55b`は、IAM ロールを使用して AWS Secrets Manager シークレット`<role>`にアクセスするように設定されています `<arn>`
+ Amazon MQ に提供されたロールに AWS Secrets Manager シークレットに対する読み取りアクセス許可がない場合、RabbitMQ ログに次のエラーが表示されます。

  ```
  [error] <0.254.0> aws_arn_config: {handle_assume_role,{error,{assume_role_failed,"AWS service is unavailable"}}}
  ```

  さらに、ブローカーは`INVALID_ASSUMEROLE`隔離状態になります。詳細については、[「INVALID\$1ASSUMEROLE](troubleshooting-action-required-codes-invalid-assumerole.md)」を参照してください。
+ LDAP 認証の試行は、次のエラーで失敗します。

  ```
  [error] <0.254.0> LDAP bind failed: invalid_credentials
  ```
+ 適切なアクセス許可を持つ IAM ロールを修正する
+ 検証エンドポイントを呼び出して、RabbitMQ がシークレットにアクセスできるかどうかを確認します。

  ```
  curl -4su 'guest:guest' -XPUT -H 'content-type: application/json' <broker-endpoint>/api/aws/arn/validate -d '{"assume_role_arn":"arn:aws:iam::<account-id>:role/<role-name>","arns":["arn:aws:secretsmanager:<region>:<account-id>:secret:<secret-name>"]}' | jq '.'
  ```

# AMQP クライアント SSL 設定
<a name="rabbitmq-amqp-client-ssl-configuration"></a>

 フェデレーションとシャベルは、アップストリームブローカーとダウンストリームブローカー間の通信に AMQP を使用します。デフォルトでは、*TLS ピア検証*は Amazon MQ for RabbitMQ 4 の AMQP クライアントで有効になっています。この設定では、Amazon MQ ブローカーで実行されているフェデレーションおよびシャベル AMQP クライアントは、アップストリームブローカーとの接続を確立するときにピア検証を実行します。

 Amazon MQ ブローカーで実行されている AMQP クライアントは、Mozilla と同じ認証機関をサポートしています。[ACM](https://www.amazontrust.com/repository) を使用しない場合は、[Mozilla Included CA Certificate List の CA によって発行された証明書](https://wiki.mozilla.org/CA/Included_Certificates)を使用します。オンプレミスブローカーが他の認証機関の証明書を使用する場合、SSL 検証は失敗します。これらのユースケースでは、*TLS ピア検証*を無効にすることができます。

**重要**  
Amazon MQ は現在、AMQP クライアント接続のクライアント証明書の設定をサポートしていません。そのため、フェデレーションとシャベルは、クライアント証明書認証を必要とする mTLS 対応ブローカーに接続できません。

**重要**  
 Amazon MQ for RabbitMQ 3 では、AMQP クライアントの SSL プロパティは RabbitMQ defaults*(verify\$1none)* で設定されます。Amazon MQ for RabbitMQ 3 では、これらのデフォルトを上書きすることはできません。

**注記**  
`verify_peer` デフォルト設定では、任意の 2 つの Amazon MQ ブローカー間のフェデレーション接続とシャベル接続を確立できますが、Amazon MQ ブローカーとプライベートブローカー、または Amazon MQ CA 以外の証明書で実行されているオンプレミスブローカー間の接続の確立はサポートされていません。プライベートブローカーまたはオンプレミスブローカーに接続するには、ダウンストリーム Amazon MQ ブローカーでピア検証を無効にする必要があります。

## AMQP クライアント SSL 設定キー
<a name="amqp-client-ssl-configuration-keys"></a>


| 設定 | 設定キー | サポートされる値 | 
| --- | --- | --- | 
| AMQP クライアント SSL ピア検証 | amqp\$1client.ssl\$1options.verify | verify\$1none, verify\$1peer | 

## AMQP クライアント SSL ピア検証を上書きする方法
<a name="override-amqp-client-ssl-peer-verification"></a>

RabbitMQ 4 ブローカーの Amazon MQ API と Amazon MQ コンソールを使用して、AMQP クライアントの SSL ピア検証を上書きできます。

次の例は、 を使用して AMQP クライアント SSL ピア検証を上書きする方法を示しています AWS CLI。

```
aws mq update-configuration --configuration-id <config-id> --data "$(echo "amqp_client.ssl_options.verify=verify_none" | base64 --wrap=0)"
```

呼び出しが成功すると、設定リビジョンが作成されます。設定を RabbitMQ ブローカーに関連付け、ブローカーを再起動してオーバーライドを適用する必要があります。詳細については、「」を参照してください。 [Creating and applying broker configurations](rabbitmq-creating-applying-configurations.md)

**重要**  
を使用する場合`verify_none`、SSL 暗号化は引き続きアクティブですが、ピアの ID は検証されません。この設定は必要な場合にのみ使用し、送信先ブローカーへのネットワークパスを信頼してください。