5.2.14 仮想サーバの作成
機能
この部品は,Amazon EC2環境でAMIからインスタンスを起動します。
この部品が前提とするサーバを次に示します。
・AWS操作サーバ(実行対象サーバ)
AWS Tools for Windows PowerShell(以降,「AWS Tools」と呼ぶ)がインストールされているサーバです。本製品によってこのサーバに部品が転送され,実行されます。
・インスタンス
Amazon EC2環境の仮想ホストのことで,一般的な仮想サーバのことです。
この部品内のスクリプトでは,次に示すAWS Toolsのコマンドレットを実行します。
(1)インスタンスの起動
・New-EC2Instance -ImageId "AMI ID(AWS.amiIdプロパティ)の値"
-InstanceType "インスタンスタイプ(AWS.instanceTypeプロパティ)の値"
-AssociatePublicIp $false
-MinCount 1
-MaxCount 1
[-KeyName "キーペア名(AWS.keyPairNameプロパティ)の値"]
[-SecurityGroupId "セキュリティグループID(AWS.securityGroupIdプロパティ)の値"]
[-SubnetId "サブネットID(1個目用)(AWS.subnetId1プロパティ)の値"]
[-PrivateIpAddress "プライベートIPアドレス(1個目用)(AWS.privateIpAddress1プロパティ)の値"]
上記コマンドレットを実行したあと,起動したインスタンスの状態が"running"になることを確認します。
(2)起動したインスタンスに対するネットワークインターフェイスの追加
この処理はサブネットID(2個目用)(AWS.subnetId2プロパティ)に値が指定された場合だけ実行されます。
・New-EC2NetworkInterface -SubnetId "サブネットID(2個目用)(AWS.subnetId2プロパティ)の値"
[-PrivateIpAddress "プライベートIPアドレス(2個目用)(AWS.privateIpAddress2プロパティ)の値"]
[-Group "セキュリティグループID(AWS.securityGroupIdプロパティ)の値"]
・Add-EC2NetworkInterface -InstanceId "New-EC2Instanceコマンドレットで起動したインスタンスのインスタンスID"
-NetworkInterfaceId "New-EC2NetworkInterfaceコマンドレットで作成したネットワークインターフェイスのネットワークインターフェイスID"
-DeviceIndex 1
上記コマンドレットを実行したあと,追加したネットワークインターフェイスの状態が"in-use"になることを確認します。
AWS Toolsのコマンドレットの詳細については,AWSドキュメントの「AWS Tools for Windows PowerShell Cmdlet Reference」を参照してください。
利用場面
この部品は,Amazon EC2環境でインスタンスを起動する場合に使用します。
前提条件
【システム内前提製品】/【実行対象サーバ内前提製品】/【実行対象サーバ内前提製品の稼働OS】/【実行対象システム内前提製品】の最新のサポート状況については,リリースノートを参照してください。
【システム内前提製品】
JP1/Automatic Operation 11-00以降
【実行対象サーバ内前提製品】
・AWS Tools for Windows PowerShell
・Microsoft .Net Framework 3.5以降
【実行対象サーバ内前提製品の稼働OS】
・Windows Server 2008 R2 Standard/Enterprise/Datacenter
・Windows Server 2012 Standard/Datacenter,Windows Server 2012 R2 Standard/Datacenter
ただし,Server Coreインストール環境は除く。
【実行対象システム内前提製品】
(1) インスタンスの前提OS
・Windows Server 2008 R2 Standard/Enterprise/Datacenter
・Windows Server 2012 Standard/Datacenter,Windows Server 2012 R2 Standard/Datacenter
・Red Hat Enterprise Linux Server 6 (32-bit x86),Red Hat Enterprise Linux Server 6 (64-bit x86_64)
・Red Hat Enterprise Linux Server 7 (64-bit x86_64)
・Red Hat Enterprise Linux Server 8 (64-bit x86_64)
【実行対象システム内前提製品の使用条件】
(1) Amazon EC2環境の設定に関する条件
・インスタンスの起動に使用するAMIが作成済みであること。
注意事項
(1) この部品のプロパティには「"」(ダブルクォーテーション)および「'」(シングルクォーテーション)を含む文字列は指定しないでください。
(2) 次に示すIPアドレスには,使用中や範囲外のIPアドレスを指定しないでください。指定した場合,タスクが異常終了します。
・プライベートIPアドレス(1個目用)(AWS.privateIpAddress1プロパティ)
・プライベートIPアドレス(2個目用)(AWS.privateIpAddress2プロパティ)
(3) セキュリティグループID(AWS.securityGroupIdプロパティ)には,半角英数字,「-」(ハイフン),および「,」(コンマ)以外の文字を指定しないでください。指定した場合,タスクが異常終了します。
(4) この部品が戻り値1で異常終了した場合,起動したインスタンスは削除されずに残ります。また,戻り値2で異常終了した場合は,起動したインスタンスに加えて,作成したネットワークインターフェイスも残ります。
(5) その他の注意事項については,AWSドキュメントの「AWS Tools for Windows PowerShell Cmdlet Reference」の注意事項を参照してください。
実行権限
(1) AWSにログインするIAMユーザーが,次に示すアクションを行えるようにポリシー設定されている必要があります。
・インスタンスの起動および状態取得
・ネットワークインターフェイスの作成,接続および状態取得
バージョン
02.00.00
部品のタグ
Add VM,AWS
タスクログに表示される部品の名称
awsCreateVM
戻り値
戻り値 |
説明 |
---|---|
0 |
正常 |
1 |
異常(インスタンス起動後にエラーを検知) ネットワークインターフェイス作成エラー |
2 |
異常(インスタンス起動後にエラーを検知) ネットワークインターフェイス接続エラー |
12 |
異常(ユーザーミス) プロパティ不正 |
23 |
異常(環境不正) 前提環境不正 |
27 |
異常(エラー内容はタスクログで確認) |
41 |
異常(部品内でエラーを検知) プロパティ未入力(部品スクリプトでエラーを検知) |
プロパティ一覧
プロパティ一覧を次の表に示します。
プロパティキー |
プロパティ名 |
説明 |
デフォルト値 |
入出力種別 |
必須区分 |
---|---|---|---|---|---|
plugin.destinationHost |
実行対象サーバのホスト名 |
この部品を実行するサーバのホスト名またはIPアドレスを指定します。IPv6アドレスには対応していません。 |
− |
入力 |
○ |
AWS.accessKeyId |
アクセスキーID |
AWSに接続するためのアクセスキーIDを指定します。 |
− |
入力 |
○ |
AWS.secretAccessKey |
シークレットアクセスキー |
AWSに接続するためのシークレットアクセスキーを指定します。 |
− |
入力 |
○ |
AWS.region |
リージョン |
接続先となるAWSのリージョンを指定します。 |
− |
入力 |
○ |
AWS.amiId |
AMI ID |
インスタンスの起動に使用するAMIのIDを指定します。 |
− |
入力 |
○ |
AWS.instanceType |
インスタンスタイプ |
インスタンスの起動に使用するインスタンスタイプを指定します。 |
− |
入力 |
○ |
AWS.keyPairName |
キーペア名 |
インスタンスで使用するキーペアの名称を指定します。省略した場合は,インスタンスにキーペア名は設定されません。 |
− |
入力 |
△ |
AWS.securityGroupId |
セキュリティグループID |
インスタンスを関連付けるセキュリティグループのIDを指定します。省略した場合は,デフォルトのセキュリティグループに関連付けられます。複数のセキュリティグループを指定する場合は,コンマ区切りで指定してください。 |
− |
入力 |
△ |
AWS.subnetId1 |
サブネットID(1個目用) |
インスタンスに割り当てるプライベートIPアドレス(1個目)の範囲を示すサブネットのIDを指定します。省略した場合は,デフォルトのサブネットが割り当てられます。 |
− |
入力 |
△ |
AWS.privateIpAddress1 |
プライベートIPアドレス(1個目用) |
インスタンスに割り当てるプライベートIPアドレス(1個目)を指定します。IPv6アドレスには対応していません。省略した場合は,サブネットID(1個目用)に指定したサブネットの範囲内で自動的にIPアドレスが割り当てられます。 |
− |
入力 |
△ |
AWS.subnetId2 |
サブネットID(2個目用) |
インスタンスに割り当てるプライベートIPアドレス(2個目)の範囲を示すサブネットのIDを指定します。2個目のIPアドレスを設定する場合は必ず指定してください。省略した場合は,2個目のIPアドレスは設定されません。 |
− |
入力 |
△ |
AWS.privateIpAddress2 |
プライベートIPアドレス(2個目用) |
インスタンスに割り当てるプライベートIPアドレス(2個目)を指定します。IPv6アドレスには対応していません。サブネットID(2個目用)を指定した場合に有効になります。サブネットID(2個目用)を指定した時にこのプロパティを省略した場合は,サブネットID(2個目用)に指定したサブネットの範囲内で自動的にIPアドレスが割り当てられます。 |
− |
入力 |
△ |
AWS.checkInstanceEnabledCount |
インスタンスの起動完了の確認回数 |
インスタンスの起動が完了したか確認する際の確認回数を指定します。インスタンスの起動完了の確認間隔と組み合わせて最大待ち時間となります。このプロパティは,ネットワークインターフェイスの追加が完了したか確認する際も使用します。 |
− |
入力 |
○ |
AWS.checkInstanceEnabledInterval |
インスタンスの起動完了の確認間隔 |
インスタンスの起動が完了したか確認する際の確認間隔を秒単位で指定します。このプロパティは,ネットワークインターフェイスの追加が完了したか確認する際も使用します。 |
− |
入力 |
○ |
AWS.instanceIdInheritance |
インスタンスID(後続ステップ引き継ぎ用) |
インスタンスのIDが格納されます。後続ステップへの引き継ぎに使用します。 |
− |
出力 |
△ |
AWS.instanceIdOutput |
インスタンスID(タスク出力用) |
インスタンスのIDが格納されます。タスクの出力に使用します。 |
− |
出力 |
△ |
AWS.instanceIPaddress |
インスタンスのIPアドレス |
インスタンスのIPアドレスが格納されます。インスタンスに複数のIPアドレスが設定されている場合には,コンマ区切りで出力されます。 |
− |
出力 |
△ |
AWS.networkInterfaceId |
ネットワークインターフェイスID |
サブネットID(2個目用)を指定した場合に,インスタンスに追加したネットワークインターフェイスのIDが格納されます。 |
− |
出力 |
△ |
common.returnValue |
部品の戻り値 |
この部品の戻り値が格納されます。 |
− |
出力 |
△ |