25.2. S3_PING 設定オプション
Red Hat JBoss Data Grid は Amazon Web Services と 2 通りの方法で連動します。
- ライブラリーモードでは、JGroups の
jgroups-ec2.xmlファイル (さらに詳しくは 「jgroups-ec2.xml」 を参照してください) またはS3_PINGプロトコルを使用します。 - リモートクライアントサーバーモードでは、JGroups の
S3_PINGプロトコルを使用します。
ライブラリーおよびリモートクライアントサーバーモードでは、Amazon AWS で機能するようにクラスター化するために
S3_PING プロトコルを設定する方法として 3 つの方法があります。
- プライベート S3 バケットを使用します。これらのバケットは Amazon AWS の認証情報を使用します。
- 事前署名付き URL を使用します。これらの事前に割り当てられる URL は、プライベートの書き込みアクセスとパブリックの読み取りアクセスを持つバケットに割り当てられます。
- パブリック S3 バケットを使用します。これらのバケットには認証情報がありません。
25.2.1. プライベート S3 バケットの使用 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
この設定には、適切な AWS 認定情報によってのみアクセスできるプライベートバケットへのアクセスが必要です。適切な権限が利用できることを確認するには、ユーザーにバケットの以下の権限があることを確認してください。
- List
- Upload/Delete
- View Permissions
- Edit Permissions
S3_PING 設定には以下のプロパティーが含まれることを確認してください。
- バケットを指定するための
locationまたはprefixプロパティーのいずれか(これら両方ではない)。prefixプロパティーが設定される場合、S3_PINGはプレフィックス値で始まる名前を持つバケットを検索します。名前の先頭にプレフィックスのあるバケットが見つかる場合、S3_PINGはそのバケットを使用します。プレフィックスのあるバケットが見つからない場合、S3_PINGは AWS 認証情報を使用してバケットを作成し、その名前をプレフィックスと UUID に基づいて設定します (名前の形式は {prefix value}-{UUID})。 - AWS ユーザーには
access_keyとsecret_access_keyプロパティー。
注記
この設定の使用時に
403 エラーが表示される場合、プロパティーに正しい値があることを検証してください。問題が存続する場合、EC2 ノードのシステム時間が正しいことを確認してください。Amazon S3 は、セキュリティー上の理由により、サーバーの時間よりも 15 分を超える遅れがあるタイムスタンプを持つ要求を拒否します。
例25.1 プライベートバケットの使用による Red Hat JBoss Data Grid サーバーの起動
サーバーディレクトリーの上位レベルから次のコマンドを実行して、プライベート S3 バケットを使用して Red Hat JBoss Data Grid サーバーを起動します。
bin/clustered.sh -Djboss.bind.address={server_ip_address} -Djboss.bind.address.management={server_ip_address} -Djboss.default.jgroups.stack=s3 -Djgroups.s3.bucket={s3_bucket_name} -Djgroups.s3.access_key={access_key} -Djgroups.s3.secret_access_key={secret_access_key}
bin/clustered.sh -Djboss.bind.address={server_ip_address} -Djboss.bind.address.management={server_ip_address} -Djboss.default.jgroups.stack=s3 -Djgroups.s3.bucket={s3_bucket_name} -Djgroups.s3.access_key={access_key} -Djgroups.s3.secret_access_key={secret_access_key}
- {server_ip_address} をサーバーの IP アドレスに置き換えます。
- {s3_bucket_name} を適切なバケット名に置き換えます。
- {access_key} をユーザーのアクセスキーに置き換えます。
- {secret_access_key} をユーザーの秘密アクセスキーに置き換えます。