AWSサービスの機能を調べる(Developer Tools)

皆さんは、AWSクラウドが持つ機能を調べるとき、どうしていますか?

また、使おうと考えているサービスの仕様をどのように調べていますか?

私はこのところ、AWSサービスの機能のホントのところを確認するために、AWS公式ホームページの「AWSサービス別資料」で確認を取っています。
(資料には、SlideShare 、PDF 、Youtube があります)

ちまたのインターネットでの技術ネタを調べることも過去多かったのですが、情報の鮮度もありますし、やっぱり本家の情報がしっくりと安心できます!!

今回は、この画面の左にあるカテゴリー分けから「Front-End Web & Mobile」を選んだときに、各資料にはどのような情報が含まれているかを箇条書きにします。(99-99 形式の数字はページを表します)

Developer Tools

●●●資料【01_AWS Chalice】

10-15  スケルトンプロジェクトを作成
16-18  自動生成されたサンプルアプリケーション
19-23  サンプルアプリケーションをデプロイ ※ httpie をインストール(21)
25-30  AWS 上ではどのように構成されるのか
31-34  IAMポリシーを自動で作成 ※ 現実的にはまだ実用的ではない旨の説明

37Page  WEB API 実装のための基本機能
39-41   URL Parameters
43-47   HTTP Methods

49Page  Request Metadata
50-52   Request Metadata – HTTP Method
53-54   Request Metadata – HTTP Headers
55Page  Request Metadata – Query Parameters
56-59   Request Metadata – URI Parameters :EXAMPLE NOTE
60-61   Request Metadata – Request Body
62Page  Request Metadata – Additional Request Context

64-68  Custom HTTP Response

70-73  Error HTTP Response

75page  一歩進んだ API 実装のための機能
      ※ Blueprintsは後方互換性を破る実装がなされる可能性がある
      • Lambda Functions(スタンドアローン)
      • Lambda イベントソース
      • Amazon CloudWatch Events
      • Amazon S3
      • Amazon SQS
      • Amazon SNS
78Page  その他の Lambda Functions – SQS

80Page  さらにもう一歩先に
      • Python Versions
      • App Packaging
      • Logging
      • SDK Generation
      • Chalice Stages
      • Configuration File
      • Policy Generation
      • Local Mode ※ ローカル環境で実行できる
      • Lambda Layers
      • Experimental APIs
      • WebSocket Support (Coming soon?)

84-94   ユニットテスト
95-106  実践的開発プロセスCI/CD
      chalice deployは推奨されない
      ⇒ generate-pipelineサブコマンドで CFn_templateを生成(-bオプション付加)

●●●資料【02_AWS CodeStar & AWS CodePipeline】

8-16    CI/CD が必要となる背景

18-25   AWS CodeStar の概要

19Page  プロジェクトテンプレートを選ぶと CI/CD 環境が自動で作成される
20Page  プロジェクト ダッシュボード
21Page  パイプラインの自動生成(CodePipeline)
22Page  開発ツールとの連携
23Page  セットアップ内容
      • プロジェクトテンプレートの選択(EC2 or Beanstalk or Lambda)
      • プロジェクトの設定
      • リポジトリ(CodeCommit、GitHub)
      • プロジェクトの編集
      • プロジェクトダッシュボード
      • CodePipeline 継続的デプロイメントパイプライン
      • CloudWatchメトリクス
24Page  AWS CodeStar の操作: プロジェクトを作成
25Page  AWS CodeStar の操作: チームメンバを追加・削除
26Page  AWS CodeStar の料金

28-34    AWS CodePipeline概要

30Page  CodePipeline の定義
31-35    CodePipeline の操作: パイプラインの作成
36Page  CodePipeline の操作: パイプラインの編集
37Page  CodePipeline の操作: パイプラインの実行開始、停止
38page  CodePipeline の操作: パイプラインの実行履歴を表示
39page  CodePipeline の操作: パイプラインの実行結果の通知
40-41   参考資料: ビルドやテスト結果をSlack等に通知する
42-43   AWS CodePipeline がサポートしているプロバイダー
44Page  AWS CodePipeline と統合可能な製品
45-46    Custom アクション
47Page  AWS Lambda ファンクションの実行
48Page  AWS Step Function の実行
49Page  Approval アクション
50Page  並列アクションと逐次アクション
51Page  実行時のアクション間の変数引き渡し

52Page  構成例: Amazon ECS での CI/CD パイプライン
53Page  構成例: サーバーレス での CI/CD パイプライン
54Page  構成例: GitHub, Jenkins との連携

55Page  AWS CodePipeline のクォータ
56Page  AWS CodePipeline の料金

