TxKxZxWx's blog

AWS SAA、Javaの学習

AWS SAA取得に向けて 90日目 問題

間違えた問題を復習

 

問題1:

単一のリージョン内で割り当てることが出来る、デフォルトのElasticIPアドレスの最大数は?

  1. 10
  2. 制限なし

 

解答:

3: 5個

 

解説:

アカウント当たりの単一のリージョン内で割り当てることが出来る最大のVPCのElasticIPのデフォルト値は5個まで。

 

 

 

問題2:

CloudWatchを使用してEC2インスタンスのCPU使用率が90%を超えたらアラームが送信されるように設定した。

無料枠の範囲で使用したい場合の監視の更新間隔は?

  1.  リアルタイム
  2. 5分
  3. 1分
  4. 10分

解答:

 2:5分

  

 

問題3:

EC2のインスタンスなどのリソースに対してタグを付与してリソースを一意に判別出来るようにリソースをタグでメタデータを割り当てる。

リソースあたりのタグの最大数は?

  1. 50
  2. 10

解答:

1:50

 

解説:

タグを使用すると、AWSリソースを目的、所有者、環境など様々な方法で分類することが出来るので同じ型のリソースが多い場合に役立つ。

タグの制限は以下の通り。

  • リソースあたりのタグの最大数は 50
  • タグキーは、リソースごとにそれぞれ一意である必要がある。
    また、各タグキーに設定できる値は 1 つのみ。
  • キーの最大長 – 128 文字 (Unicode) (UTF-8)
  • 値の最大長 – 256 文字 (Unicode) (UTF-8)
  • EC2 ではタグ内に任意の文字を使用できるが、他のサービスでは制限がある。
    すべてのサービスで使用できる文字は、UTF-8 で表現できる文字、数字、およびスペースに加えて、 + - = . _ : / @。
  • タグのキーと値は大文字と小文字が区別される。
  • aws: プレフィックスAWS 専用として予約されている。
    タグにこのプレフィックスが付いたタグキーがある場合、タグのキーまたは値を編集、削除することはできない。
    aws: プレフィックスを持つタグは、リソースあたりのタグ数の制限時には計算されない。

 

docs.aws.amazon.com

 

問題4:

EC2インスタンスにマウント可能なストレージデバイスは?(2つ)

  1. S3
  2. S3 Glacier
  3. EFS
  4. EBS

 

解答:

EFS, EBS

 

解説:

