はじめに
AWSクラウドプラクティショナー資格を取りたいと、1月からちょっとずつ勉強を始めました。
今回は、『AWS認定資格試験テキスト AWS認定クラウドプラクティショナー』で勉強した内容について、要点を箇条書きでまとめております。
AWS資格試験の参考にしていただければと思います。
参考書籍
※ 『AWS認定資格試験テキスト AWS認定クラウドプラクティショナー』
本記事は、本書の第2章から第10章に相当
項目
- AWSクラウドの概念
- AWSのセキュリティ
- AWSのテクノロジー
- AWSのコンピューティングサービス
- ストレージサービス
- ネットワークサービス
- データベースサービス
- 管理サービス
- 請求と料金
1. AWSクラウドの概念
・クラウドとは、インターネット経由でコンピューティング、データベース、ストレージ、アプリケーションなどのITリソースをオンデマンドを利用できるサーバレスの総称
・オンプレミスとは、サーバー、ネットワーク、ソフトウェアなどの設備を自前で用意し運用するシステム
・AWSクラウドコンピューティングには、「従量課金性」「スケールによるコスト最適化」「キャパシティ予測が不要」「速度と俊敏性の向上」「データセンターの運用と保守が不要」「数分でデプロイ」といった6つのメリットがある
・AWSを生かしたシステム構築では、Design for Failure(故障に備えた設計)、疎結合、弾力性、並列化、データの保管場所に留意する
・Well-Architectedフレームワークとは、信頼性、セキュリティ、効率、コスト効果が高いシステムを設計しクラウドで運用するための、アーキテクチャのベストプラクティス
2. AWSのセキュリティ
・AWSクラウド本体のセキュリティ部分を担当し、ユーザーはクラウド内のセキュリティを担当する(=責任共有モデル)
・Amazon EC2やAmazon VPCなど、IaaSのカテゴリーに分類されるAWS製品は、ユーザーが全てを管理するため、ユーザーは、必要なセキュリティ設定と管理タスクを全て実行する必要がある
・AWSは、ユーザーがクラウドにおけるセキュリティ対策を行う上で便利なツールやサービスを提供する
・AWSセキュリティには、データの保護、コンプライアンス要件への準拠、コスト削減、迅速なスケーリングという4つの利点がある
・IAMとは、ユーザーのAWSクラウドリソースへのアクセス管理サービス。IAMでIAMユーザーやIAMグループを作成し、適切なアクセス権限を割り当てる
・セキュリティグループは、1つ以上のインスタンスのトラフィックを制御する仮想ファイアウォール
・AWS Shieldは、マネージド型のDDoS攻撃に対する保護サービス
・AWS WAFは、アプリケーションの可用性低下、セキュリティの侵害、リソースの過剰消費などの一般的なWebの脆弱性からWebアプリケーションを保護するファイアウォール
・Amazon Inspectorは、脆弱性診断を自動で行うことができるサービス
3. AWSのテクノロジー
・AWSのサービスはカテゴリーに分類されている。その分類は、マネジメントコンソールで確認できる
・AWSのグローバルインフラストラクチャは、リージョン、アベイラビリティゾーン、エッジロケーションから構成される
・リージョンはシステム要件に応じて柔軟に選択できる。これにより、世界中にシステムを容易にデプロイできる
・リージョンには、アベイラビリティゾーンが二つ以上あり、アベイラビリティゾーンには複数のデータセンターがある
・エッジロケーションは、リージョンとは違う場所に、全世界で200カ所以上ある
・エッジロケーションでは、Amazon Route53が利用され、これによって低レイテンシーなDNSクエリが実現される
・エッジロケーションでは、Amazon CloudFrontが利用され、これによってコンテンツの低レイテンシーな配信が実現される
4. AWSのコンピューティングサービス
●EC2
・必要な時に必要なだけEC2インスタンスを使用できる
・必要なEC2インスタンスの数や性能を予測する必要はない
・運用を開始した後に柔軟に性能を変更できる
・使ったぶんにだけ時間単位/秒単位の料金が発生する
・アウト通信に転送料金が発生する
・数分でEC2を世界中で起動できる
・AMIから同じ構成をEC2インスタンスを何台でも起動できる
・EC2インスタンスへトラフィックはセキュリティグループのインバウンド(受信)で制御する
・オペレーティングシステムの管理者はキーペアで安全にログインし、root権限、Administrator権限を持つ
・ユースケースに応じて料金オプションを使い分けることでコスト効率が向上する
●ELB
・EC2インスタンスの可用性を高めるために、ELBを使用することができる
・HTTP/HTTPSではApplication Load Balancerを使い、それ以外のTCPではNetwork Load Balancerを使う
・ELBには、正常なインスタンスのみにトラフィックを送るためにヘルスチェック機能がある
・ELBはインターネット向けにも内部向けに対応している
・インターネット向けだけではなく、内部にもELBをはさむことによって、システムの可用性を高めることができる
・ELB自体が高可用性のマネージドサービスなので単一障害点とはならない
・複数のアベイラビリティゾーンに負荷分散を実行できるのでリソースの負荷が均等になる
●Auto Scaling
・Auto ScalingによってEC2インスタンスを必要な時に自動で増減できる
・Auto Scalingのメリットは、高可用性、耐障害性、コスト効率化
・垂直スケーリングよりも水平スケーリングの方がスケーラビリティを確保しやすい
・Auto Scalingでは起動設定、Auto Scalingグループ、スケーリングポリシーを設定する
・EC2のユーザーデータを使うことでコマンドを自動実行し、デプロイ処理を自動化することができる
・EC2の情報(IPアドレスやインスタンスID)はメタデータから取得できる
・ELB、CloudWatch、Auto Scalingの3つサービスで、自動的にスケーラブルなアプリケーションを構築できる
●Lambda
・サーバー構築や環境の準備をすることなく、すぐに開発を始められる
・サーバーの運用から解放され、開発に注力できる
・Lambdaを使うために新しい言語の勉強は不要。すぐに始められる
・メモリを割り当てることで他のリソースの性能も割り当てられる
・リクエストに応じて水平的にスケーリングして並行で関数が実行される
・Auto Scalingを設定する必要がない
・実行されている時間に対してミリ秒単位の無駄のない課金がなされる
・AWSサービスの処理を簡単に自動化できる
・AWSサービスからのトリガーを使用することで、イベントからLambdaを実行できる
5. ストレージサービス
●EBS
・必要な時に必要な量を利用できる
・アベイラビリティゾーン内で自動的にレプリケートされる
・使い始めた後にオンラインでボリュームタイプを変更できる
・使い始めた後にオンラインでストレージ容量を増やすことができる
・スナップショットはS3の機能を使って保存される(高い耐久性)
・EBSの暗号化に対して追加の操作は必要ない
・EBSのデータは永続的、インスタンスストアは一時的
●S3の特徴
・S3のオブジェクト容量は無制限
・ストレージ容量の確保調達を気にすることなく開発に専念できる
・S3の耐久性はイレブンナイン(99.999999999%)
・冗長化やバックアップを意識することなく開発に専念できる
・S3は世界中のどこからでもアクセスできる
●S3のセキュリティ
・S3のバケット、オブジェクトはデフォルトではプライベート
・アクセスコントロールリストで簡単にアクセス権を設定できる
・パケットポリシーでより詳細にアクセス権を設定できる
・EC2などのAWSリソースにS3へのアクセス権を設定する際はIAMロールを使用する
・HTTPSでアクセスできる
・保存データの暗号化は複数の方法から選択できる
●S3の料金
・ストレージ料金はストレージクラスによりコスト効率を高めることができる
・ライフサイクルポリシーによりストレージクラスの変更を自動化できる
・リージョンの外へのアウト通信のみデータ転送料金が発生できる
6. ネットワークサービス
●VPC
・VPCは、隔離されたプライベートなネットワーク構成をお客様がコントロールできるサービス
・VPCは、リージョンを選択して作成する
・CIDRでVPCのプライベートIPアドレスの範囲を定義
●サブネット
・サブネットはアベイラビリティゾーンを選択して作成する
・CIDRでサブネットのプライベートIPアドレスの範囲を定義
・サブネットは役割で分割する
・外部インターネットに接続できるのがパブリックサブネット
・外部インターネットに接続せず、外部アクセスからのリソースを保護できるのがプライベートサブネット
●インターネットゲートウェイ
・インターネットゲートウェイはVPCとパブリックインターネットを接続する
・インターネットゲートウェイ自体が高可用性と冗長性を持っている
●ルートテーブル
・ルートテーブルはサブネットと関連づける
・サブネット内のリソースがどこに接続できるかを定義する
●セキュリティグループ
・セキュリティグループは、インスタンスに対してのトラフィックを制御する仮想ファイアウォール
・許可するインバウンドのポートと送信元を設定するホワイトリスト
・送信元には、CIDRが他のセキュリティグループIDを指定できる
●ネットワークACL
・ネットワークACLは、サブネットに対してのトラフィックを制御する仮想ファイアウォール
・拒否するインバウンドのポートと送信元を設定するブラックリスト
・必要がなければ設定しない追加のセキュリティレイヤーである
●外部からのEC2インスタンスにアクセスするには
・インターネットゲートウェイをVPCにアタッチする
・インターネットゲートウェイへの経路を持つルートテーブルをサブネットに関連づける
・EC2インスタンスをそのサブネット内で起動できる
・EC2インスタンスにパブリックIPアドレスを有効にする(または、EC2のパブリックIPアドレスを固定するElasitic IPをアタッチする)
●ハイブリット環境構成
・VPCと既存のオンプレミス環境をVPN接続できる
・VPCと既存のオンプレミス環境をダイレクトコネクトを使って専用線で接続できる
●ハイブリット環境構成
・ CloudFrontはエッジロケーションを使用するCDNサービス
・エッジロケーションにキャッシュを持つことで、低レイテンシー配信を実現
・世界中のエッジロケーションが利用できるので、ユーザーへは最もレイテンシーの低いエッジロケーションから配信される
・通信を保護するために証明書を設定できる
・外部の攻撃からも守ることができる
●ハイブリット環境構成
・Route 53はエッジロケーションで使用されるDNSサービス
・複数のレコードを設定し、用途に応じて最適なルーティングを選択できる
・複数のレコードを設定し、システムの高可用性を世界中のリージョンを使用して実現できる
・Zone Apexに対しても柔軟な設定ができ、高可用性を実現できる
7. データベースサービス
●RDS
・オンプレミスで使われているデータベースエンジンをそのまま簡単に使うことができる
・RDSを使うことで、エンジニアはインフラ管理から解放され、本来やるべき開発に注力できる
・OS、データベースエンジンのメンテナンスをAWSに任せることができる
・データベースのバックアップを管理しなくて良い
・バックアップ期間中の任意の特定時間のインスタンスを起動できる
・マルチAZ配置を使用することで、データベースの高可用性を実現できる
・レプリケーション、フェイルオーバーはRDSの機能によって自動的に行われる
・Amazon AuroraはMySQL/PostgreSQL互換の、クラウドに最適化されたリレーショナルデータベース
・DMSによりオンプレミスからAWSへの継続的なデータ移行を行い、システムのダウンタイムを最小限にできる
・中規模程度のアクセス量で、整合性や複雑なクエリを必要とする場合は、RDSを選択する
●DynamoDB
・DynamoDBはフルマネージドなデータベースサービス
・リージョンを選択して使うことができる
・データの特徴やシステム要件に応じて適したデータベースサービスを選択する
・大規模なアクセス量で、単純な自由度の高いデータモデルを扱う場合はDynamoDBを選択する
8. 管理サービス
●CloudWatch
・AWSのサービスを使い始めると、サービスにより起動されたリソースのメトリクスがCloudWatchに自動的に収集される
・標準メトリクスは、使用するサービスによって取得される情報が異なる
・EC2のカスタムメトリクスはCloudWatchエージェントで取得できる
・EC2のCloudWatch LogsはCloudWatchエージェントで取得できる
・CloudWatch LogsによりEC2をよりステートレスにできる
・CloudWatch Logsは文字列のフィルタリング結果をメトリクスとして扱える
・アラームを設定することにより、モニタリング結果に基づく運用を自動化できる
9. 請求と料金
●AWS料金モデル
・消費モデルはエンジニアだけではなく組織全体で受け入れる
・課金体系はサービスによって異なる
・ユーザーは最適な料金モデルを選択できる
●請求ダッシュボード
・請求書では、月の途中でも課金の状況を確認できる
・コスト配分タグによってROIの訴求分析ができる
・請求アラームによって使いすぎを抑止するための通知ができる
●マルチアカウント運用
・Organizationsで複数のアカウントを階層管理できる
・Organizationsで複数のアカウントの一括請求ができる
●AWSのサポートプラン
・エスカレーションパスを用意することは重要
・4つのプランがああり、サポート料金によって段階がある
●その他の請求サポートツール
・AWS Pricing Calculatorで、請求見込額を事前に計算しておくことができる
・TCO計算ツールはAWSとオンプレミスのコストを比較するツール