サンプルゲームで理解するAmazon GameLift #1 サーバアプリ(ビルド)アップロード編

前回はGameLiftのでサンプルゲーム使って簡単にマルチプレイヤーサーバーを構築しました。今回はGameLiftを利用するためのステップの1つであるサーバアプリ(ビルド)のアップロードに関する部分を深掘りしていこうと思 […] 続きを読む

チュートリアルを途中まで進めただけで数万円の支払が発生したAWS

結論としては自分のせいという事なのでしょうが…。
どうしようもないので、ここに愚痴ることにしました。

ことの始まり

今年2月にAWSに興味があってアカウントを作成しました。
10月初頭にゲーム用サーバーなどをいろいろ調べていたところ、GameLiftに興味がわきました。

チュートリアル

GameLiftにはチュートリアルがあります。
無料枠でテストできるとの謳い文句も記載されてます。
そこでチュートリアルを進めてみることにしました。

チュートリアルは全部で5ステップ

AWS謹製のサンプルゲームのビルドがあるのでそれに名前を付ける。(ステップ1)
そのビルドを配置する。(ステップ2)
やったことはこれだけです。

なぜだったのか覚えがありませんが、ステップ3のクライアントのダウンロードができなくて、接続もできなかったので、そのままとなりました。
そして、チュートリアルを進めたことなど、すっかり忘れてしまいました。

請求が来た

先日、クレジットカードの請求額がなんとなく多かったので、明細を確認したところ、AWSから17000円の請求がありました。
なんだろう?と思って先月分も確認したところ、既に15000円の引き落としがされていました。
今年の初め頃にアカウントを作成した覚えがあるため、不正アクセスの被害にでもあったのかと思い、サポートにメールを飛ばしつつ、急いで自宅に戻りました。

GameLiftの請求

ダッシュボードから請求明細を確認したところ、10月頃からクレカへの請求と一致した課金が発生してました。
ここで、ようやく、GameLiftのチュートリアルを触っていたことを思い出しました。
通信分は0円(クライアントのDLもしてないので、当たり前ですよね)。
しかしながら、インスタンスの稼働分として、24時間x月の日数(≒30日だと720時間)の利用時間となり、無料枠月125時間を引いた508時間や595時間分が課金されていたのです。
93c0069f63947a8a64dd026ae23cd78e.png

無料枠?スケールダウン?

GameLiftのチュートリアルには、「AWS無料利用枠では、このテストは完全に無料です。」と書かれています。
sampleビルドを放置した場合の記載もあります。
5aacb5285e40e4bef58c3ddad9fcc25b.png
bf7b2be3233b9bfcd3c05cea0957f14f.png

6か月での削除はともかく、0にスケールダウンというのが、未だに私にはわかりません。

当時の私は、これらの記述で、すっかり「サンプルだから無料だよ、安全だよ」という風に読み取ってしまいました。
請求に気づいてから、フリートは削除しましたが、結局10~12月分の3か月分、合計5万円が引き落とされます。

チュートリアルがサービスの利用?

インスタンスが使われているのですから、事実としては「利用」だということは理解できます。
しかし、自分で作成したものを置いたのならまだ納得できますが、ボタンぽちっとするだけの謹製チュートリアルで、(しかも途中のSTEPまでしかやってなくても)、本サービスを「利用」したことになり、数万の課金が発生してしまうというのは、どうなのでしょうか。
言葉は悪いかもしれませんが、クリック詐欺にあったような感覚です。

AWSは不親切だ

細かくページを見ていくと、金額は料金表に載っている通りですし、アカウント作成時に合意をしてますし、クレジットカードも登録しているので、私の不注意なのでしょう。

しかしながら、このチュートリアルでの課金発生の仕組みはどうかと思います。
サポートに4通ほどメールを出しましたが、なんの連絡もないのもいただけません。

愚痴るしかない

世間的には「あほな奴(私)」なのでしょうが、「『完全に無料』とか『0にスケールダウン』とか誤解するような書き方するんじゃねーよ!サービス側で用意したチュートリアルで請求するなよ。」とAWSに言いたいです。
きっとどこかの世界の誰かも被害?にあっているはず。

