内容
- AWSのSageMakerを利用してエンドポイント推論する
- API Gatewayよりデプロイする
0.AWSアカウント登録
-
クレジットカードもってないと登録できない
-
個人利用を選択
-
英字表記
0.AWSログイン
- ルートユーザーを選択
- メアドは登録時のアドレス
1.SageMaker
-
検索欄で「SageMaker」として出てきたページにとぶ
-
右上の地域を「アジアパシフィック(シドニー)」に設定(東京でもできる)
-
シングルユーザ向けの設定を選択
-
SageMaker内のノートブック>ノートブックインスタンスを指定
-
ノートブックインスタンスの作成を選択
-
インスタンス名(自分で設定):rvc
-
ノートブックインスタンスのタイプ:ml.t3.medium
- これに以外にすると課金形態が変わるので注意
-
アクセス許可と暗号化:AmazonSageMakerServiceCatalogProductsUseRoleを選択
-
「jupyterを開く」を選択、ファイル選択画面になるので、必要なファイルを適宜コピー
2.IAM(Identity and Access Management)
-
IAM>ロールを選択
-
ロールを作成
-
以下を選択して次へ
-
許可の境界は「なし」を選択
-
ロール名:自分で決める(rvc_apigateway)
-
作成したロールに入って許可ポリシー内のインラインポリシーを選択
-
サービス:SageMakerを選択
-
アクション許可:invokeと入力し、読み取りの2つを選択
-
rvc_gateway内の信頼関係の編集を選択
-
信頼ポリシーを編集(以下のように書き換え)
-
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "sagemaker.amazonaws.com", "apigateway.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
-
3.APIGateway
- REST APIを選択
- 新しいAPI API名(自分で決める)→APIを作成
4.SageMaker
-
SageMaker>推論>エンドポイントにアクセス
-
RVCtest500をクリック
-
モデルコンテナログを選択 実行できているか確認
APIの設定(2)
-
API Gateway>リソース に入り上部の「古いコンソールを使用」を選択
-
アクション→メソッド作成→POSTを選択
-
POST - セットアップについて以下のように設定
-
パスの上書き:Amazon SageMaker>エンドポイント>RVCtest500
- RVCtest500のURLのendpoints以下をコピー
-
実行ロール:IAM>ロール>自作(rvc_apigateway)のARMをコピー
-
選択して保存
-
マッピングテンプレート:「テンプレートが定義されていない場合」を選択
-
新しいコンソールに戻り、「CORSを有効にする」内で以下のようにチェックボックスを選ぶ
-
リソース>POSTを選択し、さらに統合リクエストを選択し編集
-
以下のように選択する
- パスオーバーライド、実行ロールは自分のもの
- もうすでに編集されているかも
- パスオーバーの数値だけ変える必要あり
- パスオーバーライド、実行ロールは自分のもの
-
APIの設定:メディアタイプにaudio/wavを追記
5.デプロイ
- API Gateway>自分のAPI を選択し、「APIをデプロイ」を選択
- new stageを選択→ステージ名
シャットダウン時(これやらないと課金されるので注意)
- エンドポイントを消す
- ノートブックインスタンス>rvc内の停止を選択
開始時
- ノートブックから開始を選択
- エンドポイント設定>