設定例
前提条件
■ AWS CLI パッケージをインストールします。
■ 必要な権限を持たせて IAM ロールを作成し、このロールを EC2 クラスタインスタンス に関連付けます。
[IAM(IAM)]、[ポリシーの作成(Create Policy)]、[ロール(Role)]の順に移動し、
ロールを作成します。
次に、.json ポリシーファイルの例を示します。
{
"Version": "2012-10-17",
"Statement": [ {
"Action": [
"route53:ListResourceRecordSets",
"route53:ChangeResourceRecordSets",
"route53:GetHostedZone"
],
"Effect": "Allow",
"Resource": "*"
} ] }
■ すべての発信トラフィックが、NAT (ネットワークアドレス変換) ゲートウェイを経由する ことを確認します。エージェントは AWS CLI を使用し、Amazon EC2 API エンドポイ ントへのアクセスを必要とします。
第 3 章 Network エージェント 154 AWSRoute53 エージェント
依存関係
図 3-7 サービスグループ依存関係の例
DB
Mount
Volume
DiskGroup Route53
AWSIP
IP
NIC
エージェント関数
リソースレコードを使用して Route 53 を更新します。このエージェン トは、Amazon Route 53 ホスト対象ゾーンに定義されたネームサー バーを更新します。
Online
Online ロックファイルを削除し、OffDelRR が 1 に設定されている場 合、 Amazon Route 53 ホスト対象ゾーンから設定された Route 53 レコードを削除します。OffDelRR が 1 に設定されていない場合、レ コードは削除されませんが、ロックファイルは削除されます。
タイムアウトに合わせて OfflineTimeout と CleanTimeout をそれぞ れ設定するようにしてください。たとえば、約 90 個のリソースレコード セットが 1 つのリソース内にある場合、タイムアウトは約 600 に設定 する必要があります。
Offline
すべてのマッピングが AWS Route 53 ホスト対象ゾーン内に ある場 合、ONLINE 状態に戻ります。
Monitor
Online ロックファイルを削除し、OffDelRR が 1 に設定されている場 合、 Amazon Route 53 ホスト対象ゾーンから設定された Route 53 レコードを削除します。OffDelRR が 1 に設定されていない場合、レ コードは削除されませんが、ロックファイルは削除されます。
タイムアウトに合わせて OfflineTimeout と CleanTimeout をそれぞ れ設定するようにしてください。たとえば、約 90 個のリソースレコード セットが 1 つのリソース内にある場合、タイムアウトは約 600 に設定 する必要があります。
Clean
第 3 章 Network エージェント 155 AWSRoute53 エージェント
状態の定義
Online ロックファイルが存在し、すべてのリソースレコードセットが Route 53 ホスト対象ゾーン内にあります。
ONLINE
Online ロックファイルが存在せず、すべてのリソースレコードセット、
またはそのいずれかが Route 53 ホスト対象ゾーン内にありません。
OFFLINE
次のいずれか、または複数に該当する場合、状態は UNKNOWN に なります。
■ AWS CLI がインストールされていない。
■ AWSPath 属性が正しく設定されていない。たとえば、AWS CLI
が /usr/local/bin/aws ディレクトリにインストールされてい る場合、AWSPath 属性は /usr/local/bin である必要があ ります。
■ ロールが正しく設定されていない、またはインスタンスに関連付け られていない。
■ HostedZoneID が AWS Route 53 ホスト対象ゾーン ID と照合 されていない。
■ リソースレコードタイプ (RSType) が A、CNAME、または PTR のどれでもない。
UNKNOWN
属性
表 3-14 必須属性 説明 属性
リソースレコードが格納されたホスト対象ゾーンの ID です。
データ形式と値のタイプ: 文字列 - スカラー HostedZoneID
ResRecord は DNS リソースレコード値の関連です。各 ResRecord 属性は、次の 2 つの値で構成されます: DNS レコー ドキー = DNS レコードデータ。
レコードキーは重複のない値でなければならないことに注意しま す。リソースレコードリストに、ResRecord 属性のレコードキーま たはレコードデータの一部として無効な値が含まれている場合、
リソースは UNKNOWN 状態を報告します。
リソースレコードは、次のいずれかのタイプになります。
■ A
■ CNAME
■ PTR
データ形式と値の種類: 文字列 - 関連 ResRecord
第 3 章 Network エージェント 156 AWSRoute53 エージェント
表 3-15 オプションの属性 説明 属性
すべてのリソースレコードに対して存続する最小時間を秒単位で 指定します。
データ形式と値のタイプ: 整数 - スカラー TTL
Amazon Route 53 サポート対象 DNS レコードタイプです。
データ形式と値のタイプ: 文字列 - スカラー RSType
リソースレコードが、リソースオフラインエントリポイントの一部とし て削除される場合は選択します。デフォルトは false です。
データ形式と値の種類: ブール - スカラー OffDelRR
Amazon Route 53 コマンドとバイナリの場所です。
データ形式と値のタイプ: 文字列 - スカラー AWSBinDir
リソースの種類の定義
type AWSRoute53 (
static int CleanTimeout = 600 static int OfflineTimeout = 600
static str ArgList[] = { HostedZoneID, TTL, RSType, OffDelRR, ResRecord, AWSBinDir }
str HostedZoneID int TTL = 300 str RSType = A boolean OffDelRR = 0 str ResRecord{}
str AWSBinDir )
設定例
A
AWSRoute53 awsroute53_A (
HostedZoneID = Z1T9X503UWPVCM RSType = A
ResRecord = { "xyz.com" = "40.1.1.1", "xyz1.com" =
"30.1.1.1"}
第 3 章 Network エージェント 157 AWSRoute53 エージェント
AWSBinDir = "/usr/local/bin"
)