世間には不正アクセスで高額請求された記事などがありますが、不正どころか、私のように単なる間抜けな課金をされることにならないよう、AWSの「サンプル」とか「無料」の表現には気を付けてください。


追記(2017/12/29)

AWSからとても丁寧な返信があり、今回に限り返金していただけるとのことでした。
親切にありがとう。

続きを読む

AWS サービス別 APIプロトコル一覧

Pythonのbotocoreに入っているメタデータから持ってきた。

サービス名 API protocol
acm json
apigateway rest-json
application-autoscaling json
appstream json
athena json
autoscaling query
batch rest-json
budgets json
clouddirectory rest-json
cloudformation query
cloudfront rest-xml
cloudhsm json
cloudsearch query
cloudsearchdomain rest-json
cloudtrail json
cloudwatch query
codebuild json
codecommit json
codedeploy json
codepipeline json
codestar json
cognito-identity json
cognito-idp json
cognito-sync rest-json
config json
cur json
datapipeline json
dax json
devicefarm json
directconnect json
discovery json
dms json
ds json
dynamodb json
dynamodbstreams json
ec2 ec2
ecr json
ecs json
efs rest-json
elasticache query
elasticbeanstalk query
elastictranscoder rest-json
elb query
elbv2 query
emr json
es rest-json
events json
firehose json
gamelift json
glacier rest-json
greengrass rest-json
health json
iam query
importexport query
inspector json
iot rest-json
iot-data rest-json
kinesis json
kinesisanalytics json
kms json
lambda rest-json
lex-models rest-json
lex-runtime rest-json
lightsail json
logs json
machinelearning json
marketplace-entitlement json
marketplacecommerceanalytics json
meteringmarketplace json
mturk json
opsworks json
opsworkscm json
organizations json
pinpoint rest-json
polly rest-json
rds query
redshift query
rekognition json
resourcegroupstaggingapi json
route53 rest-xml
route53domains json
s3 rest-xml
sdb query
servicecatalog json
ses query
shield json
sms json
snowball json
sns query
sqs query
ssm json
stepfunctions json
storagegateway json
sts query
support json
swf json
waf json
waf-regional json
workdocs rest-json
workspaces json
xray rest-json

続きを読む

業務でawsを使っていたらCloudTrailを設定しよう

awsを使っていたらCloudTrailを設定しよう

CloudTrailとは

  • AWS アカウントのガバナンス、コンプライアンス、運用監査、リスク監査を可能にするサービスです。(公式)

CloudTrail-01-HeaderPic-v2-small.png

できること

  • アカウントアクティビティをログに記録し、継続的に監視し、保持できます。
  • SDK やコマンドラインツール、その他の AWS のサービスを使用して実行されるアクションなど、AWS アカウントアクティビティのイベント履歴を把握できます。
  • このイベント履歴により、セキュリティ分析、リソース変更の追跡、トラブルシューティングをより簡単に実行できるようになります。

メリット

コンプライアンスの簡素化

  • アカウント内で行われた操作のイベントログが自動的に記録および保存されるため、コンプライアンス監査を簡素化できます。
  • Amazon CloudWatch Logs との統合により、ログデータを検索したり、コンプライアンス違反のイベントを特定したり、インシデントの調査と監査者の要求に対する応答を迅速化したりできます。

ユーザーとリソースのアクティビティの可視化

  • AWS マネジメントコンソールでの操作と AWS API コールを記録することにより、ユーザーおよびリソースのアクティビティを把握しやすくなります。
  • AWS を呼び出したユーザーとアカウント、呼び出し元 IP アドレス、および呼び出し日時を特定できます。

セキュリティのオートメーション

  • セキュリティの脆弱性を引き起こす可能性のあるイベントが検出されたときに実行されるワークフローを定義できます。
  • 例えば、 Amazon S3 バケットを公開する API コールが CloudTrail によってログに記録されたときに特定のポリシーをそのバケットに追加する、というワークフローを作成できます。

利用してみる

  • CloudTrailにアクセスするとすでにログが記録されているのがわかります
  • 誰が何時に何の操作をしたのかがわかります

