AWS Certified SysOps Administrator - Associateの対策

# AWS# Infrastructureブログのサムネイル画像

経緯

この度、AWS Certified SysOps Administrator - Associateを受験すべく対策を行っていく。長いので以下SOAと呼ぶ。

SOA試験について

  • 試験時間130分、受験料150USD
  • 試験方法はPearson VUE テストセンターまたはオンラインでの監督付き試験
  • 本来は「試験ラボ」というフェーズがあるらしいけど、2023/03/28以降は一時的に含まれなくなっている
  • 合格スコアは720 / 1000
  • 試験対象は「クラウドオペレーションの役割を担うシステムアドミニストレーター」で、取得すると「AWS でのワークロードのデプロイ、管理、運用の経験」が証明される

SOAの試験内容は以下の通りとのこと。

第1分野:モニタリング、ロギング、および修復 (採点対象コンテンツの 20%)
第2分野:信頼性と事業の継続性 (採点対象コンテンツの 16%)
第3分野:デプロイ、プロビジョニング、およびオートメーション (採点対象コンテンツの 18%)
第4分野:セキュリティとコンプライアンス (採点対象コンテンツの 16%)
第5分野:ネットワークとコンテンツ配信 (採点対象コンテンツの 18%)
第6分野:コストとパフォーマンスの最適化 (採点対象コンテンツの 12%)

TIP

  • Auroraは大体正解
  • Lambdaは大体不正解

試験対象のサービス

SOAの試験対象のAWSサービスは、以下PDFに列記されているためそれごとに学んでいったほうが効率的。逆に対象外のサービスも列記されている。

https://d1.awsstatic.com/ja_JP/training-and-certification/docs-sysops-associate/AWS-Certified-SysOps-Administrator-Associate_Exam-Guide.pdf

以下、AWSサービス別に対策していく。

分析

Amazon OpenSearch Service

OpenSearchとは、ElasticsearchとKibanaの最後のALv2バージョンからフォークを作成したもの。Amazonだけじゃなく、いろんな企業や個人が参画して更新し続けている

  • Amazon OpenSearch Service

    • マネージドのため構築・管理コストは低い
    • ユーザー管理はIAMで行う、もしくはOpenSearch側で独自のユーザー管理も可
    • このサービス自体のログ、セキュリティ、バックアップなどが考慮不要
    • CFnに対応のため他環境や他サービスへの横展開がしやすい
    • インスタンスを夜間に停止して利用料金を削減みたいなのができない
      • 例えば、開発環境、総合テスト環境だけ日中のみ稼働にし、本番環境だけ24時間稼働にするとか
    • インスタンス時間、ストレージの量、転送されるデータで課金される
      • 自動スナップショットは無料
      • 開発環境ではt3.small.search、本番環境ではt3.medium.searchが良さそう。大体毎月6,351円くらい?
  • Amazon OpenSearch Serverless

    • Serviceの方と比べて以下の運用タスクを削減可能
      • データライフサイクルの管理
      • バージョンアップグレード、ソフトウェアアップデート
      • クラスターリソースのモニタリング
    • Serviceの方と比べてServerless固有の制限がある(アラート、異常検知、kNNに非対応?)
    • 最低コストがめっちゃ高い
      • OpenSearch Compute Unit(OCU)ごとに課金で、最低4OCUが必要なので毎月146,292円くらいはかかる

アプリケーション統合

Amazon EventBridge

イベント駆動型アプリケーションを構築するためのマネージドサービス。

アプリケーション内およびAWS上の異なるサービス間でイベントの受け渡しを簡素化し、異なるコンポーネントやサービス間の結合を疎結合にすることを支援。

  • EventBridge Scheduler
    • スケジュールグループ
    • SDKでcreateScheduleを呼び出せば、アプリ側で動的にスケジュールを設定できそう
    • フレックスタイムウインドウをONにすると処理を分散できて便利

Amazon Simple Notification Service (Amazon SNS)

