Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
CLUSTERPRO® X 4.1
Amazon Web Services向け
HA クラスタ 構築ガイド (Linux版)
2019.04.10
第1版
改版履歴
版数 改版日付 内 容
1 2019/04/10 新規作成
© Copyright NEC Corporation 2019. All rights reserved.
免責事項
本書の内容は、予告なしに変更されることがあります。
日本電気株式会社は、本書の技術的もしくは編集上の間違い、欠落について、一切責任をおいません。
また、お客様が期待される効果を得るために、本書に従った導入、使用および使用効果につきましては、
お客様の責任とさせていただきます。
本書に記載されている内容の著作権は、日本電気株式会社に帰属します。本書の内容の一部または全部
を日本電気株式会社の許諾なしに複製、改変、および翻訳することは禁止されています。
商標情報
CLUSTERPRO® は、日本電気株式会社の登録商標です。
Linux は、Linus Torvalds氏の米国およびその他の国における登録商標です。
Python は、Python Software Foundation の登録商標です。
Amazon Web Services およびすべての AWS 関連の商標、ならびにその他の AWS のグラフィック、ロ
ゴ、ページヘッダー、ボタンアイコン、スクリプト、サービス名は、米国および/またはその他の国における、
AWS の商標、登録商標またはトレードドレスです。
本書に記載されたその他の製品名および標語は、各社の商標または登録商標です。
iv
目次
はじめに ....................................................................................................................... v
対象読者と目的 .................................................................................................................................................v 適用範囲 ...........................................................................................................................................................v 本書の表記規則 .............................................................................................................................................. vii 最新情報の入手先 .......................................................................................................................................... viii
機能概要 ........................................................................................................ 9
1-1. 機能概要 ................................................................................................................................. 9
1-2. HAクラスタ構成 ..................................................................................................................... 10 1-3. Multi-AZ ................................................................................................................................ 17
1-4. ネットワークパーティション解決............................................................................................... 18
1-5. オンプレミスとAWS ................................................................................................................ 20
動作環境 ...................................................................................................... 22
注意事項 ...................................................................................................... 23
VIP制御によるHAクラスタの設定 ................................................................... 25
4-1. VPC 環境の設定 .................................................................................................................. 26
4-2. インスタンスの設定 ................................................................................................................ 29
4-3. CLUSTERPRO の設定 ........................................................................................................ 31
EIP制御によるHAクラスタの設定 ................................................................... 42
5-1. VPC 環境の設定 .................................................................................................................. 43
5-2. インスタンスの設定 ................................................................................................................ 46
5-3. CLUSTERPRO の設定 ........................................................................................................ 48
DNS名制御によるHAクラスタの設定 .............................................................. 57
6-1. VPC 環境の設定 .................................................................................................................. 58
6-2. インスタンスの設定 ................................................................................................................ 61
6-3. CLUSTERPROの設定 .......................................................................................................... 63
IAMの設定 .................................................................................................... 74
7-1. IAMポリシーの作成 ............................................................................................................... 74
7-2. インスタンスの設定 ................................................................................................................ 76
トラブルシューティング ................................................................................... 79
はじめに
v
はじめに
対象読者と目的
『CLUSTERPRO® X Amazon Web Services 向け HA クラスタ 構築ガイド (Linux 版)』は、クラスタシ
ステムに関して、システムを構築する管理者、およびユーザサポートを行うシステムエンジニア、保守員を対
象にしています。また、Amazon Web Services のうち、最低限 Amazon EC2、Amazon VPC、IAM に関
する知識を保有していることが前提となります。
適用範囲
本書では、以下の製品を対象としています。
• CLUSTERPRO X 4.1 for Linux (内部バージョン: 4.1.0-1)
• VPC Management Console、EC2 Management Console: 2019/01/07 時点の環境
本書の構成
第 1 章 「機能概要」:機能の概要について説明します。
第 2 章 「動作環境」:本機能の動作確認済み環境を説明します。
第 3 章 「注意事項」:構築時の注意事項について説明します。
第 4 章 「VIP 制御による HA クラスタの設定」:VIP 制御による HA クラスタの構築手順
について説明します。
第 5 章 「EIP 制御による HA クラスタの設定」:EIP 制御による HA クラスタの構築手順
について説明します。
第 6 章 「DNS 名制御による HA クラスタの設定」:DNS 名制御による HA クラスタの構
築手順について説明します。
第 7 章 「IAMの設定」:IAMの設定について説明します。
第 8 章 「トラブルシューティング」:問題発生時の現象と対応について説明します。
はじめに
vi
CLUSTERPRO マニュアル体系
CLUSTERPRO のマニュアルは、以下の 6 つに分類されます。各ガイドのタイトルと役割を以下に示しま
す。
『CLUSTERPRO X スタートアップガイド』 (Getting Started Guide)
すべてのユーザを対象読者とし、製品概要、動作環境、アップデート情報、既知の問題などについて記載し
ます。
『CLUSTERPRO X インストール&設定ガイド』 (Install and Configuration Guide)
CLUSTERPRO を使用したクラスタシステムの導入を行うシステムエンジニアと、クラスタシステム導入後
の保守・運用を行うシステム管理者を対象読者とし、CLUSTERPRO を使用したクラスタシステム導入から
運用開始前までに必須の事項について説明します。実際にクラスタシステムを導入する際の順番に則して、
CLUSTERPRO を使用したクラスタシステムの設計方法、CLUSTERPRO のインストールと設定手順、設
定後の確認、運用開始前の評価方法について説明します。
『CLUSTERPRO X リファレンスガイド』 (Reference Guide)
管理者、および CLUSTERPRO を使用したクラスタシステムの導入を行うシステムエンジニアを対象とし、
CLUSTERPRO の運用手順、各モジュールの機能説明およびトラブルシューティング情報等を記載します。
『インストール&設定ガイド』を補完する役割を持ちます。
『CLUSTERPRO X メンテナンスガイド』 (Maintenance Guide)
管理者、および CLUSTERPRO を使用したクラスタシステム導入後の保守・運用を行うシステム管理者を
対象読者とし、CLUSTERPRO のメンテナンス関連情報を記載します。
『CLUSTERPRO X ハードウェア連携ガイド』 (Hardware Feature Guide)
管理者、および CLUSTERPRO を使用したクラスタシステムの導入を行うシステムエンジニアを対象読者
とし、特定ハードウェアと連携する機能について記載します。『インストール&設定ガイド』を補完する役割を
持ちます。
『CLUSTERPRO X 互換機能ガイド』 (Legacy Feature Guide)
管理者、および CLUSTERPRO を使用したクラスタシステムの導入を行うシステムエンジニアを対象読者
とし、CLUSTERPRO X 4.0 WebManager、Builder および CLUSTERPRO Ver 8.0 互換コマンドに関す
る情報について記載します。
はじめに
vii
本書の表記規則
本書では、注意すべき事項、重要な事項および関連情報を以下のように表記します。
注: は、重要ではあるがデータ損失やシステムおよび機器の損傷には関連しない情報を表します。
重要: は、データ損失やシステムおよび機器の損傷を回避するために必要な情報を表します。
関連情報: は、参照先の情報の場所を表します。
また、本書では以下の表記法を使用します。
表記 使用方法 例
[ ] 角かっこ
コマンド名の前後
画面に表示される語 (ダイアログ
ボックス、メニューなど) の前後
[スタート] をクリックします。
[プロパティ] ダイアログ ボックス
コマンドライ
ン中の [ ]
角かっこ
かっこ内の値の指定が省略可能
であることを示します。 clpstat -s[-h host_name]
# Linux ユーザが、root でログイン
していることを示すプロンプト # clpstat
モノスペース
フ ォ ン ト(courier)
パス名、コマンド ライン、システ
ムからの出力 (メッセージ、プロ
ンプトなど)、ディレクトリ、ファイル
名、関数、パラメータ
/Linux
モノスペース
フォント太字(courier)
ユーザが実際にコマンドラインか
ら入力する値を示します。
以下を入力します。 # clpcl -s -a
モノスペースフォント斜体(courier)
ユーザが有効な値に置き換えて
入力する項目 # ping <IPアドレス>
はじめに
viii
最新情報の入手先
最新の製品情報については、以下のWebサイトを参照ください。
https://jpn.nec.com/clusterpro/
機能概要
9
機能概要
1-1. 機能概要 本書の設定を行うことで、Amazon Web Services(以下、AWS) の Amazon Virtual Private Cloud
(以下、VPC) 環境において CLUSTERPRO による HA クラスタを構築できます。
HA クラスタを構築することで、より重要な業務を行うことが可能となり AWS 環境におけるシステム構成
の選択肢が広がります。AWS環境は地域(リージョン)ごとに複数の Availability Zone(以下、AZ) で堅
牢に構成されており、利用者は必要に応じて AZ を選択して使用できます。CLUSTERPRO は複数の
AZ 間 (以下、Multi-AZ) においても HA クラスタを可能とするため、業務の高可用性を実現します。
図 1-1 Multi-AZ構成のミラー型HAクラスタ
AWS 環境においては仮想的な IP アドレスを使用してクラスタサーバに接続することが可能です。AWS
仮想 IP リソースや AWS Elastic IP リソースや AWS DNS リソースを利用することで、”フェイルオーバ”
または、”グループの移動” が発生した場合でも、クライアントは接続先サーバの切り替えを意識する必要
がありません。
Private subnet Private subnet
Application Application
Failure
FailOver
Mirroring
AWS Cloud
VPC
Availability Zone A
Server Instance (Active)
Availability Zone B
Server Instance (Standby)
機能概要
10
1-2. HA クラスタ構成 本構築ガイドでは、「仮想 IP (以下、VIP) 制御による HA クラスタ」、「Elastic IP (以下、EIP) 制御に
よる HA クラスタ」、「DNS名制御による HAクラスタ」 の3種類の HAクラスタを想定しています。本節で
は Single-AZ構成にて説明しています。Multi-AZについては「1-3 Multi-AZ」を参照してください。
HA クラスタにアクセスする
クライアントの場所 選択するリソース 本章の参照箇所
同じ VPC内 AWS 仮想 IP リソース VIP 制御による HA クラスタ
インターネット AWS Elastic IP リソース EIP 制御による HA クラスタ
任意の場所 AWS DNS リソース DNS名制御による HA クラスタ
機能概要
11
VIP 制御による HA クラスタ 同じ VPC 内のクライアントから、VIP アドレスを通じて HA クラスタにアクセスさせる構成を想定していま
す。たとえば DB サーバをクラスタ化し、Web サーバから VIP アドレス経由で DB サーバにアクセスする
などの用途が考えられます。
図 1-2 VIP 制御による HA クラスタ
図の例では、Private なサブネット上にクラスタ化されたサーバ用のインスタンスが配置されています。
CLUSTERPROの AWS 仮想 IP リソースは、現用系側サーバ用のインスタンスに対して VIPアドレスの
設定および VPC のルートテーブルの書き換えを行います。これにより、VPC 内の任意のサブネット上に
配置されたクライアント用のインスタンスから VIP アドレスを通じて現用系側サーバ用のインスタンスにア
クセスできるようになります。VIPアドレスは、VPCの CIDRの範囲外である必要があります。
AWS 側の仕様により VPC 外のクライアントから、AWS 仮想 IP リソースで付与した VIP アドレスを指
定してアクセスすることはできないことを確認しています。VPC 外のクライアントからアクセスする場合は、
AWS Elastic IP リソースで付与した EIP アドレスを指定してアクセスしてください。
サーバ用の各インスタンスは、AWS CLIの実行や、DNS参照などで必要な時は、Public なサブネットに
Private subnet (Subnet-2)
Public subnet (Subnet-1)
Application Application
VIP
AWS Cloud
VPC
Client Instance
NAT Instance
Internet gateway
Mirroring Server
Instance (Active)
Server Instance (Standby)
機能概要
12
配置された NAT インスタンス を経由してリージョンのエンドポイントやインターネットへアクセスします。
※AWS CLI の実行時は、各インスタンスが リージョンのエンドポイントと通信できる必要があり、そのた
めの方法として Proxy サーバ / NAT / Public IP / EIP などの方法がありますが、本書では VIP制御に
よる HA クラスタ構成の場合、NAT インスタンスを使用する方法を採用しています。
VIP 制御による HA クラスタ構成において必要なリソース、モニタリソースは以下のとおりです。
リソース種別 説明 設定
AWS 仮想 IP リソース 現用系側のインスタンスへの VIPアドレ
スの付与、および、その IPアドレスに対
するルートテーブルの変更を行い、業務
を 同じ VPC 内に公開します。
必須
AWS 仮想 IPモニタリソース AWS 仮想 IP リソースが付与した VIPア
ドレスが自サーバに存在するか、および
VPCのルートテーブルが不正に変更さ
れていないかを定期的に監視します。
(AWS 仮想 IP リソースを追加すると自
動的に追加されます。)
必須
AWS AZモニタリソース Multi-AZを利用し、自サーバが属する
AZの健全性を定期的に監視します。 推奨
IPモニタリソース NATへの通信可否を確認することで、サ
ブネット間通信の健全性を監視します。
本書では NAT インスタンスへの通信可
否を確認します。
サブネット間通信の健
全性監視が必要な場
合に必須
その他のリソース、モニタリソース ミラーディスクなど、HA クラスタで運用す
るアプリケーションの構成に従います。 任意
機能概要
13
EIP 制御による HA クラスタ クライアントから、インターネット経由で EIPに割り当てられたグローバル IPアドレスを通じて HA クラスタに
アクセスさせる構成を想定しています。
クラスタ化するインスタンスは Public なサブネット上に配置されており、各インスタンスは、インターネットゲ
ートウェイを経由してインターネットへアクセスすることが可能です。
図 1-3 EIP 制御による HA クラスタ
図の例では、クラスタ化するサーバ用のインスタンスは Public なサブネット上に配置されています。
CLUSTERPRO の AWS Elastic IP リソースは、EIP を現用系側サーバ用のインスタンスにアタッチしま
す。これによりインターネット側の任意のクライアントは EIPアドレスを通じて現用系側サーバ用のインスタ
ンスにアクセスできるようになります。
※AWS CLIの実行時は、各インスタンスがリージョンのエンドポイントに接続できる必要があり、そのため
の方法として Proxy サーバ / NAT / Public IP / EIP などの方法がありますが、本書では EIP制御によ
る HA クラスタ構成の場合、インスタンスに割り当てられた Public IP を経由する方法を採用しています。
Public subnet (Subnet-1)
Application Application
AWS Cloud
VPC
Internet gateway
Mirroring
Server Instance (Active)
Server Instance (Standby)
Elastic IP Address Elastic IP Address
Internet
機能概要
14
EIP 制御による HA クラスタ構成において必要なリソース、モニタリソースは以下のとおりです。
リソース種別 説明 設定
AWS Elastic IP リソース 現用系側のインスタンスに EIPアドレスを
付与し、業務をインターネットに公開しま
す。
必須
AWS Elastic IPモニタリソース AWS Elastic IP リソースが付与した EIP
アドレスが自サーバに存在するか定期的
に監視します。
(AWS Elastic IP リソースを追加すると自
動的に追加されます)
必須
AWS AZモニタリソース Multi-AZを利用し、自サーバが属する AZ
の健全性を定期的に監視します。
推奨
カスタムモニタリソース ネットワークパーティション (NP) を監視
し、複数のインスタンスでリソースが同時
に起動しないように監視します。
NP解決が必要な場
合に必須
その他のリソース、モニタリソース ミラーディスクなど、HA クラスタで運用す
るアプリケーションの構成に従います。 任意
機能概要
15
DNS名制御による HAクラスタ クライアントから、同一の DNS 名を使って HA クラスタにアクセスさせる構成を想定しています。たとえば
DB サーバをクラスタ化し、Web サーバから DNS 名経由で DB サーバにアクセスするなどの用途が
考えられます。
図 1-4 DNS名制御による HAクラスタ
図の例では、Private なサブネット上にクラスタ化されたサーバ用のインスタンスが配置されています。
CLUSTERPRO の AWS DNS リソースは、 DNS 名と現用系側サーバの IP アドレスを含むリソース
レコードセットを Amazon Route 53 の Privateホストゾーンに登録します。これにより、VPC内の任意の
サブネット上に配置されたクライアント用のインスタンスから、DNS 名を通じて現用系側サーバ用の
インスタンスにアクセスできるようになります。
本書では、クラスタ化するサーバ用のインスタンスを Private なサブネット上に配置する構成を採用して
いますが、Public なサブネット上に配置することも可能です。この場合、AWS DNS リソースで DNS 名と
現用系側サーバの Public IPアドレスを含むリソースレコードセットを Amazon Route 53 の Publicホスト
ゾーンに登録することで、インターネット側の任意のクライアントから DNS 名を通じて現用系側サーバ用
のインスタンスにアクセスできるようになります。なお、PublicホストゾーンのドメインへのクエリがAmazon
Route 53 ネームサーバを参照するように、事前にレジストラのネームサーバ(NS) レコードを設定してお
Private subnet (Subnet-2)
Public subnet (Subnet-1)
Application Application
Domain Name
AWS Cloud
VPC
Client Instance
NAT Instance
Internet gateway
Mirroring Server
Instance (Active)
Server Instance (Standby)
Amazon Route 53
機能概要
16
く必要があります。
また、クラスタとクライアントがそれぞれ異なる VPC 上に存在する構成とする場合は、VPC ピアリング
接続を使用します。事前に、ピアリング接続した各 VPC を Amazon Route 53の Private ホストゾーンに
関連付けしておき、AWS DNS リソースでその Private ホストゾーンに DNS 名と現用系側サーバの IP
アドレスを含むリソースレコードセットを登録します。これにより、異なる VPC上のクライアントからDNS名
を通じて現用系側サーバ用のインスタンスにアクセスできるようになります。
※AWS CLIの実行時は、各インスタンスがリージョンのエンドポイントに接続できる必要があり、そのため
の方法として Proxyサーバ / NAT / Public IP / EIPなどの方法がありますが、本書では DNS名制御に
よる HA クラスタ構成の場合、NAT用のインスタンスを使用する方法を採用しています。
DNS名制御による HA クラスタ構成において必要なリソース、モニタリソースは以下のとおりです。
リソース種別 説明 設定
AWS DNS リソース DNS 名と現用系側のインスタンスの IP
アドレスを含むリソースレコードセットを
Amazon Route 53のホストゾーンに登録
し、業務を同じ VPC内、または、インター
ネットに公開します。
必須
AWS DNSモニタリソース AWS DNS リソースが 登録したリソース
レコードセットが、 Amazon Route 53 の
ホストゾーンに存在するか、およびその
DNS名の名前解決が可能かを定期的に
監視します。
(AWS DNS リソースを追加すると自動的
に追加されます。)
必須
AWS AZモニタリソース Multi-AZを利用し、自サーバが属する AZ
の健全性を定期的に監視します。 推奨
IPモニタリソース NATへの通信可否を確認することで、
サブネット間通信の健全性を監視します。
本書では NAT インスタンスへの通信可
否を確認します。
サブネット間通信の
健全性監視が必要
な場合に必須
その他のリソース、モニタリソース ミラーディスクなど、 HA クラスタで運用
するアプリケーションの構成に従います。 任意
機能概要
17
1-3. Multi-AZ AWS 環境では、HAクラスタを構成するインスタンスをアベイラビリティーゾーン単位で分散させることで、
アベイラビリティーゾーン単位の障害に対する冗長性を持たせ、可用性を高めることが可能です。
AWS AZ モニタリソースは、各アベイラビリティーゾーンの健全性を監視し、もし障害が発生していた場合
は警告や回復動作を行わせることができます。
詳細は『リファレンスガイド』-「AWS AZモニタリソースを理解する」を 参照してください。
図 1-5 Multi-AZを使用した HA クラスタの例
Private subnet (Subnet-2B)
Private subnet (Subnet-2A)
Public subnet (Subnet-1A)
Application Application
VIP
AWS Cloud
VPC
Client Instance
NAT1 Instance
Internet gateway
Mirroring Server Instance (Active)
Server Instance (Standby)
Public subnet (Subnet-1B)
Client Instance
NAT 2 Instance
Availability Zone A Availability Zone B
機能概要
18
1-4. ネットワークパーティション解決 HA クラスタを構成しているインスタンスは、お互いにハートビートによって死活監視を行っています。各イ
ンスタンスが異なるサブネットに分散している構成においては、ハートビートが途絶えた時に、サービスの
二重起動など望ましくない状態が発生します。サービスの二重起動を回避するために、他のインスタンス
がダウンしたか、自身がネットワークから孤立した(NP)状態かのどちらであるかを区別する必要がありま
す。
NP解決は、Pingなどの応答を返却可能な常時稼働している装置(以下、応答確認用装置)に対してPing
や LISTEN ポート確認を行い、応答がない場合は NP が発生したと判断し、設定された処理(警告、回復
処理、サーバダウン処理など)を行います。
本書の設定例では以下の理由により、NP 解決にはネットワークパーティション解決リソースでなく IP モニ
タリソースを使用しています。
ネットワークパーティション解決リソースを使用することも可能です。
マルチ AZ 構成では各 AZ 上の NAT インスタンスを Ping 先として設定する必要がありますが、ネッ
トワークパーティション解決リソースよりも IPモニタリソースの方が簡単に設定可能。
必要に応じてマルチターゲットモニタリソースやカスタムモニタリソースと連携することが可能。
サブネット間の健全性確認のために IP モニタリソースが必要であり、他ノードとのハートビートの状
態を考慮しないことを除いてはネットワークパーティション解決リソースの PING方式と同等。
また、ネットワークパーティション解決リソースと強制停止スクリプトの組合せによる NP 解決も可能です。
詳細は CLUSTERPROオフィシャルブログを参照してください。
https://jpn.nec.com/clusterpro/blog/20180829.html?
ネットワークパーティション解決リソースの詳細は『リファレンスガイド』-「第 5 章 ネットワークパーティショ
ン解決リソースの詳細」を参照してください。
応答確認用装置は、Amazon VPC においては通常以下を使用します。
HA クラスタ種別 応答確認用装
置 手段 備考
VIP 制御による
HA クラスタ
他サブネット
上の常時稼働
しているイン
スタンス
Ping
本書では例として NAT インスタンスを指定します。
応答確認用装置はお客様の環境に合わせて適宜設定してく
ださい。
他サブネット
上のWebサ
ーバ
HTTP HTTP ネットワークパーティション解決リソース
EIP 制御による
HA クラスタ
リージョンのエ
ンドポイント LISTE
Nポー
ト確認
リージョンのエンドポイントは、以下から確認できます。 https://docs.aws.amazon.com/ja_jp/general/latest/gr/rande.html
例)
リージョンがアジアパシフィック(東京)の場合
ec2.ap-northeast-1.amazonaws.com
DNS名制御に
よる HA クラスタ
他サブネット
上の常時稼働
しているイン
スタンス
Ping
本書では例として NAT インスタンスを指定します。
応答確認用装置はお客様の環境に合わせて適宜設定してく
ださい。
他サブネット
上のWebサ
ーバ
HTTP HTTP ネットワークパーティション解決リソース
機能概要
19
リージョンのエ
ンドポイント LISTE
Nポー
ト確認
リージョンのエンドポイントは、以下から確認できます。 https://docs.aws.amazon.com/ja_jp/general/latest/gr/rande.html
例)
リージョンがアジアパシフィック(東京)の場合
ec2.ap-northeast-1.amazonaws.com
NP解決先の設定について
本書の構成はクラスタシステムが VPC 内で完結する場合の一例※です。クラスタシステムにアクセスする
クライアントの配置やオンプレミス環境との接続条件(専用線接続など)によって、NP 解決先や NP 解決
の方法は、その都度 検討する必要があります。
※ IP モニタリソースから NAT インスタンスへの通信可否を確認することで、サブネット間通信の健全
性を監視します。応答がない場合は NP 状態とみなし、当該ノードをシャットダウンさせることで 両系
活性を回避します。
機能概要
20
1-5. オンプレミスと AWS
オンプレミスと AWSにおける CLUSTERPROの機能差分は以下の通りです。○:可能 ×:不可
機能 オンプレミス AWS
共有ディスク型クラスタの構築可否 ○ ×
ミラーディスク型クラスタの構築可否 ○ ○
フローティング IP リソースの使用可否 ○ ×
仮想 IP リソースの使用可否 ○ ×
AWS Elastic IP リソースの使用可否 × ○
AWS 仮想 IP リソースの使用可否 × ○
AWS DNS リソースの使用可否 × ○
オンプレミスと AWS における、ミラーディスクと IP エイリアス(オンプレミス:フローティング IP リソース、
AWS:AWS 仮想 IP リソースの例)各種リソースを使用した2ノードクラスタの構築手順の流れは以下を参
照してください。 手順 オンプレミス AWS
CLUSTERPRO インストール前
1 VPC環境の設定 不要
◇AWS 仮想 IP リソースを使用す
る場合
・本書「4-1 VPC 環境の設定」参
照
◇AWS Elastic IP リソースを使用
する場合
・本書「5-1 VPC 環境の設定」参
照
◇AWS DNS リソースを使用する
場合
・本書「6-1 VPC 環境の設定」参
照
2 インスタンスの設定 不要
◇AWS 仮想 IP リソースを使用す
る場合
・本書「4-2 インスタンスの設定」参
照
◇AWS Elastic IP リソースを使用
する場合
・本書「5-2 インスタンスの設定」参
照
◇AWS DNS リソースを使用する
場合
・本書「6-2 インスタンスの設定」参
照
3 ミラーディスクリソース用
のパーティションの設定
以下を参照。
・『インストール&設定ガイド』の
「第 1 章 システム構成を決定
する」の「ハードウェア構成後の
設定」
・『リファレンスガイド』の「ミラーデ
ィスクリソースを理解する」
オンプレミスと同様
4 OS 起動時間の調整 ・『インストール&設定ガイド』の
「第 1 章 システム構成を決定オンプレミスと同様
5 ネットワークの確認
機能概要
21
6 ルートファイルシステム
の確認
する」の「ハードウェア構成後の
設定」参照
7 ファイアウォールの確認
8 サーバの時刻同期
9 CLUSTERPRO のイン
ストール
『インストール&設定ガイド』の「第
3 章 CLUSTERPRO をインス
トールする」参照
オンプレミスと同様
CLUSTERPRO インストール後
10 CLUSTERPRO のライ
センスを登録
『インストール&設定ガイド』の「第
4 章 ライセンスを登録する」参
照
オンプレミスと同様
11 クラスタの作成-ハートビ
ート方式の設定
『インストール&設定ガイド』の「第
5 章 クラスタ構成情報を作成
する」の「2ノードクラスタ構成情
報の作成手順」参照。
COMハートビート、BMCハートビ
ート、DISKハートビートは使用で
きません。
12 クラスタの作成-NP解決
処理の設定
NP解決リソースを使用。
以下を参照。
・『インストール&設定ガイド』の
「第 5 章 クラスタ構成情報を作
成する」の「2ノードクラスタ構成
情報の作成手順」
・『リファレンスガイド』の「第 5
章 ネットワークパーティション解
決リソースの詳細」
◇AWS 仮想 IP リソースを使用
する場合
・本書「4-3 CLUSTERPRO の設
定」の「3) モニタリソースの追加
IP モニタリソース」参照
◇AWS Elastic IP リソースを使用
する場合
・本書「5-3 CLUSTERPRO の設
定」の「1) クラスタの構築」参照
◇AWS DNS リソースを使用する
場合
・本書「6-3 CLUSTERPROの設
定」の「1) クラスタの構築」参照
13
クラスタの作成-フェイル
オーバグループの作成、
モニタリソースの作成
『インストール&設定ガイド』の「第
5 章 クラスタ構成情報を作成
する」の「2ノードクラスタ構成情
報の作成手順」参照
オンプレミスに加え、以下を参照。
◇AWS 仮想 IP リソースを使用
する場合
・本書「4-3 CLUSTERPRO の設
定」参照
・『リファレンスガイド』の「AWS 仮
想 IP リソースを理解する」参照
◇AWS Elastic IP リソースを使用
する場合
・本書「5-3 CLUSTERPRO の設
定」参照
・『リファレンスガイド』の「AWS
Elastic IP リソースを理解する」参
照
◇AWS DNS リソースを使用する
場合
・本書「6-3 CLUSTERPROの設
定」参照
・『リファレンスガイド』の「AWS
DNS リソースを理解する」参照
動作環境
22
動作環境
以下のマニュアルを参照してください。
• 『スタートアップガイド』-「第 3 章 CLUSTERPRO の動作環境」-「AWS Elastic IP リソース、AWS
仮想 IP リソース、AWS Elastic IPモニタリソース、AWS 仮想 IPモニタリソース、AWS AZモニタリ
ソースの動作環境」
• 『スタートアップガイド』-「第 3 章 CLUSTERPRO の動作環境」-「AWS DNS リソース、AWS DNS
モニタリソースの動作環境」
注意事項
23
注意事項
VPC で CLUSTERPRO を利用する場合の注意事項
VPC 環境で CLUSTERPRO を利用する際に、以下のような注意事項があります。
インターネットまたは異なる VPCからのアクセス
AWS 側の仕様により、インターネットまたは異なる VPC 上のクライアントから、AWS 仮想 IP リソースで
付与した VIP アドレスを指定してアクセスすることはできないことを確認しています。インターネット上の
クライアントからアクセスする場合は、AWS Elastic IP リソースで付与した EIP アドレスを指定してアクセ
スしてください。異なる VPC 上のクライアントからアクセスする場合は、AWS DNS リソースによって
Amazon Route 53に登録した DNS名を指定して、VPC ピアリング接続経由でアクセスしてください。
異なる VPCからの VPCピアリング接続経由でのアクセス
AWS 仮想 IP リソースは、 VPC ピアリング接続を経由してのアクセスが必要な場合では利用すること
ができません。これは、 VIP として使用する IP アドレスが VPC の範囲外であることを前提としており、
このような IP アドレスは VPC ピアリング接続では無効とみなされるためです。 VPC ピアリング接続
を経由してのアクセスが必要な場合は、 Amazon Route 53 を利用する AWS DNS リソースを使用して
ください。
VPCエンドポイントの使用
VPC エンドポイントを使用することで、プライベートネットワークでも NAT やプロキシサーバを用意するこ
となく AWS CLI による Amazon EC2のサービス制御が可能です。そのため「VIP 制御による HA クラス
タ」構成において NAT の代わりに VPC エンドポイントを使用することが可能となります。なお、VPC エン
ドポイントは作成時にサービス名が”.ec2”で終わるものを選択する必要があります。
ただし、NAT が存在しないことにより、NP 解決のための IP モニタリソースによる IP アドレス監視が行え
なくなるため、別途、応答確認用装置を用意する必要があります。
また、VPC エンドポイントを使用する場合でも、インスタンスのオンラインアップデートやモジュールダウン
ロードのためのインターネットアクセス、および、VPC エンドポイントが対応していない AWS のクラウドサ
ービスに対するアクセスを行う場合は、別途 NATゲートウェイなどが必要になります。
グループリソースおよびモニタリソースの機能制限
以下のマニュアルを参照してください。
• 『スタートアップガイド』-「第 5 章 注意制限事項」-「AWS Elastic IP リソースの設定について」
• 『スタートアップガイド』-「第 5 章 注意制限事項」-「AWS 仮想 IP リソースの設定について」
• 『スタートアップガイド』-「第 5 章 注意制限事項」-「AWS DNS リソースの設定について」
• 『スタートアップガイド』-「第 5 章 注意制限事項」-「AWS DNSモニタリソースの設定について」
ミラーディスクの性能
ミラー方式の HA クラスタでは、ミラーディスクへの書き込み要求は、以下の経路となります。
書き込み要求 I/O:
現用系側ゲスト OS - 現用系側ホスト OS - 待機系側ホスト OS - 待機系側ゲスト OS
書き込み完了通知:
待機系側ゲスト OS - 待機系側ホスト OS - 現用系側ホスト OS - 現用系側ゲスト OS
Multi-AZ 間で HA クラスタを構築すると、インスタンス間の距離が離れることによる TCP/IPの応答遅延
が発生し、ミラーリングに影響を受ける可能性があります。
また、マルチテナントのため、他のシステムの使用状況がミラーリングの性能に影響を与えます。上記の
理由から クラウド環境では、物理環境や一般的な仮想化環境(非クラウド環境)に比べてミラーディスクの
性能の差が大きくなる(ミラーディスクの性能の劣化率が大きくなる)傾向にあります。
注意事項
24
書き込み性能を重視するシステムの場合には、設計のフェーズにおいて、この点をご留意ください。
AWSエンドポイント停止の影響
AWS DNS モニタリソースは、リソースレコードセットの存在確認のために AWS CLI を利用しています。
そのため AWS エンドポイントのメンテナンスや障害およびネットワーク経路の障害の影響によるフェイ
ルオーバを発生させないためには、AWS DNS モニタリソースの[AWS CLI コマンド応答取得失敗時動
作]の設定を、既定値である[回復動作を実行しない(警告を表示する)]から変更しないでください。
VIP制御による HA クラスタの設定
25
VIP制御による HA クラスタの設定
本章では、VIP制御による HA クラスタの構築手順を説明します。
図中の番号は、後述の説明および設定値との対応を示しています。
図 4-1 システム構成 VIP 制御による HA クラスタ
Route Table(Public-AB)
AWS Cloud
VPC
Availability Zone A
Route Table(Private-A)
Availability Zone B
Route Table(Private-B)
Private subnet (Subnet-2B) 10.0.120.0/24
Private subnet (Subnet-2A) 10.0.110.0/24
Public subnet (Subnet-1A) 10.0.10.0/24
Application
VIP 10.1.0.20
Internet gateway
NAT1 Instance
Application
Public subnet (Subnet-1B) 10.0.20.0/24
NAT 2 Instance
[2] Availability Zone A [3] Availability Zone B
[1] VPC ID
[4] Private IP Address [5] Private IP Address
CIDR 10.0.0.0/16
[6] VIP Address (CIDR 範囲外)
Mirroring Server Instance (Active)
Server Instance (Standby)
[7] ENI ID(Node1) [8] ENI ID(Node2)
VIP制御による HA クラスタの設定
26
4-1. VPC 環境の設定
VPC Management Console、および、EC2 Management Console 上で VPC の構築を行います。
図中および説明中の IP アドレスは一例であり、実際の設定時は VPC に割り当てられている IP アドレス
に読み替えてください。既存の VPC に CLUSTERPRO を適用する場合は、不足しているサブネットを追
加するなど適切に読み替えてください。また、本書では HAクラスタノード用のインスタンスに ENIを追加し
て運用するケースは対象外としております。
1) VPC およびサブネットを設定する
最初に VPC およびサブネットを作成します。
⇒ VPC Management Console の [VPC] および [Subnets] で VPC およびサブネットの追加操作を
行います。
VPC ID (vpc-xxxxxxxx) は後で AWS 仮想 IP リソース の設定時に必要となるため、別途控えて
おきます。
2) Internet Gateway を設定する。
VPC からインターネットにアクセスするための Internet Gatewayを追加します。
⇒ VPC Management Console の [Internet Gateways] から [Create internet gateway]をクリック
して作成します。その後、 作成した Internet Gateway を VPC に Attach します。
3) Network ACL/Security Group を設定する
VPC 内外からの不正なネットワークアクセスを防ぐために、Network ACL、および、Security Group を
適切に設定します。
Private ネットワーク (Subnet-2A、および、Subnet-2B)内に配置予定のHAクラスタノード用のインスタ
ンスから、HTTPS で Internet Gateway と通信可能となるように、また、Cluster WebUIやインスタンス
同士の通信も可能となるよう各経路について Network ACLや Security Group の設定を変更します。
⇒ 設定変更は、VPC Management Console の [Network ACLs] 、および、[Security Groups] から
行います。
CLUSTERPRO 関連コンポーネントが使用するポート番号については、『スタートアップガイド』の「第 5
章 注意制限事項」-「OS インストール後、CLUSTERPRO インストール前」を参照し、設定してください。
4) HAクラスタ用のインスタンスを追加する
HA クラスタノード用のインスタンスを Private ネットワーク(Subnet-2A、および、Subnet-2B)に作成し
ます。
IAMロールをインスタンスに割り当てて使用する場合は、IAMロールを指定してください。
⇒ インスタンスの作成は、 EC2 Management Console の [Instances] から、 [Launch Instance]
をクリックして行います。
⇒ IAMの設定については「第 7 章 IAMの設定」を参照してください。
作成した各インスタンスに割り当てられている Elastic Network Interface (以下、ENI) の Source/Dest.
Check を disabled に変更します。
AWS 仮想 IP リソースが VIP 制御を可能にするためには、VIP アドレス(図では10.1.0.20) への通信
をインスタンスの ENI にルーティングさせる必要があります。各インスタンスの ENI は、Private IP ア
ドレス と VIP アドレス からの通信を受け取るために、Source/Dest. Check を disabled にする必要
があります。
[1] VPC ID
VIP制御による HA クラスタの設定
27
⇒ EC2 Management Console の [Instances] から、追加したインスタンス上で右クリックし、
[Networking] - [Change Source/Dest. Check] をクリックすることで設定変更を行えます。
各インスタンスの ENI ID (eni-xxxxxxxx) は後で AWS 仮想 IP リソース の設定時に必要となるた
め、 別途控えておきます。
インスタンスに割り当てられた ENI ID は以下の操作で確認できます。
① インスタンスを選択して詳細情報を表示する。
② [Network Interfaces] から該当するデバイスをクリックする。
③ ポップアップ表示中の [Interface ID] を参照する。
5) NAT を追加する
AWS CLI による VIP 制御処理を実行するために、HA クラスタノード用のインスタンスからリージョンの
エンドポイントに対して HTTPS による通信が可能な状態にする必要があります。
そのために Public ネットワーク(Subnet-1A、および、Subnet-1B)上に NAT インスタンスを作成しま
す。AWS 環境では、文字列 amzn-ami-vpc-nat が含まれる AMI として amzn-ami-vpc-nat-pv-
2014.09.1.x86_64-ebs などが用意されています。
NAT 作成時には Public IP を有効にします。また、追加した NAT インスタンスについて Source/Dest.
Check を disabled に変更します。この操作を行わないと NAT機能が有効になりません。
⇒ EC2 Management Console の [Instances] から、NAT インスタンスの上で右クリックし、
[Networking] - [Change Source/Dest. Check] をクリックすることで設定変更を行えます。
6) ルートテーブルを設定する。
AWS CLI が NAT 経由でリージョンのエンドポイントと通信可能にするための Internet Gateway への
ルーティングと、VPC 内のクライアントが VIP アドレスにアクセス可能にするためのルーティングを追加
します。VIP アドレスの CIDR ブロックは必ず32にする必要があります。
Public ネットワーク (図では Subnet-1A、および、Subnet-1B)のルートテーブル(Public-AB)には、以
下のルーティングが必要となります。
◇ Route Table (Public-AB)
Destination Target 備考
[7] ENI ID (Node1) [8] ENI ID (Node2)
ENI ID
VIP制御による HA クラスタの設定
28
VPCのネットワーク (例では10.0.0.0/16)
local 最初から存在
0.0.0.0/0 Internet Gateway 追加(必須)
VIPアドレス (例では10.1.0.20/32)
eni-xxxxxxxx (現用系側のインスタンスの ENI ID)
追加(任意)
Private ネットワーク (図では Subnet-2A、および、Subnet-2B)のルートテーブル(Private-A、および、
Private-B)には、以下のルーティングが必要となります。
◇ Route Table (Private-A)
Destination Target 備考
VPCのネットワーク (例では10.0.0.0/16)
local 最初から存在
0.0.0.0/0 NAT1 追加(必須)
VIPアドレス (例では10.1.0.20/32)
eni-xxxxxxxx (現用系側のインスタンスの ENI ID)
追加(任意)
◇ Route Table (Private-B)
Destination Target 備考
VPCのネットワーク (例では10.0.0.0/16)
local 最初から存在
0.0.0.0/0 NAT2 追加(必須)
VIPアドレス (例では10.1.0.20/32)
eni-xxxxxxxx (現用系側のインスタンスの ENI ID)
追加(任意)
フェイルオーバ時に AWS 仮想 IP リソースが AWS CLI を使用して これらのルートテーブルに設定さ
れている VIPアドレスへのルーティングをすべて待機系側のインスタンスの ENI に切り替えます。
VIPアドレスは、VPCの CIDRの範囲外である必要があります。
ルートテーブルに設定した VIP アドレスは、後で AWS 仮想 IP リソース の設定時にも必要となるた
め、 別途控えておきます。
その他のルーティングは、環境にあわせて設定してください。
7) ミラーディスク(EBS) を追加する
必要に応じてミラーディスク(クラスタパーティション、データパーティション)に使用する EBS を追加しま
す。
⇒ EBS の追加は、EC2 Management Console の [Volumes] から、[Create Volume]をクリックし
て作成します。その後、作成したボリュームを任意のインスタンスに Attach することで行います。
[7] ENI ID (Node1)
[7] ENI ID (Node1)
[7] ENI ID (Node1)
[6] VIP Address
VIP制御による HA クラスタの設定
29
4-2. インスタンスの設定
HA クラスタ用の各インスタンスにログインして以下の設定を実施します。
CLUSTERPRO がサポートしている Python、および、AWS CLI のバージョンについては、 『スタートアップ
ガイド』-「第 3 章 CLUSTERPRO の動作環境」-「AWS Elastic IP リソース、AWS 仮想 IP リソースの動作
環境」を参照してください。
1) SELinux を無効にする
CLUSTERPRO で必要な通信を行うためには SELinux は permissive または disabled である必要
があります。
SELinux の動作状態は以下のコマンドで確認します。
$ getenforce
Enforcing (※ Enforcingが出れば有効になっています)
SELinuxの動作状態を変更するためには、/etc/sysconfig/selinux で SELinux を disabled に修正し、
再起動します。その後、getenforce コマンドで Disabled になっていることを確認します。
2) Firewall を設定する
必要に応じて Firewall の設定を変更します。
CLUSTERPRO 関連コンポーネントが使用するポート番号については、『スタートアップガイド』の「第 5
章 注意制限事項」-「OS インストール後、CLUSTERPRO インストール前」を参照し、設定してください。
3) Python のインストール
CLUSTERPRO が必要とする Python をインストールします。
まず、Pythonがインストールされていることを確認します。
未インストールの場合、yum コマンドなどでインストールします。
python コマンドのインストールパスは、以下のいずれかにする必要があります。環境変数 PATHにおい
て、最初に見つかった python コマンドを使用します。
/sbin、/bin、/usr/sbin、/usr/bin
Python3のみインストールされており /usr/bin/python が存在しない場合、/usr/bin/python3.x (xはバー
ジョン) もしくは /usr/bin/python3 に対し /usr/bin/python のシンボリックリンクを作成してください。
4) AWS CLI のインストール
シェルから pip コマンドを実行し、 AWS CLI をインストールします。
$ pip install awscli
pip コマンドに関する詳細は下記を参照してください。 https://pip.pypa.io/en/latest/
AWS CLI のインストールパスは、以下のいずれかにする必要があります。
/sbin、/bin、/usr/sbin、/usr/bin、/usr/local/bin
AWS CLI のセットアップ方法に関する詳細は下記を参照してください。 https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-chap-install.html
(Pythonまたは AWS CLIのインストールを行った時点ですでに CLUSTERPROがインストール済の場
合は、OS を再起動してから CLUSTERPROの操作を行ってください。)
VIP制御による HA クラスタの設定
30
5) AWS アクセスキーIDの登録
シェルから、以下のコマンドを実行します。
$ sudo aws configure
質問に対して、AWS アクセスキーIDなどの情報を入力します。
インスタンスに IAMロールを割り当てているか否かで2通りの設定に分かれます。
◇ IAMロールを割り当てているインスタンスの場合
AWS Access Key ID [None]: (Enterのみ) AWS Secret Access Key [None]: (Enterのみ) Default region name [None]: <既定のリージョン名>
Default output format [None]: text
◇ IAMロールを割り当てていないインスタンスの場合
AWS Access Key ID [None]: <AWS アクセスキーID>
AWS Secret Access Key [None]: <AWS シークレットアクセスキー>
Default region name [None]: <既定のリージョン名>
Default output format [None]: text
"Default output format"は、"text"以外を指定することも可能です。
もし誤った内容を設定してしまった場合は、/root/.awsをディレクトリごと消去してから上記操作をやり直し
てください。
6) ミラーディスクの準備
ミラーディスク用に EBS を追加していた場合は、EBS をパーティション分割し、それぞれクラスタパーテ
ィション、データパーティションに使用します。
ミラーディスク用のパーティションについては、『インストール&設定ガイド』の「第 1 章 システム構成を
決定する」-「4. ミラーディスクリソース用のパーティションを設定する (Replicator 使用時は必須)」を参
照してください。
7) CLUSTERPROのインストール
インストール手順は『インストール&設定ガイド』を参照してください。
CLUSTERPRO のインストール媒体を導入環境に格納します。
(データの転送に関しては FTP、SCP、Amazon S3 経由など任意です。)
インストール完了後、OSの再起動を行ってください。
VIP制御による HA クラスタの設定
31
4-3. CLUSTERPRO の設定
Cluster WebUI のセットアップ、および、接続方法は『インストール&設定ガイド』の「第 5 章 クラスタ構成
情報を作成する」を参照してください。
ここでは以下のリソースを追加する手順を記述します。
・ ミラーディスクリソース
・ AWS 仮想 IP リソース
・ AWS AZモニタリソース
・ AWS 仮想 IPモニタリソース
・ NP解決(IPモニタリソース)
上記以外の設定は、『インストール&設定ガイド』を参照してください。
1) クラスタの構築
最初に、クラスタ生成ウィザードを開始し、クラスタを構築します。
◇ クラスタの構築
【手順】
1. Cluster WebUI にアクセスし、[クラスタ生成ウィザード] をクリックします。
VIP制御による HA クラスタの設定
32
2. [クラスタ生成ウィザード]画面の[クラスタ]画面が表示されます。
[クラスタ名] に任意のクラスタ名を入力します。
[言語] を適切に選択します。[次へ] をクリックします。
3. Cluster WebUI に接続したインスタンスがマスタサーバとして登録済みの状態で表示されま
す。
[追加] をクリックし、残りのインスタンスを追加します(インスタンスの Private IP アドレスを
指定します)。[次へ] をクリックします。
VIP制御による HA クラスタの設定
33
4. [インタコネクト] 画面が表示されます。
インタコネクトのために使用する IPアドレス(各インスタンスの Private IP アドレス)を指定し
ます。また、後で作成するミラーディスクリソースの通信経路として [MDC] に mdc1 を選
択します。[次へ] をクリックします。
5. [NP解決] 画面が表示されます。
ただし、NP 解決は本画面では設定せず、別途 IP モニタリソースを追加し、AZ ごとに設置
された各NATに対する監視を行うことによって同等のことを実現します(NP解決の設定は、
後述の「3) モニタリソースの追加」で行います)。
クラスタシステムにアクセスするクライアントの配置やオンプレミス環境との接続条件(専用
線接続など)によって、NP 解決先や NP 解決の方法は、その都度 検討する必要がありま
す。NP 解決にネットワークパーティション解決リソースを利用することも可能です。
[次へ] をクリックします。
2) グループリソースの追加
◇ グループの定義
フェイルオーバグループを作成します。
【手順】
1. [グループ一覧] 画面が表示されます。
[追加] をクリックします。
2. [グループの定義] 画面が表示されます。
[名前] にフェイルオーバグループ名(failover1)を設定します。[次へ] をクリックします。
VIP制御による HA クラスタの設定
34
3. [起動可能サーバ] 画面が表示されます。
何も指定せず [次へ] をクリックします。
4. [グループ属性] 画面が表示されます。
何も指定せず [次へ] をクリックします。
5. [グループリソース一覧] 画面が表示されます。
以降の手順で、この画面でグループリソースを追加していきます。
◇ ミラーディスクリソース
必要に応じてミラーディスク(EBS) にあわせたミラーディスクリソース を作成します。
詳細は『リファレンスガイド』の「ミラーディスクリソースを理解する」を参照してください。
【手順】
1. [グループリソース一覧] で [追加] をクリックします。
2. [グループのリソース定義 | failover1] 画面が開きます。
[タイプ] ボックスでグループリソースのタイプ(ミラーディスクリソース) を選択し、[名前] ボッ
クスにグループリソース名 (md) を入力します。[次へ] をクリックします。
3. [依存関係] 画面が表示されます。
何も指定せず [次へ] をクリックします。
4. [復旧動作] 画面が表示されます。[次へ] をクリックします。
5. [詳細設定] 画面が表示されます。
[マウントポイント] にミラーディスクのマウント先、[データパーティションデバイス名] [クラスタ
パーティションデバイス名] に「4-2 インスタンスの設定」-「6) ミラーディスクの準備」で作成
したパーティションのデバイス名を入力します。 [完了] をクリックして設定を終了します。
◇ AWS 仮想 IP リソース
AWS CLI を利用して、VIPの制御を行う AWS 仮想 IP リソースを追加します。
詳細は『リファレンスガイド』の「AWS仮想 IP リソースを理解する」を参照してください。
【手順】
1. [グループリソース一覧] で [追加] をクリックします。
2. [グループのリソース定義 | failover1] 画面が開きます。
[タイプ] ボックスでグループリソースのタイプ (AWS 仮想 IP リソース) を選択して、[名前]
ボックスにグループリソース名 (awsvip1) を入力します。[次へ] をクリックします。
VIP制御による HA クラスタの設定
35
3. [依存関係] 画面が表示されます。何も指定せず [次へ] をクリックします。
4. [復旧動作] 画面が表示されます。[次へ] をクリックします。
5. [詳細] 画面が表示されます。
[共通] タブの[IP アドレス] ボックスに、付与したい VIP アドレスを設定します(図4-1の[6]が
該当)。
[VPC ID] ボックスに、インスタンスが所属する VPC の ID を設定します(図4-1の[1]が該
当)。
サーバ個別設定を行う場合、[共通]タブでは、任意のサーバの VPC ID を記載し、他のサ
ーバは個別設定を行うようにしてください。
[ENI ID] ボックスに、VIPアドレスのルーティング先となる現用系側のインスタンスの ENI ID
を設定します(図4-1の[7]が該当)。
サーバ別設定が必須です。[共通]タブでは、任意のサーバの ENI ID を記載し、他のサー
バは個別設定を行うようにしてください。
VIP制御による HA クラスタの設定
36
6. 各ノードのタブをクリックし、ノード別設定を行います。
[個別に設定する] をチェックします。
[VPC ID] ボックスに[共通]タブで設定した VPC ID と同じものが設定されていることを確認し
ます(図4-1の[1]が該当)。
[ENI ID] ボックスに、そのノードに対応するインスタンスの ENI ID を設定します(図4-1の[7]
が該当)。
7. [完了] をクリックして設定を終了します。
3) モニタリソースの追加
◇ AWS AZ モニタリソース
監視 コマンドを利用して、指定した AZ が利用可能かどうかを確認する AWS AZ モニタリソースを
作成します。
詳細は『リファレンスガイド』の「AWS AZモニタリソースを理解する」を参照してください。
【手順】
1. [モニタリソース一覧] で [追加] をクリックします。
2. [タイプ] ボックスでモニタリソースのタイプ (AWS AZモニタ) を選択し、[名前] ボックスにモ
ニタリソース名 (awsazw1) を入力します。[次へ] をクリックします。
VIP制御による HA クラスタの設定
37
3. [監視(共通)] 画面が表示されます。
何も指定せず [次へ] をクリックします。
4. [監視(固有)] 画面が表示されます。
[共通] タブの[アベイラビリティーゾーン] ボックスに監視するアベイラビリティーゾーンを入
力します(現用系側のインスタンスのアベイラビリティーゾーンを設定します)(図4-1の[2]が
該当。
5. 各ノードのタブをクリックし、ノード別設定を行います。
[個別に設定する]をチェックします。
[アベイラビリティーゾーン] ボックスに、そのノードに対応するインスタンスのアベイラビリティ
ーゾーンを設定します(図4-1の[2][3]が該当)。[次へ] をクリックします。
VIP制御による HA クラスタの設定
38
6. [回復動作] 画面が表示されます。
[回復対象] に [LocalServer]を設定します。
7. [完了] をクリックして設定を終了します。
◇ AWS 仮想 IP モニタリソース
AWS 仮想 IP リソース追加時に、自動的に追加されます。
OS API 及び AWS CLI コマンドを利用して、VIP アドレスの存在及びルートテーブルの健全性を
確認します。
詳細は『リファレンスガイド』-「AWS仮想 IP モニタリソースを理解する」を参照してください。
◇ IPモニタリソース
各アベイラビリティーゾーンに配置されている NAT インスタンスに ping することで、サブネットの
健全性を監視する IP モニタリソースを作成します。以下を指定してください。
【手順】
1. [モニタリソース一覧] で [追加] をクリックします。
VIP制御による HA クラスタの設定
39
2. [タイプ] ボックスでモニタリソースのタイプ (IP モニタ) を選択し、[名前] ボックスにモニタリ
ソース名 (ipw1) を入力します。[次へ] をクリックします。
3. [監視(共通)] 画面が表示されます。
[監視タイミング] が [常時] であることを確認し、[次へ] をクリックします。
4. [監視(固有)] 画面が表示されます。
[共通] タブの [IP アドレス一覧] に、現用系側のインスタンスの属するアベイラビリティーゾ
ーンに配置された NAT インスタンスの Private IPアドレスを入力します(図4-1の[4][5]が該
当)。[次へ] をクリックします。
VIP制御による HA クラスタの設定
40
5. [回復動作] 画面が表示されます。
[回復対象] に [LocalServer]を設定します。
[最終動作] に [クラスタサービス停止と OSシャットダウン] を設定します。
6. [完了] をクリックして設定を終了します。
VIP制御による HA クラスタの設定
41
4) 設定の反映とクラスタの起動
1. Cluster WebUI の設定モードから、[設定の反映] をクリックします。
「設定を反映しますか。」 というポップアップメッセージが表示されるので、[OK] をクリックします。
アップロードに成功すると、[反映に成功しました。] のメッセージが表示されますので、[OK] をクリ
ックします。
アップロードに失敗した場合は、表示されるメッセージに従って操作を行ってください。
2. Cluster WebUI のツールバーのドロップダウンメニューで [操作モード] を選択して、操作モードに
切り替えます。
3. 使用するリソースによって以降の手順が異なります。詳細は『インストール&設定ガイド』-「クラスタ
を生成するには」を参照してください。
EIP制御による HA クラスタの設定
42
EIP制御による HA クラスタの設定 本章では、EIP制御による HA クラスタの構築手順を説明します。
図中の番号は、後述の説明および設定値との対応を示しています。
図 5-1 システム構成 EIP 制御による HA クラスタ
Availability Zone B Availability Zone A
VPC
AWS Cloud
Route Table(Public-AB)
Public subnet (Subnet-1B) 10.0.20.0/24
Public subnet (Subnet-1A) 10.0.10.0/24
Internet
Elastic IP Address Elastic IP Address
Internet gateway
Application Application
Mirroring
[1] Availability Zone A
[3] EIP Allocation ID
CIDR 10.0.0.0/16
[2] Availability Zone B
Server Instance (Active)
Server Instance (Standby)
[4] ENI ID(Node1) [5] ENI ID(Node2)
EIP制御による HA クラスタの設定
43
5-1. VPC 環境の設定
VPC Management Console、および、EC2 Management Console 上で VPC の構築を行います。
図中および説明中の IP アドレスは一例であり、実際の設定時は VPC に割り当てられている IP アドレス
に読み替えてください。既存の VPC に CLUSTERPRO を適用する場合は、不足しているサブネットを追
加するなど適切に読み替えてください。また、本書では HAクラスタノード用のインスタンスに ENIを追加し
て運用するケースは対象外としております。
1) VPC およびサブネットを設定する
最初に VPC およびサブネットを作成します。
⇒ VPC Management Console の [VPC] および [Subnets] で VPC およびサブネットの追加操作を
行います。
2) Internet Gateway を設定する。
VPC からインターネットにアクセスするための Internet Gatewayを追加します。
⇒ VPC Management Console の [Internet Gateways] から [Create internet gateway]をクリック
して作成します。その後、 作成した Internet Gateway を VPC に Attach します。
3) Network ACL/Security Group を設定する
VPC 内外からの不正なネットワークアクセスを防ぐために、Network ACL、および、Security Group を
適切に設定します。
Public ネットワーク (Subnet-1A、および、Subnet-1B)内に配置予定の HA クラスタノード用のインスタ
ンスから、HTTPS で Internet Gateway と通信可能となるように、また、Cluster WebUIやインスタンス
同士の通信も可能となるよう各経路について Network ACLや Security Group の設定を変更します。
⇒ 設定変更は、VPC Management Console の [Network ACLs] 、および、[Security Groups] から
行います。
CLUSTERPRO 関連コンポーネントが使用するポート番号については、『スタートアップガイド』の「第 5
章 注意制限事項」-「OS インストール後、CLUSTERPRO インストール前」を参照し、設定してください。
4) HAクラスタ用のインスタンスを追加する
HA クラスタノード用のインスタンスを Public ネットワーク(Subnet-1A、および、Subnet-1B)に作成しま
す。
作成時には Public IP を有効となるように設定してください。Public IP を使用しないで作成した場合は、
後から EIPを追加するか、NATを用意する必要があります(本書ではこのケースの説明は割愛します)。
IAMロールをインスタンスに割り当てて使用する場合は、IAMロールを指定してください。
⇒ インスタンスの作成は、 EC2 Management Console の [Instances] から、 [Launch Instance]
をクリックして行います。
⇒ IAMの設定については「第 7 章 IAMの設定」を参照してください。
作成した各インスタンスに割り当てられている Elastic Network Interface (以下、ENI) の IDを確認しま
す。
ここで各インスタンスの ENI ID (eni-xxxxxxxx) は後で AWS Elastic IP リソース の設定時に必要
となるため、 別途控えておきます。
インスタンスに割り当てられた ENI ID は以下の操作で確認できます。
[4] ENI ID (Node1) [5] ENI ID (Node2)
EIP制御による HA クラスタの設定
44
① インスタンスを選択して詳細情報を表示する。
② [Network Interfaces] から該当するデバイスをクリックする。
③ ポップアップ表示中の [Interface ID] を参照する。
5) EIP を追加する
インターネット側から VPC内のインスタンスにアクセスするための EIP を追加します。
⇒ EIP の追加は、 EC2 Management Console の [Elastic IPs] から、 [Allocate new address] を
クリックして行います。
ここで追加した EIP の Allocation ID (eipalloc-xxxxxxxx) は後で AWS Elastic IP リソース の
設定時に必要となるため、 別途控えておきます。
6) ルートテーブルを設定する。
AWS CLI が NAT 経由でリージョンのエンドポイントと通信可能にするための Internet Gateway への
ルーティングを追加します。
Public ネットワーク (図では Subnet-1A、および、Subnet-1B)のルートテーブル(Public-AB)には、以
下のルーティングが必要となります。
◇ Route Table (Public-AB)
Destination Target 備考
VPCのネットワーク (例では10.0.0.0/16)
local 最初から存在
0.0.0.0/0 Internet Gateway 追加(必須)
フェイルオーバ時に AWS Elastic IP リソースが AWS CLI を使用して、現用系側のインスタンスに割り
当てられている EIP の切り離しを行い、 待機系側のインスタンスの ENI に EIP を割り当てます。
その他のルーティングは、環境にあわせて設定してください。
[3] EIP Allocation ID
ENI ID
EIP制御による HA クラスタの設定
45
7) ミラーディスク(EBS) を追加する
必要に応じてミラーディスク(クラスタパーティション、データパーティション)に使用する EBS を追加しま
す。
⇒ EBS の追加は、EC2 Management Console の [Volumes] から、[Create Volume]をクリックし
て作成します。その後、作成したボリュームを任意のインスタンスに Attach することで行います。
EIP制御による HA クラスタの設定
46
5-2. インスタンスの設定
HA クラスタ用の各インスタンスにログインして以下の設定を実施します。
CLUSTERPROがサポートしている Python、および、AWS CLI のバージョンについては、『スタートアップガ
イド』-「第 3 章 CLUSTERPRO の動作環境」-「AWS Elastic IP リソース、AWS 仮想 IP リソースの動作環
境」を参照してください。
1) SELinux を無効にする
CLUSTERPRO で必要な通信を行うためには SELinux は permissive または disabled である必要
があります。
SELinux の動作状態は以下のコマンドで確認します。
$ getenforce
Enforcing (※ Enforcingが出れば有効になっています)
SELinuxの動作状態を変更するためには、/etc/sysconfig/selinux で SELinux を disabled に修正し、
再起動します。その後、getenforce コマンドで Disabled になっていることを確認します。
2) Firewall を設定する
必要に応じて Firewall の設定を変更します。
CLUSTERPRO 関連コンポーネントが使用するポート番号については、『スタートアップガイド』の「第 5
章 注意制限事項」-「OS インストール後、CLUSTERPRO インストール前」を参照し、設定してください。
3) Python のインストール
CLUSTERPRO が必要とする Python をインストールします。
まず、Pythonがインストールされていることを確認します。
未インストールの場合、yum コマンドなどでインストールします。
python コマンドのインストールパスは、以下のいずれかにする必要があります。環境変数 PATHにおい
て、最初に見つかった python コマンドを使用します。
/sbin、/bin、/usr/sbin、/usr/bin
Python3のみインストールされており /usr/bin/python が存在しない場合、/usr/bin/python3.x (xはバー
ジョン) もしくは /usr/bin/python3 に対し /usr/bin/python のシンボリックリンクを作成してください。
4) AWS CLI のインストール
シェルから pip コマンドを実行し、 AWS CLI をインストールします。
$ pip install awscli
pip コマンドに関する詳細は下記を参照してください。 https://pip.pypa.io/en/latest/
AWS CLI のインストールパスは、以下のいずれかにする必要があります。
/sbin、/bin、/usr/sbin、/usr/bin、/usr/local/bin
AWS CLI のセットアップ方法に関する詳細は下記を参照してください。 https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-chap-install.html
(Pythonまたは AWS CLIのインストールを行った時点ですでに CLUSTERPROがインストール済の場
合は、OS を再起動してから CLUSTERPROの操作を行ってください。)
EIP制御による HA クラスタの設定
47
5) AWS アクセスキーIDの登録
シェルから、以下のコマンドを実行します(必ず sudo をつけて root 権限で実行します)。
$ sudo aws configure
質問に対して、AWS アクセスキーIDなどの情報を入力します。
インスタンスに IAMロールを割り当てているか否かで2通りの設定に分かれます。
◇ IAMロールを割り当てているインスタンスの場合
AWS Access Key ID [None]: (Enterのみ) AWS Secret Access Key [None]: (Enterのみ) Default region name [None]: <既定のリージョン名>
Default output format [None]: text
◇ IAMロールを割り当てていないインスタンスの場合
AWS Access Key ID [None]: <AWS アクセスキーID>
AWS Secret Access Key [None]: <AWS シークレットアクセスキー>
Default region name [None]: <既定のリージョン名>
Default output format [None]: text
"Default output format"は、"text"以外を指定することも可能です。
もし誤った内容を設定してしまった場合は、/root/.awsをディレクトリごと消去してから上記操作をやり直し
てください。
6) ミラーディスクの準備
ミラーディスク用に EBS を追加していた場合は、EBS をパーティション分割し、それぞれクラスタパーテ
ィション、データパーティションに使用します。
ミラーディスク用のパーティションについては、『インストール&設定ガイド』の「第 1 章 システム構成を
決定する」-「4. ミラーディスクリソース用のパーティションを設定する (Replicator 使用時は必須)」を参
照してください。
7) CLUSTERPROのインストール
インストール手順は『インストール&設定ガイド』を参照してください。
CLUSTERPRO のインストール媒体を導入環境に格納します。
(データの転送に関しては FTP、SCP、Amazon S3 経由など任意です。)
インストール完了後、OSの再起動を行ってください。
EIP制御による HA クラスタの設定
48
5-3. CLUSTERPRO の設定
Cluster WebUI のセットアップ、および、接続方法は『インストール&設定ガイド』の「第 5 章 クラスタ構成情
報を作成する」を参照してください。
ここでは以下のリソースを追加する手順を記述します。
・ ミラーディスクリソース
・ AWS EIP リソース
・ AWS AZモニタリソース
・ AWS EIPモニタリソース
・ NP解決(カスタムモニタリソース)
上記以外の設定は、『インストール&設定ガイド』を参照してください。
1) クラスタの構築
最初に、クラスタ生成ウィザードを開始し、クラスタを構築します。
◇ クラスタの構築
【手順】
1. Cluster WebUI にアクセスし、[クラスタ生成ウィザード] をクリックします。
EIP制御による HA クラスタの設定
49
2. [クラスタ生成ウィザード]画面の[クラスタ]画面が表示されます。
[クラスタ名] に任意のクラスタ名を入力します。
[次へ] をクリックします。
3. [基本設定]画面が表示されます。
Cluster WebUI に接続したインスタンスがマスタサーバとして登録済みの状態で表示されま
す。
[追加] をクリックし、残りのインスタンスを追加します(インスタンスの Private IP アドレスを
指定します)。[次へ] をクリックします。
EIP制御による HA クラスタの設定
50
4. [インタコネクト] 画面が表示されます。
インタコネクトのために使用する IPアドレス(各インスタンスの Private IP アドレス)を指定し
ます。また、後で作成するミラーディスクリソースの通信経路として [MDC] に mdc1 を選
択します。[次へ] をクリックします。
5. [NP解決] 画面が表示されます。
ただし、NP解決は本画面では設定せず、別途カスタムモニタリソースを追加し、リージョンの
エンドポイントの 443 ポートに対して LISTEN 確認などを行うことによって同等のことを実
現します(NP解決の設定は後述の「3) モニタリソースの追加」で行います)。
クラスタシステムにアクセスするクライアントの配置やオンプレミス環境との接続条件(専用
線接続など)によって、NP 解決先や NP 解決の方法は、その都度 検討する必要がありま
す。NP 解決にネットワークパーティション解決リソースを利用することも可能です。
[次へ] をクリックします。
2) グループリソースの追加
◇ グループの定義
フェイルオーバグループを作成します。
【手順】
1. [グループ一覧] 画面が表示されます。
[追加]をクリックします。
2. [グループの定義] 画面が表示されます。
[名前] にフェイルオーバグループ名(failover1)を設定します。[次へ] をクリックします。
EIP制御による HA クラスタの設定
51
3. [起動可能サーバ] 画面が表示されます。
何も指定せず [次へ] をクリックします。
4. [グループ属性] 画面が表示されます。
何も指定せず [次へ] をクリックします。
5. [グループリソース一覧] 画面が表示されます。
以降の手順で、この画面でグループリソースを追加していきます。
◇ ミラーディスクリソース
必要に応じてミラーディスク(EBS)にあわせたミラーディスクリソース を作成します。
詳細は『リファレンスガイド』-「ミラーディスクリソースを理解する」を参照してください。
【手順】
1. [グループリソース一覧] で [追加] をクリックします。
2. [グループのリソース定義 | failover1] 画面が開きます。
[タイプ] ボックスでグループリソースのタイプ(ミラーディスクリソース) を選択し、[名前] ボッ
クスにグループリソース名 (md) を入力します。[次へ] をクリックします。
3. [依存関係] 画面が表示されます。
何も指定せず [次へ] をクリックします。
4. [復旧動作] 画面が表示されます。[次へ] をクリックします。
5. [詳細] 画面が表示されます。
[マウントポイント] にミラーディスクのマウント先、[データパーティションデバイス名] [クラスタ
パーティションデバイス名] に「5-2 インスタンスの設定」-「6) ミラーディスクの準備」で作成
したパーティションのデバイス名を入力します。 [完了] をクリックして設定を終了します。
◇ AWS Elastic IP リソース
AWS CLI を利用して、EIP の制御を行う AWS Elastic IP リソースを追加します。
詳細は『リファレンスガイド』-「AWS Elastic IP リソースを理解する」を参照してください。
【手順】
1. [グループリソース一覧] で [追加] をクリックします。
EIP制御による HA クラスタの設定
52
2. [グループのリソース定義 | failover1] 画面が開きます。
[タイプ] ボックスでグループリソースのタイプ (AWS Elastic IP リソース) を選択して、[名
前] ボックスにグループリソース名 (awseip1) を入力します。[次へ] をクリックします。
3. [依存関係] 画面が表示されます。何も指定せず [次へ] をクリックします。
4. [復旧動作] 画面が表示されます。[次へ] をクリックします。
5. [詳細] 画面が表示されます。
[共通] タブの[EIP ALLOCATION ID] ボックスに、付与したい EIPの Allocation ID を設定
します(図5-1の[3][4]が該当)。
[ENI ID] ボックスに、EIP を割り当てる現用系側のインスタンスの ENI ID を設定します。
EIP制御による HA クラスタの設定
53
6. 各ノードのタブをクリックし、ノード別設定を行います。
[個別に設定する] をチェックします。
[ENI ID] ボックスに、そのノードに対応するインスタンスの ENI ID を設定します(図5-1の
[4][5]が該当)。
7. [完了] をクリックして設定を終了します。
3) モニタリソースの追加
◇ AWS AZ モニタリソース
監視 コマンドを利用して、指定した AZ が利用可能かどうかを確認する AWS AZ モニタリソースを
作成します。
詳細は『リファレンスガイド』-「AWS AZモニタリソースを理解する」を参照してください。
【手順】
1. [モニタリソース一覧] で [追加] をクリックします。
2. [タイプ] ボックスでモニタリソースのタイプ (AWS AZモニタ) を選択し、[名前] ボックスにモ
ニタリソース名 (awsazw1) を入力します。[次へ] をクリックします。
3. [監視(共通)] 画面が表示されます。
何も指定せず [次へ] をクリックします。
EIP制御による HA クラスタの設定
54
4. [監視(固有)] 画面が表示されます。
[共通] タブの[アベイラビリティーゾーン] ボックスに監視するアベイラビリティーゾーンを入
力します(現用系側のインスタンスのアベイラビリティーゾーンを設定します)(図5-1の[1]が
該当)。
5. 各ノードのタブをクリックし、ノード別設定を行います。
[個別に設定する]をチェックします。
[アベイラビリティーゾーン] ボックスに、そのノードに対応するインスタンスのアベイラビリティ
ーゾーンを設定します(図5-1の[1][2]が該当)。[次へ] をクリックします。
EIP制御による HA クラスタの設定
55
6. [回復動作] 画面が表示されます。
[回復対象] に [LocalServer]を設定します。
7. [完了] をクリックして設定を終了します。
◇ AWS Elastic IP モニタリソース
AWS Elastic IP リソース追加時に、自動的に追加されます。
現用系側のインスタンスに割り当てられている EIP アドレスへの通信を監視することで、EIP アドレ
スの健全性を確認します。
詳細は『リファレンスガイド』-「AWS Elastic IP モニタリソースを理解する」を参照してください。
◇ カスタムモニタリソース
環境構築しているリージョンのエンドポイントの443ポートへの通信を監視することで、EIP アドレス
の通信状態を確認します。
リージョンのエンドポイントは、以下から確認できます。 https://docs.aws.amazon.com/ja_jp/general/latest/gr/rande.html
詳細は『リファレンスガイド』-「カスタムモニタリソースを理解する」を参照してください。
EIP制御による HA クラスタの設定
56
4) 設定の反映とクラスタの起動
1. Cluster WebUI の設定モードから、[設定の反映] をクリックします。
「設定を反映しますか。」 というポップアップメッセージが表示されるので、[OK] をクリックします。
アップロードに成功すると、[反映に成功しました。] のメッセージが表示されますので、[OK] をクリ
ックします。
アップロードに失敗した場合は、表示されるメッセージに従って操作を行ってください。
2. Cluster WebUI のツールバーのドロップダウンメニューで [操作モード] を選択して、操作モードに
切り替えます。
3. 使用するリソースによって以降の手順が異なります。詳細は『インストール&設定ガイド』-「クラスタ
を生成するには」を参照してください。
DNS名制御による HA クラスタの設定
57
DNS名制御による HAクラスタの設定
本章では、DNS名制御による HA クラスタの構築手順を説明します。
図中の番号は、後述の説明および設定値との対応を示しています。
図 6-1 システム構成 DNS名制御による HAクラスタ
VPC
Availability Zone B
Route Table(Public-AB)
Route Table(Private-B)
AWS Cloud
Availability Zone A
Public subnet (Subnet-1A) 10.0.10.0/24
Route Table(Private-A)
“srv.hz1.local.”
Internet gateway
NAT1 Instance
Private subnet (Subnet-2A) 10.0.110.0/24
Private subnet (Subnet-2B) 10.0.120.0/24
Application Application
Public subnet (Subnet-1B) 10.0.20.0/24
NAT 2 Instance
[2] Availability Zone A
[1] VPC ID
[6] Private IP Address [4] Private IP Address
CIDR 10.0.0.0/16
[3] Availability Zone B
[5] Domain Name
[7] Hosted Zone ID
Mirroring Server Instance (Active)
Server Instance (Standby)
Amazon Route 53
DNS名制御による HA クラスタの設定
58
6-1. VPC 環境の設定
VPC Management Console、および、EC2 Management Console上で VPCの構築を行います。
図中および説明中の IP アドレスは一例であり、実際の設定時は VPC に割り当てられている IP アドレス
に読み替えてください。既存の VPC に CLUSTERPRO を適用する場合は、不足しているサブネットを追
加するなど適切に読み替えてください。また、本書では HAクラスタノード用のインスタンスに ENIを追加し
て運用するケースは対象外としております。
1) VPC およびサブネットを設定する
最初に VPCおよびサブネットを作成します。
⇒ VPC Management Console の [VPC] および [Subnets] で VPC およびサブネットの追加操作
を行います。
VPC ID (vpc-xxxxxxxx) は後でホストゾーンの追加時に必要となるため、別途控えておきます。
2) Internet Gateway を設定する。
VPC からインターネットにアクセスするための Internet Gatewayを追加します。
⇒ VPC Management Consoleの [Internet Gateways] から [Create internet gateway] をクリック
して作成します。その後、 作成した Internet Gatewayを VPCに Attach します。
3) Network ACL/Security Group を設定する
VPC 内外からの不正なネットワークアクセスを防ぐために、Network ACL、および、Security Group を
適切に設定します。
Private ネットワーク(Subnet-2A および Subnet-2B)内に配置予定の HA クラスタノード用のインスタン
スから、HTTPS で Internet Gateway と通信可能となるように、また、Cluster WebUI やインスタンス同
士の通信も可能となるよう各経路について Network ACLや Security Groupの設定を変更します。
⇒ 設定変更は、VPC Management Consoleの [Network ACLs] 、および、[Security Groups] から
行います。
CLUSTERPRO 関連コンポーネントが使用するポート番号については、『スタートアップガイド』の「第 5
章注意制限事項」-「CLUSTERPRO インストール前」を参照し、設定してください。
[1] VPC ID
VPC ID
DNS名制御による HA クラスタの設定
59
4) HAクラスタ用のインスタンスを追加する
HA クラスタノード用のインスタンスを Private ネットワーク(Subnet-2A、および、Subnet-2B)に作成
します。
IAMロールをインスタンスに割り当てて使用する場合は、IAMロールを指定してください。
⇒ インスタンスの作成は、EC2 Management Consoleの [Instances] から、 [Launch Instance] を
クリックして行います。
⇒ IAMの設定については「第 7 章 IAMの設定」を参照してください。
5) NAT を追加する
AWS CLIによる DNS 名制御処理を実行するために、HA クラスタノード用のインスタンスからリージョン
のエンドポイントに対して HTTPSによる通信が可能な状態にする必要があります。
そのために Public ネットワーク(Subnet-1A、および、Subnet-1B)上に NAT インスタンスを作成しま
す。AWS 環境では、文字列 amzn-ami-vpc-nat が含まれる AMI として amzn-ami-vpc-nat-pv-
2014.09.1.x86_64-ebs などが用意されています。
NAT 作成時には Public IP を有効にします。また、追加した NAT インスタンスについて Source/Dest.
Check を disabledに変更します。この操作を行わないと NAT機能が有効になりません。
⇒ EC2 Management Console の [Instances] から、NAT インスタンスの上で右クリックし、
[Networking] - [Change Source/Dest. Check] をクリックすることで設定変更を行えます。
6) ルートテーブルを設定する。
AWS CLI が NAT 経由でリージョンのエンドポイントと通信可能にするための Internet Gateway への
ルーティングを追加します。
Public ネットワーク(図では Subnet-1A、および、Subnet-1B)のルートテーブル(Public-AB)には、以下
のルーティングが必要となります。
◇ Route Table (Public-AB)
Destination Target 備考
VPCのネットワーク (例では 10.0.0.0/16)
local 最初から存在
0.0.0.0/0 Internet Gateway 追加(必須)
Private ネットワーク(図では Subnet-2A、および、Subnet-2B)のルートテーブル(Private-A、および
Private-B)には、以下のルーティングが必要となります。
◇ Route Table (Private-A)
Destination Target 備考
VPCのネットワーク (例では 10.0.0.0/16)
local 最初から存在
0.0.0.0/0 NAT1 追加(必須)
◇ Route Table (Private-B)
Destination Target 備考
VPCのネットワーク (例では 10.0.0.0/16)
local 最初から存在
0.0.0.0/0 NAT2 追加(必須)
その他のルーティングは、環境にあわせて設定してください。
DNS名制御による HA クラスタの設定
60
7) ホストゾーンを追加する
Amazon Route 53に Privateホストゾーンを追加します。
⇒ ホストゾーンの追加は、Route 53 Management Console の [DNS management]を選択し、
[Create Hosted Zone] をクリックして作成します。[Type] ボックスは [Private Hosted Zone for
Amazon VPC] を選択し、 [VPC ID] ボックスにインスタンスが所属する VPC の ID
(図6-1の[1]に該当)を設定します。
Hosted Zone IDは後で AWS DNS リソースの設定時に必要となるため、別途控えておきます。
なお、本書では、クラスタを Private なサブネット上に配置して VPC 内のクライアントからアクセスする
構成を採用しているために Private ホストゾーンを追加していますが、Public なサブネット上に配置して
インターネット側の任意のクライアントからアクセスする構成の場合は、Public ホストゾーンを追加して
ください。
8) ミラーディスク(EBS) を追加する
必要に応じてミラーディスク(クラスタパーティション、データパーティション)に使用する EBS を追加しま
す。
⇒ EBS の追加は、EC2 Management Console の [Volumes] から、[Create Volume]をクリックし
て作成します。その後、作成したボリュームを任意のインスタンスに Attach することで行います。
[7] Hosted Zone ID
DNS名制御による HA クラスタの設定
61
6-2. インスタンスの設定
HA クラスタ用の各インスタンスにログインして以下の設定を実施します。
CLUSTERPRO がサポートしている Python、および、AWS CLI のバージョンについては、 『スタートアップ
ガイド』-「第 3 章 CLUSTERPRO の動作環境」-「AWS DNS リソース、AWS DNS モニタリソースの動作
環境」を参照してください。
1) SELinux を無効にする
CLUSTERPRO で必要な通信を行うためには SELinux は permissive または disabled である必要
があります。
SELinux の動作状態は以下のコマンドで確認します。
$ getenforce
Enforcing (※ Enforcingが出れば有効になっています)
SELinuxの動作状態を変更するためには、/etc/sysconfig/selinux で SELinux を disabled に修正し、
再起動します。その後、getenforce コマンドで Disabled になっていることを確認します。
2) Firewall を設定する
必要に応じて Firewall の設定を変更します。
CLUSTERPRO 関連コンポーネントが使用するポート番号については、『スタートアップガイド』の「第 5
章 注意制限事項」-「OS インストール後、CLUSTERPRO インストール前」を参照し、設定してください。
3) Python のインストール
CLUSTERPRO が必要とする Python をインストールします。
まず、Pythonがインストールされていることを確認します。
未インストールの場合、yum コマンドなどでインストールします。
python コマンドのインストールパスは、以下のいずれかにする必要があります。環境変数 PATHにおい
て、最初に見つかった python コマンドを使用します。
/sbin、/bin、/usr/sbin、/usr/bin
Python3のみインストールされており /usr/bin/python が存在しない場合、/usr/bin/python3.x (xはバー
ジョン) もしくは /usr/bin/python3 に対し /usr/bin/python のシンボリックリンクを作成してください。
4) AWS CLI のインストール
シェルから pip コマンドを実行し、 AWS CLI をインストールします。
$ pip install awscli
pip コマンドに関する詳細は下記を参照してください。 https://pip.pypa.io/en/latest/
AWS CLI のインストールパスは、以下のいずれかにする必要があります。
/sbin、/bin、/usr/sbin、/usr/bin、/usr/local/bin
AWS CLI のセットアップ方法に関する詳細は下記を参照してください。 https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-chap-install.html
(Python または AWS CLI のインストールを行った時点ですでに CLUSTERPRO がインストール済の
DNS名制御による HA クラスタの設定
62
場合は、OSを再起動してから CLUSTERPROの操作を行ってください。)
5) AWS アクセスキーIDの登録
シェルから、以下のコマンドを実行します。
$ sudo aws configure
質問に対して、AWS アクセスキーIDなどの情報を入力します。
インスタンスに IAMロールを割り当てているか否かで2通りの設定に分かれます。
◇ IAMロールを割り当てているインスタンスの場合
AWS Access Key ID [None]: (Enterのみ) AWS Secret Access Key [None]: (Enterのみ) Default region name [None]: <既定のリージョン名>
Default output format [None]: text
◇ IAMロールを割り当てていないインスタンスの場合
AWS Access Key ID [None]: <AWS アクセスキーID>
AWS Secret Access Key [None]: <AWS シークレットアクセスキー>
Default region name [None]: <既定のリージョン名>
Default output format [None]: text
"Default output format"は、"text"以外を指定することも可能です。
もし誤った内容を設定してしまった場合は、/root/.awsをディレクトリごと消去してから上記操作をやり直し
てください。
6) ミラーディスクの準備
ミラーディスク用に EBS を追加していた場合は、EBS をパーティション分割し、それぞれクラスタパーティ
ション、データパーティションに使用します。
ミラーディスク用のパーティションについては、『インストール&設定ガイド』の「第 1 章 システム構成を
決定する」-「4. ミラーディスクリソース用のパーティションを設定する (Replicator 使用時は必須)」を参
照してください。
7) CLUSTERPROのインストール
インストール手順は『インストール&設定ガイド』を参照してください。
CLUSTERPRO のインストール媒体を導入環境に格納します。
(データの転送に関しては FTP、SCP、Amazon S3 経由など任意です。)
インストール完了後、OSの再起動を行ってください。
DNS名制御による HA クラスタの設定
63
6-3. CLUSTERPROの設定
Cluster WebUI のセットアップ、および、接続方法は『インストール&設定ガイド』の「第 5 章 クラスタ構成情
報を作成する」を参照してください。
ここでは以下のリソースを追加する手順を記述します。
・ ミラーディスクリソース
・ AWS DNS リソース
・ AWS AZモニタリソース
・ AWS DNSモニタリソース
・ NP解決(IPモニタリソース)
上記以外の設定は、『インストール&設定ガイド』を参照してください。
1) クラスタの構築
最初に、クラスタ生成ウィザードを開始し、クラスタを構築します。
◇ クラスタの構築
【手順】
1. Cluster WebUI にアクセスし、[クラスタ生成ウィザード] をクリックします。
DNS名制御による HA クラスタの設定
64
2. [クラスタ生成ウィザード]画面の[クラスタ]画面が表示されます。
[クラスタ名] に任意のクラスタ名を入力します。
[言語] を適切に選択します。[次へ] をクリックします。
3. [基本設定]画面が表示されます。
Cluster WebUI に接続したインスタンスがマスタサーバとして登録済みの状態で表示されま
す。
[追加] をクリックし、残りのインスタンスを追加します(インスタンスの Private IP アドレスを
指定します)。[次へ] をクリックします。
DNS名制御による HA クラスタの設定
65
4. [インタコネクト] 画面が表示されます。
インタコネクトのために使用する IPアドレス(各インスタンスの Private IP アドレス)を指定し
ます。また、後で作成するミラーディスクリソースの通信経路として [MDC] に mdc1 を選
択します。[次へ] をクリックします。
5. [NP解決] 画面が表示されます。
ただし、NP解決は本画面では設定せず、 別途 IP モニタリソースを追加し、AZ ごとに設置
された各NATに対する監視を行うことによって同等のことを実現します(NP解決の設定は、
後述の「3) モニタリソースの追加」で行います)。
クラスタシステムにアクセスするクライアントの配置やオンプレミス環境との接続条件(専用
線接続など)によって、NP 解決先や NP 解決の方法は、その都度 検討する必要がありま
す。NP 解決にネットワークパーティション解決リソースを利用することも可能です。
[次へ] をクリックします。
2) グループリソースの追加
◇ グループの定義
フェイルオーバグループを作成します。
【手順】
1. [グループ一覧] 画面が表示されます。
[追加]をクリックします。
2. [グループの定義] 画面が表示されます。
[名前] にフェイルオーバグループ名(failover1)を設定します。[次へ] をクリックします。
DNS名制御による HA クラスタの設定
66
3. [起動可能サーバ] 画面が表示されます。
何も指定せず [次へ] をクリックします。
4. [グループ属性] 画面が表示されます。
何も指定せず [次へ] をクリックします。
5. [グループリソース一覧] 画面が表示されます。
以降の手順で、この画面でグループリソースを追加していきます。
◇ ミラーディスクリソース
必要に応じてミラーディスク(EBS) にあわせたミラーディスクリソース を作成します。
詳細は『リファレンスガイド』-「ミラーディスクリソースを理解する」を参照してください。
【手順】
1. [グループリソース一覧] で [追加] をクリックします。
2. [グループのリソース定義 | failover1] 画面が開きます。
[タイプ] ボックスでグループリソースのタイプ(ミラーディスクリソース) を選択し、[名前] ボッ
クスにグループリソース名 (md) を入力します。[次へ] をクリックします。
3. [依存関係] 画面が表示されます。
何も指定せず [次へ] をクリックします。
4. [復旧動作] 画面が表示されます。[次へ] をクリックします。
5. [詳細] 画面が表示されます。
[マウントポイント] にミラーディスクのマウント先、[データパーティションデバイス名] [クラスタ
パーティションデバイス名] に「6-2 インスタンスの設定」-「6) ミラーディスクの準備」で作成
したパーティションのデバイス名を入力します。 [完了] をクリックして設定を終了します。
◇ AWS DNS リソース
AWS CLIを利用して、DNS名の制御を行う AWS DNS リソースを追加します。
詳細は『リファレンスガイド』-「AWS DNS リソースを理解する」を参照してください。
【手順】
1. [グループリソース一覧] で [追加] をクリックします。
2. [グループのリソース定義 | failover1]] 画面が開きます。
[タイプ] ボックスでグループリソースのタイプ (AWS DNS リソース) を選択して、 [名前]
ボックスにグループリソース名 (awsdns1) を入力します。[次へ] をクリックします。
DNS名制御による HA クラスタの設定
67
3. [依存関係] 画面が表示されます。何も指定せず [次へ] をクリックします。
4. [復旧動作] 画面が表示されます。[次へ] をクリックします。
5. [詳細] 画面が表示されます。
[共通] タブの [ホストゾーン ID] ボックスに、ホストゾーンの ID を設定します(図6-1の[7]が
該当)。
[リソースレコードセット名] ボックスに、付与したい DNS 名を設定します(図6-1の[5]が該当)。
DNS名は FQDNで、末尾にドット (.) を付けた形式で設定してください。
[IPアドレス] ボックスに、DNS名に対応する IPアドレスを設定します(図6-1の[4]が該当)。
[共通]タブでは、任意のサーバの IP アドレスを記載し、他のサーバは個別設定を行うように
してください。
なお、本書では各サーバの IP アドレスをリソースレコードセットに含める構成を採用している
ために上記の手順となっていますが、VIP や EIP をリソースレコードセットに含める場合は、
[共通]タブでその IPアドレスを記載し、個別設定は不要です。
[TTL] ボックスに、キャッシュの生存期間(TTL = Time To Liveの略)を設定します。
TTLの秒数を設定してください。
[非活性時にリソースレコードセットを削除する]チェックボックスを設定します。
AWS DNSリソースの非活性時にホストゾーンからリソースレコードセットを削除しない場合、
チェックを外してください。
なお、削除しない場合、残存した DNS名にクライアントからアクセスされる可能性があります。
DNS名制御による HA クラスタの設定
68
6. 各ノードのタブをクリックし、ノード別設定を行います。
[個別に設定する] をチェックします。
[IPアドレス] ボックスに、そのノードに対応するインスタンスの IPアドレスを設定します(図6-
1の[4][6]が該当)。
なお、本書では各サーバの IP アドレスをリソースレコードセットに含める構成を採用している
ために上記の手順となっていますが、VIP や EIP をリソースレコードセットに含める場合は、
本手順は不要です。
7. [完了] をクリックして設定を終了します。
3) モニタリソースの追加
◇ AWS AZ モニタリソース
監視 コマンドを利用して、指定した AZ が利用可能かどうかを確認する AWS AZ モニタリソースを
作成します。
詳細は『リファレンスガイド』-「AWS AZモニタリソースを理解する」を参照してください。
【手順】
1. [モニタリソース一覧] で [追加] をクリックします。
2. [タイプ] ボックスでモニタリソースのタイプ (AWS AZモニタ) を選択し、[名前] ボックスにモ
ニタリソース名 (awsazw1) を入力します。[次へ] をクリックします。
3. [監視(共通)] 画面が表示されます。
何も指定せず [次へ] をクリックします。
DNS名制御による HA クラスタの設定
69
4. [監視(固有)] 画面が表示されます。
[共通]タブの[アベイラビリティーゾーン] ボックスに監視するアベイラビリティーゾーンを入力
します(現用系側のインスタンスのアベイラビリティーゾーンを設定します)(図6-1の[2]が該
当)。
5. 各ノードのタブをクリックし、ノード別設定を行います。
[個別に設定する]をチェックします。
[アベイラビリティーゾーン] ボックスに、そのノードに対応するインスタンスのアベイラビリティ
ーゾーンを設定します(図6-1の[2][3]が該当)。[次へ] をクリックします。
DNS名制御による HA クラスタの設定
70
6. [回復動作] 画面が表示されます。
[回復対象] に [LocalServer] を設定します。
7. [完了] をクリックして設定を終了します。
◇ AWS DNSモニタリソース
AWS DNS リソース追加時に、自動的に追加されます。
OS APIおよび AWS CLI コマンドを利用して、リソースレコードセットの存在と登録した IPアドレスが
DNS名の名前解決によって得られるかを確認します。
詳細は 『リファレンスガイド』 -「AWS DNSモニタリソースを理解する」を参照してください。
◇ IPモニタリソース
各アベイラビリティーゾーンに配置されている NAT インスタンスに ping することで、サブネットの
健全性を監視する IP モニタリソースを作成します。以下を指定してください。
【手順】
1. [モニタリソース一覧] で [追加] をクリックします。
DNS名制御による HA クラスタの設定
71
2. [タイプ] ボックスでモニタリソースのタイプ (IP モニタ) を選択し、[名前] ボックスにモニタリ
ソース名 (ipw1) を入力します。[次へ] をクリックします。
3. [監視(共通)] 画面が表示されます。
[監視タイミング] が [常時] であることを確認し、[次へ] をクリックします。
4. [監視(固有)] 画面が表示されます。
[共通] タブの [IP アドレス一覧] に、現用系側のインスタンスの属するアベイラビリティーゾ
ーンに配置された NAT インスタンスの Private IPアドレスを入力します(図6-1の[4][6]が該
当)。[次へ] をクリックします。
DNS名制御による HA クラスタの設定
72
5. [回復動作] 画面が表示されます。
[回復対象] に [LocalServer]を設定します。
[最終動作] に [クラスタサービス停止と OSシャットダウン] を設定します。
6. [完了] をクリックして設定を終了します。
DNS名制御による HA クラスタの設定
73
4) 設定の反映とクラスタの起動
1. Cluster WebUI の設定モードから、[設定の反映] をクリックします。
「設定を反映しますか。」 というポップアップメッセージが表示されるので、[OK] をクリックします。
アップロードに成功すると、[反映に成功しました。] のメッセージが表示されますので、[OK] をクリ
ックします。
アップロードに失敗した場合は、表示されるメッセージに従って操作を行ってください。
2. Cluster WebUI のツールバーのドロップダウンメニューで [操作モード] を選択して、操作モードに
切り替えます。
3. 使用するリソースによって以降の手順が異なります。詳細は『インストール&設定ガイド』-「クラスタ
を生成するには」を参照してください。
IAMの設定
74
IAMの設定
本章では、AWS 環境における IAM (Identity & Access Management)の設定について説明します。
AWS 仮想 IP リソース などのリソースおよびモニタリソースは、その処理のために AWS CLI を内部で実
行します。AWS CLI が正常に実行されるためには、事前に IAM の設定が必要となります。
AWS CLI にアクセス許可を与える方法として、IAM ロールを使用する方針と、IAM ユーザを使用する方針
の2通りがあります。基本的には各インスタンスに AWS アクセスキーID、AWS シークレットアクセスキーを
保存する必要がなくセキュリティ上安全であることから、前者の IAM ロールを使用する方針を推奨します。
それぞれの方針のメリット・デメリットは以下のとおりです。
メリット デメリット
IAMロールを使用する方針 セキュリティ上安全
キー情報の管理が簡単
なし。
IAMユーザを使用する方針 後からインスタンス別のアクセ
ス権限設定が可能
キー情報漏えいのリスクが高い
キー情報の管理が煩雑
IAMの設定手順は次の通りです。
7-1. IAMポリシーの作成 AWS の EC2 や S3 などのサービスへのアクションに対するアクセス許可を記述したポリシーを作成しま
す。CLUSTERPRO の AWS 関連リソースおよびモニタリソースが AWS CLI を実行するために許可が必
要なアクションは以下のとおりです。
必要なポリシーは将来変更される可能性があります。
◇ AWS 仮想 IP リソース/AWS 仮想 IPモニタリソース
アクション 説明
ec2:Describe* VPC、ルートテーブル、ネットワークインタフェースの情報を取得す
る時に必要です。
ec2:ReplaceRoute ルートテーブルを更新する時に必要です。
「7-1 IAMポリシーの作成」 を参照
IAMロールを使用する設定
「7-2 インスタンスの設定」
- 「IAMロールを使用する」を参照
IAMユーザを使用する設定
「7-2 インスタンスの設定」
- 「IAMユーザを使用する」を参照
選択
IAMポリシーの作成
インスタンスの設定
IAMの設定
75
◇ AWS Elastic IP リソース/AWS Elastic IPモニタリソース
アクション 説明
ec2:Describe* EIP、ネットワークインタフェースの情報を取得する時に必要です。
ec2:AssociateAddress EIPを ENIに割り当てる際に必要です。
ec2:DisassociateAddress EIPを ENIから切り離す際に必要です。
◇ AWS DNS リソース/AWS DNSモニタリソース
アクション 説明
Route 53:ChangeResourceRecordSets リソースレコードセット の追加、削除、設定内容の
更新する時に必要です。
Route 53:ListResourceRecordSets リソースレコードセット 情報の取得をする時に必要
です。
◇ AWS AZモニタリソース
アクション 説明
ec2:Describe* アベイラビリティーゾーンの情報を取得する時に必要です。
以下のカスタムポリシーの例ではすべての AWS 関連リソースおよびモニタリソースが使用するアクションを
許可しています。
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:Describe*",
"ec2:ReplaceRoute",
"ec2:AssociateAddress",
"ec2:DisassociateAddress",
"route53:ChangeResourceRecordSets",
"route53:ListResourceRecordSets"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
⇒ IAM Management Console の [Policies] - [Create Policy] で カスタムポリシーを作成できます。
IAMの設定
76
7-2. インスタンスの設定
IAM ロールを使用する
IAM ロールを作成し、インスタンスに付与することで AWS CLI を実行可能にする方法です。
1) IAM ロールを作成します。作成したロールに IAM ポリシーをアタッチします。
⇒ IAM Management Console の [Roles] - [Create New Role] で IAM ロールを作成できます。
2) インスタンス作成時に、「IAM Role」に作成した IAM ロールを指定します。
(インスタンス作成完了後に IAM ロールを後から付与することはできません)
3) インスタンスにログインします。
4) Python をインストールします。
CLUSTERPRO が必要とする Python をインストールします。
まず、Pythonがインストールされていることを確認します。
未インストールの場合、yum コマンドなどでインストールします。
python コマンドのインストールパスは、以下のいずれかにする必要があります。環境変数 PATH
において、最初に見つかった python コマンドを使用します。
/sbin、/bin、/usr/sbin、/usr/bin
Python3のみインストールされており /usr/bin/python が存在しない場合、/usr/bin/python3.x (x
はバージョン) もしくは /usr/bin/python3 に対し /usr/bin/python のシンボリックリンクを作成して
ください。
5) シェルから pip コマンドを実行し、 AWS CLI をインストールします。
$ pip install awscli
pip コマンドに関する詳細は下記を参照してください。 https://pip.pypa.io/en/latest/
AWS CLI のインストールパスは、以下のいずれかにする必要があります。
/sbin、/bin、/usr/sbin、/usr/bin、/usr/local/bin
AWS CLI のセットアップ方法に関する詳細は下記を参照してください。 https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-chap-install.html
(Python または AWS CLI のインストールを行った時点ですでに CLUSTERPRO がインストール
済の場合は、OS を再起動してから CLUSTERPROの操作を行ってください。)
IAM Role
IAM Policy
AWS Access Key ID / AWS Secret Access Key
AWS Identity and Access Management (IAM)
IAMの設定
77
6) シェルから、以下のコマンドを実行します。
$ sudo aws configure
質問に対して AWS CLI の実行に必要な情報を入力します。AWS アクセスキーID、AWS シークレッ
トアクセスキーは入力しないことに注意してください。
AWS Access Key ID [None]: (Enterのみ)
AWS Secret Access Key [None]: (Enterのみ)
Default region name [None]: <既定のリージョン名>
Default output format [None]: text
"Default output format"は、"text"以外を指定することも可能です。
もし誤った内容を設定してしまった場合は、/root/.aws をディレクトリごと消去してから上記操作をやり
直してください。
IAMユーザを使用する
IAM ユーザを作成し、そのアクセスキーID、シークレットアクセスキーをインスタンス内に保存することで
AWS CLIを実行可能にする方法です。インスタンス作成時の IAM ロールの付与は不要です。
1) IAM ユーザを作成します。作成したユーザに IAM ポリシーをアタッチします。
⇒ IAM Management Console の [Users] - [Create New Users] で IAM ユーザを作成できま
す。
2) インスタンスにログインします。
3) Python をインストールします。
CLUSTERPRO が必要とする Python をインストールします。
まず、Pythonがインストールされていることを確認します。
未インストールの場合、yum コマンドなどでインストールします。
python コマンドのインストールパスは、以下のいずれかにする必要があります。環境変数 PATH
において、最初に見つかった python コマンドを使用します。
/sbin、/bin、/usr/sbin、/usr/bin
Python3のみインストールされており /usr/bin/python が存在しない場合、/usr/bin/python3.x (x
はバージョン) もしくは /usr/bin/python3 に対し /usr/bin/python のシンボリックリンクを作成して
ください。
4) シェルから pip コマンドを実行し、 AWS CLI をインストールします。
IAM User
IAM Policy
AWS Access Key ID / AWS Secret Access Key
AWS Identity and Access Management (IAM)
IAMの設定
78
$ pip install awscli
pip コマンドに関する詳細は下記を参照してください。 https://pip.pypa.io/en/latest/
AWS CLI のインストールパスは、以下のいずれかにする必要があります。
/sbin、/bin、/usr/sbin、/usr/bin、/usr/local/bin
(Python または AWS CLI のインストールを行った時点ですでに CLUSTERPRO がインストール
済の場合は、OS を再起動してから CLUSTERPROの操作を行ってください。)
5) シェルから、以下のコマンドを実行します。
$ sudo aws configure
質問に対して AWS CLI の実行に必要な情報を入力します。AWS アクセスキーID、AWS シークレッ
トアクセスキーは作成した IAM ユーザの詳細情報画面から取得したものを入力します。
AWS Access Key ID [None]: <AWS アクセスキーID>
AWS Secret Access Key [None]: <AWS シークレットアクセスキー>
Default region name [None]: <既定のリージョン名>
Default output format [None]: text
"Default output format"は、"text"以外を指定することも可能です。
もし誤った内容を設定してしまった場合は/root/.awsをディレクトリごと消去してから上記操作をやり直
してください。
トラブルシューティング
79
トラブルシューティング
本章では、AWS 環境において CLUSTERPRO の設定が上手くいかない時の確認事項と対処方法に
ついて説明します。
◆ AWS 関連リソースおよびモニタリソース起動に失敗する。
まずOSが再起動済であること、Pythonおよび AWS CLIがインストールされていること、AWS CLI
の設定が正しく完了していることを確認してください。
CLUSTERPROのインストール時に再起動を行っていた場合でも、その後にPython、AWS CLI の
インストールに伴い環境変数の設定変更が発生する場合は OSの再起動を行ってください。
◆ AWS 仮想 IP リソースの起動に失敗する。
Cluster WebUIのメッセー
ジ
Activating awsvip1 resource has failed.(99 : Internal error. (status=nn))
考えられる原因 以下のいずれかが考えられます。
・Python が未インストール、またはパスが通っていない。
・AWS CLI が未インストール、またはパスが通っていない。
対処方法 Python、または AWS CLI がインストールされていることを確認
します。
python コマンドのインストールパスが以下のいずれかであるこ
とを確認します。
/sbin、/bin、/usr/sbin、/usr/bin
AWS CLI のインストールパスが以下のいずれかであることを確
認します。
/sbin、/bin、/usr/sbin、/usr/bin、/usr/local/bin
Cluster WebUIのメッセー
ジ
Activating awsvip1 resource has failed.(5 : Failed in the AWS CLI command.)
考えられる原因 以下のいずれかが考えられます。
・AWS CLI 設定が未(aws configure未実行)
・AWS CLI 設定が見つからない(aws configure を root以外の
ユーザ、または、sudoなしで実行したなど)
以下の順序で credentials(IAM ユーザを使用する方針の場
合)、config ファイルを検索します。
1) $HOME/.aws配下
2) /root/.aws配下
・AWS CLI 設定の入力内容誤り(リージョン、アクセスキーID、
シークレットキー入力誤り)
・(IAMロールを使用した運用の場合)インスタンスへの IAMロー
ル未設定
・指定した VPC ID、または、ENI IDが不正
対処方法 AWS CLI が正常に動作することを確認します。
上記設定を正しい内容に修正します。
Cluster WebUIのメッセー
ジ
Activating awsvip1 resource has failed.(5 : The vpc ID 'vpc-xxxxxxxx' does not exist)
考えられる原因 指定した VPC ID が誤っているか、または存在しない可能性が
考えられます。
対処方法 正しい VPC ID を指定します。
トラブルシューティング
80
Cluster WebUIのメッセー
ジ
Activating awsvip1 resource has failed.(5 : The networkInterface ID 'eni-xxxxxxxx' does not exist)
考えられる原因 指定した ENI IDが誤っているか、または存在しない可能性が考
えられます。
対処方法 正しい ENI ID を指定します。
Cluster WebUIのメッセー
ジ
Activating awsvip1 resource has failed.(6 : Timeout occurred.)
考えられる原因 AWS CLI コマンドがリージョンのエンドポイントと通信できない
状態である可能性が考えられます。
対処方法 以下を確認します。
・NAT インスタンスが起動していること
・NAT インスタンスへのルーティングが設定済みであること。
・パケットがフィルタリングで落とされていないこと。
Cluster WebUIのメッセー
ジ
Activating awsvip1 resource has failed.(7 : The VIP address vvv.www.xxx.yyy belongs to a VPC subnet.)
考えられる原因 指定した VIP アドレスが VPC CIDR 範囲内のため不適切で
す。
対処方法 VIP アドレスに VPC CIDR の範囲外となる IP アドレスを指定
します。
◆ AWS 仮想 IP リソースは正常に起動しているが、VIP アドレスに対する ping が通らない。
Cluster WebUIのメッセー
ジ
-
考えられる原因 AWS 仮想 IP リソースに設定した ENI の Source/Dest.
Check が有効になっています。
対処方法 AWS 仮想 IP リソースに設定した ENI の Source/Dest.
Check を無効に設定します。
◆ AWS 仮想 IP モニタリソースが異常になる。
Cluster WebUIのメッセー
ジ
Detected an error in monitoring awsvipw1. (8 : The routing for VIP vvv.www.xxx.yyy was changed.)
考えられる原因 ルートテーブルにおいて、AWS 仮想 IP リソースに対応する
VIP アドレスのターゲットがなんらかの理由で別の ENI ID に変
更されている。
対処方法 異常を検知した時点で AWS 仮想 IP リソースが自動的に再起
動され、ターゲットが正しい ENI IDに更新されます。
別の ENI ID に変更された原因として、他の HA クラスタで同じ
VIPアドレスを誤って使用していないかなどを確認します。
◆ AWS Elastic IP リソースの起動に失敗する。
Cluster WebUIのメッセー
ジ
Activating awseip1 resource has failed.(99 : Internal error. (status=nn))
考えられる原因 以下のいずれかが考えられます。
・Python が未インストール、またはパスが通っていない。
・AWS CLI が未インストール、またはパスが通っていない。
対処方法 Python、または AWS CLI がインストールされていることを確認
します。
トラブルシューティング
81
python コマンドのインストールパスが以下のいずれかであるこ
とを確認します。
/sbin、/bin、/usr/sbin、/usr/bin
AWS CLI のインストールパスが以下のいずれかであることを確
認します。
/sbin、/bin、/usr/sbin、/usr/bin、/usr/local/bin
Cluster WebUIのメッセー
ジ
Activating awseip1 resource has failed.(5 : Failed in the AWS
CLI command.)」
考えられる原因 以下のいずれかが考えられます。
・AWS CLI 設定が未(aws configure未実行)
・AWS CLI 設定が見つからない(aws configure を root以外の
ユーザ、または、sudoなしで実行したなど)
以下の順序で credentials(IAM ユーザを使用する方針の場
合)、config ファイルを検索します。
1) $HOME/.aws配下
2) /root/.aws配下
・AWS CLI 設定の入力内容誤り(リージョン、アクセスキーID、
シークレットキー入力誤り)
・(IAMロールを使用した運用の場合)インスタンスへの IAMロー
ル未設定
・指定した EIP Allocation ID、または、ENI IDが不正
対処方法 AWS CLI が正常に動作することを確認します。
上記設定を正しい内容に修正します。
Cluster WebUIのメッセー
ジ
Activating awseip1 resource has failed.(5 : The allocation ID 'eipalloc-xxxxxxxx' does not exist)
考えられる原因 指定した EIP Allocation ID が誤っているか、または存在しない
可能性が考えられます。
対処方法 正しい EIP Allocation ID を指定します。
Cluster WebUIのメッセー
ジ
Activating awseip1 resource has failed.(5 : The networkInterface ID 'eni-xxxxxxxx' does not exist)
考えられる原因 指定した ENI IDが誤っているか、または存在しない可能性が考
えられます。
対処方法 正しい ENI ID を指定します。
Cluster WebUIのメッセー
ジ
Activating awseip1 resource has failed.(6 : Timeout occurred.)
考えられる原因 AWS CLI コマンドがリージョンのエンドポイントと通信できない
状態である可能性が考えられます。
対処方法 各インスタンスに Public IPが割り当てられていることを確認しま
す。
各インスタンスでAWS CLIが正常に動作することを確認します。
◆ AWS Elastic IP モニタリソースが異常になる。
Cluster WebUIのメッセー
ジ
Detected an error in monitoring awseipw1. (7 : The EIP address does not exist. (EIP ALLOCATION ID=eipalloc-xxxxxxxx))
考えられる原因 指定した ENI ID と Elastic IP の関連付けが何らかの理由で解
除されている。
対処方法 異常を検知した時点で AWS Elastic IP リソースが自動的に再
トラブルシューティング
82
起動され、指定した ENI ID と Elastic IPの関連付けが行われま
す。
Elastic IP との関連付けが変更された原因として、他の HA クラ
スタで同じ EIP Allocation IDを誤って使用していないかなどを確
認します。
◆ AWS DNS リソースの起動に失敗する。
Cluster WebUIのメッセー
ジ
Activating awsdns1 resource has failed.(99 : Internal error. (status=nn))
考えられる原因 以下のいずれかが考えられます。
・Pythonが未インストール、またはパスが通っていない。
・AWS CLIが未インストール、またはパスが通っていない。
対処方法 Python、または AWS CLI がインストールされていることを確認
します。
python コマンドのインストールパスが以下のいずれかであること
を確認します。
/sbin、/bin、/usr/sbin、/usr/bin
AWS CLI のインストールパスが以下のいずれかであることを確
認します。
/sbin、/bin、/usr/sbin、/usr/bin、/usr/local/bin
Cluster WebUIのメッセー
ジ
Activating awsdns1 resource has failed. (5 : Failed in the AWS CLI command.)
考えられる原因 以下のいずれかが考えられます。
・AWS CLI設定が未(aws configure未実行)
・AWS CLI設定が見つからない(aws configure を root 以外の
ユーザ、または、sudoなしで実行したなど)
以下の順序で credentials(IAM ユーザを使用する方針の場
合)、config ファイルを検索します。
1) $HOME/.aws配下
2) /root/.aws配下
・AWS CLI 設定の入力内容誤り(リージョン、アクセスキーID、
シークレットキー入力誤り)
・(IAM ロールを使用した運用の場合)インスタンスへの IAM
ロール未設定
・指定したリソースレコードセットが不正
対処方法 AWS CLIが正常に動作することを確認します。
上記設定を正しい内容に修正します。
Cluster WebUIのメッセー
ジ
Activating awsdns1 resource has failed. (5 : No hosted zone found with ID: %1)
考えられる原因 指定したホストゾーン IDが誤っているか、または存在しない可能
性が考えられます。
対処方法 正しいホストゾーン IDを指定します。
Cluster WebUIのメッセー
ジ
Activating awsdns1 resource has failed.(6 : Timeout occurred.)
考えられる原因 AWS CLI コマンドがリージョンのエンドポイントと通信できない
状態である可能性が考えられます。
対処方法 以下を確認します。
・NAT インスタンスが起動していること
トラブルシューティング
83
・NAT インスタンスへのルーティングが設定済みであること。
・パケットがフィルタリングで落とされていないこと。
◆ AWS DNSモニタリソースが異常になる。
Cluster WebUIのメッセー
ジ
Detected an error in monitoring awsdnsw1. (7 : The resource record set in Amazon Route 53 does not exist.)
考えられる原因 ホストゾーンにおいて、 AWS DNS リソースに対応するリソース
レコードセットがなんらかの理由で削除されている。
対処方法 リソースレコードセットが削除された原因として、他の HA クラス
タで同じリソースレコードセットを誤って使用していないかなどを
確認します。
Cluster WebUIのメッセー
ジ
Detected an error in monitoring awsdnsw1. (8 : IP address different from the setting is registered in the resource record set of Amazon Route 53.)
考えられる原因 ホストゾーンにおいて、 AWS DNS リソースに対応するリソース
レコードセットの IP アドレスがなんらかの理由で変更されてい
る。
対処方法 リソースレコードセットが変更された原因として、他の HA クラス
タで同じリソースレコードセットを誤って使用していないかなどを
確認します。
Cluster WebUIのメッセー
ジ
Detected an error in monitoring awsdnsw1. (9 : Failed to resolve domain name.)
考えられる原因 リソースレコードセットとしてホストゾーンに登録した DNS 名で
の名前解決確認がなんらかの理由で失敗した。
対処方法 以下を確認します。
・リゾルバの設定に誤りがないこと
・ネットワークの設定に誤りがないこと
・Public ホストゾーンを使用している場合は、レジストラのネーム
サーバ(NS)レコードの設定で、ドメインへのクエリが Amazon
Route 53ネームサーバを参照するようになっていること
Cluster WebUIのメッセー
ジ
Detected an error in monitoring awsdnsw1. (10 : IP address which is resolved domain name from the DNS resolver does not match setting.)
考えられる原因 リソースレコードセットとしてホストゾーンに登録した DNS 名で
の名前解決確認で得られた IPアドレスが正しくない。
対処方法 以下を確認します。
・リゾルバの設定に誤りがないこと
・hosts ファイル中に DNS名に関するエントリが存在しないこと
◆ AWS AZ モニタリソースが警告または異常になる。
Cluster WebUIのメッセー
ジ
[警告時] Warn monitoring awsazw1. (105 : Failed in the AWS CLI command.)
[異常時] Detected an error in monitoring awsazw1. (5 : Failed in the AWS CLI command.)
考えられる原因 以下のいずれかが考えられます。
・AWS CLI 設定が未(aws configure未実行)
・AWS CLI 設定が見つからない(aws configure を root以外の
トラブルシューティング
84
ユーザ、または、sudoなしで実行したなど)
以下の順序で credentials(IAM ユーザを使用する方針の場
合)、config ファイルを検索します。
1) $HOME/.aws配下
2) /root/.aws配下
・AWS CLI 設定の入力内容誤り(リージョン、アクセスキーID、
シークレットキー入力誤り)
・(IAMロールを使用した運用の場合)インスタンスへの IAMロー
ル未設定
・指定した アベイラビリティーゾーンが不正
対処方法 AWS CLI が正常に動作することを確認します。
上記設定を正しい内容に修正します。
Cluster WebUIのメッセー
ジ
[警告時] Warn monitoring awsazw1. (105 : Invalid availability zone: [ap-northeast-1x])
[異常時] Detected an error in monitoring awsazw1. (5 : Invalid availability zone: [ap-northeast-1x])
考えられる原因 指定したアベイラビリティーゾーンが誤っているか、または存在し
ない可能性が考えられます。
対処方法 正しいアベイラビリティーゾーンを指定します。
Cluster WebUIのメッセー
ジ
[警告時] Warn monitoring awsazw1. (106 : Timeout occurred.)
[異常時] Detected an error in monitoring awsazw1. (6 : Timeout occurred.)
考えられる原因 AWS CLI コマンドがルートテーブルやNATの設定ミスなどの理
由でリージョンのエンドポイントと通信できない状態である可能性
が考えられます。
対処方法 以下を確認します。
・NAT インスタンスが起動していること
・NAT インスタンスへのルーティングが設定済みであること。
・パケットがフィルタリングで落とされていないこと。