Screen Shot 2017-09-16 at 21.28.41.png

  • すべてのイベントを表示してみると

Screen Shot 2017-09-16 at 21.28.56.png

  • 7日以上のログを保存する場合や、アラートを飛ばしたいときは「証跡情報を作成」します

Screen Shot 2017-09-16 at 21.29.17.png

  • s3バケットなどを細かく設定できます!!!!!!

料金

  • WS CloudTrail を使用すると、サポートされたサービスの作成、変更、削除のオペレーションに関する過去 7 日間分のアカウントアクティビティの表示とダウンロードを無料で実行できます。

  • 証跡情報を作成する際に AWS CloudTrail からの課金は発生しません。CloudTrail の証跡を作成すると、Amazon S3 バケットに 2 種類のイベントを送信できるようになります。

  • 詳しくは公式の料金表

サポートされているサービス

ほとんどサポートされていますね

  • AWS Marketplace
  • Amazon Athena
  • Amazon CloudSearch
  • Amazon EMR
  • AWS Data Pipeline
  • Amazon Kinesis Firehose
  • Amazon Kinesis Streams
  • Amazon QuickSight
  • Amazon API Gateway
  • Amazon Elastic Transcoder
  • Amazon Elasticsearch Service
  • Amazon Simple Workflow Service
  • AWS Step Functions
  • Amazon Machine Learning
  • Amazon Polly
  • Amazon WorkDocs
  • アプリケーションの Auto Scaling
  • Auto Scaling
  • Amazon EC2 Container Registry
  • Amazon EC2 Container Service
  • AWS Elastic Beanstalk
  • Amazon Elastic Compute Cloud
  • Elastic Load Balancing
  • AWS Lambda
  • Amazon Lightsail
  • Amazon DynamoDB
  • Amazon ElastiCache
  • Amazon Redshift
  • Amazon Relational Database Service
  • Amazon WorkSpaces
  • AWS CodeBuild
  • AWS CodeCommit
  • AWS CodeDeploy
  • AWS CodePipeline
  • AWS CodeStar
  • Amazon GameLift
  • AWS IoT
  • AWS Application Discovery Service
  • AWS CloudFormation
  • AWS CloudTrail
  • Amazon CloudWatch
  • Amazon CloudWatch Events
  • Amazon CloudWatch Logs
  • AWS Config
  • AWS マネージドサービス
  • AWS OpsWorks
  • AWS OpsWorks for Chef Automate
  • AWS Organizations
  • AWS Service Catalog
  • Amazon Simple Email Service
  • Amazon Simple Notification Service
  • Amazon Simple Queue Service
  • AWS Database Migration Service
  • AWS Server Migration Service
  • Amazon Cognito
  • AWS Device Farm
  • Amazon CloudFront
  • AWS Direct Connect
  • Amazon Route 53
  • Amazon Virtual Private Cloud
  • AWS Certificate Manager
  • Amazon Cloud Directory
  • AWS CloudHSM
  • AWS Directory Service
  • AWS Identity and Access Management
  • Amazon Inspector
  • AWS Key Management Service
  • AWS Security Token Service
  • AWS WAF
  • Amazon Elastic Block Store
  • Amazon Elastic File System
  • Amazon Glacier
  • Amazon Simple Storage Service
  • AWS Storage Gateway
  • AWS Personal Health Dashboard
  • AWS サポート

サポートされていないもの

サポートされていないものもありますので注意が必要です。

Amazon AppStream
Amazon AppStream 2.0
Amazon Connect
Amazon Lex
Amazon Mobile Analytics
Amazon Pinpoint
Amazon Rekognition
Amazon WorkMail
AWS Batch
AWS Greengrass
AWS Shield
AWS Snowball
AWS X-Ray
Amazon Chime
Amazon WorkSpaces Application Manager
AWS Artifact
AWS Mobile Hub
AWS Snowball Edge
AWS Snowmobile
AWS Trusted Advisor

便利なリンク先

こちらいろいろやっていらっしゃる方がいます

まとめ

  • これでアカウントのガバナンス、コンプライアンス、運用監査、リスク監査を可能になりました。
  • 案外かんたんなので、設定触ってみることをおすすめします!

続きを読む