イラストで理解するAWS責任共有モデル
はじめに
みなさんの一番嫌いなものはなんですか?
そうですね、「責任」ですね。
「責任」=「ストレス」と言ってもいいのではないでしょうか。
もちろん、多少のストレスは必要かもしれませんが。
今回はそんな「責任」の中でも、AWSにおける「責任共有モデル」についてお話ししていこうと思います。
責任共有モデルとは
こちらは、AWSの公式が出している
「責任共有モデル」というものです。
これはあなたがAWSを使う上で、トラブルがあった際にあなたとAWSどっちが責任とるの?
という指標のようなものです。
そして、責任はみんなで分けようね〜の指標でもあります。
あなたが作ったアプリケーションが動かなくなった時、なぜ動かなくなったのか
それを判断するためにもこの考え方を持っておくと良いかもしれません。
AWSの責任
ではまず、AWS側の責任から見てみましょう。
AWSは主に、物理的なリソースの責任を負っています。
当然ですが、AWSはどこか私たちの知らないところで物理的なコンピュータを管理しています。
決して雲の上に向かってデータを投げているわけではありません。
物理的なコンピュータということは壊れることもあります。
それは劣化による故障かもしれません、はたまた電源が壊れることも、ハードディスクが壊れることもあるかもしれません。
また、自然災害やテロなどの犯罪による障害も考えられます。
こういったリソースの障害はAWSが管理する「責任」になります。
あなたが作ったアプリケーションが動作しているコンピュータが壊れた場合、AWSが責任を持って修理してくれるということです。
そして、AWSが警備して、守ってくれています。
ユーザーの責任
クラウドだから何もしなくていい?
そんな訳ありません。
では、私たちは何の責任を負う必要があるのでしょうか?
それは、その物理的なコンピュータの上で動いている「ほぼ全て」です。
広いですね〜
OSのパッチから、セキュリティ、アプリケーション、データなど、全てあなたの責任範囲です。
もちろん、中にはAWSが用意しているアプリケーションを使う場合もあります。
あなたが書いたコードでアプリケーションが動かなかったら、それはあなたの責任です。
間違ってもAWSにクレームをいうのはやめましょう。
特に、蔑ろにされがちなIAMやWAFなどのセキュリティサービス
こういった、セキュリティの部分は見落としがちなので、特に注意しましょう。
S3の責任共有モデル
では、概念を理解したところで実際のサービスで責任共有モデルをみてみましょう。
AWSのS3。
これはデータを保存できるストレージサービスです。
みなさんの使っているGoogle DriveやDropboxと同じような感じですね。
S3におけるAWSの責任
S3ではデータを保管するための大量のストレージが必要です。
また、S3というアプリケーションを動かすためのコンピュータも必要です。
もし、あなたが(データ削除の設定をしていないのに)保存していたデータがある日突然消えてしまったらどうでしょう?
すごく困りますね。
それはAWSの責任です。
もしかすると、データを保存していたハードディスクが壊れたのかもしれませんね。
しかし、AWSはそんなことが起きないように複数のハードディスクでデータを冗長化するなどの対策をとっています。
さらにAWSでは定期的にサードパーティーの監査機関によってテストを行い、動作の検証をしています。
S3におけるユーザーの責任
AWSはあなたから預かったデータを大切に保管してくれています。
それでは私たちユーザーは何をすれば良いの?
S3が全部やってくれてるからいいや〜。じゃないんです。
あなたにはそのデータを「保護」したり、データへの「アクセス権」を考える責任があります。
S3バケットに保存した機密データは暗号化していますか?
S3バケットへのアクセス権は設定していますか?公開されていませんか?
ちゃんとした設定をしていないと、大事なデータが盗まれたり、見られる恐れがあります。
あなたは適切にデータを保管して、誰がそのデータへアクセスできるのか?
その責任を負う必要があります。
まとめ
みなさんが使っているGoogle DriveやDropboxと同じですね。
あなたの大事な情報をGoogle Driveに保存するときは人に見られないようにしますよね?
それと一緒で、データはあなたの「責任」で管理する必要があります。
普段全然意識していなかった責任共有モデルですが、改めて勉強してみると自分の責任範囲がよくわかりました。
参考資料
Discussion