[アップデート] ついに来たか!Amazon Macie が東京リージョンでも利用可能になって、さらに80%以上お安くなりました!

ついに Amazon Macie が東京に上陸。そして値下げは正義。
2020.05.14

本日のアップデートで Amazon Macie が東京リージョンでも利用可能になり、かつ料金モデルが改定されて 80%〜90% の大幅な値下げとなっています!

今回のアップデートは単なるリージョン追加と価格改定というよりも、Amazon Macie のサービス内容のデザインが刷新されたようですね。

何が変わった?

従来の Amazon Macie と比較してどのような点が変わったか、ざっくりまとめます。

機能

以下のような機能が追加されています

  • 個人識別情報(PII)を検出するための機械学習モデルの更新され、正規表現を使ったカスタム識別子が利用可能
  • AWS Organizations によるマルチアカウントのサポート
  • AWS SDK および AWS CLI でサービスをプログラム的に使用するための API を完全にカバー
  • 17 リージョンで利用可能(東京でも利用かのうになりました)
  • シンプルになった新しい無料枠と 30 日間のお試し期間でコストを把握できるようになりました
  • 再設計されたコンソールとユーザーエクスペリエンス

一方で、CloudTrail と連携したデータアクセスの異常検出は Amazon Macie から除外されたようです。個人的にココが大注目なのですが、今後、S3 の異常アクセス検出は GuardDuty で利用できるようになるのでしょうか?(GuardDuty の機能として、プライベートベータで提供されているらしいのですが、この情報を見た記憶がありません、、)

The anomaly detection features monitoring S3 data access activity previously available in Macie are now in private beta as part of Amazon GuardDuty, and have been enhanced to include deeper capabilities to protect your data in S3.

今後、GuardDuty のアップデートにも注目ですね!

料金プラン

先述のとおり CloudTrail イベントと連携した機能が除外されたことで、料金プランは「アカウント内の S3 バケット数」と「機密データ検出のために処理されたデータ量」の 2 タイプになり非常にシンプルになりました。

そして何より安い!従来はデータ処理量に対する課金が 一律 $5/GB (バージニア・リージョン) でしたが、新プランでは $0.31/GB 〜 $1.25/GB (東京・リージョン) と大幅に安くなっています。従来の料金プランだと、データレイクのような大きなバケットで Amazon Macie を使うと、なかなかの料金になっていましたがコレは非常に嬉しいですね。

アカウント内の S3 バケット数

アカウント内の S3 バケット数 価格
評価されたS3バケットの数/月 $0.10/バケット

料金は日割り計算されます

機密データ検出のために処理されたデータ量

機密データ検出のために処理されたデータ量 価格
最初の 1 GB/月 無料
〜 50,000 GB/月 $1.25/GB
次の 450,000 GB/月 $0.63/GB
500,000 GB以上/月 $0.31/GB

いずれも東京リージョンでの価格です。最新情報は公式の価格表を参照ください。

従来の Macie は Macie Classic という名前に変わっているようですね。

Amazon Macie Classic

従来の Amazon Macie はこのタイミングで Amazon Macie Classic と改名されているようですね。こちらの対応リージョンは変わっていないので、東京リージョンでは利用できません。

公式ガイドも Amazon Macie と Amazon Macie Classic で分けられているのでご注意ください。

注意点

個人識別情報(PII)については、日本の運転免許証などは未対応のようです。新しい製品ページ(en)を見ても、特に対応言語についての言及はありませんが、まだ日本語には対応していないのかもしれませんね。ユーザーからの強いフィードバックが AWS サービスの機能改善へとつながりますので、ここはユーザーがどんどん声をあげていただくのが良いかと思います。

やってみる

それでは新しくなった Amazon Macie を試してみましょう。サービス一覧より Amazon Macie を開くと東京リージョンで利用可能になっていますね。Get started をクリックします。

Amazon Macie を有効するにあたってサービスに S3 のアクセス権限等を与える必要があります。作成されるサービスロール AWSServiceRoleForAmazonMacie の内容は下記のとおりです。これらに権限を与えることに同意する場合は Macie を有効化 をクリックします。

