Valkey: はじめに
Valkeyのクイックスタートガイド
👋 Stackheroのドキュメントへようこそ!
Stackheroは、数多くの利点を提供するValkeyクラウドソリューションをすぐに利用できる形で提供しています。
Redis CommanderWeb UIが含まれています。- メッセージサイズと転送が無制限。
- ワンクリックで簡単にアップデート。
- プライベートで専用のVMによる最適なパフォーマンスと強力なセキュリティ。
時間を節約し、生活を簡素化:StackheroのValkeyクラウドホスティングソリューションを試すのに5分しかかかりません!
Valkeyは、Redisに基づいた強力で非常に高速なインメモリデータベースです。Redisがオープンソースモデルから移行する中で、Valkeyはコミュニティといくつかの企業から生まれた堅牢なオープンソースの代替品です。Redisライブラリとシームレスに統合され、理想的な代替品となります。
Valkeyは多目的で、キャッシングシステム、キー/バリューデータベース、リアルタイムデータソート、イベントシステムのようなパブリッシュ/サブスクライブキューとして機能します。
Valkeyインスタンスへの接続を支援するために、いくつかのコード例を用意しました。以下のGitリポジトリで自由に探索してください:https://github.com/stackhero-io/valkeyGettingStarted。
RubyとRuby on RailsでValkeyを使用する
Ruby on RailsのキャッシュシステムとしてValkeyを設定する
まず、次のコマンドでredis gemをインストールできます:
bundle add redis
次に、config/environments/production.rbファイルを開き、この行を追加します:
config.cache_store = :redis_cache_store, { url: ENV["VALKEY_URL"] }
その後、VALKEY_URL環境変数を設定する必要があります。以下は情報を使ったURLのフォーマット例です:
VALKEY_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
警告 デフォルトでは、キャッシュは本番環境でのみ有効です。開発環境でキャッシュをテストしたい場合は、
config/environments/development.rbファイルを変更し、上記の設定を追加し、config.action_controller.perform_caching = trueを設定してキャッシュを有効にします。キャッシュが機能するか確認する良い方法は、Railsコンソール(bin/rails consoleを使用)を開始し、Rails.cache.write("foo", "bar")で書き込みをテストすることです。
Ruby on RailsのキャッシュシステムとしてValkeyを設定する詳細情報については、公式Railsドキュメントはこちらを参照してください。
SidekiqでValkeyを設定する
Sidekiqは、REDIS_URL環境変数で設定されたValkeyサーバーを自動的に使用します。
REDIS_URL環境変数を以下のように情報で設定できます:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
SidekiqでValkeyを使用する詳細については、公式ドキュメントはこちらを参照してください。
ResqueでValkeyを設定する
Resqueは、REDIS_URL環境変数で定義されたValkeyサーバーを自動的に使用します。
REDIS_URL環境変数を以下のように情報で設定できます:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
ResqueでValkeyを使用する追加情報については、公式ドキュメントはこちらを参照してください。
PHPセッションをValkeyで管理する
Stackhero for ValkeyでPHPセッションを保存するために、以下のコードを使用できます:
<?php
// Valkey URLを解析
$valkey_url = parse_url('rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>');
// セッションハンドラを設定
ini_set('session.save_handler', 'redis');
ini_set('session.save_path', "tls://{$valkey_url['host']}:{$valkey_url['port']}?auth={$valkey_url['pass']}&timeout=5");
// セッションを開始
session_start();
?>
Valkeyのセキュリティを向上させる
Valkeyの設定のセキュリティを強化することは重要です。セキュリティを最大化するために実施できる重要な対策を2つ紹介します。
Valkeyとの通信を暗号化する(TLS)
デフォルトでは、Valkeyは通信を暗号化しません。しかし、StackheroではTLS暗号化が標準で提供されています。
この機能を活用するには、ValkeyクライアントをTLS暗号化を使用するように設定し、非暗号化の<PORT_CLEAR>ではなく、<PORT_TLS>ポートを使用してインスタンスに接続します。
追加の設定を心配する必要はありません。すべて準備されています。
Valkeyをブルートフォース攻撃から保護する
Valkeyインスタンスは、Stackheroによって自動的に設定された強力なパスワードで保護されています。変更する場合は、パスワードが非常に複雑であることを確認してください。
Valkeyは高速で、残念ながらブルートフォース攻撃に対する組み込みの保護がありません。攻撃者は1秒間に最大150,000のパスワード組み合わせを試みる可能性があります。
これを軽減するために、パスワードは少なくとも16文字(4.5231285e+74の可能性)である必要があり、デフォルトでは64文字のパスワード(9.61963e+111の可能性!)を設定しています。
セキュリティをさらに強化し、ブルートフォース攻撃を効果的に防ぐために、Stackheroのファイアウォール(「Firewall」タブでアクセス可能)を設定して、接続を自分のIPアドレスのみに制限することをお勧めします。これはセキュリティを大幅に強化する重要なステップです!