プッシュ型のメッセージングサービス。

  • トピック:メッセージを配信する論理的な宛先のこと。Firehose、SQS、Lambda、HTTP/S、Eメールなどをグループにまとめることが可能

Amazon Simple Queue Service (Amazon SQS)

メッセージキューサービス。実は最も古いAWSサービス。

SQSを挟んだ非同期のアプリケーションは、疎結合になる。SQSの代わりにELBを挟んで水平方向のスケーリングをするのも良い。

  • Standard:順番を保証しない
  • FIFO:二重配信の排除、順番の保証
  • 可視性タイムアウト:重複を防ぐ
  • 遅延キュー:時間整合性を保つ
  • デッドレターキュー:問題のあるメッセージを隔離する

クラウド財務管理

AWS Cost and Usage Report

AWS請求レポートをS3に発行できる。コスト別、時間、日、月、タグなどで分類されている。

レポートは1日に3回まで更新される。

AWS Cost Explorer

AWSのコストと使用料を経時的に可視化、把握、管理できる。

データを詳細に分析して傾向、コスト要因、異常を特定可能。

Savings Plans

柔軟な価格設定モデルで最大72%コストを節約可能。

1年または3年の時間単位で利用する条件となる。

対象は3種類。

  • Compute Saving Plans
  • EC2 Instance Saving Plans
  • SageMaker Saving Plans

コンピューティング

AWS Auto Scaling

  • スケーリングクールダウン:オートスケーリングが連続実行されないように設定する待ち時間。デフォルトは300秒

Amazon EC2

  • 購入オプション
    • リザーブドインスタンス:オンデマンドよりもかなり安い。ただし、3年とか縛りで途中でキャンセルができない
    • スケジュールドリザーブドインスタンス:バッチ処理とかに
    • オンデマンドインスタンス:EC2のデフォルト
    • スポットインスタンス:オンデマンドよりも安いけど、途中で中断されるリスクがある。AZの空き容量によって値段が変動する
    • ハードウェア専有インスタンス:セキュリティ的なメリットはあるが、料金が高い
  • インスタンスファミリー
    • 汎用:T,M
    • コンピューティング最適化:C
    • メモリ最適化:X,R
    • 高速コンピューティング:P,G,F
    • ストレージ最適化:H,I,D
  • インスタンスの状態
    • pending:runningの前状態
    • running(実行中):EC2インスタンスが起動した状態。課金対象
    • stopping(停止中):インスタンス停止準備中の状態
    • stopped(停止済み):シャットダウンされているため利用不可の状態。インスタンスの再開はいつでも可能
    • shutting-down:インスタンス削除準備中の状態
    • terminated(終了済み):インスタンスが完全に削除されているため再開不可。時間経過で勝手にリストから消える
  • ユーザーデータ:インスタンスの初回起動時に一回だけスクリプトを実行できる機能。例えばyamなどで必要なアプリをインストールしたりできる
    • インスタンスを再起動してもユーザーデータの再実行はされない

Amazon EC2 Auto Scaling

CloudWatchのメトリクスの増減とも連携できる。CPU、ネットワーク、キュー。

Amazon EC2 Image Builder

カスタムAMIが作れると、同じようなインスタンスを複数作りたいケースで便利。

ゴールデンイメージ用途やバックアップ用途などに。CI/CD。

  • パイプライン
  • イメージレシピ:Build、Validate、Testまでやってくれて便利。裏ではSystems Managerのドキュメントが動いているとか

AWS Lambda

フルマネージド型のコンピューティングサービス。コードが実行されるごとに課金される。

イベントへの応答として、または指定された時間間隔でコードを実行でき、ログはCloudWatch Logsに保存される。

  • 無限実行されないようタイムアウト設定がある。デフォルト3秒
  • リクエストあたりの最大実行時間は900秒
  • Java,Node.js,C#,Python,Go,PowerShell,Rubyに対応

データベース

Amazon Aurora

PostgreSQLおよびMySQL互換のデータベースエンジン。AWS独自開発なのでイチオシのため、試験問題の答えになる可能性が高い。

