AWSIP エージェントは、AWS(Amazon Web Services)クラウド環境にあるネットワーク リソースを管理します。ネットワークリソースは、次のとおりです。
■ プライベート IP: プライベート IP は、プライベートな数値のアドレスであり、デバイスが 互いに通信するようにネットワークに接続します。
■ Elastic IP: Elastic IP アドレスは、静的な IPv4 パブリックアドレスであり、動的なクラ
ウドコンピューティングのために設計されています。1 つの Elastic IP アドレスは、AWS アカウントと関連付けられます。
■ オーバーレイ IP: AWS では、IP アドレストラフィックがサブネットと AZ (可用性ゾー ン) どちらにあっても、トラフィックを VPC (Virtual Private Network) の EC2 (Elastic Compute Cloud) インスタンスにリダイレクトできます。オーバーレイ IP は、サブネッ トまたは可用性ゾーンにまたがるノードのために IP フェールオーバー機能を提供し ます。オーバーレイ IP は、VPC CIDR (Classless Inter-Domain Routing) ブロック の外にある必要があります。
このエージェントは、AWS CLI を使用して、AWS クラウド環境にある IP リソースを関連 付けます。エージェントは次を実行します。
■ プライベート IP アドレスの割り当ておよび割り当て解除
■ Elastic IP アドレスの関連付けと関連付け解除、およびプライベート IP の割り当てと
割り当て解除
■ オーバーレイ IP のルートテーブルエントリの管理(サブネット間でのフェールオーバー のため)
エージェントは Amazon EC2 領域を自動的にフェッチします。
前提条件
■ AWS CLI パッケージをインストールします。
第 3 章 Network エージェント 148 AWSIP エージェント
■ [EC2 インスタンス(EC2 instance)]、[ネットワーキング(Networking)]、[ソース/宛 先の変更(Change Source/Dest)]の順に移動します。[ソース/宛先の変更(Change Source/Dest)]を確認して無効にします。オーバーレイ IP を確認します。
■ 必要な権限を持たせて IAM ロールを作成し、このロールを EC2 クラスタインスタンス に関連付けます。
[IAM(IAM)]、[ポリシーの作成(Create Policy)]、[ロール(Role)]の順に移動し、
ロールを作成します。
次に、.json ポリシーファイルの例を示します。
{
"Version": "2012-10-17",
"Statement": [ {
"Action": [
"ec2:AssignPrivateIpAddresses",
"ec2:DescribeAddresses",
"ec2:DisassosciateAddress",
"ec2:AssosciateAddress",
"ec2:UnassignPrivateIpAddresses",
"ec2:AssignPrivateIpAddresses",
"ec2:DescribeInstances",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeRouteTables",
"ec2:CreateRoute",
"ec2:DeleteRoute",
"ec2:ReplaceRoute", ],
"Effect": "Allow",
"Resource": "*"
} ] }
■ すべての発信トラフィックが、NAT (ネットワークアドレス変換) ゲートウェイを経由する ことを確認します。エージェントは AWS CLI を使用し、Amazon EC2 API エンドポイ ントへのアクセスを必要とします。
■ EC2 が属するサブネットが、ルートテーブルと関連付けられていることを確認します。
依存関係
IP リソースは NIC リソースと AWSIP リソースに依存します。
第 3 章 Network エージェント 149 AWSIP エージェント
図 3-6 サービスグループ依存関係の例
Application
Mount
VolumeSet
DiskGroup AWSIP
IP
NIC
エージェント関数
■ Private IP: プライベート IP を NIC ENI (Elastic Network Interface) に割り当てます。
■ Elastic IP: プライベート IP が設定内に定義されている場合にの み機能します。プライベート IP を Elastic IP と関連付けます。
エージェントは、Device 属性に基づいて ENI を自動的に検知し ます。
■ Overlay IP: RouteTableIds 属性に指定されたルートテーブル 内に、ルーティング先を OverlayIP、ターゲットを ENI (エントリポ イントの実行元) としてルートを作成します。
Online
■ Private IP: ENI から割り当てを解除します。
■ Elastic IP: Elastic IP の関連付けを解除します。
■ Overlay IP: ルートをルートテーブルから削除します。
Offline
■ Private IP: プライベート IP の ENI への割り当てを監視します。
■ Elastic IP: プライベート IP と Elastic IP との間の関連付けを監 視します。
■ Overlay IP: ルーティング情報を監視し、オーバーレイ IP のルー トテーブルエントリが存在するかどうかを確認します。
Monitor
■ Private IP: プライベートIP の割り当てを解除します。
■ Elastic IP: Elastic IP 関連付けを解除し、プライベート IP アドレ スの割り当てを解除します。
■ Overlay IP: ルートをルートテーブルから削除します。
Clean
第 3 章 Network エージェント 150 AWSIP エージェント
状態の定義
■ Private IP: プライベート IP は ENI に割り当てられています。
■ Elastic IP: プライベート IP は割り当てられ、Elastic IP はプライ ベート IP と関連付けられています。
■ Overlay IP: オーバーレイ IP のルートテーブルエントリが存在し ます。
ONLINE
■ Private IP: プライベート IP は ENI に割り当てられていません。
■ Elastic IP: プライベート IP は割り当てられておらず、Elastic IP はプライベート IP と関連付けられていません。
■ Overlay IP: オーバーレイ IP のルートテーブルエントリは存在し ません。
OFFLINE
プライベート IP の場合、Elastic IP またはオーバーレイ IP は UNKNOWN 状態にあり、次のいずれかに該当する可能性がありま す。
■ AWS CLI がインストールされていない。
■ AWSPath 属性が正しく設定されていない。たとえば、AWS CLI
が /usr/local/bin/aws にインストールされている場合、
AWSPath 属性は /usr/local/bin である必要があります。
■ ロールが正しく設定されていない、またはインスタンスに関連付け られていない。
UNKNOWN
IP リソースをオンラインに移行できない、または VCS の制御外で突 然停止したことを示します。
FAULTED
属性
表 3-12 必須属性 説明 属性
EC2 インスタンスのセカンダリプライベート IP アドレスです。
データ形式と値のタイプ: 文字列 - スカラー PrivateIP
オーバーレイ IP は、サブネットまたは可用性ゾーンにまたがる ノードのために IP フェールオーバー機能を提供します。オーバー レイ IP は、ノードが存在する VPC CIDR ブロックの外にある必 要があります。
データ形式と値のタイプ: 文字列 - スカラー OverlayIP
第 3 章 Network エージェント 151 AWSIP エージェント
表 3-13 オプションの属性 説明 属性
Elastic IP アドレスは、静的な IPv4 アドレスであり、動的なクラウ ドコンピューティングのために設計されています。1 つの Elastic IP アドレスは、AWS アカウントと関連付けられます。Elastic IP ア ドレスをセカンダリプライベート IP アドレスにマッピングできます。
データ形式と値のタイプ: 文字列 - スカラー ElasticIP
ネットワークデバイスの名前です。
すべてのネットワークアダプタの一覧を表示するには、ifconfig -a と入力します。
データ形式と値の種類: 文字列 - スカラー 例:eth0
上の例では、プライベート IP アドレスを次に利用可能な eth0 の エイリアスに 割り当てるために、eth0 を指定しています。
次の属性のいずれかが必須です。
■ PrivateIP
■ OverlayIP Device
すべてのルートテーブルを記述します。1 つ以上のルートテーブ ル ID にすることができます。
データ形式と値のタイプ: 文字列リスト RouteTableIds
AWS EC2 コマンドとバイナリの場所です。
データ形式と値のタイプ: 文字列 - スカラー AWSBinDir
リソースの種類の定義
type AWSIP (
static str ArgList[] = { PrivateIP, OverlayIP, ElasticIP, Device, RouteTableIds, AWSBinDir } str PrivateIP
str OverlayIP str ElasticIP str Device
keylist RouteTableIds str AWSBinDir
)
第 3 章 Network エージェント 152 AWSIP エージェント