Closed19

学習メモ:Exam Readiness: AWS Certified Developer – Associate (Digital) (Japanese) 日本語

ito_110ito_110

コースの概要

説明

AWS-DVAについて簡単に把握する

対象者

  • AWS 認定デベロッパー – アソシエイト試験を受験予定の開発者

コースの目標

このコースの学習内容は、以下のとおりです。

  • 試験の構成と問題のタイプを理解する
  • AWS の開発に関する概念に関係する質問を特定する
  • 試験で出題される内容の概念を理解する

前提条件

このコースを受講するにあたって、以下の前提条件を満たしておくことをお勧めします。

  • AWS ベースのアプリケーションの設計と保守に関する 1 年以上の実務経験
  • 少なくとも 1 つの高水準プログラミング言語についての詳細な知識
  • Developing on AWS コースを修了しているか、同等の知識があること

実施形式

  • デジタルトレーニング
  • サンプル試験問題

AWSブログにて紹介されています。
AWS 認定試験 : Exam Readiness(試験準備コース)が日本語実写版になりました

ito_110ito_110

モジュール0

動画内容の説明

テキストとサンプル問題を通して、試験のポイントを学習する

試験分野

  • デプロイ
  • セキュリティ
  • AWSのサービスを使用した開発
  • リファクタリング
  • モニタリングとトラブルシューティング
ito_110ito_110

モジュール1:デプロイ

認定の目的

下記の方法でデプロイできること

  • CI/CD
  • AWS Elastic Beanstalk
  • AWSにデプロイするためのアプリケーションパッケージ
  • サーバレスアプリケーション

リリースプロセスの主要なフェーズ

  • ソース:コードのレビュー
  • ビルド:コンパイル・単体テスト・コードメトリクス・コンテナイメージの作成/テストの自動化などが検討できる
  • テスト:統合テスト・負荷テスト・UIテスト・侵入テスト
  • デプロイ:本番環境へデプロイ/本番環境へのリスクは避ける
  • (モニタリング)

CI/CD

  • 直近10年間で大きく普及
  • CI:継続的インテグレーション
    ソース・ビルドが対象
  • CD:継続的デリバリー
    認証が必要。CIを拡大したもの
  • CD:継続的デプロイ
    CD:継続的デリバリーをさらに拡大したもの

AWSのコードサービス

  • ソース:AWS CodeCommit
  • ビルド:AWS CodeBuild
  • テスト:(任意のテストツール)
  • デプロイ:AWS CodeDeploy
  • モニタリング:AWS X-ray・CloudWatch
    AWS CodePipeline
    AWS CodeCommitからCodeDeployまで管理するツール

可用性

  1. 複数のAZ・リージョン
  2. ヘルスチェック・フェイルオーバーメカニズム
  3. ステートレスアプリケーション。セッションまたはキャッシュ状態をDBなどに保存
  4. サービスへの理解。AutoScalingなど

AWS Elastic Beanstalk
コード開発以外の基本的な設定を実施してくれるツール

ito_110ito_110

AWS CloudFormation

テンプレート

  • jsonおよびYAML形式でインフラストラクチャのコードを記述する
  • 作成するリソースを定義する

スタック

  • テンプレートから作成
  • スタック更新の進行状況をモニタリング可能
ito_110ito_110

サーバーレス

サーバに関係する部分をAWSが管理。
カスタマーはサービスの開発に注力できる

AWSが提供するサービス例

  • APIプロキシ:API Gateway
  • ストレージ:S3
  • データベース:Dyname
  • メッセージング:SNS・SQS
  • オーケストレーション:Step Functions
  • 分析:Kinesis・Athena

AWS Lambda
AWSが提供するサーバレスアプリケーション

ito_110ito_110

モジュール1のまとめ

原則を再確認する

  • ELBとAuto Scalingは互いに連携するように設計されている
  • スケールアップよりもスケールアウトが望ましい
  • Elastic Beanstalkを使用することでアプリケーションの構築に集中できる
  • 作成するリソースと定義するために、CloudFormationテンプレートを使用できる
  • サーバーレスアプリケーションでは通常、LambdaとAWSの他のサービスを組み合わせる
ito_110ito_110

モジュール2:セキリュティ

目標

  • AWSのサービスに対して認証されたコールを行う
  • AWSサービスの暗号化
  • アプリの認証と認可の実装

責任共有モデル

AWSにおいて重要な考えなので覚える

ito_110ito_110

データおよびアプリのセキリュティ

VPC

AWSが提供する仮想ネットワークサービス