58-59  インターネットを経由せずにパイプラインを作るには?
60Page  参考資料: AWS Developer Tools を活用した Git-flow
61Page  クロスアカウントでパイプラインを作るには?
62Page  参考資料: Cross-Account CI/CDパイプライン ワークショップ

●●●資料【03_AWS Cloud9】

8Page   なぜ新しいIDEを開発したのか?
9-22    1.開発者はクラウド向けのアプリを構築しているが、
      開発にはローカルマシンを利用している
      2.開発環境のセットアップが面倒
      3. 開発者はコードのより容易なコラボレーションの方法が必要
      (リアルタイム共同コーディング)
      4.今のIDEはまだサーバーレスアプリケーションに必要な機能に追いつけていない
      +AWSサービスに直接ターミナルアクセス
26-27     Express Setup:個人利用のみ
28page  Team Setup:複数ユーザを管理
29Page  Advanced Team Setup:コストを抑える
30-37   ポリシー例
38Page  [参考] AWS Managed Temporary Credentials
      AWS SettingsでOFFして、EC2インスタンスプロファイルの設定
                OR 環境変数かaws configureによる永続的なクレデンシャルの設定
40-43   Demo AWS Cloud9 IDE(環境を設定する操作)
      ・本番実行環境⇔ローカル環境で、ソースを同期できる
      ・サーバレス環境をターゲットにできる
44Page  AWS Lambda(Python)のImport
45-46     Demo Pair Programming(1画面をペアできる)
47Page   AWS Cloud9 プレビュー機能
48Page   AWS Cloud9 統合開発環境の言語サポート
      https://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/language-support.html
49Page   価格

●●●資料【04_AWS CodeDeploy】

9Page    AWS CodeDeployとは
10Page  Pull 型のデプロイ手段
12Page  アプリケーションとコンピューティングプラットフォーム
13Page  デプロイグループ
14-16    デプロイタイプ
17Page  デプロイ設定
18-26    デプロイ設定 EC2/オンプレミス
27-31    デプロイ設定 Lambda / ECS
32Page  リビジョンとターゲットリビジョン
33Page  サービスロール
34Page  IAM インスタンスプロファイル

36-51    EC2/オンプレミス デプロイメント
47Page  リビジョンの構成
48Page  CodeDeploy EC2/オンプレミス appspec
49Page  デプロイライフサイクルイベント
50-51    AWS CodeDeploy Agent

53-66    AWS Lambda のデプロイ
60Page  CodeDeploy Lambda デプロイメント (appspec)
61Page  CodeDeploy Lambda デプロイメント (SAM)
62Page  デプロイライフサイクルイベント
63-66    CodeDeploy Lambda カナリアデプロイメント

68-92    Amazon ECS のデプロイ
74Page  CodeDeploy ECS appspec
76Page  デプロイライフサイクルイベント
77-82   CodeDeploy ECS blue/greenデプロイメント
83-92    重要:デプロイメントのためのコンテナイメージのタグ付け

機能紹介

94Page  Validation Hook Lambda
95Page  CloudWatch アラームによるデプロイ停止
96Page  ステータスの通知
97Page  VPC エンドポイントをサポート
99Page  利用料金

●●●資料【05_AWS CodeCommit & CodeArtifact】

11-13   AWS CodeCommitとは
14Page  CodeCommit を利用するには
15Page  HTTPS 接続と Git 認証の手順
16Page  HTTPS 接続 – IAM からの Git 認証情報の作成
20-21   Local Git から CodeCommit への接続
22-23   Visual Studio からの接続
24Page  他の Git リポジトリからのマイグレーション
25Page  参考資料:git を学ぶ

  Pro Git
  https://git-scm.com/book/ja/v2 (日本語)
  Git Cheat sheet
  https://training.github.com/downloads/ja/github-git-cheat-sheet.pdf (日本語)
  Git Immersion
  http://gitimmersion.com/
  Git Reference
  https://git-scm.com/docs
  git はHTTP利用時、デフォルトで毎回ユーザー名、パスワード入力を求めるが、
  git config –global credential.helper を利用することでクレデンシャル情報を
  キャッシュまたは保存することが可能
  https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage

26-34   コンテンツの参照・編集・追加、コミット履歴の表示
35-38   プルリクエストの作成、コメント、マージ
39Page  プルリクエストの承認ルールワークフロー
40Page  Amazon CodeGuru Reviewer との連携
41Page  AWS CloudTrail を利用した API コールログ取得
42Page  ブランチレベルのアクセス許可
43Page  VPCエンドポイントをサポート
44Page  リポジトリイベントの通知
45Page  AWSサービスとの連携
46Page  AWS CodeCommit 制限事項
47PAge  料金

