前置き
未経験エンジニアとしてAWSソリューションアーキテクトの資格取得を目指し勉強しているのですが、詰まったところをまとめウェブにある情報を用いて解説してみました
Amazon RDSにおいてセキュリティグループを使用する目的
特定のIPアドレスまたはEC2インスタンスからのアクセス制御セキュリティグループ
・インスタンス単位で設定するファイアウォール機能
オブジェクトの可用性の評価が最も低いS3ストレージ
S3 One-Zone-IAオブジェクトの耐久性の評価が最も低いS3ストレージ
S3 RRSAmazon EBSの価格に影響を与える要素
・データ容量(ボリューム) ・スナップショット ・アウトバウンドのデータ転送量Amazon EBSの価格を決定する要素は以下の3つ
・データ容量(ボリューム)
すべてのEBSボリュームタイプのボリュームストレージは、ストレージを解放するまでに、月毎にプロビジョニングするGBの量によって課金される
・アウトバウンドのデータ転送量
アプリケーションから転送されるデータ量に基づいて課金される
発信データ転送料金は階層化されている
・スナップショット
スナップショットストレージは、Amazon S3に保存するデータ容量に基づいている
また、EBSスナップショットのコピーは、リージョン間で転送されるデータ量に基づいて課金される
セキュリティグループとネットワークACLの違い
セキュリティグループ ・インスタンスレベルで設定する(インスタンス向け第1層ファイアウォール) ・通信の入り(VPCの場合は出も)の設定のために、許可ルールのみ設定することができる ・ステートフル:戻りの通信はセキュリティグループの設定に関わらず許可される ・該当のトラフィックを許可する前にすべての許可設定を評価する ・セキュリティグループは、インスタンスを起動するときのみ指定できる 言い換えれば、正しいセキュリティグループの設定でインスタンスを起動しなければいけない 正しいかどうかはインスタンスを起動する人や命令に依存する(VPCの場合は後からセキュリティグループを変更できる)ネットワークACL(アクセスコントロールリスト)
・サブネットレベルで設定する(サブネット向け第2層ファイアウォール)
・通信の入りと出の設定のために、許可ルールと拒否ルールを設定することができる
・ステートレス:戻りの通信はACLのルールに従いますので許可設定する必要がある
・該当のトラフィックを許可するとき、ルール番号順にACLのルールを処理する
言い換えれば、セキュリティの設定が正しいかどうかはインスタンスを起動する人や命令に依存しない
ネットワークACLは、セキュリティグループのバックアップ層として動作すると考えることができ、サブネット内で起動したすべてのインスタンスに対して自動的に適応される
動画やオーディオファイルをソース形式からスマホやPCなどのデバイスで再生する形式に変換するために使用できるAWSサービス
Amazon Elastic Transcoder クラウドのメディア変換サービス 高度なスケーラビリティ、使いやすさ、高い費用効率性を実現する設計で、開発者や企業は、メディアファイルをその元のソース形式からスマートフォン、タブレット、PCなどのデバイスで再生可能できる形式に変換できるオンプレミスのデータセンターからVPCに接続する方法
・Direct Connect ・AWS VPNAWS Direct Connectはオンプレミス環境ネットワークからAWSネットワークへの専用線ネットワーク接続の構築するクラウドサービスソリューション
AWS Direct Connectを使用すると、AWSとデータセンター、オフィス、またはコロケーション環境との間にプライベート接続を確立することができる
AWS Virtual Private Networkソリューションは、オンプレミスネットワーク、リモートオフィス、クライアントデバイス、およびAWSグローバルネットワーク間に安全な接続を確立する。
AWS VPNは、AWSサイト間VPNとAWS Client VPNで構成されている。これらを組み合わせることで、ネットワークトラフィックを保護する、高可用性かつ柔軟なマネージドクラウドVPNソリューションを提供する
エッジロケーションで提供されていない機能
WAFによるグローバルなフィルタリング処理エッジロケーションは主にCloudFrontによるコンテンツ配信やAPI GatewayによるAPIリクエスト処理の中継やRoute53でのDNS処理などが実行されている。
エッジロケーションではキャッシュを利用したり、グローバルなルーティングやリクエスト処理を実現することで、グローバルなアクセスを効率化するための機能を提供していることになる。
WAFによるグローバルなフィルタリング処理というものは実施されていない
EC2インスタンスのクラスターでコンテナー化されたアプリケーションを実行するAWSサービス
Amazon ECSAmazon ECSはDockerコンテナのオーケストレーションサービス
DockerにホストされたアプリケーションをAWSで簡単に実行、スケール、保護できる
Amazon ECSがコンテナーを作成する際に、コンピュートエンジンとして選択できるのはEC2起動モードとFargate起動モード
Fargateは起動できるコンピュートエンジンであり、EC2インスタンスとは異なるサーバレスタイプでクラスターを構成する際に利用する
AWS構築を支援するSIer企業は、AWSアーキテクチャを構築・運用するのに役たつソリューションを作成しました。この会社がソリューションをうまく展開できるようにサポートするAWSプログラム
APNコンサルティングパートナーAPNコンサルティングパートナはあらゆる規模の顧客に対し、AWS上でのワークロードとアプリケーションの設計、開発、構築、移行、および管理を支援するプロフェッショナルサービス企業
コンサルティングパートナーに該当するのは、システムインテグレーター(SI)、戦略的コンサルティング会社、代理店、マネージドサービスプロバイダ(MSP)、および付加価値再販業者(VAR)
APNコンサルティングパートナーになると、アプリケーションをAWSクラウド内にデプロイ、実行、管理するよう顧客をサポートするための幅広いリソースとトレーニングを利用できる
リザーブドインスタンスにおいて、割引時間単価によって支払が発生するオプション
・全額前払い ・一部前払い ・前払いなしスタンダートまたはコンバーティブルリザーブドインスタンスを購入する際は、3つの支払い方法から選択できる
・全額前払い
リザーブドインスタンスの期間の料金全額を一括で前払いする
この方法を選択すると、オンデマンドインスタンス料金と比較した割引額が最大になる
割引時間単価で計算したインスタンス料金を支払う
・一部前払い
少額を前払いして、利ザーブドインスタンス期間が終了するまでの間、割引時間単価で計算したインスタンス料金を支払う
・前払いなし
前払いの必要はなく、期間が終了するまでの間は時間単価が割引となる
AWSサービスには制限が設けられています。AWSのサービス制限に対して実施できる対応
・Trusted Advisorを利用してサービス制限をモニタリングすることができる ・サービス制限を超えられるようにAWSサポートに依頼できるサービス制限を把握することは、AWS管理の重要な要素
継続的なモニタリングにより、制限の増加を要求したり、制限に達する前にリソースをシャットダウンしたりできる
AWS Trusted Advisorのサービス制限ダッシュボードを使用して、制限状況をモニタリングすることができる
AWSは各アカウントのサービス制限を維持して、AWSリソースの可用性を保証し、新規顧客の請求リスクを最小限に抑えている。一部のサービス制限は、AWSを使用すると時間と共に自動的に引き上げられますが、多くは制限の引き上げをサポートに申請することが求められる。
サービス制限超過依頼は、サービス制限の増加を選択することによりAWSサポートに依頼することができる
ハイブリッドクラウドアーキテクチャの構築に使用できるサービス
・VPC ・AWS Directory Service ・AWS Storage Gatewayハイブリッドクラウド
プライベートクラウドを含めた異なるクラウドサービスのメリットを組み合わせて利用する方法
AWSでは、ストレージ、ネットワーク、セキュリティ、アプリケーションの展開、管理ツールなどの幅広いハイブリッド機能セットを提供し、複数のクラウドを簡単に統合できるようにしている。
VPCを使用して企業データセンターとVPCの間にハードウェアVPN接続を作成して、企業データセンターの拡張としてAWSクラウドを活用できる
AWS Directory Service for Microsoft Active Directoryは、ディレクトリ対応型ワークロードとAWSリソースがAWS内のマネージド型Active Directory(AD)を使用することを可能にする。
標準のAD管理ツールが使用でき、グループポリシーやSingle Sign–Onなど組み込みのAD機能を利用して、オンプレミス環境のADとのハイブリッドな認証を可能にする
AWS Storage Gatewayは、オンプレミスと実質無制限のクラウドストレージとを連携するハイブリッドクラウドストレージサービス
ユーザーはStorage Gatewayを使用して、オンプレミスストレージのバックアップにS3を構成するなどのハイブリッド構成を実現できる
AWSのリソースのタグ付戦略を検討する際に、どのような要素を検討する必要があるか
・リソースフィルタリングに必要な詳細なタグ設定 ・将来の変更の影響を考慮する ・リソースアクセス制御を配慮するAWSリソースのタグ付戦略を作成するときは、次のタグ付のベストプラクティスに基づいて検討する
・タグには常に標準化された大文字と小文字を区別する形式を使用し、全てのリソースタイプにわたって一貫して実装する。
・リソースアクセス制御、コスト追跡、自動化、および組織を管理する機能をサポートするタグディメンションを検討する。
・リソースタグの管理に役立つ自動化ツールを実装する。Resource Groups Tagging APIを使用すると、プログラムによるタグの制御が可能になり、タグとリソースの自動管理、検索、フィルタリングが簡単になる。
また、AWSリージョンごとに1つのAPIコールを使用して、サポートされている全てのサービスのタグデータのバックアップを簡素化する。
・少なすぎるタグではなく、多すぎるタグを使用することは誤り。
・ビジネス要件の変化に対応するためにタグを変更するのは簡単ですが、特にタグベースのアクセス制御、自動化、またはアップストリーム請求レポートに関連する将来の変更を考慮する
ユーザーが設定しなくても自動的にスケーリングされるAWSサービス
・S3 ・LambdaS3は自動でスケーリングされる完全マネージド型サービス
Amazon S3は、AWSデータセンターに配置された複数のサーバー間でデータを複製することにより、高可用性を実現しており、利用できるストレージ容量も無制限となっている
Lambdaは自動でスケーリングされる完全マネージド型サービス
初めて関数を呼び出すと、AWS Lambdaにより、関数のインスタンスが作成され、イベントを処理するためのハンドラーメソッドが実行される。関数はレスポンスを返す時に、アクティブなまま待機した上で追加のイベントを処理する。
最初のイベントの処理中に関数を再度呼び出すと、Lambdaは別のインスタンスを初期化し、関数は2つのイベントを同時に処理する。更にイベントが入ってくると、Lambdaは使用可能なインスタンスにそれらを送信し、必要に応じて新しいインスタンスを作成する。リクエストの数が減少すると、Lambdaは他の関数のスケーリングキャパシティーを解放するため、使用されていないインスタンスを停止する。
ネットワークを保護するためにAWSが提供する仕組み
・ファイアウォールの設置 ・データ暗号化AWSにはネットワークACLなどのネットワークへのトラフィックを制御するために使用できるビルトインファイアウォールが提供されている。
AWSでは、TLSや暗号化サービスを使用して転送中のデータを暗号化することにより、ネットワークを保護できる。
AWSの完全マネージド型サービスを使用している場合でも、ユーザー側で対応が必要となるセキュリティ設定
・EC2インスタンスへのSSL/TSLの設定 ・ELBへのSSL/TSLの設定 ・CloudfrontへのSSL/TSLの設定必要なセキュリティ対応は選択するサービスやデータの機密性によって異なる
ただし、AWSの完全マネージド型サービスを使用している場合に共通対応としては次のような対応がある
個々のユーザーアカウントと資格情報、データ送信用のSSL/TLS、ユーザーアクティビティログの確認
Well-Architected Frameworkの信頼性の原則の正しい内容
キャパシティの推測を止める信頼性の原則では、障害による中断・停止と障害復旧による影響を軽減するインフラストラクチャーを構成している
つまりフォールトトレラントを達成したダウンタイムを極力防ぐようなインフラストラクチャー構成を実現することが求められている。
具体的には以下の設計原則が求められる
・インフラストラクチャサービスの障害復旧の自動化など軽減設計
・復旧手順のテストによる検証
・需要変化に応じた水平方向へのスケーラビリティによる高可用性の確保
・キャパシティの推測を止める
・モニタリングと自動化を進める
HTTPプロトコルを使用するためにはWebアプリケーションにセキュリティ証明書を設定する必要がある SSLサーバー証明書を管理するには、どのAWSサービスを利用する必要があるか
・AWS ACM ・IAMAWS Certificate Manager(ACM)では、 ACM自体が提供するサーバー証明書又は外部プロバイダーから取得したサーバー証明書を管理することができる
ACMでサポートされていないリージョンでは、あなたはIAMを証明書マネージャーとして使用できる
IAMは全てのリージョンでのサーバー証明書のデプロイをサポートしているが、AWSで使用するには外部プロバイダーから証明書を取得する必要がある。Amazon Route53は、ドメイン名を登録して、エンドユーザーをWEBアプリケーションにルーティングするために使用する
Route53は、SSL証明書の作成について責任を負わない
クラウド導入時のロードマップ作成に役立つAWSプロフェッショナルサービスによって作成されたフレームワーク
・AWS CAFAWSプロフェッショナルサービスは、組織がクラウドを導入するための設計とプロセスをサポートするため、AWSクラウド導入フレームワーク(AWS CAF)を作成しました。
フレームワークで示されているガイダンスおよびベストプラクティスは、ITライフサイクル全体で、組織全体にわたるクラウドコンピューティングへの包括的なアプローチを構築するのに役立つ
Well-Architected Frameworkのパフォーマンス効率の原則の正しい内容
・先端技術の一般化を行うAWSのパフォーマンス効率の設計原則では、システム要件のリソース最適化によるインフラ効率化を実施する
以下の設計原則が求められる
・最新テクノロジーの標準化
複雑なタスクをクラウドベンダーに委託することによって、チームがより簡単に高度なテクノロジーを実装できるようにする。
ITチームに新しいテクノロジーのホストと実行について学んでもらうのではなく、テクノロジーをサービスとして消費することを検討する。例えば、NoSQLデータベース、メディアトランスコーディング、および機械学習は、全て特化された専門知識を必要とするテクノロジーです。
クラウドでは、これらのテクノロジーがチームによる消費が可能なサービスとなり、チームはリソースのプロビジョニングと管理ではなく、製品の開発に集中できるようになる。
・わずか数分でグローバル展開する
世界各地にある複数のAWSリージョンでのワークロードのデプロイメントは、最小限のコストで、お客様により低いレイテンシーとより良いエクスペリエンスを提供することを可能にする
・サーバーレスアーキテクチャを使用する
サーバレスアーキテクチャは、従来のコンピューティングアクティビティのために物理的なサーバーを実行して維持する必要性を取り除く。
例えば、サーバーレスストレージサービスは静的ウェブサイトとして機能させることができ(ウェブサイトサーバが不要になる)、イベントサービスはコードをホストできる。
これによって物理サーバーを管理する運用上の負担が取り除かれる。また、マネージドサービスはクラウド規模で運用されることから、トランザクションコストも削減することができる
・より頻繁に実験する
仮想敵で自動化できるリソースを使うことで、異なるタイプのインスタンス、ストレージ、設定を使用した比較テストを簡単に実施できる
・システムに対する精通の程度を考慮する
クラウドサービスの使用方法を理解し、常にワークロードの目標に最適なテクノロジーアプローチを使用する。
例えば、データベース、又はストレージのアプローチを選択するときはデータアクセスパターンを考慮する
EBSボリュームについての説明
・EBSボリュームは同じAZ内のインスタンスにのみアタッチできるAWS Client VPNとは
AWS Client VPNはユーザのクライアントPCからVPCへとVPNで接続する際に利用するサービス ユーザーのAWSやオンプレミスネットワークへの安全な接続を可能にする。 これは、オフィスのネットワークとVPCとを接続する際に利用するわけではないAWSのリージョンを選択するときに、考慮しなければならないこと
・データ主権 ・必要な機能の提供 ・サービスを提供する物理的距離Amazonクラウドコンピューティングリソースは、世界各地の多くの場所でホストされています。
これらのロケーションは、AWSリージョンとアベイラビリティーゾーンから構成されている。
各AWSリージョンは別個の地理的領域です。
各リージョンには、複数の独立したロケーションがあり、このロケーションをアベイラビリティゾーンという
AWSリージョン間でのリソースのレプリケーションは自動的に実行されないため、ユーザーが特に指定して行う必要がある。
サービスの設置先のリージョンを決める際に必要なポイントは以下の通り
・必要な機能が提供されている
・法律上又は社内規則の問題
・値段(ランニングコスト)
・物理的な距離 レイテンシー
・データ主権(データの所有権をこうしできるかなど)
1つのVPCの適用範囲
・リージョン内の全てのAZVPCはリージョン内の全てのAZに適用することができる
よって、同じリージョン内であれば、複数のAZにまたがって1つのVPCを適用させることが可能
Virtual Private Cloud(VPC)は、AWSクラウドの他の仮想ネットワークから論理的に切り離されている
VPC内には、Amazon EC2インスタンスなどのAWSリソースを起動できる
VPCを作成するときに、そのVPCに対して、IPv4アドレスの範囲をClassless Inter-Domain Routing(CIDR)ブロックの形式で指定する必要がある(例:10.0.0.0/16)
これはVPCのプライマリCIDRブロック
IAMユーザーに関連したアクセスキーとシークレットアクセスキーについて
・マネジメントコンソール画面で発行する ・1つのIAMユーザーに対して2つまで発行できるAWSのアクセスキーは、AWSマネジメントコンソールのIAMコンソール画面からIAMユーザのアクセスキーの作成、変更、削除が可能
AWSのアクセスキーは、ユーザーに対して2つまで作成可能
アクセスキーを2個作成ずみの場合は、それ以上新規にアクセスキーを作成できない
AWSのアクセスキーは、アクセスキーIDとシークレットアクセスキーの2つで構成される認証情報
これらの情報を使うことで、AWS CLIやAWS APIを利用することができるようになる
AWSの操作を自動化したい場合などに必須となってくる
エッジロケーションを使用するサービス
・S3 ・Lambda ・CloudFrontAmazon S3 Transfer Accelerationを使用すると、クライアントとS3バケットの間で、長距離にわたるファイル転送を高速、簡単、安全に行えるようになる
Transfer Accelerationでは、Amazon CloudFrontの世界中に分散したエッジロケーションを利用してデータ転送を実施する。
Lambda@Edgeは、Amazon CloudFrontの機能で、アプリケーションのユーザに近いロケーションでコードを実行する
Amazon CloudFrontはCDNサービスであり、エッジロケーションのネットワークを通じてコンテンツを配信する
多数のバイナリファイルを処理する単純なプロセスに最適なAWSサービスによる処理方式
・Lambda関数による処理多数のバイナリファイルを処理する単純なプロセスにはサーバーではなく、Lambda関数によるサーバレスアプリケーションを使用することが最適。
Lambda関数はシンプルなワーカータスクなど処理を実行するコードだけ保存・管理することができる
コスト最適に処理プロセスを作成できる
AWS Direct Connectの速度
・1Gbps ・10Gbps ・100GbpsAWS Direct ConnectはオンプレミスからAWSへの専用ネットワーク接続を構築するクラウドサービスソリューション
AWS Direct Connectを使用すると、AWSとデータセンター、オフィス、又はコロケーション環境との間にプライベート接続を確立することができる
基本的にはAWS Direct Connectは1Gbpsと10Gbpsと100Gbpsのデータ速度が利用可能
50Mbps 100Mbps 200Mbps 300Mbps 400Mbps 500Mbpsの速度は、AWS Direct Connectパートナーを通じて購入することになる。
専用接続は1Gbps 10Gbps 100GbpsのEthernetポート経由で確立されるもので、単一ユーザーに専用
ホスト型接続は、AWSとの間にネットワークリンクを確保している、Direct Connectパートナーから供給される