AWSのストレージサービスは以下の4種類で提供されている。

  • EFS:共有ファイルストレージ(マウント可能
  • EBS:ブロックストレージ(マウント可能)
  • S3:オブジェクトストレージ(マウント不可)
  • S3 Glacier:アーカイブストレージ(マウント不可)

EFSは「ファイルストレージ」というタイプのストレージサービスであり、LinuxなどのOSでマウント可能なファイルシステムを提供する。

S3は「オブジェクトストレージ」というタイプのストレージサービスであり、データを「オブジェクト」と呼ばれる単位で読み書きするためのHTTPSなどでアクセス可能なエンドポイントを提供する。

EBSは「ブロックストレージ」というタイプのストレージサービスであり、Amazon Elastic Compute Cloud (EC2)のインスタンス(仮想マシン)にアタッチするためのボリュームを提供する。

 

 

問題5

インスタンスの起動時にマッピング /dev/sdc=noneを指定することによる影響は?

  1. /dev/sdc のブロックデバイスが「FF」で上書きされて削除される。
  2. /dev/sdc がインスタンスにアタッチされなくなる。
  3. /dev/sdc のブロックデバイスが削除される。
  4. /dev/sdc のブロックデバイスの削除を防止する。

 

解答:

2:/dev/sdc がインスタンスにアタッチされなくなる。

 

解説:

/dev/sdc=none を指定することで起動時に、インスタンスストレージボリュームをインスタンスにアタッチすることを防止出来る。

 

 

AWS SAA取得に向けて 90日目 Web3層構造(Web、AP、DB)

Web3層構造(Web、AP、DB)について学ぶ

 

ミドルウェア(Web、AP、DB)とは:

ミドルウェアとは、”middle”と名の付く通り、アプリケーションとOSの中間的な処理を行うソフトウェアのこと。

「ある機能に特化してOSとアプリケーションを補助するソフトウェア」

 

1.Webサーバ

Webサーバには、主にクライアントからのリクエストに対して「静的コンテンツを見せること」と「APサーバに動的コンテンツを要求し、返ってきた結果を見せること」の2つの役割がある。

  • 静的コンテンツ
    誰が見ても常に同じ内容を表示するもの。
    例えば企業ホームページのトップ画像や事業内容のページが該当する。
    静的コンテンツはWebサーバ内のディスクに保存されている。

  • 動的コンテンツ
    見る人や時間などによって内容が変わるもの。
    例えば銀行の残高やECサイト(Amazonなど)のショッピングカートなど。
    動的コンテンツはクライアントからリクエストされる度に新たに作成される。



2.APサーバ

APサーバは、Webサーバから受けたリクエストをもとにJavaPHPなどで作成されたアプリケーションを実行して動的コンテンツを生成する。
また、“必要であれば”DBサーバへリクエストを行い、返ってきたデータを加工して「動的コンテンツ」に埋め込む。

 

 

3.DBサーバ

DBサーバとはデータベース管理システム(一般にDBMS(DataBase Management System)と省略)が動作しているサーバ。

「データベース」と聞くとデータが大量に保管された場所を想像するかもしれないが、それは「ストレージ」の役割で、DBサーバはストレージに新たなデータを書き込んだり、必要な情報を引き出したり更新したりする。

 

 

Web3層構造

Web3層構造のメリット

  1. セキュリティの高さ
    DBサーバには多くの顧客情報が保存されており、万が一この情報が流出してしまうと大問題になる。
    Web、AP、DBがすべて1台にインストールされたシステムではクライアントから直接DBサーバにアクセスできてしまいますが、Web3層構造ではクライアントとDBサーバの間にWebサーバ、APサーバ、そしてセキュリティ製品を配置できるため、より堅牢になる。

  2. 管理のしやすさ
    システムは『止まってもすぐに復旧できる』ことを前提に作られる。
    サーバに不具合が発生した場合も、Web機能がおかしいのであればWebサーバ故障、アプリケーションエラーが出ているのならAPサーバ故障と、1台に機能が集約されている場合と比較して故障の影響が軽微になる。
    システム全体としても全停止ではなく一部機能の停止で済む。
    また、例えばAPサーバの拡張が必要な場合にもAPサーバのみと柔軟に対応することが可能となる。

AWS SAA取得に向けて 89日目

間違えた問題を中心にピックアップ

 

問題1:

A社ではAWSのRedshiftを利用してBIシステムを構築しようとしています。

あなたはソリューションアーキテクトとしてRedshiftクラスターを費用対効果の高い方法で使用することが要求されています。

この要件を満たすための選択肢はどれでしょうか。

 

  1. クラスターに対するスナップショットのうち不必要な設定を削除する。
  2. VPC拡張ルーティングを使用しない。
  3. クラスターにおいてスポットインスタンスを利用する。
  4. 不必要なCloudWatchのメトリクス設定を削除する。

 

 

解答:

 

解説:

Redshiftではスナップショット用に無料ストレージを提供しているが、ストレージ容量が超過すると課金が発生する。

スナップショットの空き容量が上限に達すると課金される。

このため、自動スナップショットを保存し、保存期間日数を見直すことで、不要になった手動スナップショットを削除する必要があるので1が正解。

 

 

 

問題2:

あなたは自社インフラの可用性を高めるためにAuto Scalingグループを設定しました。

しかしながら、設定に問題があり、Auto Scalingの設定条件に合致した場合でもグループは30時間以上もの間、インスタンスを起動することができませんでした。

この場合に想定されるAuto Scalingで実行される処理を選択してください。

 

  1. Auto Scalingは最大48時間までインスタンスの起動に挑戦する。

  2. Auto Scalingは起動プロセスを停止する。

  3. Auto Scalingは別AZに起動プロセスを施行する。

  4. Auto Scalingは起動に失敗した時点でCloudWatchに通知する。

 

解答:

 

解説:

Auto Scalingがインスタンス起動時に問題が発生すると、AutoScalingはグループ内で実施されている1つ以上のプロセスを中断する。

そのプロセスは任意の時期に再開することができる。

プロセスを中断することによって、ユーザーが設定上の問題を解析することができる。

したがって、2が正解となる。

 

 

 

問題3:

企業Bは3TBボリュームデータをオンプレミスのリポジトリ内に所有しており、大量の印刷ファイルを保存しています。

このリポジトリは年間500 GBの容量が増加しており、単一の論理ボリュームとして利用していく必要があります。

あなたはソリューションアーキテクトとして、頻繁にアクセスされるデータへの最適な応答時間を維持しつつ、ローカルストレージ容量の制約を回避するために、このレポジトリーをS3ストレージに拡張することになりました。

S3をプライマリーに利用していく予定です。 次のうちで、どのAWS Storage Gateway構成が要件を満たしていますか?

 

  1. S3への移転スケジュールが設定されたスナップショットを利用するキャッシュ型ボリューム
  2. S3への移転スケジュールが設定されたスナップショットを利用する保管型ボリューム
  3. Glacier(迅速アクセス)への移転スケジュールが設定されたスナップショットを利用するキャッシュ型ボリューム
  4. S3への移転スケジュールが設定されたスナップショットを利用する仮想テープライブラリー

 

リポジトリとは:

リポジトリとは、ソースコードディレクトリ構造のメタデータを格納するデータ構造のこと。

 

解答:

1

 

解説:

ストレージゲートウェイキャッシュ型ボリュームを使用すると、頻繁にアクセスされるデータをローカル環境に保持しながら、S3をプライマリデータストレージとして使用できる

したがって、1が正解となる。

 

ストレージゲートウェイの保管型ボリュームを使用すると、ローカルストレージをプライマリーとして利用し、そのデータを非同期に S3にバックアップする。

今回はキャッシュ型ボリュームが要件に合致しているので2は不正解。

 

ストレージゲートウェイによるハイブリッド構成用にはS3ストレージを利用する。Glacierは不適切であり、かつGlacierは中長期に利用頻度が低いファイルを保存する際に用いられるため、3は今回の要件には不適切なので不正解。

 

仮想テープライブラリーはテープ形式のバックアップに利用されるものであるので不正解。

 

 

 

問題4:

ある会社はAmazon ECSを使用してDockerコンテナベースのCI/CD環境をAWS上にセットアップすることを決定しました。

あなたはソリューションアーキテクトとしてこの環境構築を担当しています。

上司から依頼された要件としては、コンテナ起動時の最小限の管理オーバーヘッドとなることが求められています。

この要件を達成するためのECSの設定方法を選択してください。

 

  1. ECSにおいてAuto Scaling起動タイプを選択する。
  2. ECSにおいてFargate起動タイプを選択する。
  3. ECSにおいてEC2起動タイプを選択する。
  4. ECSにおいてChef起動タイプを選択する。

 

オーバーヘッドとは:

オーバーヘッドとはコンピュータで何らかの処理を行う際に、その処理を行うために必要となる付加的、間接的な処理や手続きのことや、そのために機器やシステムへかかる負荷、余分に費やされる処理時間などのこと。

例:焼き芋を食べるには皮をむかなくてはならない。

その焼き芋を食べるために行う皮をむく行為のこと。

 

解答:

 

解説:

Amazon ECSは起動タイプにより、タスクとサービスがホストされるインフラストラクチャのタイプが決まる。

そして、Fargate起動タイプとEC2起動タイプの2つから選択することができる。

Fargate起動タイプを使用すると、バックエンドインフラストラクチャをプロビジョニングおよび管理する必要なく、コンテナ化されたアプリケーションを実行できる。

タスク定義を登録するだけで、Fargateがコンテナを起動する。

したがって2が正解。

EC2 起動タイプでは、管理している Amazon EC2 インスタンスクラスターで、コンテナ化されたアプリケーションを実行できます。EC2の設定が必要となる起動タイプであり、要件に合致しないため3は不正解。

その他の起動タイプは存在しないため、1と4は不正解。

AWS SAA取得に向けて 88日目

問題1:

Amazon SQSにおけるメッセージ配信について、標準キューの説明として次のうちどちらが正しいですか? 

  1. 標準キューでは配信が 1 回以上行われます。そのため重複配信する場合があります。
  2. 標準キューでは 1 回だけ配信されます。そのため重複配信することはありません。

解答:

1:

標準キューでは配信が 1 回以上行われる。

そのため重複配信される場合がある。

一方、FIFOキューはメッセージが送信される順序通りに配信され、一回限りで確実に処理される。

 

 

 

問題2:

設計しているアプリケーションは、ファイルを受信して​​処理します。

通常、ファイルのサイズは約4GBで、アプリケーションはファイルからメタデータを抽出します。

これには通常、各ファイルに数秒かかります。

更新のパターンは非常に動的で、アクティビティがほとんどない時間で、その後短時間で複数のアップロードが行われます。

次のソリューションの中で最もコスト効率が高いのはですか?

 

  1. Kinesisデータストリームを使用してファイルを保存し、Lambdaを使用して処理します。

  2. ファイルをS3バケットにアップロードし、Amazon S3イベント通知を使用してLambda関数を呼び出してメタデータを抽出します。

  3. ファイルをSQSキューに配置し、一連のEC2インスタンスを使用してメタデータを抽出します。

  4. 処理のために別のEC2インスタンスからアクセスできるEBSボリュームにファイルを保存します。

 

解答:

 

解説:

 ファイルをS3バケットに保存するのが最もコスト効率の高いソリューションであり、S3イベント通知を使用してLambda関数を呼び出すと、この予測不能なワークロードに適している。

 KinesisデータストリームはEC2インスタンスで実行されるため、アプリケーションがファイルを受信して​​いない場合でも、ある程度の容量をプロビジョニングする必要がある。

これは、処理にLambdaを使用する前にS3バケットに保存するほど費用効率が高くない。

 SQSキューの最大メッセージサイズは256KB。Java用の拡張クライアントライブラリを使用して、S3のペイロードへのポインターを使用できるが、最大ペイロードサイズは2GB。

 EBSボリュームにファイルを保存し、処理にEC2インスタンスを使用することは費用効率が高くない。

AWS SAA取得に向けて 88日目 「グローバルインフラストラクチャ、TAM、AWSのサポートサービス」

先日受験したAWSクラウドラクティショナーに出題された中で理解の浅いポイントを復習

 

 

 

『グローバルインフラストラクチャ』

世界中に存在する「リージョン」、「AZ」、「エッジロケーション」により構成され、安全性、信頼性・セキュリティに優れたクラウドプラットフォームです。

 

  • リージョン → データセンターが集積されている世界中の物理的な場所。
  • AZ → 一つ以上のデータセンターがネットワークでつながったデータセンター群。
  • エッジロケーション → コンテンツキャッシュ、DNSサービス、セキュリティの機能を提供する、全世界に配置されたロケーション。

 

 

 

『TAM』

TAMとは、AWS の導入をしている企業などに対し、運用の効率を上げるために技術的な視点でサポートをしてくれるAWSスペシャリスト。

正式名称はTechnical Account Manager。

 

AWSサポートサービス

  1. カスタマーサービス
    AWSでは、電話もしくはWeb上から質問をすることができる。
    平日の9時から18時まで受け付けており、基本的に1回の質問に対しての回答となる。
    カスタマーサービスから返信が来るまでの時間は、サポートプランによって差が生じる。

  2. サポートフォーラム
    サポートフォーラムというのは、質問をWeb上へと書き込むことによって、他の誰かが回答してくれるというサービス。
    ただし、カスタマーサービスと比べて、回答までに時間がかかる可能性があるので、すぐに回答が欲しい場合には不便な可能性がある。

  3. AWS Trusted Advisor
    AWS Trusted Advisorというのは、AWSが今までに蓄えてきたノウハウを活かすことによって、実際に構築されているシステムの構成や運用状態の調査をし、改善が出来る部分を見つけて提示してくれるというサービス。
    AWS特有の、AWSならではのサービスといえる。

 

AWSのサポートプラン』

AWSのサポートプランの種類には「ベーシックプラン」「開発者サポートプラン」「ビジネスサポートプラン」「エンタープライズサポートプラン」の4つがある。

 

  1. ベーシックプラン
    AWSアカウントの取得をすると、自動的に利用が可能となるプランで、受けられるサポートは基礎的なものだけ。
    しかし、カスタマーサービス、サポートフォーラム、AWS Trusted Advisor内の4項目は使用出来る。
    ただし、技術面におけるサポートは対象外。
    サポートの利用料金はかからない。

  2. 開発者サポートプラン
    開発者サポートプランはベーシックプランでサポートされる内容に加えて、アーキテクチャなど技術的な部分の対応もしてくれるプラン。
    ベーシックプランの場合は料金などに関する質問しか出来ないが、こちらのプランならば、技術的な質問にも答えてくれる。
    料金は最低29米ドルとなり、月額29米ドル、もしくは月ごとのAWS料金の3%の内、高い方の料金が適用される。

  3. ビジネスサポートプラン
    ビジネスサポートプランは開発サポートプランでサポートされる内容に加えて、Trusted Advisor内の項目が全て使うことが出来るようになる。
    そして、質問してから4時間以内に回答が返ってくるようになる。
    さらに技術サポートをしてくれる人数の上限が無くなるので、様々な意見を聞くことが出来るようになる。
    料金は最低100米ドルとなり、月額で設定されているが固定という訳ではなく、使用した量によって料金が月額を超えることもある。

  4. エンタープライズサポートプラン
    エンタープライズサポートプランは法人に向けたプランとなっており、このプランでのみ、TAMからのサポートを利用することができる
    さらにサポートセンターではメールのみならず、電話やチャットを使用しての相談も可能で、24時間いつでも連絡を受け付けている。
    エンタープライズを利用する料金は最低15,000米ドルと比較的高額。

AWS SAA取得に向けて 87日目 

問題1:

データベースを AWS に移行するプロセスを簡素化する為には、どの AWS サービスを使用すればよいか。

 

  1. AWS Storage Gateway
  2. AWS Database Migration Service (AWS DMS)
  3. Amazon EC2
  4. Amazon AppStream 2.0

 

答え:

2. AWS Database Migration Service (AWS DMS)

 

解説:

1の「AWS Storage Gateway」はオンプレミスの AWS クラウドのストレージへのアクセスを提供するサービス。

2の「AWS Database Migration Service (AWS DMS)」はデータベースを移行するためのサービス。

3の「Amazon EC2」は仮想マシンが利用できるサービス。

4の「Amazon AppStream 2.0」はデスクトップアプリケーションをWebブラウザや専用クライアントで利用可能にするためのサービス。

 

 

 

問題2:

ソフトウェアソリューションを探して購入し、AWS 環境ですぐに使い始めるには、どの AWS サービスを使用すればよいか。

 

  1. AWS Config
  2. AWS OpsWorks
  3. AWS SDK
  4. AWS Marketplace

 

答え:

4. AWS Marketplace

 

解説:

  1. AWS Config」は AWS リソースの設定を評価、監査、審査するサービス。
    リソースの構成変更などの操作履歴を管理・可視化する。
  2. AWS OpsWorks」はサーバーの構成を自動運用するサービス。
    OpsWorksを用いると、短時間で手軽にアプリケーションを動かす環境一式を自動構築することができ、要件に応じて柔軟に構成を変更できる。
  3. AWS SDK」はプログラム言語からAWSを利用する際に使用する。
  4. AWS Marketplace」は各種ソフトウェアがインストール、設定済みの Amazon Machine Image(AMI) などを購入できるサービス。

 

AWS SAA取得に向けて 86日目 

  • cloud trail
  • cloud watch
  • Trusted Advisor
  • athena
  • redshift
  • snowball

 

 

 

「athena」

 

athenaとはS3のデータに対してテーブル定義をつくり、標準的なSQLを直接発行出来るサービス

従来であれば、S3のデータをRedshiftのデータベースにロードしてからクエリを発行していたがAthenaの登場でそれが不要になった。

 

簡単に言うと、AWSが提供するフルマネージドサービスで、S3にあるデータファイルに対してクエリを実行することの出来るサービス。

つまり、S3にデータ(csvやparquet)を配置してしまえば、それだけでそのデータの分析を始められることができる。

フルマネージドサービスなのでサーバーの管理は不要で、データをRDBにインポートさせる手間も必要ない。

 

クエリとは…

→ソフトウェアに対するデータの問い合わせや要求などを一定の形式で文字に表現すること。

データベースに対する命令文、もしくは、検索キーワード。

 

 

 

 

「redshift」

 

Redshiftはデータウェアハウスのマネージドサービス

標準SQLおよび既存のビジネスインテリジェンス(BI)ツールを使用して、膨大な量のデータを高速に効率よく分析できる。

アプリケーションからのSQLリクエストを1つ以上のノードで分散して処理することで、高速なデータ処理を実現する。

大容量データ/複雑なSQLのワークロードに代表されるデータ分析/集計などに適している。

 

データウェアハウスとは…

→さまざまなデータ源からデータを収集・統合・蓄積し、分析のため保管しておくシステムです。

 

 

 

「snowball」

物理ストレージデバイスを使用して、S3 とオンサイトのデータストレージロケーション間で、インターネットよりも高速に大量のデータを転送する。

AWS Snowball を使用すると、時間と費用を節約できる。

 

オンプレミス環境からAWSにデータを転送する際はネットワーク経由での転送となる。
しかし、ネットワーク経由でのデータ転送は、帯域や回線品質に速度が左右される。
データセンター丸ごとAWSに移行したい、といった時に、ネット回線を使用して全データを転送したら数年かかる可能性がある、という事があり得る。
Snowballはそのような時の為に、専用のデータストレージをAWSに送り付けてS3にインポートしてもらうといった機能。