49-50   AWS CodeArtifactとは
51-52   ドメイン、リポジトリ
54-57   リポジトリの作成
58Page  パッケージマネージャの設定
59-61   パッケージの取得、登録
62Page  AWS CodeBuild からの利用例
63-64    VPC エンドポイントをサポート
      :S3のVPCエンドポイントも必要
      :パッケージマネージャの設定時にエンドポイントURLの指定が必要
65Page   AWS CloudTrailを利用した APIコールログ取得
66Page   Amazon EventBridgeとの連携
67Page   AWS CodeArtifactの制限事項
68PAge   利用料金

●●●資料【06_AWS_CodeBuild】

9-11   AWS CodeBuildとは
12-16  AWS CodeBuild の仕組み
17-23  AWS CodeBuild プロジェクトの作成
24-25  ソースの作成
26-27  ビルドの実行

29-30   buidspec.yml の構成

31-32   version:buildspec のバージョン(必須)
33Page  run-as:コマンドを実行する Linux ユーザ
34Page  env:環境変数
35Page  proxy:プロキシサーバ設定
36Page  batch:バッチビルド設定
37Page  batch/build-graph :
      バッチビルド設定 ⇒ バッチ内の他のタスクに依存する一連のタスクを定義
38Page  batch/build-list :バッチビルド設定 ⇒ 同時に実行されるタスクを定義
39Page  batch/build-matrix:
      バッチビルド設定 ⇒ さまざまな環境と並行して実行されるタスクを定義
40Page  phases:実行するコマンド(必須)①install ②pre_build ③build ④post_build
41Page  reports:テストレポート作成
47Page  artifacts:AWS CodeBuild の出力
48Page  cache:キャッシュ設定

53-54   ビルドをローカルで実行する
55-57   AWS Session Manager でビルド環境へアクセスする
58-61   Session Manager でビルド環境へアクセスする
62Page  ビルドバッジ
63Page  ステータスの通知
64Page  VPC 内リソースへのアクセス
65Page  VPC エンドポイントをサポート
66Page  利用料金

22種類のユースケースベースのサンプル
• https://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/use-case-based-samples.htm

●●●資料【07_AWS Command Line Interface】

8Page   AWS Command Line Interface (AWS CLI)とは
9Page   (参考) AWS Tools for Windows PowerShell
12Page   通信経路 (端末から操作する場合)
13-14    通信経路 (バッチ等でサーバから操作する場合)

18Page  セットアップの流れ
http://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-chap-getting-set-up.html
19Page  Step 1 – IAMの設定
20Page  AWS CLIの認証の仕組み
21Page  Step 2 – AWS CLIのインストール
22Page  Step 3 – 初期設定
23Page  (参考) AWS CLIを簡単に実⾏する環境のご紹介

27Page  AWS CLIの操作⽅法について
28Page  実⾏コマンドの形式
29Page  –profile オプション:設定ファイル (プロファイル)切り替え
30Page  –region オプション
31Page  –output オプション:JSON、Text、Table
32-38   –query オプション:標準出⼒をJMESPath仕様でフィルタリング
39-41   JMESPathについて
42Page  (参考) JMESPathの動作確認ツール:JMESPath Terminal
→ https://github.com/jmespath/jmespath.terminal
43Page  処理速度向上について –filter –query
44Page  helpサブコマンド
45Page  waitサブコマンド
46Page  リターンコード
47Page  CLIスケルトンの⽣成、実⾏
48Page  コマンド補完

52Page  よく使うAWS CLIの設定
53-57   複数プロファイルの設定、実⾏⽅法
58Page  S3コマンドの設定
59-68   aws s3 cp の仕組み
69Page  AWS CLIのエイリアス作成方法
70Page  HTTPプロキシの設定

AWS CLIの操作パターン集

75-77  サービス
78-82  S3に置かれたファイルをディスクに保存せず圧縮したい

●●●資料【08_AWS SDK】

8-14    AWS SDKとは

15Page  AWS Mobile SDK
16PAge  AWS SDK for Go
17Page  AWS Mobile SDK for Unity
18Page  AWS Mobile SDK for Xamarin

19Page   AWS SDKの用途
20Page   SDKを使って利用するサービス(一例)
21Page   AWS SDKの基本的な使い方
23-24   (参考)2-Tier Architecture
25Page  (参考)例1:静的ファイルだけで動的サイト
26Page  (参考)例2: 写真共有モバイルアプリ

27-31    SDKを使う際の認証情報の扱い
32Page  Shared credentialsファイル
33-34    IAMロール
35Page  IAMユーザー利用との比較

36-37   モバイルアプリの場合、Amazon Cognitoを使うことで

