[アップデート] AWS Snow ファミリーが Ubuntu 20.04 および Ubuntu 22.04 をサポートするようになりました

[アップデート] AWS Snow ファミリーが Ubuntu 20.04 および Ubuntu 22.04 をサポートするようになりました

最新バージョンのUbuntuをSnowball Edge上で起動できるようになりました
Clock Icon2023.02.07

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

新しいバージョンのUbuntu使いたいな

こんにちは、のんピ(@non____97)です。

皆さんはSnowファミリーのデバイス上でUbuntuのEC2インスタンスを起動したいなと思ったことはありますか? 私はあります。

Snowball EdgeにインポートしたデータをS3バケットにエクスポートする前にエッジ側で処理をしたい場合や、オンプレの仮想化基盤にvCPUやメモリなどの空きリソースがない場合はSnowファミリーのデバイス上でEC2インスタンスを起動させることが多いと思います。

Snowファミリーのデバイス上で起動するEC2インスタンスのOSには制限があります。Ubuntuの場合はUbuntu 16.04のみでした。

Ubuntu 16.04のサポートは2021年4月に切れています。(EOLは2026年4月)

通常サポートが切れいているOSはあまり使いたく無いですよね。

今回のアップデートでUbuntu 20.04 および Ubuntu 22.04 もサポートするようになりました。

AWS公式ドキュメントにも記載されていますね。

Linux

The following Linux operating systems are supported:

  • Amazon Linux 2 for Snow Family
  • CentOS 7 (x86_64) - with Updates HVM
  • Ubuntu 16.04 LTS - Xenial (HVM)

Note

Ubuntu 16.04 LTS - Xenial (HVM) images are no longer supported in the AWS Marketplace, but still supported for use on Snowball Edge devices through Amazon EC2 VM Import/Export and running locally in AMIs.

  • Ubuntu 20.04 LTS - Focal
  • Ubuntu 22.04 LTS - Jammy

Using an Amazon EC2 AMI on Your Device - AWS Snowball Edge Developer Guide

試しにSnowball Edgeのジョブ作成時にUbuntu 22.04のAMIを指定できるか確認してみます。

いきなりまとめ

やってみた

Ubuntu 22.04のAMIの作成

早速確認します。

デフォルトではUbuntu OSのAMIは選択できません。

コンピューティングとストレージ

そのため、以下AWS公式ドキュメントに従い、対象OSからEC2インスタンスを起動し、そのEC2インスタンスのAMIを作成する必要があります。

Snowcone版は以下記事で紹介しています。

EC2のコンソールからEC2インスタンスを起動します。

AWS公式ドキュメントにはAWS MarketplaceのAMIを使うように記載ありますが、試しにコミュニティAMIを使用します。

AMIの選択

インスタンスタイプはSnowball EdgeのEC2インスタンスでNitro Systemを使っていると紹介したドキュメントはなかったため、t2.microを選択しました。

インスタンスタイプ

キーペアは事前に作成していたものを指定します。

キーペア

キーペアを指定しない場合、Snowball Edge上で起動したEC2インスタンスに接続することができません。必ず指定しましょう。

このインスタンスを作成したときに SSH キー ペアに使用した PEM または PPK ファイルのコピーを作成します。このファイルを、Snowball Edge デバイスとの通信に使用する予定のサーバーに保存します。SSH を使用してデバイスの EC2 インスタンスに接続するときに必要になるため、このファイルへのパスをメモしておきます。

重要

この手順に従わない場合、Snowball Edge デバイスを受け取ったときに SSH を使用してインスタンスに接続できません。

Using an Amazon EC2 AMI on Your Device - AWS Snowball Edge Developer Guide

ボリュームはデフォルトのものを指定しました。

ボリューム

ボリュームのサイズは10TB以下 かつ 暗号化してはいけないという要件があります。注意しましょう。

重要

  • 単一ボリューム AMI のみがサポートされています。
  • AMI の EBS ボリュームは 10 TB 以下である必要があります。AMI のデータに必要な EBS ボリューム サイズをプロビジョニングすることをお勧めします。これにより、AMI をエクスポートしてデバイスにロードするのにかかる時間を短縮できます。デバイスがデプロイされた後、インスタンスのサイズを変更したり、ボリュームを追加したりできます。
  • AMI の EBS スナップショットは暗号化しないでください。

Using an Amazon EC2 AMI on Your Device - AWS Snowball Edge Developer Guide

その他の設定はお好みです。

EC2インスタンスが起動したら、カスタマイズします。apt updateapt upgradeなんかもしておくと良いと思います。

カスタマイズが完了したら起動したEC2インスタンスのAMIを作成します。

AMIの作成

AMIのステータスが利用可能になることを確認します。

AMIの作成確認

Snowball Edgeのジョブ作成時にAMIを指定できるか確認

それでは、Snowball Edgeのジョブ作成時にAMIを指定できるか確認します。

ジョブの作成ウィザードを進めて、AMIを選択するEC2 インスタンスを使用したコンピューティングを確認すると、先ほど作成したAMIは見つかりませんでした。

Ubuntu 22.04のAMIがない

もしかしたらAWS MarketplaceのAMIから派生したAMIではないからかもしれませんね。

AWS MarketplaceのAMIから派生したAMIを作成してみます。

EC2インスタンスのAMIを選択する際に、AWS MarketplaceタブからUbuntu 22.04 LTS - Jammy選択をクリックします。

選択

内容を確認して続行をクリックします。

続行

AMIが選択されたことを確認します。

Market PlaceのAMIを指定したことを確認

あとは前回EC2インスタンスを作成した時と同じパラメーターです。

EC2インスタンス作成後、AMIを作成します。

AMIを再作成

作成されたAMIのステータスが利用可能になることを確認します。

Market placeから作成したAMIが作成完了しているか確認

再度ジョブの作成ウィザードを進めて、AMIを選択するEC2 インスタンスを使用したコンピューティングを確認すると、AWS MarketplaceのAMIから派生したAMIが見つかりました。

AMIを指定できることを確認

AWS MarketplaceのAMIから派生したAMIである必要があるようですね。

こちらのAMIを選択して、ウィザードを進めるとEC2インスタンスの項目に選択したAMIの名前とIDを確認することができます。

ジョブの概要

あとはジョブを作成するだけです。

Snowball Edgeが手元に届いて、EC2インスタンスを起動させる際は以下AWSのFAQやブログを参考に進めます。

最新バージョンのUbuntuをSnowball Edge上で起動できるようになりました

AWS Snow ファミリーが Ubuntu 20.04 および Ubuntu 22.04 をサポートするようになったアップデートを紹介しました。

今までUbuntuはUbuntu 16.04しかサポートしていなかったので、私としては待望のアップデートです。

なお、AMIの登録はジョブ作成時ではなく、Snowball Edgeが届いてからでもできますが、VM Import/Exportが必要になるので、オススメしません。ジョブ作成前に事前に使用するAMIを準備しておくと良いでしょう。

個人的にはジョブ作成時にSnow ファミリー向け Amazon Linux 2のAMIがデフォルトで選択できるようになっていることも感動しました。

この記事が誰かの助けになれば幸いです。

以上、AWS事業本部 コンサルティング部の のんピ(@non____97)でした!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.