暗号化

  • 転送時の暗号
    SSL/TLS
    AWS-ACM
  • 保管時の暗号
    クライアント・サーバーで暗号化
    AWS-KMS

S3でのデータ保護

  • AES256による暗号化
  • クライアント側での暗号化
    SSE-S3・SSE-KMS・SSE-Cなど
  • サーバー側での暗号化
    Glacerなどでは自動で暗号化
ito_110ito_110

IAM・STSおよびIdentity Federation

IAM

ユーザ関連のツール。認証と認可を管理。
既知の内容なので、特にメモなし
公式を参照

STS

信用できるユーザーなどに一時的な認証を与える
IDフェデレーション
IAMユーザーを作成しなくてもAWSリソースへアクセスができる

ito_110ito_110

モジュール3:AWSサービスのデプロイ

目標

  • サーバーレスアプリケーションのコードを記述
  • 機能上の要件をアプリケーション設計に反映
  • アプリケーションコードの実行
  • API・SDKなどAWSサービスと連携するコードの記述

S3

  • バケット:リージョンを指定
  • オブジェクト:バケット内部に配置
  • パス形式のURL(廃止予定)
  • 仮想ホスト形式のURL
  • 署名付きのURL
  • CORS

S3アクセスコントロールリスト(ACL)

オブジェクト・バケットレベルでアクセス許可を付与

S3バケットポリシー

JSON形式で記述。詳細なアクセス設定を付与

ACLとS3バケットポリシーは併用可能。また、違いを把握する

ito_110ito_110

DynamoDB

  • フルマネージド型のNoSQLデータベース
  • パーティションキーに基づくパーティション

セカンダリインデックス
プライマリキーの代わりの代替キーを定義

データ整合性
結果整合性・強力な整合性のある読み込み

RCU・WCU
計算問題が試験に出る

1RCU:1秒あたり4KBの強力な整合性のある読み込み1回/結果整合性のある読み込みは2回
1WCU:1秒あたり1KBの書き込み1回

DynamoDBストリーム

グローバルテーブル

グローバルテーブルは、マルチリージョンにマルチアクティブデータベースをデプロイするための完全マネージド型のソリューションです。独自のレプリケーションソリューションを構築および管理する必要はありません。テーブルを利用したい AWS リージョンを指定すると、DynamoDB が進行中のデータ変更をそれらすべてに伝播します。

ito_110ito_110

SNS
トピック・サブスクライバー・メッセージサイズ
全てのAWSのエンドポイントへ送信可能
SQS
メッセージキューイングサービス

ito_110ito_110

Step Functions

視覚的なワークフローにより分散アプリケーションおよびマイクロサービスのコンポーネント同士の調整を可能にする

API Gateway

  • APIを作成および管理する管理者をサポート

CloudFront

  • AWSにてCDNを実現
  • コンテンツ配信を主眼
  • エッジロケーションを活用

Elasticache

高速なインメモリデータベース

ito_110ito_110

モジュール3のまとめ

  • マネージドサービス優先
  • APIやリソースの直接公開は避ける
  • サーバーにセッション状態を保存しない
  • インフラストラクチャは疎結合
ito_110ito_110

モジュール4:リファクタリング

認定の目標

  • AWSサービスと機能を最大限利用
  • 既存のアプリケーションをAWSで実行
ito_110ito_110

サーバーではなくサービスを設計する

アンチパターン

  • 永続的サーバーでシンプルなアプリケーションを実行
  • アプリケーション間で直接通信を行う
  • 静的ウェブアセットをローカルのインスタンスに保存する
  • ユーザー認証とユーザー状態の保存をバックエンドサーバーで処理する

ベストプラクティス

  • 必要に応じてサーバレスアプリケーションがプロビジョニングされる
  • メッセージキューを使用してアプリケーション間の通信を処理する
  • 静的ウェブアセットをS3など外部へ保存
  • ユーザー認証とユーザー状態の保存をAWSのマネージドサービスを使用する
ito_110ito_110

モジュール4のまとめ

  • 耐障害性と高可用性は同じではない
  • スケーラビリティと伸縮性は同じではない
  • モノリシックなアプリをマイクロサービスに移行して、機能に割り当てる
  • サーバレス化する
ito_110ito_110

モジュール5:モニタリングとトラブルシューティング

  • AWSエラーコードの確認(400番台:アプリケーションでエラー処理など)
  • インスタンスのログデータの収集と解析
  • モニタリング
ito_110ito_110

CloudWatch

  • AWSリソースのモニタリング
  • 標準またはカスタムのメトリクスを使用
このスクラップは2022/07/06にクローズされました