こんにちは、クラウドソリューション事業部の本田です。今回は先日開催されましたAWS re:Invent 2023で発表されました、Amazon S3の新サービスであるAmazon S3 Express One Zoneを触って試してみましたのでそちらをまとめていきます。AWS CLIから操作をしてみて何点かハマったので、そちらを中心に書いていきます。
Amazon S3 Express One Zoneとは
こちらは公式サイトから引用させていただきます。
Amazon S3 Express One Zone は、最も頻繁にアクセスされるデータやレイテンシーの影響を受けやすいアプリケーションに対して、一貫した 1 桁ミリ秒のデータ アクセスを提供することを目的として構築された、高性能の単一アベイラビリティーゾーンのストレージクラスです。S3 Express One Zone は、S3 Standard と比較してデータ アクセス速度を 10 倍向上させ、リクエスト コストを 50% 削減できます。これまでも、S3 データを保存するために特定の AWS リージョンを選択できましたが、S3 Express One Zone を使用すると、データを保存するために AWS リージョン内の特定の AWS アベイラビリティ ゾーンを選択できます。ストレージとコンピューティング リソースを同じアベイラビリティーゾーンに同じ場所に配置して、パフォーマンスをさらに最適化することを選択できます。
今までリージョン単位ではS3の作成はできたのですが、今回新サービスによって特定のAZ内までデータを保存する場所を選択できるようになりました。静的サイトの配信などCloudFrontを経由してなどのユースケースであれば利用することはなさそうですが、S3をマウントしてEC2からアクセスしている、機械学習や分析などのユースケースでS3にアクセスしている場合はこちらを利用することでより高速にS3のデータにアクセスすることが可能となっています。
料金面
通常のS3と料金面を比較しますと、通常のS3の方がお安いです。
- S3 Standard:First 50 TB / Month $0.023 per GB
- S3 Express One Zone:All Storage / Month $0.16 per GB
https://aws.amazon.com/s3/pricing/?nc1=h_ls
通常のS3が最初の50TBでの比較となりますが、通常のS3の方が安いことがおわかりいただけるかと思います。速度面にかなり特化したS3とご理解いただけるかと思います。
触ってみる
今回はAmazon S3 Express One Zoneを作ってみて、AWS CLIから一覧の表示と、ファイルのアップロード、同期の処理を行ってみます。
Amazon S3 Express One Zoneの作成
こちらはコンソールから作ってみました。
バケットタイプを「ディレクトリ」とし、AZを選択するだけです。またバケット名の最後にはAZ毎でサフィックスが付くようになっています。
EC2からAWS CLIで操作する
AWS CLIのバージョンを確認しよう
作成したバケットにAWS CLIでアクセスしてみます。aws s3 lsで中身をみようとすると、バケットがないというエラーになってしまいました。
こちらについてはAWS CLIのバージョンが最新でないことが原因でしたので最新化しました。新サービス、新機能などを検証する際はAWS CLIのバージョンは要チェックです。
最新化した後に再度lsコマンドを実行したのですが、今度は権限周りのエラーとなってしまいました。
権限周りを見直そう
アクセスしているEC2のロールには、検証でしたのでS3のフルアクセス権限をつけていますがこちらのエラーとなりました。試しにPowerUserAccessなど強めの権限をつけてみたところエラーが解消されたので、S3以外の権限である辿り着きました。S3ということで、S3の権限をつけていましたが、ポリシー自体を探ってみると、通常のS3ではなく、S3 Expressというサービスで用意されていました。
ですので、こちらのフルアクセスの権限のポリシーを用意してどうなるかみてみます。
無事成功
- バケット内の確認
S3 Expressの権限を付与することで、無事バケット内の一覧を取得することができました。
- ファイルのアップロード
ファイルのアップロードも問題ないですね。
- ローカルへ同期
同期も問題なし。
操作自体は通常のS3と変わらずという感じでした。
最後に
実際のユースケースとして以下のような記載がありました。
Amazon SageMaker モデルトレーニング、Amazon Athena、Amazon EMR、AWS Glue データカタログなどのサービスで AI、機械学習、分析のワークロードの速度を向上
実際に携わっている案件ではあまり有効活用できそうなシーンはなさそうではありますが、権限周りは通常のS3と同じ感覚で設定すると、そもそもが別サービスである(ドキュメントなどを読んでも別物感がありました)ので注意が必要です。権限周りでハマった方のお役に立てばと思います。