Amazon DynamoDB

マネージド型のKey-Value型データベース。自動的に3つのAZにデータ保存で高可用性がある。

Amazon ElastiCache

フルマネージド型のインメモリデータストアおよびキャッシュシステムのPaaS。

  • Redis:複雑なデータに対応。シングルスレッドで可用性が高い。Pub/Sub機能を提供
  • Memcached:高パフォーマンスとマルチスレッド対応が可能

Amazon RDS

マネージドなリレーショナルデータベースサービス。

  • クラスター
  • クラスターボリューム
  • RDS Proxy:停止などはできないので存在する限り課金され続ける点に注意

WARNING

DBを削除する場合はインスタンスが起動していないとできない。CFn経由の場合も同様。

デベロッパーツール

AWS のツールと SDK

  • SDK:各プログラミング言語、環境に合わせた開発ツール。Python、Java、.NET、Node.js、JavaScript、C++、Go、Ruby、PHPに対応

マネジメントとガバナンス

AWS CLI

AWSのサービスを管理するための統合ツール。

Win、Mac、Linux向けがあり、Amazon Linux AMIにはプレインストールされている。

AWS CloudShellから利用するのがインストール不要で楽ちんでよい。

AWS CloudFormation

AWSリソースのデプロイ自動化としてはAWS CloudFormationが便利。AWSの中では「プロビジョニング」に相当する。

これ自体の使用料は無料で、リソース間の依存関係はCFが自動で判別してくれるため便利。

Infrastructure as Code(IaC)という概念があり、インフラをコードで管理することで様々なメリットがある。

  • 冪等性があるため環境ごとに手動によるミスなく同じ内容のインフラを構築でき、逆に場合分けで環境ごとに差異を表現することも可能
  • システムごとにコードを使いまわすことで設計・構築の効率化ができる
  • コードをGitAWS CodeCommitなどで管理することによって履歴管理ができ、差分も取りやすいのでレビューが容易
  • 昔のようにデプロイ手順書などを作らなくて良い

スタック

  • テンプレートから作成されるリソースの集合体のこと。この単位でリソースを管理可能
  • テンプレートを修正した場合、作ったスタックに後から再度テンプレートを適用でき、差分だけが適用されるから安心
  • スタックを削除することで、作られたリソースも自動的に削除される
  • ドリフト
    • ドリフトの検出

