EC2:AMI作成

1,IAM

---------------------------------------
AWSサービス:Amazon EC2
アクション     :CreateImage
Amazonリソースネーム(ARN):*
---------------------------------------

2,プログラム仕様

●入力パラメータ
・IAMユーザの”アクセスキーID”と”・シークレットアクセスキー”
・AMIを作成する対象のインスタンスID
・AMI名
・AMIの説明
・リブートしないフラグ・・・ ON:リブートしない。 OFF:リブートする
●処理内容
EC2管理コンソールから、アクションボタン→イメージ→イメージの作成
と同じことをやります
●エラー処理
特になし

3,画面構成

4,プログラム

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim _AWSID As String = TextBox1.Text
        Dim _AWSPass As String = TextBox2.Text
        Dim _InstanceID As String = TextBox3.Text
        Dim _AMIName As String = TextBox4.Text
        Dim _AMIDescription As String = TextBox5.Text
        Dim _NoReboot As Boolean = CheckBox1.Checked

        Dim cred As Amazon.Runtime.BasicAWSCredentials
        cred = New Amazon.Runtime.BasicAWSCredentials(_AWSID, _AWSPass)
        Dim ec2client As Amazon.EC2.AmazonEC2Client
        ec2client = New Amazon.EC2.AmazonEC2Client(cred, Amazon.RegionEndpoint.APNortheast1)

        Dim reQ = New Amazon.EC2.Model.CreateImageRequest
        reQ.InstanceId = _InstanceID
        reQ.Name = _AMIName
        reQ.Description = _AMIDescription
        reQ.NoReboot = _NoReboot

        Dim Res As Amazon.EC2.Model.CreateImageResponse
        Res = ec2client.CreateImage(reQ)

        '作成したAMIIDを表示
        MsgBox(Res.ImageId)
    End Sub

5,解説

14-18行目:リクエストオブジェクトに、対象インスタンスID・AMI名・AMI説明文と、再起動するかどうかを設定します。
お察しの通り、サーバ起動中でもAMI作成はできます。
ファイルサーバ等、起動中にAMIを作成すると、AMIからインスタンスを作る際にファイルの破損等があり、ディスクスキャンが起動したりします。

また、
24行目で、AMI作成指示を出した後に、発行されたAMIIDを取得できます。
Comments