はらぺこらいおん

日々、思ったことを。

AWS CUDA8.0セットアップ済みAMI作成

pictzzz.hatenablog.com

前回の記事ではAWSのP2インスタンスをスポットで利用する方法をまとめました。 これで安くEC2を使うことができるようになりましたが、毎回毎回OSからCUDA、プログラミング環境をセットアップするのは大変手間です。

そこでAMIという仕組みを使い、この問題を解決したいと思います。

AMIとは

AMIとは、スナップショットとインスタンスの管理情報が入っており、 これを使ってOS、CUDA、プログラミング環境のセットアップ済みのインスタンスを直接起動できるようになります。

docs.aws.amazon.com

AMI作成

AMIの作成は簡単です。AMIを作成したいインスタンスを選択し、「アクション」>「イメージ」>「イメージの作成」の順にクリックします。

f:id:pictzzz:20170208223141p:plain

イメージの作成をクリックするとダイアログが表示されるので、名称をつけて保存します。

f:id:pictzzz:20170209222343p:plain

ここでの注意点は以下のものがあります。

  • 再起動しないにチェックを入れないと、インスタンスが再起動されてしまいます。
  • 再起動をしないでも通常は正常にAMIを作ることができます。
  • スポットインスタンスを使っている場合でも、再起動は可能です。
  • AWSではデータの整合性のため、再起動してAMIを作成することを推奨しています。

AMIからスポットインスタンス作成

作成したAMIからスポットインスタンスを作成して見たいと思います。

通常のスポットインスタンスのリクエストページへ移動します。 (EC2 -> スポットインスタンス -> スポットインスタンスのリクエスト)

画面の中ほどにAMIを選択する部分があるのでクリックします。

f:id:pictzzz:20170208224728p:plain

カスタムAMIを使うという選択肢が表示されるので選択します。

f:id:pictzzz:20170208224820p:plain

すると作成したAMIが表示されるので、使用するAMIを選びます。

f:id:pictzzz:20170209221002p:plain

これの状態で通常通りスポットインスタンスのリクエストを行うと、AMIが使用されてインスタンスが作成されます。

f:id:pictzzz:20170208225419p:plain

このようにして作成したインスタンスは、AMI作成時のインスタンスの状態が復元されます。
ただし、グローバルIP(EIP)は付け直す必要があります。

以上で、AMIを使ったスポットインスタンスの作成方法の説明は終了となります。