はてなれじ

学びのメモ用

S3 ストレージクラスメモ

ストレージクラス

  • スタンダード
    • 標準
    • 3つ以上のAZに保存
  • スタンダード-IA
    • 低頻度アクセス用
  • Express OneZone
    • 1つのAZに保存
    • 1桁ミリ秒でアクセス可能
  • OneZone-IA
    • 1つのAZに保存
    • 低頻度アクセス用
  • Glacier Flexible Retrival
    • 3つ以上のAZに保存
    • ほとんどアクセスしないもの
    • 取得に時間がかかる
    • 取得速度オプション
      • 迅速:5分以内
      • 標準:3~5時間
      • 大容量:5~12時間
  • Glacier Instant Retrival
    • 3以上のAZに保存
    • 四半期に一度程度のアクセスだけど高速に取り出せる
  • Glacier Deep Archive
    • 3つ以上のAZに保存
    • ほぼアクセスしない
    • 取得に長時間かかる
      • 標準:12時間以内
      • 大容量:48時間以内
  • Intelligent-Tiering
    • アクセス頻度がわからないものをAWSが適宜ストレージクラスを移動してくれる
    • 3つ以上のAZに保存
    • 保存料金 + 監視料金(クラス移動のため)

ユーザガイド

AWS Macieメモ

特徴

  • バケットの利用状況の可視化、オブジェクトの可視化ができる
  • 設定に基づき、指定されたバケット内の機微情報の評価、検出を自動化できる
    • 機微情報は個人情報、口座番号など保護が必要な情報や設計技術など他社に知られてはいけない情報
  • 機械学習とパターンマッチングを組み合わせて機微情報を検出する
  • 評価、検出結果を参照し、他サービスへ連携できる
  • マルチアカウントの場合、マスター/メンバー構成をとってマスターアカウントのMacieをメンバーアカウントで実行できる
  • Macieによる検出結果は暗号化されたストレージで一時的に保持される
  • S3 - Macie間の通信は暗号化される

利用概要

  • アカウント内の全バケットをスキャンするものではなく、バケット状態の確認後にスキャンが必要なバケットを指定する
    • バケットの状態とは公開状況や暗号化状況、共有状況など
    • フィルタ表示ができる
      • オブジェクト数や暗号化有無、暗号化方式など
    • S3のみがスキャン対象
  • スキャンはジョブを作成して定義されたものが実行される
  • ジョブにはスキャン対象のバケットや実行スケジュールを定義する
    • サンプリング深度100で全オブジェクトをスキャンする
    • 100未満の場合はランダムに指定された比率のオブジェクトをスキャンする
    • 拡張子や更新日など条件フィルターができる
    • 文字コードUTF-8のみ対応している
    • PCRE(Perl Compatible Regular Expressions)を利用した正規表現によるパターンマッチングを利用した検出ができる
    • SSE-S3, AWS-KMS, SSE-KMSによる暗号化であればスキャンできる
    • SSE-C, CSEによる暗号化は復号できないのでスキャンできない

ユーザガイド

S3 暗号化メモ

暗号化の形式(保管されたデータの暗号化)

  • サーバサイド暗号化(Server Side Encryption:SSE)
    • SSE-S3:S3が提供、管理する暗号化キー(AES-256)で暗号化する
      • 個別アクセス制限はできない
    • SSE-KMS:AWS KMS(AWS Key Management Service)が提供、管理する暗号化キーで暗号化する
      • 個別アクセス制限できる
    • SSE-C:クライアントが作成、管理する暗号化キーで暗号化する
  • クライアントサイド暗号化(Client Encryption:CSE)
    • S3にデータを送る前にクライアント側で暗号化する(サーバサイドの場合はデータ送信後に暗号化する)

ユーザガイド

S3メモ