アクセス許可

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Resource": "*",
      "Action": [
        "cloudtrail:DescribeTrails",
        "cloudtrail:GetEventSelectors",
        "cloudtrail:GetTrailStatus",
        "cloudtrail:ListTags",
        "cloudtrail:LookupEvents",
        "iam:ListAccountAliases",
        "s3:Get*",
        "s3:List*"
      ]
    },
    {
      "Effect": "Allow",
      "Resource": "arn:aws:cloudtrail:*:*:trail/AWSMacieTrail-DO-NOT-EDIT",
      "Action": [
        "cloudtrail:CreateTrail",
        "cloudtrail:StartLogging",
        "cloudtrail:StopLogging",
        "cloudtrail:UpdateTrail",
        "cloudtrail:DeleteTrail",
        "cloudtrail:PutEventSelectors"
      ]
    },
    {
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::awsmacie-*",
        "arn:aws:s3:::awsmacietrail-*",
        "arn:aws:s3:::*-awsmacietrail-*"
      ],
      "Action": [
        "s3:CreateBucket",
        "s3:DeleteBucket",
        "s3:DeleteBucketPolicy",
        "s3:DeleteBucketWebsite",
        "s3:DeleteObject",
        "s3:DeleteObjectTagging",
        "s3:DeleteObjectVersion",
        "s3:DeleteObjectVersionTagging",
        "s3:DeleteReplicationConfiguration",
        "s3:PutBucketPolicy"
      ]
    }
  ]
}

信頼関係

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "macie.amazonaws.com"
      },
      "Action": [
        "sts:AssumeRole"
      ]
    }
  ]
}

これまで Macie はオリジナルなコンソールデザインでしたが、今回のアップデートでよくみる AWS サービスの管理コンソールになっていますね。S3 バケットのサマリーが表示されていて暗号化設定やパブリックアクセスの設定状況が一目瞭然です。

例えば 暗号化されてない ところのリンクをクリックすると対象バケットの一覧が確認できます。

次に機密データ検出するためにジョブを作成します。左ペインの S3 バケット を開き、対象となるバケットを選択し ジョブを作成 をクリックします。

S3 バケットの対象に変更なければ次へをクリックします。

次にスコープを設定します。今回はワンタイムジョブを指定していますが、スケジュール指定も可能です。スケジュール実行の際には、既存オブジェクトの扱いを選択できます。

サンプリング深度は、ジョブが分析する対象オブジェクトの割合を決定します。値が 100 未満の場合、Amazon Macie は指定されたパーセンテージまで、ランダムに分析するオブジェクトを選択します。その他にもタグや、最終変更日、ファイル拡張子、オブジェクトサイズを条件に対象設定できるようになっています。

Amazon Macie の料金プランは処理されたデータ量によって課金が発生しますので、データの特性によって正しく除外することで無駄な課金を抑えることができますので利用の際にはよく検討ください。

Macie は AWS によって管理されたデータ識別子でデータを分類しますが、正規表現やキーワードを使ってカスタムデータ識別子を作成することもできます。今回はカスタム識別子を用意していませんので、次へをクリックします。

ジョブに任意の名前を入力して次へをクリックします。

最後にサマリーが表示されますので内容を確認し、送信をクリックします。

作成したジョブは一覧より状況の確認ができます。執筆時点で 5 時間ほど経過していますが、まだ実行中でした。それなりの時間を要するみたいですね。

実行中ではありますが検出された結果は [検出結果]より確認できます。

このように機密データと思われるデータを容易に検出することができます。誤検知と思われる内容もありますが、すべてのバケットに対して自前で検出ロジックを実装することに比べれば圧倒的に仕分けに掛かる手間が少ないのではないでしょうか。

検証は以上です!

30日間の無料トライアル

2020.5.18 追記
30日間の無料トライアルに「機密データ検出のデータ処理量」は含まれないようです。「機密データ検出のデータ処理量」に対しては毎月の無料枠 1 GB を超過すると課金が発生しますのでご注意ください

気になるコストは 30 日間の無料トライアルを使って、どの程度の課金が発生するか実環境で確認いただくのが一番手っ取り早いかと思います。

さいごに

以前、Amazon Macie を試したことがあったのですが、やはりコストがネックとなり利用を断念したことがあります。今回の料金プランであれば、かなりのコストダウンが見込まれるので再検討してみる価値がありそうです。

個人的には S3 の異常アクセス検出として Amazon Macie に注目していたのですが、この機能は GuardDuty のプライベートベータとして提供されているとのことなので、GuardDuty も引き続き注目していきたいと思います。

(あと、日本語対応よろしくおねがいしまっす!)

以上!大阪オフィスの丸毛(@marumo1981)でした!