こんにちは、しらすです。
先日Amazonが提供するクラウドサービス「AWS」の入門資格であるAWS Cloud Practitionerを受けました。これまでクラウドというものが全然知識がなかったのですが、クラウド全盛期の今、そろそろ勉強しなければと思い、はじめの一歩として入門資格にトライしようと思った次第です。
本ブログでは実際にテストで問われる基本的な知識について学習した内容を浅く広く記載しておきたいと思います。
ちなみに、アソシエイトクラスの資格になると急激に難易度が上がるようですが、基礎コースは非クラウドエンジニアでもトライできるレベルとのこと。迷っている方がいればまずはこちらの資格を目指すのをオススメします。
AWSのサービス、ツール、サポートやセキュリティにおける超基本的な一覧になります。ほとんど自分のメモ程度でキーワードだけの切り取りなので、とりあえずさっと全体の雰囲気を眺めてみた後、Amazon公式の説明動画を見てみることをおすすめします。
クラウドの概要
なぜクラウド?
- 資本的支出を変動支出に
- 圧倒的なスケールメリット
- キャパシティーの予測が不要
- スピードと俊敏性が向上
- データセンターの運用保守費用が不要
- 分単位で世界中にデプロイできる
クラウド設計のベストプラクティス
- スケーラビリティを確保できる(できるように設計しておく)
- 環境を自動化
- 使い捨て可能なリソースを使用する
- コンポーネントを疎結合にする
- サーバーではなくサービスで設計する
- 適切なデータベースソリューションを選択する
- 単一障害点を排除する
- コストを最適化する
- キャッシュを使用する
- 全てのレイヤーでセキュリティを確保する
- 増加するデータの管理
コストインパクトとしては、マネージド型サービスに置き換えることで安くなる。
総所有コスト(TCO)/TCO計算ツール
TCOとは、購入から廃棄までに必要な時間と支出の総合計。サーバーを所有することでかかる全てのランニングコストの合計。TCO計算ツールはAWSが提供しているオンプレミスとAWS利用時のコスト計算ツール。
AWS Well-Architected Framework
AWSの利用におけるベストプラクティス集。無償で利用できるツール。
5つの柱を中心に設計の原則、質問項目で構成される。5つの柱は以下。
- 運用上の優秀性
- セキュリティ
- 信頼性
- パフォーマンス効率
- コスト最適化
こちらからホワイトペーパーにアクセスできる。
一般設計原則
- 必要キャパシティの推測が不要
- 本稼働スケールでシステムをテストする
- 自動化によってアーキテクチャでの実験を容易にする
- 発展するアーキテクチャを可能に
- データに基づいてアーキテクチャを進化させる
- ゲームデーを利用して改善する
ゲームデーとは避難訓練と訳される。問題をわざと起こす日。実例はNETFLIXのChaos Monkeyなどが有名。
リージョン
2つ以上のAZで構成された地域。
Availability Zone
独立した一つ以上のデータセンターが冗長化された独立したメトロファイバーで接続された仮想データセンター群。それぞれのデータセンターは100km以内に存在する。
マルチAZ構成でシステムを構築することでシステムの可用性を確保できる。
エッジロケーション
AZより近い場所に存在する場所。
テクノロジー
コンピュート
Amazon EC2(Elastic Compute Cloud)
仮想サーバ。1秒ごとの従量課金。構築時はOS/メモリ/CPUを選択して構築する。
CPUのタイプはインスタンスファミリーからスペックを選択する。
Amazon EC2 Auto Scaling
EC2インスタンスを増減する機能。ルールを決めてあげる必要がある。
例) CPU使用率が80%が5分越えたら2台超えたら増やす、50%を15分継続したら1台減らす
AWS Lambda
サーバーレスサービス。AzureのFunctionと同じ。イベントドリブンでプログラムを直接起動できるサービス。
AWS Config
リソースの設定を評価、監査、審査できるサービス
ストレージ
Amazon EBS(Elastic Block Store)
永続的な記憶領域、SSDやHDDを選択可能。EC2にマウント可能なストレージ。最大16TB、64,000IOPSまでの性能確保。スナップショット機能でS3に差分バックアップ可能。
インスタンスストア
一次的な記憶領域。ニーズに合わせてスケール可能。消える可能性あり。パソコンで言うとメモリに近い。高速に読み取れるがシャットダウンされると消える。
S3 (Simple Storage Service)
クラウドサーバ。データの保管場所としての機能。容量無制限で高い耐久性(99.999999999%)かつ安い。3か所以上で自動複製される。
スタンダード、スタンダード-IA、One Zone-IA、Glacier、Deep Archiveの順で格納コストが安くなり、アクセスにかかるコストが高くなる。アクセス頻度に応じて変更するサービスもある。
一般的には、ライフサイクルポリシーを決定してストレージを移動するのがコスト的に一番メリットがある。アクセスが継続的にない場合、徐々に格納コスト低/アクセスコスト高のデータに移動させる。
AWS Snowball
ペタバイト規模のデータ移行で利用する。
ユーザーサイトにHDDが詰まった箱が送られてくる。
AWS Snowmobile
エクサバイト規模のデータ移行で利用する。
トラック数台で乗り付ける。
AWS Storage Gateway
オンプレミスから実質無制限のクラウドストレージへのアクセスを提供するハイブリッドクラウドストレージサービス。Storage Gateway を使用して、ストレージ管理を簡素化し、主要なハイブリットクラウドストレージのユースケースでコストを削減できる
ネットワーク
Elastic Load Balancing
リリースの負荷分散を実施する機能。自動的にキャパシティを増減し、複数のAZにまたがって高レベルの耐障害性を確保できる。厳密には負荷分散する対象に応じて以下の3つのELBが存在する。
- Application Load Balancer(柔軟なアプリケーション管理が可能)
- Network Load Balancer(卓越したパフォーマンスが可能)
- Classic Load Balancer(旧型のロードバランサーのため、新しい案件では使わない)
※Classic Load Balancerは旧型のロードバランサーのため、新しい案件では使わない
Amazon VPC (Virtual Private Cloud)
プライベートネットワークを提供する。複数のAZをまたいで構築することができる。AZ内にサブネットを作成することができる。
VPN(Virtual Private Network)
顧客のリモートネットワークからVPCに接続する。接続方法としてVPCも提供している。
AWS Direct Connect
VPNでネットワークが遅い場合、こちらを利用。専用プライベートネットワークを接続し、専用の帯域を契約して利用する。ダイレクトコネクトパートナーと契約してもらうことで、AWS Direct Connectロケーションを経由し、VPCに接続する。
Amazon CloudFront
エッジロケーションにおけるキャッシュサービス。CDN(Contents Delivery Network)のマネージドサービス。エッジロケーションにコンテンツをキャッシュし、配信する。元サーバの負荷軽減、レスポンス向上が可能。
Amazon Route 53
フルマネージドなDNSのサービス。エッジロケーションで動作。DNSフェイルオーバーにも対応しており、あるリージョンのDNSが壊れても他リージョンにつなぎなおして対応できる。
データベース
Amazon RDS(Relational Database Service)
リレーショナルデータベースを提供する基本的なAWSサービス。MySQL, Oracle, SWL Server, PostgreSQL, MariaDB, Auroraに対応。
バックアップ、スナップショット、バッチ更新に対応。自動的にフェイルオーバーに対応可能(マルチAZ配置)。リードレプリカ(読み取り専用のデータベースを用意する)も5台まで増やすことができる。
Amazon Aurora
3つのAZにまたがってコピーされる。128TBまで自動でスケール可能、リードレプリカも15台まで設定可能。
Amazon DynamoDB
キーバリューデータベースを基本とするデータベース。単純データを大量/高速にさばける、スケーリングに非常に強い。サーバレスのデータベースサービス。
もともとAmazonショッピングサイトで利用が始まったもの。
Amazon Redshift
マネージドのデータウェアハウス。大量データを一気に処理する。
160GBから最大2PBまで拡張可能。従来のデータウェアハウスの10分の1
Amazon Data Migration Sevice(DMS)
データベース移行に特化したサービス。データベースの中身を一気にフルロード可能。5秒ごとにレプリケーションを送付し続ける。異なるエンジン間のデータ移行も対応可能。
ElastiCache
インメモリデータストアを実現できる。リアルタイムアプリケーションの構築に寄与する。
管理
Amazon CloudWatch
AWSの各種リソースを監視するサービス。アラームをつけることができるので、いろんなサービスと接続可能。
標準メトリクスとカスタムメトリクスがある。OSが管理しているメモリの使用率などはカスタムメトリクスを利用する。CloudWatch Agentをインストール必要。
AWS Trusted Advisor
AWS環境を分析して、ベストプラクティスを提案してくれるサービス。以下5つを提案してくれる。
- コスト最適化
- パフォーマンス
- セキュリティ
- フォールトトレランス
- サービスの制限
AWSのサポートプランによってみられるものが違う。
AWS CloudFormation
JSONかYAMLで定義し、AWSリソースをテンプレートとしてインフラを簡易にデプロイできるサービス。Infrastracture as a Codeともいわれる。
各種サポート
公式サポートプラン
デベロッパー
Webからかつ平日のみ対応、Trusted Advisorの4項目のみ見れる
コストはAWS利用額の3%(最低 $29)
ビジネス
電話での対応も可能。24時間365日対応。Trusted Advisorは全項目参照可能
コストはAWS利用額の10%(最低 $100)
エンタープライズ
ビジネスにプラスして、緊急時は15分以内、テクニカルアカウントマネージャーが対応してくれる。
コストはAWS利用額の10%(最低$15,000)
AWS プロフェッショナルサービス
AWSの公式サポートチーム。
AWSコンサルティングパートナー
AWSと提携し、AWSの導入をサポートしてくれる企業の総称。AWSパートナーネットワーク(APN)に登録している企業のこと。
操作方法
マネジメントコンソール
ブラウザからアクセス
CLI
コマンドからアクセス。パスワードではなくシークレットアクセスキーでアクセス
SDK
プログラムからアクセス。パスワードではなくシークレットアクセスキーでアクセス
セキュリティ
責任共有モデル
AWS側、お客さん側の双方で責任範囲を明確に分けるもの。基本的にAWS側ではハードウェア等のインフラ設備の責任を持ち、お客さん側ではデータやアプリ、ファイヤフォールの設定の責任を持つ。
AWS Artifact(AWS側の責任範囲のレポート参照)
AWSが準拠しているコンプライアンスレポートの一覧をダウンロードできる。カスタマアカウントの準拠地域を変更することもできる。
IAM(Identify and Access Management)
アクセス制御を実施。IAMプリンシパルとしては以下3つがある
- ルートユーザー(全権保有、基本的には使わない。AWSのアカウント情報の変更時等で利用。MFAは必ず有効化して利用する。プログラムのアクセスキーは絶対に作らない)
- IAMユーザ(基本的にこれを利用。グループにIAMポリシーを設定して権限管理が容易に可能)
- IAMロール(一時的に権限を付与するために利用。リソースにも適用できる)
ID管理のベストプラクティス
- ルートユーザのアクセスキーをロックする(アクセスキーでのアクセスを受け付けないよう設定)
- 個々のIAMユーザを作成する
- IAMユーザへのアクセス許可はグループを使用して割り当てる
- 最小権限を付与する
- MFAを有効化すうr
- IAMロールを使用したアクセス許可の委任
- 認証情報を定期的にローテーションする
- 不要な認証情報を削除
- AWSアカウントのアクティビティの監視
CloudTrail
操作ログを取得できる
AWS WAF
TCPレイヤのファイヤウォール
AWS Shield
DDoS攻撃対策。Standardは無償。Advancedは有償だが、DDoSでのコスト増分は請求しないコストプロテクションもある。
AWS GuardDuty
機械学習を用いた脅威検知サービス。3段階でリスクを可視化してくれるサービス。CloudTrail、VPCフローログ、DNSログを分析。
コスト
EC2の購入オプション
- オンデマンド
- リザーブドインスタンス(予約型)
- スポットインスタンス(入札型)
- 専有ホスト
スポットインスタンスでは、空いているスポットごとにダイナミックに値段がついている。使っている側が強制的に終了されるので冗長化している場合などに使う。
Cost Explorer
過去13か月分のデータを可視化し、レポート作成できる。
また、今後3か月のコスト予想も可能。
AWS Budgets
アラームを発信する
Organizations
複数のAWSアカウントのコストをまとめることができる。ボリュームディスカウントもあるため、アカウントをまとめることでコストダウンにもつなげられる。
参考
自分で勉強できるAWSの学習サイト
ハンズオンで学べる学習サイト
コメント