特徴

  • Amazon Simple Storage Service
  • インターネット経由で利用できるオブジェクトストレージサービス
  • 99.9999999%の耐久性(イレブンナイン)
  • 99.99%の可用性
  • バケットに保存できるオブジェクト数、データ総容量は無制限
  • オブジェクトサイズの最大は5TB
  • 強整合性モデル
  • マルチパートアップロードができる
    • 容量の大きいデータを分割してアップロードできる
  • Webサイトホスティングができる
    • 静的コンテンツをホストできる
  • オブジェクトロック機能がある
    • オブジェクトの上書きや削除が一定期間あるいは無期限に制限できる
    • WORM(Write Once Read Many)モデル
  • バージョニング機能がある
  • ライフサイクル機能がある
    • バケットに保存されたオブジェクトに対してストレージクラスの変更や削除処理を自動化できる
  • S3 Access Analyzer
  • S3 Transfer Acceleration
    • バケット上のデータを別リージョンに高速転送できる機能
    • AWSネットワーク内におけるエッジネットワークから最適化されたルートを経由して転送する

用語

  • バケット:保存場所の最上位フォルダ。バケット名はグローバルでユニーク。
  • プリフィクス:バケット下位のフォルダ名。
  • オブジェクト:データ。
  • オブジェクトキー:オブジェクトに対する一意のURL。
  • バージョンID:バージョニングを有効化すると付与されるオブジェクトバージョンの管理ID
  • インベントリ:保存されたオブジェクトのリストをCSV形式で一括取得できる機能
  • レプリケーション:異なるS3バケット間でオブジェクトを非同期にコピーできる機能

他サービスとの連携

  • Amazon S3 Select(Glacier Select)
    • 直接クエリを実行してデータを取得できる
  • Amazon Athena
  • Amazon Macie
    • 機械学習によってS3内の機密データの検出、分類、保護を自動化するフルマネージドのセキュリティサービス

ユーザガイド

CloudFrontメモ

特徴

  • コンテンツデリバリネットワークサービス
    • 動画、アプリ、静的、動的コンテンツを効率的に配信できる
  • 世界中にエッジサーバーがあり、どこからのアクセスでも低レイテンシでコンテンツ提供できる
  • エッジロケーションというデータセンタのネットワークを経由する
  • エッジサーバーでコンテンツをキャッシュし、配信の高速化とオリジンサーバーの負荷を低減する
  • オリジンサーバーは実際にコンテンツが保存されるサーバ
    • EC2, S3, ELB, オンプレが使用される
  • キャッシュを保持する期間のことをTTL(Time To Live)と呼ぶ
  • ドメインごとに割り当てられるCloudFrontの設定をディストリビューションと呼ぶ

開発者ガイド

Route53メモ

特徴

  • DNSサービスを提供するマネージドサービス
  • リージョンに依らないグローバルサービス
  • 2種類の情報を保持するホストゾーンがある
  • ゾーンを構成する情報単位をレコードと呼ぶ
  • ルーティングポリシーを用いて要件に応じたトラフィックルーティングを指定できる

ホストゾーン

  • パブリックホストゾーン
    • インターネット上でどのようにルーティングするかを指定するレコードを管理するコンテナ
  • プライベートホストゾーン
    • Amazon VPC内でどのようにルーティングするかを指定するレコードを管理するコンテナ

 

レコードタイプ

  • Aliasレコード:ドメインAWSサービスを関連付ける
  • Aレコード:ドメインIPv4アドレスを関連付ける
  • AAAAレコード:ドメインIPv6アドレスを関連付ける
  • MXレコード:ドメインとメールサーバを関連付ける
  • NSレコード:ドメインとネームサーバを関連付ける
  • SOAレコード:ドメインと管理情報(管理者のメールアドレスやサーバの更新時間、更新履歴など)を関連付ける
  • CNAMEレコード:ドメインとURLを関連付ける

ルーティングポリシー

  • シンプル:1つのレコードに対して1つのリソースをルーティングする
  • フェイルオーバー:プライマリリソースが正常でない場合はサカンダリリソースにルーティングできる
  • 位置情報:ユーザーの位置に基づいてトラフィックをルーティングする
  • 地理的近接性:ユーザーとリソースの地理的場所に基づいてリソースのトラフィックをルーティングする
  • レイテンシー:ネットワークレイテンシーが最も低い AWS リージョンにルーティングする
  • IP ベース:IPアドレスの範囲に応じてトラフィックをルーティングする
  • 複数値回答:最大8つの複数リソースに対し、ランダムでトラフィックをルーティングする
  • 加重:複数リソースに対しトラフィックの比率を設定する

ユーザガイド