切替機構とリソース監視機構を構築する手順を説明します。
切替機構に必要なAWS Lambdaの設定方法を説明します。
“A.1.3.5.4 ブラックホールセキュリティグループに適用するルール”を参照し、ブラックホールセキュリティグループを作成します。
AWS Lambdaの実行ロールに指定するIAMロールを作成します。IAMロールは“A.1.5 ポリシーの設計”で設計したものを作成します。
「一から作成」オプションを選択し、以下の設定値を指定してLambda関数を作成します。
設定項目 | 値 |
---|---|
関数名 | Fujitsu-Pclswr-Function-Switcher-“任意の文字列” “任意の文字列”はVPCに一意な文字列を指定してください。“任意の文字列”は“A.1.2 システム構成”の“複数のリソースを作成する場面について”を参考に指定してください。関数名はAWSのルールに準拠してください。 |
ランタイム | Python 3.7 |
デフォルトの実行ロール | “実行ロールの作成”で作成したIAMロールを指定してください。 |
ネットワークを有効化 | チェックを入れない |
AWS Lambdaの関数を作成したあとに、続けて以下のタブにある設定を変更します。
コード
本ソフトウェアのDVDに格納されているLambda関数のzipファイルをアップロードします。
Lambda関数のzipファイルは下記の場所に格納されています。
Tool/pclswr/FJSVpcl-swr-switcher.zip
「ランタイム設定」にある「ハンドラ」に以下の値を設定してください。
設定項目 | 値 |
---|---|
ハンドラ | pclswr.lambda_handler |
設定
「一般設定」にある「タイムアウト」に以下の値を設定してください。
設定項目 | 値 |
---|---|
タイムアウト | 15分0秒 |
「環境変数」を表示して、以下の環境変数を追加してください。
キー | 値 |
---|---|
PCLSWR_SYSTEM_LIST | 切替機構で切替え対象として扱うクラスタノードの一覧を指定してください。複数のクラスタノードが存在する場合は、空白で区切ります。 |
PCLSWR_BLACKHOLE | ブラックホールセキュリティグループの識別子を指定してください。 |
切替機構とリソース監視機構に必要なAmazon EventBridgeの設定方法を説明します。
Amazon EventBridgeのルールを、以下の設定値で作成します。
分類 | 設定項目 | 値 |
---|---|---|
名前と説明 | 名前 | Fujitsu-Pclswr-Rule-InstanceStopped-“任意の文字列” “任意の文字列”はVPCに一意な文字列を指定してください。“任意の文字列”は“A.1.2 システム構成”の“複数のリソースを作成する場面について”を参考に指定してください。関数名はAWSのルールに準拠してください。 |
パターンを定義 | パターン | イベントパターン |
イベント一致パターン | サービスごとの事前定義パターン | |
サービスプロバイダー | AWS | |
サービス名 | EC2 | |
イベントタイプ | EC2 Instance State-change Notification | |
状態 | 特定の状態 | |
stopped | ||
インスタンス | 任意のインスタンス | |
ターゲットを選択 | ターゲット | Lambda関数 |
機能 | “A.2.4.1 AWS Lambdaの設定”で作成したLambda関数を指定してください。 |
分類 | 設定項目 | 値 |
---|---|---|
名前と説明 | 名前 | Fujitsu-Pclswr-Rule-CloudWatchStatusCheck-“任意の文字列” “任意の文字列”はVPCに一意な文字列を指定してください。“任意の文字列”は“A.1.2 システム構成”の“複数のリソースを作成する場面について”を参考に指定してください。関数名はAWSのルールに準拠してください。 |
パターンを定義 | パターン | イベントパターン |
イベント一致パターン | サービスごとの事前定義パターン | |
サービスプロバイダー | AWS | |
サービス名 | CloudWatch | |
イベントタイプ | CloudWatch Alarm State Change | |
ターゲットを選択 | ターゲット | Lambda関数 |
機能 | “A.2.4.1 AWS Lambdaの設定”で作成したLambda関数を指定してください。 |
リソース監視機構に必要なCloudWatchアラームの設定方法を説明します。
“A.2.3.1 クラスタノードのインスタンスの作成”でインスタンスを作成した場合は、CloudWatch アラームをインスタンスごとに作成します。
CloudWatch アラームは、切替機構とCloudWatch エージェントのアラームの2つを作成します。CloudWatch アラームの作成は、以下の設定値を指定してください。
分類 | 設定項目 | 値 |
---|---|---|
メトリクスの選択 | AWSの名前空間 | EC2 |
メトリクス | インスタンス別メトリクス | |
インスタンス名 (InstanceId) | クラスタノードのインスタンスを選択してください。 | |
メトリクス名 | StatusCheckFailed 画面ではインスタンスのStatusCheckFailedを選択します。 | |
メトリクス | 統計 | 最大 |
期間 | 1分 | |
条件 | しきい値の種類 | 静的 |
アラーム条件 | 以上 | |
しきい値 | 0.99 | |
アラームを実行するデータポイント | 2/2 | |
欠落データの処理 | 欠落データを見つかりませんとして処理 | |
アクションの設定 | 通知 | なし <削除>ボタンをクリックして、通知を削除してください。 何も通知がされない状態にします。 |
Auto Scaling アクション | なし | |
EC2 アクション | なし | |
Systems Manager アクション | なし | |
名前と説明 | アラーム名 | Fujitsu-Pclswr-Alarm-Instance-StatusCheckFailed-“クラスタノードを識別する整数値” クラスタノードを識別する整数値は、リージョンごとに重複しない値を指定してください。整数値は“A.1.2 システム構成”の“複数のリソースを作成する場面について”を参考に指定してください。 |
分類 | 設定項目 | 値 |
---|---|---|
メトリクスの選択 | カスタム名前空間 | RMS CloudWatchエージェント設定ファイルのnamespaceに設定した値が表示されます。 |
ディメンション | InstanceId,InstanceType,pattern,pid_finder | |
インスタンス名 (InstanceId) | クラスタノードのインスタンスを選択してください。 | |
メトリクス名 | procstat_lookup_pid_count 画面ではインスタンスのprocstat_lookup_pid_count を選択します。 | |
メトリクス | 統計 | 平均値 |
期間 | 1分 | |
条件 | しきい値の種類 | 静的 |
アラーム条件 | 以下 | |
しきい値 | 0 | |
アラームを実行するデータポイント | 1/1 | |
欠落データの処理 | 欠落データを見つかりませんとして処理 | |
アクションの設定 | 通知 | なし <削除>ボタンをクリックして、通知を削除してください。 何も通知がされない状態にします。 |
Auto Scaling アクション | なし | |
EC2 アクション | なし | |
Systems Manager アクション | なし | |
名前と説明 | アラーム名 | Fujitsu-Pclswr-Alarm-Instance-RMS-“クラスタノードを識別する整数値” クラスタノードを識別する整数値は、リージョンごとに重複しない値を指定してください。整数値は“A.1.2 システム構成”の“複数のリソースを作成する場面について”を参考に指定してください。 |
ポイント
CloudWatchエージェントでメトリクスの収集を開始したあとに、CloudWatchエージェントのアラームを作成してください。
CloudWatchエージェントのアラームは、RMSの停止を検出する生存監視のために設定しています。
RMSの停止は、「/opt/SMAW/SMAWRrms/bin/bm」プロセスが停止した状態であるかにより判断します。その判断の条件は「/opt/SMAW/SMAWRrms/bin/bm」プロセスの数(pid_count)が0以下になった場合です。評価は1分間に1回です。評価の中で条件を満たすと、アラームがOKからALARMに遷移します。
アラームは以下の状態があります。状態がOKからALARMに遷移した場合に、インスタンスを切り替える処理が実施されます。
OK(メトリクスが定義されているしきい値の範囲内)
ALARM(メトリクスが定義されているしきい値を超えている)
INSUFFICIENT_DATA(CloudWatchエージェントが停止し、メトリクスが利用できない状態など)
アラームの作成は「Amazon CloudWatch ユーザーガイド」の「静的しきい値に基づいて CloudWatch アラームを作成する」を参照してください。
切替機構に必要なAmazon DynamoDBの設定方法を説明します。
切替機構では、Amazon DynamoDBを利用してクラスタノードの情報を管理しています。Amazon DynamoDBにテーブルを作成します。そして、クラスタノードの数だけ項目を作成します。あとからクラスタノードを追加した場合は、項目を追加してください。
Amazon DynamoDBのテーブルを、以下の設定値を指定して作成します。
設定項目 | 値 |
---|---|
テーブル名 | Fujitsu-Pclswr-DB-Switcher |
パーティションキー | SystemID / 数値 |
ソートキー | InstanceID / 文字列 |
設定 | デフォルト設定 |
項目はクラスタノードの情報を格納します。クラスタノードのインスタンスごとに、以下のように項目を作成します。
新しい属性の追加 | 属性名 | 値 |
---|---|---|
- (追加されています) | SystemID (パーティションキー) | クラスタノードを識別する整数値を指定してください。 “A.2.3.1 クラスタノードのインスタンスの作成”で指定した[fujitsu.pclswr.id]キーと同じ整数値を指定します。 |
- (追加されています) | InstanceID (ソートキー) | クラスタノードのインスタンスのID |
文字列 | State | NOT_SWITCHED |
ポイント
属性名のStateは、クラスタノードのインスタンスが切替わっている状態であるかを表す値が格納されます。その値を、以下に説明します。
NOT_SWITCHED
クラスタノードのインスタンスが切替わっていない状態を表します。初期値や切替えが実行されていない場合は、NOT_SWITCHEDを指定します。
SWITCHING
クラスタノードのインスタンスが切替わっている状態を表します。