1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWS EC2環境でDataPowerのマルチキャスト通信を試してみた

Last updated at Posted at 2022-06-03

はじめに

DataPowerは、ゲートウェイ機能を提供し、社内システムを外部に安全に公開する際に使われます。その際には、社内システムを守るため、外部からの流量を制御をしたいという要件がでることがあります。DataPowerで複数台でクラスター構成する場合には、この流量制御情報をクラスター内で共有するため、SLMピア・グループを設定する方法があります。

SLMピア・グループの設定では、クラスター内の通信方法として、ユニキャスト、または、マルチキャストを選択することができます。しかし、AWSをはじめとしたパブリッククラウド環境では、マルチキャストなどの通信が許可されていません。ただ、AWSでは、マルチキャスト通信を使用する方法として、AWS Transit Gateway機能が提供されています。

この記事では、AWS Transit Gatewayを使用して、EC2 DataPowerクラスター環境でSLMピア・グループ(マルチキャスト)を実装・動作検証した内容を紹介します。

Transit Gatewayでマルチキャストを使用する場合には、構成に影響するConsiderationsがありますので、事前に確認が必要になります。

今回の検証では、機能の稼働を確認できましたが、この構成が製品としてサポートされるかはIBMへ確認中ですのでご注意ください。

1 AWS EC2環境のセットアップ

1.1 EC2の払い出し

詳細は割愛しますが、今回は、以下のような点に注意してセットアップしています。
1つ目のEC2インスタンスはカタログAMIからセットアップする必要がありますが、2つ目のインスタンスは1つ目のEC2インスタンスのイメージを作成して複製起動することができます。

設定項目 注意点
Amazonマシンイメージ(AMI) RHEL7のイメージを選択
インスタンスタイプ t3.xlargeなどのNitroタイプを選択
ネットワーク設定 複数のDataPower間で通信するポート(5550など)と、マルチキャストで使用するポートを許可する

1.2 EC2 OS設定

EC2 Linuxでは、デフォルトではIGMP v3が有効化されていますが、Transit Gatewayではv2のみサポートされます。OSの設定でIGMP v2を使用するように変更します(参考)。

[root@ip-172-31-**-** ~]# echo "2" > /proc/sys/net/ipv4/conf/eth0/force_igmp_version

[root@ip-172-31-**-** ~]# cat  /etc/sysctl.conf
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
net.ipv4.conf.eth0.force_igmp_version = 2

[root@ip-172-31-**-** ~]# sysctl -p
net.ipv4.conf.eth0.force_igmp_version = 2

[root@ip-172-31-80-162 ~]# cat /proc/net/igmp
Idx     Device    : Count Querier       Group    Users Timer    Reporter
1       lo        :     3      V3
                                010101EF     1 0:00000000               0
                                020101EF     1 0:00000000               0
                                010000E0     1 0:00000000               0
2       eth0      :     2      V2
                                640000EF     1 0:00000000               1
                                010000E0     1 0:00000000               0

2 EC2へのDataPowerインストール・設定

2.1 DataPower for Linuxのインストール

こちらの記事の手順でインストールします。
今回も、DataPower v10.0.4モジュールを使用しています。

2.2 DataPowerへのSLM設定

こちらの手順を参考にSLMピア・グループを設定していきます。
以下に主要な設定箇所の画面を記載します。

defaultドメインでのXML Management Interface有効化例

image.png

アプリケーション・ドメインでのPeer Group設定例

2つのEC2インスタンスのプライベートIPアドレスを設定します(2つ目のインスタンス起動後に設定します)。

image.png

アプリケーション・ドメインでのIPマルチキャスト設定例

グループアドレスやポートは一例ですので、お使いの環境に応じて設定してください。このグループアドレスは、後続のVPCセットアップで通信設定を行います。

image.png

以上で1つ目のEC2インスタンスの設定は完了となります。
このインスタンス・イメージからAMIを作成し、2つ目のインスタンスを起動します。

3 AWS VPC環境セットアップ

3.1 Transit Gateway設定

こちらの手順にそってTransit Gateway設定を実施します。

以下はマルチキャストドメインの設定例です。

image.png

グループ・メンバーは以下のようにIGMPによって自動で追加されます。

image.png

4 動作確認

以上で設定は完了です。
これで2台のEC2 DataPower間で流量制御情報が同期されます。

4.0 テスト環境準備

DataPowerでの動作テストのため、以下のような設定を実施します。
サンプルのアプリケーション・ドメインの構成定義をこちらで公開しています。

  • アプリケーション・ドメイン
  • マルチ・プロトコル・ゲートウェイ
  • 処理ポリシー(この中でSLMピア・グループ設定を使用)

4.1 API呼び出し例

1号機に流量を越えてAPIを呼び出すと429が返るようになります。
その後、2号機へAPI呼び出しを実施しても1号機での流量情報が同期されているため429が返ります。
以下は、今回の検証で設定した応答例です。

curl -ki https://**.**.**.**:9443/coffee/iced
HTTP/1.1 429 Too Many Requests
Content-Type: application/problem+json
Content-Language: en
X-Backside-Transport: FAIL FAIL
Connection: close

{"title":"429 Too Many Requests","status":429,"detail":"Temporarily our service limited the requests rates, please try again after a few m
inutes.","instance":"","dateTime":"","origin":"API Platform PrgOrg00 Proxy"}

4.2 SLMピア・グループ状況確認

SLMピア・グループが動作しているかはSLM Peering Statusで確認することができます。
ここまでの設定でマルチキャスト通信ができていれば、以下のようにピアとなるDataPowerが表示されます。

image.png

以上です。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?