😸

AWSでサーバーを構築してみる~S3にバックアップする①~

2021/01/27に公開

はじめに

くーばねてすをやっつけるためにこれまでにLinuxさんと仲良くさせていただいたが、新たなステージに上がるためについにAWSさんに会いに行くことにした。AWSさんと仲良くなることでLinuxさんのファイルシステムだけでなく、インターネットの仕組みの理解につながると思い勉強する。今回はその第1歩としてAWSを使ってWordPressでブログシステムを構築しようと思う。
ここまでできた(^_-)-☆!

WordPressのセットアップができてブログサーバーが完成したのでバックアップ用のストレージの設定をする。

概要

■ボリュームのデータを定期的にバックアップするには
■バックアップ先のS3とは?
■S3の作成

をまとめた!

■ボリュームのデータを定期的にバックアップするには

いちいち手動でアップロードのは大変なので定期的にアップロードしたい。
バックアップデータのアップロード方法としてAWSではEBSスナップショットという機能がある。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/EBSSnapshots.html

スナップショットを作成することで、Amazon EBSボリュームのデータを Amazon S3 にバックアップできる。ストレージコストを節約するために、スナップショットは増分データのみの保存で、以前のスナップショット以降に変更されたボリュームデータのみが保存される。
定期的にバックアップを取るにはAmazon Data Lifecycle Manager でライフサイクルポリシーを設定する必要がある。

■バックアップ先のS3とは?

https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/Welcome.html
https://service.plan-b.co.jp/blog/creative/4981/

容量が無制限なクラウド型のオブジェクトストレージサービス。
データサイズやデータ数の保存制限がないため、大容量データの保存に適している。
99.999999999%の耐久性を実現するように設計されており、安さと高可用性を兼ね備えている。
オブジェクトストレージとは
https://www.fujitsu.com/jp/products/computing/storage/lib-f/tech/beginner/object-storage/
オブジェクトストレージはデータをファイル単位ではなく、オブジェクトという単位で構成される。オブジェクトにはストレージシステムのなかで固有のID(URI)が付与され、データとそれを扱うためのメタデータによって構成される。 メタデータは通常のファイルシステムでも作成日や作成者などの情報を持っているが、オブジェクトではデータの種類、保存期間やコピー回数など、より多くの情報を付加できる。
※より多くのメタデータで管理しているので柔軟性のある使い方ができそうだ(><)
データはファイルストレージのように階層構造に管理するのではなく、ストレージプールというオブジェクトの入れ物のみが作成されフラットにデータ管理される。ファイルストレージではファイル自体にはメタデータが入っていないのでファイルの場所の移動をしてしまうとファイルの属性がか分からなくなっていたが、オブジェクトには多くメタデータが添付できるため迷子になることがない。
※オブジェクトストレージ、何だか使えそうな奴だ(>
<)

①バケットの作成(インスタンスと同じリージョンに作成する)

Amazon S3からバケットの作成を押す。

作成画面に入る。

名前を入力する。

リージョンを選択する。
S3 バケットは、スナップショットと同じ AWS リージョンに存在している必要があるのでインスタンスと同じリージョンを選択する。

ブロックパブリックアクセスのバケット設定はS3は単にバックアップになるので外部からアクセスできないよう、パブリックアクセスをすべて ブロックにチェックする。

バケットのバージョニングはS3でバージョン管理をするか?しないか?が設定できる。
バージョン管理機能自体には追加料金はかからないが、バージョニング機能によって保管される古いオブジェクトについは課金される。
利用するときにはS3のライフサイクルポリシーを利用して、保存期限を指定し、古いバージョンを自動的に削除すると費用効果が高くなる。
https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html

デフォルトの暗号化
https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html

デフォルト暗号化は、すべての既存および新規の Amazon S3 バケットに対して動作します。デフォルト暗号化を使用しない場合、バケットに保存されたすべてのオブジェクトを暗号化するには、すべてのオブジェクトストレージのリクエストに暗号化情報を含める必要があります。

暗号化では
S3 が管理するキーによるサーバー側の暗号化 (SSE-S3)
KMSに保存されているCMKによるサーバー側の暗号化 (SSE-KMS)
個人で指定できるキーによるサーバー側の暗号化 (SSE-C)
のいずれかを使用してオブジェクトを暗号化できる。

オブジェクトロック
Write Once Read Many (WORM) (※書き込みは一回限りだが読み取りは何度でもできる記憶装置)モデルを使用してオブジェクトを保存できる。これにより、オブジェクトが固定期間または無期限に削除または上書きされることを防止できる。

作成内容を確認してバケットを作成する。

まとめ

②に続く(+o+)

Discussion