Amazon SageMakerでセキュリティに強い機械学習環境を構築する ①

Pocket

はじめに

学習データやその分析結果の保存先はもちろん、ワークフローの設計や経路制御まで、一貫して機密性が保持された環境を構築し、情報漏洩のリスクを最小限に抑えること。
ローカル環境でこれを担保しようとすれば、専門知識が必要になるうえ、非常に手間がかかります。かといって、じっくりと分析作業に集中できない、という状況は避けたい。
このジレンマを解決するサービス群が、AWSには用意されています。
本連載では、AWSアカウント作成後、初期設定から何も変更を加えていない状態からスタートし、強固なセキュリティに守られた機械学習環境をクラウド上に構築するまでを、ハンズオンで行います。

本稿のゴール

連載の第一回目として、
学習データや分析結果を格納するためのストレージとして、AWS S3バケットを作成し、
機械学習のワークフロー全体をカバーするサービスである、AWS SageMakerを立ち上げ、
セキュアなクラウド環境を実現するためのアドバイザーをくれる、AWS Trusted Advisor を開く、
というところまで行います。

対象者

所属する組織、もしくは個人でAWSを導入済
AWS上に蓄積されているデータを機械学習にかけようとしている
既にローカル環境で分析を行っているが、セキュリティが不安

実行環境

Windows 10

Amazon SageMakerとは?

データサイエンスの領域全体をカバーする、完全マネージド型の機械学習サービスです。特徴は下記の通り。
より少ない労力と費用で、本番稼働
大容量のデータも効率的に実行
一般的な機械学習アルゴリズムを使用可
自前のアルゴリズムもネイティブでサポート
分ごとの使用料で課金
Amazon SageMaker 公式サイト

AWS Trusted Advisorとは?

AWSに蓄積されたノウハウやベストプラクティスをもとに、現状からどのように設定変更すればより良いクラウド環境になるのか、下記の観点から詳細にアドバイスしてくれるサービスです。

AWS TrustedAdvisor 公式サイト

手順

1. Sagemaker用のS3バケットを作成

コンソール画面で、S3を選択

バケットを作成するをクリック

バケット名を入力、作成をクリック

完成!

2. SageMaker立ち上げ、Notebookの表示まで

コンソール画面で、Amazon SageMakerを選択

左側のタブの、ノートブックインスタンスをクリック

右上のCreate notebook instanceをクリック

ノートブックインスタンス名を入力、IAMロールの項目で、新しいロールの作成を選択

指定するバケットのオプションの、なしにチェックを入れ、ロールの作成をクリック

新しくIAMロールが作られました

下までスクロールし、ノートブックインスタンスの作成をクリック

この画面でしばし待つと、ステータスがPendingから…

InServiceに。作成したノートブックインスタンスを開いてみましょう

Newをクリックし、conda_python3を選択

ノートが立ち上がります。タイトルをクリック、

名称を変更…

できました。

3. Trusted Advisorを見てみる

TrustedAdvisorは、アカウントを作成した直後から有効になっているので、特別な設定をする必要はありません。早速見てみましょう。
コンソール画面でTrusted Advisorを検索

セキュリティの項目にアラートがあります。タブを開いてみましょう

何やら重大な欠陥がありそうです

まとめ

次回はTrusted Advisorで指摘された項目について、どうやって解消すればよいか、ひとつづつ見ていきます。お楽しみに!