テンプレート

  • JSONとYAMLが使えて、YAMLのがコメント(#)をつけられるのでおすすめ
  • リソースの記載は必須
  • Descriptionは日本語入れるとスタック上で文字化けする…
  • テンプレートの分割単位は、リソースのライフサイクルごとに分けるのが良い
  • 組み込み関数:!Refなど
  • 場合分けで文字列を使い分ける
    • Mappings:
    • !FindInMap
  • パラメータを選択式にする
    • AllowedValues:

使い方

  • YAMLを作ったら、AWSコンソールで「スタックの作成」をして、YAMLをアップロードする。その後進めていくと勝手にリソースが作られる
  • スタックの削除をすることで、作られたリソースも自動的に削除される
  • スタック間で値を参照することができる
    • 被参照側がOutputs:にExport属性とName属性を
    • 参照側はFn::ImportValueで参照
  • デザイナー:GUI上でテンプレートをビジュアライズできる
  • StackSets:アカウントを横断してリソースを作成できるので便利

AWS CloudTrail

AWSのAPI呼び出しを記録してロギングするサービス。監査証跡に使える。データイベントと管理イベントのログを記録できる。

デフォルトが無効なので、せめて本番環境では有効化しておくのがおすすめ。

Amazon CloudWatch

AWS上のリソースやアプリケーションのモニタリングサービス。

  • ロググループ
  • サブスクリプションフィルター:ログ内に特定の文言があったら通知できる機能
  • ログストリーム:ロググループに所属できる
  • アラームアクション:SNSトピックに通知を送信したり、EC2アクションまたはEC2 Auto Scalingアクションを実行可能

AWS Compute Optimizer

AWSリソースの使用を最適化するための推奨事項を取得。

使用状況データに基づいて、以下4種類のリソースのオーバープロビジョニングとアンダープロビジョニングを回避できる。

  • EC2インスタンスタイプ
  • EBSボリューム
  • ECSサービス
  • Lambda関数

AWS Config

EC2やEBSの設定が準拠しているかを確認してくれる。

  • Configルール発見的ガードレールと呼ばれる。例えば期限が過ぎたアクセスキーをあぶり出したりすることが可能

AWS Control Tower

安全なマルチアカウントAWS環境のセットアップと管理。組織のセキュリティとコンプライアンスのニーズを維持しながら、複数のAWSサービスを調整しやすくする。

  • ランディングゾーン

AWS Health Dashboard

AWS環境に影響を及ぼす重大なイベントや変更を表示。AWSに障害が起きていないかをダッシュボードでチェックできる。

それ以外にも、アカウント固有や組織固有の情報も確認可能。

  • スケジュールされた変更:AWSの将来的なメンテナンス情報はここに記載されている
    • AWS Health AwareやEventBridgeで通知を送ることも可能

AWS License Manager

ソフトウェアライセンスを管理し、ライセンスコストを微調整する。

Microsoft、SAP、Oracle、IBMなどのベンダーが提供するライセンスの管理を簡単に行えるサービス。

AWS マネジメントコンソール

AWSクラウドにアクセスして管理するために必要なもの全てを1つのウェブインターフェースに集結。

AWS Organizations

複数のAWSアカウントを効果的に組織化、管理するためのサービス。

AWS Organizationsを使用することで、複数のAWSアカウントを一元的に制御し、セキュリティの向上やリソースの共有などができる。

権限管理一括請求が利用者にとっての旨味。

  • SCP:階層構造でサービスをコントロールできる。組織単位(OU)ごとにツリーで管理可能
    • SCPとIAMポリシーが両方設定されている場合は、両者のANDをとった部分が実際に使えるサービス権限

AWS Service Catalog

ガバナンスとアジリティの両立。

  • ポートフォリオ

AWS Systems Manager

AWS Systems Manager Inventoryで、EC2インスタンス内のOSやソフトウェアなどを収集して一覧化できる。

内部的にはnpm -qaなどのOS系パッケージ取得コマンドを使用しているとのこと。

npmpipなどの各言語系パッケージは取得対象外。

  • Session Manager
  • Parameter Store:例えば、ソフトウェアの設定ファイルを丸々JSONで入れておくとかも可能で便利
  • RunAs
  • Shell Profile

AWS Trusted Advisor

AWSの適切な利用をサジェストするツール。例えば、使用率が高いEC2インスタンスを全て検出するなどができる。

セキュリティ、コストなどのベストプラクティスに準拠してるかをチェックできる。

移行と転送

AWS DataSync

例えば、S3内の大量のオブジェクトをコピーしたりできる。クロスアカウントでも可能。

CFnでも構築が可能。

  • ロケーション:データ移行元とデータ移行先を定義
  • タスク:コピーの仕方などを定義

AWS Transfer Family

シンプルで安全かつスケーラブルなファイル転送により、データの管理と共有を容易に実現。

ネットワークとコンテンツ配信

Amazon CloudFront

CDNサービス。キャッシュサービス。

  • エッジロケーション:コンテンツ配信を行うための拠点となる設備。CloudFrontの拠点

Elastic Load Balancing (ELB)

ハードウェアの制約を受けず、自動的にスケーリングする。CloudWatch、Route53、AWS Auto Scalingなどと連携できる。

  • ALB:レイヤー7(アプリケーション層)で動作するロードバランサー。HTTP、HTTPSに対応
  • NLB:レイヤー4(トランスポート層)で動作する。TCP/UDP/TLSに対応。低レイテンシーという利点があり、内部向けの通信でよく利用される
  • リスナー:外部からアクセスするプロトコルとポートを指定して、接続リクエストをチェック
  • リスナールールとアクション:リスナーに基づき異なるアクションを設定できる
  • ターゲットとターゲットグループ:トラフィックの転送先のリソースやエンドポイント
  • SSLターミネーション
  • スティッキーセッション:同一セッション中のユーザーリクエストを同じリソースに振り分ける。ELBがCookieを発行することによって実現
  • Pre-warming(暖機運転):ELBを事前にスケールさせておく操作のこと

AWS Global Accelerator

AWSグローバルネットワークを使用して、アプリケーションの可用性、パフォーマンス、セキュリティを向上する。

ALB、NLB、EC2インスタンス、EIPなどのアプリケーションエンドポイントへの固定エントリポイントとして機能する2つのグローバル静的パブリックIPを提供。

Amazon Route 53

ドメインネームシステムを提供するサービス。唯一100%のSLAを保証。

AWSの各サービス間連携は、DNSホスト名(FQDN)を使うことで拡張性や運用性が高まる。

ドメインレジストラやフォールトトレラントアーキテクチャ(DNSフェイルオーバー)の役割も果たす。

  • ホストゾーン:ドメイン名の問い合わせに対して、どういう回答をするかの設定をまとめたもの。ルーティングポリシーとも

TIP

ドメインの購入は、氏名や住所などを入力して申請すればすぐにAWSからメールが届いて認証完了で簡単。Whoisの代行もしてくれるので個人でも安心して購入できる。

AWS Transit Gateway

VPC、AWSアカウント、オンプレミスネットワークを単一のゲートウェイに接続できる。

ネットワークが簡素化され、シンプルな構成にできる。

Amazon VPC

AWS上にプライベートネットワーク空間を提供するサービス。ハードウェアや配線を意識せずに簡単にプライベートネットワークを構築できる。

オンプレのデータセンターとも、AWS Direct Connectで接続できる。大事なリソースは、プライベートサブネット内に配置し、NATゲートウェイでアウトバウンドのアクセスのみ可能にして必要に応じてアクセスするようにする。

デフォルトで一つのリージョンに作成できるサブネットの上限数は200。

マルチAZ構成も簡単にできる。実際はAZごとにサブネットを作り、その中にFC2などを置く。

  • インターネットゲートウェイ:VPCとインターネットを繋げるもの
  • NATゲートウェイ:プライベートIPアドレスをパブリックIPアドレスを変換する機能を持つ
  • ENI:VPC内部のIPアドレスを持つ仮想的なコンポーネント。オンプレでいうNICのこと。例えばEC2インスタンスにアタッチすることでネット接続できるようになる
  • EIP:固定化されたパブリックIPアドレスを割り当てるコンポーネント。Webサーバなどにアタッチして利用する。アタッチしているインスタンスが停止している間に課金されるので、止めたらすぐ解放すると良い
  • VGW
  • VPCエンドポイント:インターネットゲートウェイを経由せずに、VPC内からVPC外にあるサービスと接続する場合に間に噛ませる
  • セキュリティグループ:インスタンス単位の通信制御に利用される仮想ファイアウォール。ホワイトリスト方式。行き通信を許可すれば戻り通信は自動で許可。ステートフルな制御が可能
  • ネットワークACL:サブネット単位の通信制御に利用される仮想ファイアウォール。ブラックリスト方式。行き・戻り通信で明示的な通信許可が必要。ステートレス
  • VPCピアリング:異なるVPC同士を接続するサービス
  • VPCフローログ:CloudWatch LogsとS3に発行できる。トラシューなどに使える
  • 予約IPアドレス:CIDRブロックの最初の4つのIPアドレス、最後のIPアドレス
  • VPC Reachablity Analyzer
  • AWS PrivateLink:セキュリティ対策に使える
  • Gateway Load Balancerエンドポイント
  • AWS PrivateLink for Amazon S3

AWS VPN

オンプレミスのネットワークとリモートワーカーをクラウドに接続する。

  • AWS Client VPN:フルマネージド型で伸縮自在なVPNサービス
  • AWS Site-to-Site VPN:データセンターまたは支社とAWSクラウドリソース間の安全な接続を作成

セキュリティ、アイデンティティ、コンプライアンス

AWS Certificate Manager (ACM)

SSL/TLS証明書を管理するためのサービス。例えば、独自ドメインで自作アプリにアクセスさせたい場合などに出番となる。

DNSレコードで証明書をAWSに検証してもらう。

証明書は通常なら1年とかで期限が切れてしまうが、ACMの場合は自動で更新してくれる。

ACMで証明書が発行されるリージョンは、スタックを作成したリージョンになる点に注意。バージニアに証明書を作りたい場合はバージニアでスタックを作成する。

Route53管理のドメインを設定した証明書を発行した場合は、自動的にDNSレコードが作成されて検証済みになるので楽。

Amazon Detective

セキュリティに関する検出結果や疑わしいアクティビティの根本原因を分析、調査、および迅速に特定できる。

ログデータを自動的に収集し、機械学習、統計分析、グラフ理論を使用して分析。

AWS Directory Service

フルマネージドのMS ADサービス。

AWS Firewall Manager

アカウント全体のファイアウォールルールを一元的に構成および管理できる。Organization内のアカウントをまたぐことも可能。

Amazon GuardDuty

マネージド型脅威検出サービス。ログを自動的に収集し、機械学習などで怪しい動きを検知し、継続的に分析する。調査結果には推奨される修復手順も記載される。

PCI DSSの対応としても、「侵入検知要件」達成のために用いることが可能。

デフォルトが無効なので、せめて本番環境では有効化しておくのがおすすめ。

AWS Identity and Access Management (IAM)

ユーザーとユーザー権限を集中管理でき、MicrosoftのADとも統合できる。

最小権限の原則が大事。

  • IAMユーザー:ログインと特定の権限を付与
  • IAMグループ:グループ内のユーザーに対して特定の権限を付与(人間に対してはこれがベストプラクティス)
    • 基本的にはユーザーよりこれを使う
  • IAMロール:特定のユーザーやAWSサービスに対し権限を委任(リソース同士の認証・認可はこれがベストプラクティス)
    • 一時的なセキュリティ認証情報を取得するときに使用
    • STSで一時的にトークンを払い出される
  • IAMポリシー:どのリソースにどの操作を許可するか権限を定義
    • これを作成して上の3つにアタッチする
  • IAM Policy Simulator

TIP

IAMのベストプラクティスは以下。

  • ルートアカウントのまま作業しない
  • IAMユーザーを共有しない
  • 認証情報を定期的にローテーションする
  • 不要な認証情報は削除する
  • MFAを使用する

AWS Identity and Access Management Access Analyzer

必要以上の権限が付与されていないかを確認可能。

外部アクセスできるリソースが一覧化されたり、未使用リソースが一覧化されたりする。

Amazon Inspector

自動的にアプリケーションを評価し、脆弱性やベストプラクティスからの逸脱がないかを確認。

PCI DSS 3.0のアセスメントのために用いることも可能。

AWS Key Management Service (AWS KMS)

暗号化キーの管理サービス。KMSキーは、AWSのサービスやアプリケーションで使用されるデータの暗号化やデジタル署名に使用される。

AWS Secrets Manager

SSMのParameter Storeとの違いは、有料な代わりにローテーション機能があるという点。

AWS Security Hub

AWSのセキュリティチェックの自動化とセキュリティアラートの一元化。セキュリティのベストプラクティスのチェックを行い、アラートを集約し、自動集約を可能にする。

AWS Shield

マネージド型の分散サービス妨害(DDoS)に対する保護サービス。AWSで実行されているウェブアプリケーションを保護。

StandardとAdvancedの二つのレベルがあり、後者は有料。

AWS WAF

マネージド型のウェブアプリケーションファイアウォールサービス。アプリの可用性低下、セキュリティの侵害、リソースの過剰消費などのウェブの脆弱性から保護。

データの中身をアプリケーションレベルで解析可能で、ISMSやPCI DSSへの準拠へも寄与できる。

基本利用料は無料だが、WAF定義によって課金が発生する。

ストレージ

AWS Backup

AWSの各種サービスを横断的に、バックアップの集中管理および自動化が可能。

  • バックアップボールト
  • バックアッププラン

Amazon Elastic Block Store (Amazon EBS)

EC2のインスタンスから利用するブロックレベルのストレージ。外付けディスクみたいなもんで、EC2インスタンスと同じアベイラベリティゾーンにアタッチして使用。

永続性があるので、長期的に持続するアクセスを提供するのに使う。スナップショットも対応。

基本的には汎用SSDを選ぶ。性能要件を満たさなければならないときはプロビジョンドIOPS。でもデータのIOPSごとに課金が発生。

ボリュームの作成時に暗号化の設定が可能。既存のボリュームを暗号化ボリュームに変更するには作業が必要で面倒。

  • ボリュームタイプ
    • 汎用SSD:コスト低い
    • プロビジョンドIOPS SSD:最もパフォーマンスが高い代わりにIOPS数課金
    • スループット最適化HDD:高いスループットかつ安価
    • コールドHDD:低スループットかつ安価
    • マグネティック:旧世代

Amazon Elastic File System (Amazon EFS)

フルマネージドサービス。スケーラブルなファイルストレージ。自動的に容量を拡張できる。共有ストレージなので、複数インスタンスからアクセス可能。

  • 汎用モード:レイテンシー重視
  • 最大I/Oモード:スループット重視

Amazon FSx

数回クリックするだけで、機能が豊富でパフォーマンスの高いファイルシステムを起動、実行可能。

信頼性、セキュリティ、スケーラビリティ、幅広い機能を備え、さまざまなワークロードをサポート。

NetApp ONTAP、OpenZFS、ファイルサーバー、Lustreの4つのファイルシステムから選択可能。

for Windowsは、WindowsのSMBプロトコルに対応している。

Amazon S3

高耐久・大容量のオブジェクトストレージサービス。最大99.999999999%の耐久性と99.99%の可用性。S3のデータは「強い一貫性」が保証されている。

アクセスコントロールの選択肢としては、オブジェクトACL、バケットACL、バケットポリシー、IAMポリシーがある。

  • バケット
  • オブジェクト:ファイルとメタデータを合わせた概念
  • Design for Failure:障害が発生してもサービスが継続できるようなシステム設計
  • MFA Delete:S3の削除時に、ワンタイムパスワードを求めて誤削除防止
  • 署名付きURL:オブジェクトへの一時的なアクセスを許可
  • バージョニング
  • S3オブジェクトロック(ボールトロック)
  • アクセスアナライザー
  • CORS
  • パブリックアクセスブロック
  • S3クロスリージョンレプリケーション
  • S3マルチパートアップロード
  • ストレージクラス
    • 標準:耐久性が高い
    • 標準ー低頻度アクセス:耐久性が高く、安いけど、データ読み出し容量に対しても課金される
    • Glacier:耐久性が高く、最も安価だけど、データ取り出しに3-5時間
    • 1ゾーンー低頻度アクセス:耐久性が低い代わりに安い
    • Intelligent-Tiering:オブジェクトへのアクセス頻度に応じてコスト最適に自動的使い分け
  • データの暗号化
    • SSE-S3:簡単
    • SSE-KMS:鍵をKMSに一元化できるのがメリット
    • SSE-C:鍵を自分で管理できるのがメリット
    • CSE:クライアント側で暗号化してから送信。各言語のSDKから実行可能

Amazon S3 Glacier

氷河の名前を冠したデータの長期保存向けのサービス。S3の5分の1のコストですむ。

あまり使わないファイルを入れておく。

S3にファイルが復元された時、イベントでメールで通知を送信することができる。

AWS Storage Gateway

オンプレミスアプリケーションに、事実上無制限のクラウドストレージへのアクセスを提供する。