• 検索結果がありません。

設定例

前提条件

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"

)