40-42   AWS SDK for Java 概要
43Page AWS Toolkit for Eclipse
45-49   AWS SDK for .NET
50Page AWS Toolkit for Visual Studio
51-54   AWS SDK for PHP
56-58   AWS SDK for PHP
60-62   AWS SDK for Ruby
64-70   AWS SDK for JavaScript in Node.js
72-74   AWS Mobile SDK for Android
76-79   AWS SDK for JavaScript in the Browser

●●●資料【09_AWS SDK for Java/.NET】

4-9    AWS SDK オーバービュー
10-11   AWS SDK for Java
12Page  使い方

14Page  AWS Toolkit for Eclipse

22Page  SDKならではの機能
23-24   IAM Role for EC2 instances
25-27   MFAデバイスを使ったAPIコール
28-30   Java SDKの構成
31Page  SDKの有効な利用方法

32Page  アドバンスドなトピック
33Page  ClientConfiguration
34Page  RequestHandler
35Page  CustomBackoffStrategy
36Page  Marshaller/Unmarshaller

38-40    AWS SDK for .NETとは
41Page   AWS SDK for .NETに含まれるもの
      ①AWS Toolkit for Microsoft Visual Studio
      ②Visual Studioプロジェクトテンプレート
      ③AWS Tools for Windows PowerShell
      ④AWS .NETライブラリ
      ⑤C#コードサンプル
      ⑥ドキュメント
42Page  インストール方法

43-55   AWS Toolkit for Visual Studio

56-59  .NET SDKの特徴

●●●資料【10_AWS SDK for PHP & AWS SDK for Ruby & boto(Python) & JavaScript in Node.js】

6-9   AWS SDK概要
10Page  AWS SDKの使い方
11-15   Credentialの取り扱い

17-20   AWS SDK for PHP
21-26   サンプル
27Page  活用法法

28-29   PHP版SDKの便利なクラス:DynamoDBSessionHandler

31-35   botoとは
36-41   サンプル
42Page  その他Tips:AWS CLIもbotoを⼀部利用している

44-47   AWS SDK for Rubyとは
48-53   サンプル
54-55   新しいRubySDK (ver2)、RailsのセッションをDynamoDBに保存

56-59   AWS SDK for JavaScript in Node.jsとは
60-65   サンプル

●●●資料【11_AWS Client-side SDK – Android, iOS and Javascript】

4-8    AWS SDK オーバービュー

10Page  AWSのマネージドサービスを活用した2-tierのアーキテクチャが組める
11Page  例1:静的ファイルだけで動的サイト
12-16    例2: モバイルアプリ間でメッセージング
17Page  その他の例:非同期バッチ処理
18Page  その他の例:ログやイベント情報の集計処理
19Page  Amazon SNSへのデバイストークンの登録も直接可能
20Page  クライアント側SDK活用のメリット

22-24   AWS CREDENTIALSの取扱い
25-26   Security Token Service
27-29   Web Identity Federation
30Page  独自の認証機構を用いる場合
31Page  AnonymousTVM、IdentityTVM
32Page  AnonymousTVM
33Page  Identity TVM
34-35  Web Identityを用いたFine Grained Access Control

38-42  AWS SDK FOR ANDROID
43-46   コード例
47Page  Android SDK利用時のTips

49-53   AWS SDK for iOSとは
54-57   コード例
58Page  iOS SDK利⽤時のTips

60-63   AWS SDK for JavaScript in the Browserとは
64-65   コード例

●●●資料【12_AWS X-Ray】

10-14   AWS X-Ray の概要
16-26   AWS X-Ray の概念

28Page  AWS X-Ray によるアプリケーション分析
29-32   サービスマップ
33-34   フィルタ式
35Page  グループ
36-38   トレースリスト
39Page  セグメント・サブセグメント
40Page  カスタムサブセグメント
41-43   セグメント詳細
44Page  アナリティクス
45Page  フィルタリングされたトレースセット
46Page  応答時間の分布
47Page  時系列アクティビティ
48-49   メトリクステーブル

50-58   アナリティクスを用いたワークフローの例

59-66   サンプリング

68-76   AWS X-Ray のデータ収集の仕組み
70Page  AWS X-Ray SDK
72Page  AWS X-Ray デーモン
75Page  AWS X-Ray API

AWS X-Ray の利用方法

78Page  AWS Lambda
79Page  Amazon API Gateway
80Page  AWS Elastic Beanstalk
81Page  Amazon EC2
82Page  Amazon ECS
83Page  AWS App Mesh
84Page  Amazon SQS, Amazon SNS
85Page  AWS SAM, CDK
86-87   AWS X-Ray SDK (Node.js)

89Page  Amazon CloudWatch ServiceLens
90Page  Amazon CloudWatch Synthetics

92Page  料金 (2020/5/26 現在)
93Page  注意点:サンプリングについて、トレース頻度と料金とパフォーマンス