Amazon Message Queue の設定

Commerce 2.4.3 以降、オンプレミスのメッセージキューインスタンスの代わりに、Amazon Message Queue (MQ)をクラウド対応として使用できるようになりました。

AWSでメッセージキューを作成するには、AWS ドキュメントの Amazon MQ の設定を参照してください

Commerce for AWS MQ の設定

AWS MQ サービスに接続するには、env.php ファイルで queue.amqp オブジェクトを設定します。
AWS Message Queue には SSL/TLS 接続が必要です。

'queue' => [
    'amqp' => [
        'host' => '[host]', //example: c-bf4kk1c5-5gcc-4b43-9b9e-8f5b54d234.mq.us-west-3.amazonaws.com
        'port' => 5671,
        'user' => 'yourusername',
        'password' => 'yourpassword',
        'virtualhost' => '/',

        // AWS fields to add
        'ssl' => 'true'
    ]
],

ここで、

  • host - AMQP エンドポイントの URL。AWSでブローカ名をクリックすると使用可能になります(「https://」と末尾のポート番号を削除します)
  • user - AWS MQ ブローカの作成時に入力されたユーザ名の値
  • password - AWS MQ ブローカーの作成時に入力されたパスワード値
INFO
Amazon MQ は、TLS 接続のみをサポートしています。 ピアの検証はサポートされていません。

env.php ファイルを編集した後、次のコマンドを実行してセットアップを完了します。

bin/magento setup:upgrade

CommerceでのAWS MQ サービスの使用方法

async.operations.all メッセージ キューコンシューマーは、AMQP 接続を使用します。

このコンシューマーは、プレフィックスが async の任意のトピック名をAWS MQ 接続を介してルーティングします。

例えば、InventoryCatalog には次のものがあります。

async.V1.inventory.bulk-product-source-assign.POST
async.V1.inventory.bulk-product-source-unassign.POST
async.V1.inventory.bulk-product-source-transfer.POST

InventoryCatalog のデフォルトの設定では、メッセージは RabbitMQ に公開されません。デフォルトの動作では、同じユーザースレッドでアクションを実行します。 メッセージを公開するように InventoryCatalog に指示するには、cataloginventory/bulk_operations/async を有効にします。 管理者で、ストア/設定/カタログ/在庫/管理者の一括操作に移動し、「Run asynchronouslyはい」に設定します。

メッセージキューのテスト

Commerceから RabbitMQ へのメッセージ送信をテストするには:

  1. キューを監視するには、AWSで RabbitMQ web コンソールにログインします。

  2. 管理者で、製品を作成します。

  3. 在庫ソースの作成。

  4. ストア/設定/カタログ/在庫/管理者の一括操作/非同期で実行を有効にします。

  5. カタログ/製品に移動します。 グリッドから、上記で作成した商品を選択し、「在庫の割り当てSource」をクリックします。

  6. 保存して閉じる」をクリックして、プロセスを完了します。

    これで、メッセージが RabbitMQ web コンソールに表示されます。

  7. async.operations.all メッセージキューコンシューマーを起動します。

    code language-bash
    bin/magento queue:consumers:start async.operations.all
    

これで、キューに入れられたメッセージが RabbitMQ web コンソールで処理されたことを確認できます。
管理画面で、製品の在庫ソースが変更されていることを確認します。

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c