Hitachi

JP1 Version 12 JP1/Automatic Operation サービステンプレートリファレンス


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

部品の戻り値

この部品の戻り値が格納されます。

− 

出力

△