Lambda使ってなんかお試しコード書きたかったんだけども、まだAWS疎すぎてストレージ・データベースのサービスがイマイチわかってなかったので機能と使い分けについて勉強してみた。
?ストレージ
?S3(Simple Storage Service)
ストレージの花形ですね。よく聞くやつだ?ファイルサーバみたいに「バケット」と呼ばれるフォルダを作ってファイルベースでデータを管理できる。
オプションぽちぽちで簡単にファイルのバージョン管理やアクセスログを取る設定を入れることができる。
- バージョニング
- サーバーアクセスのログ記録
- オブジェクトレベルのログ記録
- デフォルト暗号化
- CloudWatch リクエストメトリクス(追加料金有り)
バケット作成すると、まず作成したアカウントが所有者になってそこからアクセス許可が設定できる。OneDriveとかGoogle Driveみたいダネ?
- ブロックパブリックアクセス
- ブロック条件の指定、ACL or アクセスポイントの使わない方の経路はブロックしとく。
- アクセスコントロールリスト(ACL)
- アクセス許可するユーザーを追加できる。
- バケットポリシー
- IAMのポリシーとかロールみたいな感じでアクセス制御のポリシーが作れる。
- CROS設定
- Cross-Origin Resource Sharing、別ドメインの環境からアクセスする手段を設定できる。
アクセスポイントを作成してバケットへのアクセスを提供できる。
アクセスポイント作成ってのをポチポチっとやるとARNと呼ばれるフォルダパスとかURLみたいなリソースに直接アクセスできるコードを入手できる訳だ。ARNの使い方は実際に使って慣れていくとしよう?
?EBS(Elastic Block Store)
ブロックレベルのストレージボリュームって紹介になってる。EC2でインスタンス作る時の説明にもでてきてたけども、EC2インスタンスはデフォルトだとインスタンス終了時に削除されてしまう一時領域しか持ってなくて、このEBSを永続的ボリュームとしてマウントできるってなってる?
要するにオンボードで付けるハードディスクだと思えばいいのかな。LinuxのインスタンスでもWindowsのインスタンスでもEBSマウントしとけばメインのディスクとして使えるということ。
ドキュメントを見るとストレージの項目にEBSってあるんだけど、AWSマネジメントコンソールの操作メニューにはEBSというサービスはない。EC2のダッシュボードから[リソース] > [ボリューム]のメニューの中で管理されている。
つまり、重要な項目なのでマニュアルは独立してるけどEC2の中の概念ってことね?
?EFS(Elastic File System)
こっちは、NFSファイルシステムで、ネットワークドライブみたいな感じで違うAZ(Availability Zone)間でも共有できるみたいですね?
?FSx
ドキュメントが英語だからよくわかんないけど、ファイルサーバーが立てれる様だ?
FSx Windows File ServerとFSx for Lustreがある。
- Windows File Server
- Windowsベースのアプリケーションワークロード向けのWindowsファイルサーバ
- FSx for Lustre
- こっちは抜粋で?
ハイパフォーマンスコンピューティング (HPC)、機械学習、EDA、メディア処理のような大量の演算を行うワークロード向けのサービスで、入出力を Amazon S3 に保存しながら、パフォーマンスに最適化されたファイルシステムを利用できます。
?S3 Glacier
頻繁に使用されないデータ(コールドデータ)に最適化されたストレージサービスだって?
とりあえず・・・、今はいっか?
どこかのタイミングで試したら更新しよう・・・。
?データベース
?RDS(Relational Database Service)
大半の人が「データベース」と言われた時の最初にイメージするものと合致するサービスがコレかなと思う。SQL使えるヤツだね、安心する?
ドキュメントのデータベースカテゴリでは「Aurora」と「RDS」が別々の見出しになっているが開くと「RDS」のトップページに繋がる。
「Aurora」の方が、「RDS」サービスをより簡単に実装・維持できる後継的な仕組みになっているがサポートしているRDBのバージョンが限られている状況。
既存システムをそのままクラウドにアップするとかでDBバージョンの縛りに合わない限りは「Aurora」の方がコスパの良い設計になっている様だ?
「Aurora」と「RDS」で何が違うかというと、「RDS」の場合はEC2インスタンスから選択してDB選択する。EC2でDBサーバを管理してる状態だけども「Aurora」の場合は、そのEC2のマネジメント部分もAWS側で受け持ってくれるっていうものらしい。
マジ、Amazon恐ろしいな?
インフラエンジニアがどんどん抹殺されていく・・・。
まぁ、これがテクノロジーのDAIGO味だよね?
?他DBサービスもいろいろ
他のDBシステムって今まで全然触ったことなかったから上手に語れないな、SQL互換じゃないってどゆこと??
じっくり勉強していこう。各DBサービス役割については、このページのまとめがわかりやすい?
時系列特化のTimestreamとか面白いね。確かにIoT化で無数のデバイスからイベント情報を定期的に受け取る様な状態だと恐ろしいレコード量になりそうだもんなぁ?
トランザクションの信頼性を担保するQLDB(Quantum Ledger Database)もスゴイ。今までこの仕組みにちょっとしたUIが付いただけのソリューションがどれだけ山ほど世に放たれてきたのか?
概念にすら触れたことのないDBは、イマイチ有用性が理解できないから順番に触れて記事にしてみよう。
?無料利用枠の使用のアラートの受信
私は勉強目的でAWSの無料プランを使ってるので、無料枠超えてお金かかっちゃわない様に以下の設定をしておいた。
- AWSマネジメントコンソールのサービスメニューから「Billing」を選択。
- [設定] - [Billingの設定]から「無料利用枠の使用のアラートの受信」のチェックをON
これで、無料枠のあるサービスの利用状況が上限に近付くとメールでアラートを飛ばしてくれるらしい?