あかり(358)2022202件のシェア(すこし話題の記事)この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。今週から日本語でのAWS認定試験が始まります現在急激に需要が高まっているAWS技術者について、どの程度サービスや関連技術を理解しているかチェックする試験が始まります。私は一足先にノリで英語版を受験しました。今回は、今週から始まる日本語でのAWS認定試験に合格するためにどこらへんを押さえておくべきか確認しておきたいと思います。ちなみに、クラスメソッド社員は全員持っていると言いたいですねー。試験範囲は?AWS社が公開しているBluePrintには以下のような記述があります。アーキテクチャーのベストプラクティスを用いて構築するソリューションを定義することができる。アーキテクチャーのベストプラクティスを、開発者およびシステム管理者に対してプロジェクトのライフサイクルを通じて助言できる。これだけでは、どのAWSプロダクトを学べば良いのかよくわかりません。私は以下のように考えました。実現したいビジネスのシナリオを踏まえて、AWSプロダクトの「機能」と「使いどころ」と「組み合わせ」を理解している。それではBluePrintを読みながら理解を深めましょう!AWSの知識まずは基本的なAWSの知識についての問題です。AWSプロダクトの機能を全て詳細に憶えることは困難です。そこで、概要レベルと詳細レベルで憶えるべきプロダクトを選別しましょう。コンピューティング、ネットワーキング、ストレージ、データベースサービスの実践的な使用経験ここから詳細に理解すべきAWSプロダクトを選びました。EC2、VPC、S3、EBS、RDSです。これらのプロダクトに関する理解は実践的である必要がありますので、詳細まで理解する必要があります。システムの伸縮自在性およびスケーラビリティの概念に対する理解ここから詳細に理解すべきAWSプロダクトを選びました。Scaling、CloudWatch、ELB、Beanstalkです。これらのプロダクトに関する理解は機能レベルで構いません。ベストプラクティスとなる組み合わせを押さえておいてください。関連するネットワーク技術の理解ここから詳細に理解すべきAWSプロダクトを選びました。これらのプロダクトに関する理解は必要です。ネットワーク技術の理解ですので、AWSに限らず一般的な知識も必要になってきます。Firewall、VPN、NATに関する知識は押さえておくべきポイントです。提供するセキュリティ機能およびツール全般と、従来型サービスとの連携に関する高度な理解ここから詳細に理解すべきAWSプロダクトを選びました。その他、AWSが持っている基本的なセキュリティ機能については詳細に理解する必要があります。Federationのことでしょうか。CloudFormation)の操作方法に関する深い理解ここから詳細に理解すべきAWSプロダクトを選びました。Role、AccessKey/SecretKeyです。AWSは、全てのプロダクトにSDKやAPIが用意されていますが、これらのSDKやAPIを全て憶えることはほぼ不可能です。そこで、範囲を絞ってみたいと思います。EC2に関するAPI操作をコンソールを使って実行する場合のコマンド名とオプション指定についてです。CloudFormationはブログを読めば大丈夫だと思います。JSONフォーマットを暗記する必要はありません。デプロイおよび管理サービスに関する実践経験ここから詳細に理解すべきAWSプロダクトを選びました。機能レベルでは、Beanstalk、CloudWatchです。IT全般の知識ちょっと厄介な試験範囲ですよねw。エンタープライズ系のシステム開発やインフラ管理の実務経験のある人を中心に合格させたい雰囲気が出ています。大規模配信システムの設計に関する専門的な経験システムの最大のボトルネックはディスクです。物理的に読み書きをするスピードが最も遅い。ディスクまでユーザのトランザクションが届かないようにすることが基本戦略です。キャッシュを使いましょう。しても大量のトランザクションが届く場合には高性能なディスクを使いましょう。ロジックを実行するサーバが急激な負荷状態になると応答が遅延したり落ちますので、負荷に応じたスケールアウトをさせましょう。リアルタイムに処理をしなければならないリクエスト以外はキューイングするなど、同期処理と非同期処理を見定めましょう。障害に対する復旧についても最初から対応できるように設計しておきましょう。ディスク障害、アプリ障害、サーバ障害、データセンター障害、リージョン障害など、あらゆる障害レベルに対してできるだけサービスレベルを落とさずに運用できるように準備しましょう。これらを実現するAWSのプロダクトについて理解を深めましょう。53、HealthCheckなどが押さえておくべきキーワードかと思います。ー、ロードバランサーなど、一般的な多層アーキテクチャーに関する高度な理解Apache、ngins、IISの具体的な記述については出題されないと思っています。それよりも、何が設定できるのかを押さえておくべきです。HTTPヘッダや設定ファイルで指定できる項目についてです。レスポンスの圧縮、キャッシュ指定、名前バーチャルホスト、IPバーチャルホスト、SSL設定、リバースプロキシ、Cookieなど押さえておきましょう。Serverの具体的な記述については出題されないと思っています。それよりも、RDSでどんなことができるのかをしっかり押さえておいてください。スナップショット作成、バックアップ/リストア、ディスクサイズ変更、インスタンスタイプ変更、Adminログイン、設定変更、同期レプリケーション、リードレプリカなどです。EC2の場合のスナップショット作成手順については押さえておくべきポイントだと思います。次に、NoSQLですが、DynamoDBの特徴を押さえておきましょう。メッセージキューおよびエンタープライズサービスバス(ESB)に関する知識SQSは分散キューイングサービスですので特徴を押さえておきましょう。メッセージのロストを防止する代わりに、メッセージがダブる可能性があります。順番も保証されません。順番を保ちつつ、1回のみ処理を確実に行う方法について押さえておきましょう。キューは明示的に削除しないと消えません。同じキューを複数の人が取り出さないようにする仕組みについて要チェックです。ESBって響きが懐かしいですw。SNSはPublisher/Subscriberモデルの分散通知サービスです。受けたメッセージを変換して送出することができます。複製して送出もできます。SNSとSQSの組み合わせはベストプラクティスです。疎結合およびステートレスシステムに関する知識AWSを語る上で、「疎結合」は最も重要なキーワードです。AWS社が提供するサービス/プロダクトの数と同時多発的にアップデートされる機能は、彼らが社内で疎結合なプログラミングを行っているからだと思います。疎結合を実現するためにまず行うことがAPI化です。逆の言葉で、密結合とは何か考えていましょう。AプログラムからBプログラムを呼び出している一方で、BプログラムからAプログラムを呼び出しているとき、これらのプログラムは密結合しています。Bプログラムの内部構造の変更によって、Aプログラムの記述を修正しなければならない場合も密結合していると言えます。これらの例はプログラムコンポーネントレベルでの結合についてです。次にシステムやサービス間の疎結合について考えてみます。あるサーバが落ちたときにサービス全体が落ちてしまう場合、サーバとサービスが密結合であると考えることもできます。あるプロセスが落ちたとき、あるディスクが壊れたとき、あるサーバが落ちたとき、あるロードバランサーが壊れたとき、あるデータセンターが壊れたとき、こういった場合にも疎結合にしておくことで、ある内部構造が不調になったとしてもサービス全体を落とさずに運用できるようになります。それでは、あるサーバに急激な負荷が掛かった場合を考えてみましょう。急激な負荷によって他のユーザの処理をこれ以上受け付けられない状況になってしまいました。サーバの台数を増やさなければいけません。増やす際に既存のユーザへの影響を最小限にし、サービスを止めることなく展開しなければなりません。このサーバには、ユーザが入力した情報が一時的に保管されています。多数のログも吐き出されています。ここでサーバが落ちてしまったら、ユーザが入力中の情報が消えて無くなってしまいます。そこで、考えるのがステートレスシステムです。ステートレスとは、その名の通り状態を保持しないシステムです。状態を保持しないため、落ちても/追加で立てても問題ありません。状態はキャッシュサーバやデータベースに保存しています。キャッシュサーバやデータベースについても、落ちても全体に影響が少ないように設計しなければなりません。ELBはラウンドロビンとCookieによるリクエストの振り分けに対応しています。それぞれの特徴を掴んでおきましょう。ここらへんの設計については、実現するために掛かる費用、実現するために必要な設計の複雑性、求められるビジネスのレベルなどに応じて選択する必要があるのですが、認定試験ではベストプラクティスを求めていますので以下のような構成が良いかと思います。Route53+ELB+EC2x2+ElastiCachex2+RDSMultiAZ/DynamoDB+S3AWSは、サービスとして高い可用性を実現しているサービスがありますので、これらを組み合わせて使うことで一部のコンポーネントが変更されたり、障害にあったりしても、サービス全体が落ちることを防ぐことができるのです。Route53は複数のリージョンにまたがったサービスで、DNSレベルで名前解決を行うことができ、宛先のホストに問題がある場合はフェイルーバーすることができる優れものです。ELBはあるリージョン内の複数のデータセンターにあるサーバへ振り分けを行うことができます。障害が発生しているサーバを切り離すことが出来ます。ScalingとCloudWatchを組み合わせれば負荷に応じてサーバ台数を増減させることができます。EC2はLinuxやWindowsが動く仮想サーバです。あるインスタンスに障害が発生すると継続して使うことができなくなる可能性が高いです。そこで、2重化する必要が出てきますが、状態を保持したくないので、クラスタ化されたElastiCacheに保存します。これで負荷に応じてEC2インスタンスをいくらでも増減させることができます。ElastiCacheはインメモリなのでRDSよりも負荷に強いです。RDSはMultiAZ指定して、同期レプリケーションと自動フェイルオーバーによる早期復帰を実現します。DynamoDBであればIOPSを指定して高速なI/O性能を使うことが出来ます。配信システムにおける各種整合性モデルについての理解AWSといいますか、分散環境のサービスを利用するうえで理解すべきキーワードは、読み取り一貫性と結果整合性かと思います。これについては、以前ブログに書きましたのでご覧ください。関する経験、およびパフォーマンスコンセプトの理解AWSのCDNといえば、CloudFrontですね。Expires、Streamingあたりのキーワードを押さえましょう。どんな組み合わせで何ができるかは以下ブログをご紹介します。AWSにおける静的コンテンツ配信パターンカタログ(アンチパターン含む)他にもこんなキャッシュコントロール方法についてもブログをご紹介します。VPCについての理解を深めましょう。はじめに、CIDRについて理解してください。10.0.0.0/16の中に、サブネットとして10.0.0.0/24を定義するあたりは何となく行っている方が多いかと思います。ルーティングテーブルやサブネットの理解は必須です。Public/Protected/Privateなサブネットの定義と意味について理解してください。CheckをDisableにしたりEIPを付与してPublicSubnetに置いてSecurityGroupを設定するあたりも重要です。ケーションセキュリティに関する経験IAMの全機能を管理コンソールからチェックしておけばOKです。試験に出るプロダクトAWSのアーキテクトと名乗るのであれば、全プロダクトを一度は使ってみたいものですが、試験に合格することを目指すのであれば、出ないプロダクトを勉強するのは時間がもったいないですね。そこで、おそらく試験に出やすいであろうプロダクトを確認したいと思います。詳細レベルで押さえるプロダクトこれらを押さえていない方は確実に落ちますw。全ての機能をチェックしつつ、最近公開された新機能についても押さえておいてください。AWSは「高い可用性」と「高いセキュリティ」と「高い耐障害性」をどのように実現しているか、また、自分で実現するにはどうしたら良いか確認する問題が出ると思います。SNS:メッセージング機能レベルで押さえるプロダクト詳細にとまではいかずともしっかり押さえたいプロダクトです。Glacier:取り出しに時間掛かるけど非常に安いストレージ概要レベルで押さえるプロダクトこれらのプロダクトは問題文の中に出てくると思います。何ができるのか概要を押さえておきましょう。試験ではありますが、英語版をベースに作られているため、日本に展開されていないサービスや機能について出題される可能性があります。I/Oなインスタンスや、PlacementGroupといった機能です。使ったことあるかどうかに関係なく押さえておいて損はないと思います。レベル試験に合格できそうでしょうか?この試験は、基礎レベルの試験です。上位の試験はどんなに難しいのかと不安になりますが、ご安心ください。クラスメソッドのブログを毎日読んでいれば合格できるはずです。当社のスタッフは、AWSの全機能ついて実務や研究で実際に使っています。AWSチーム全員が全レベルの試験を受験する予定です。3,583,169毎日小学校に通っています。給食は残さず食べています。弟と妹の面倒を見ています。お姉ちゃんとしてブログ頑張ります。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。カフェ店長のオカノです。今日はオフィスに用があるので、通勤ラッシュを避けて出社しました。この子は新メンバーのさめくんです。在宅勤務が推奨されているのでオフィスが閑散としており、すこしさみしそうです。使いたいときの注意点を書きました。本が出ていたので読んでみたところよかったので紹介させていただきます。