スライド/自分のサーバーレスアプリケーションの作り方 version 8

2022/11/20 02:04 by sinofseven
  :追加された部分   :削除された部分
(差分が大きい場合、文字単位では表示しません)
スライド/自分のサーバーレスアプリケーションの作り方
## index
1. 自己紹介
1. 使用するもの
1. 大まかな流れ
1. AWSアカウントを作成したらすること
1. 作成するリポジトリ

## 自己紹介
- 夏目 祐樹 (ナツメ ユウタ)
- クラスメソッド株式会社
  - CX事業本部 Delivery部
  - サーバーレス エンジニア
- 最近やってるゲーム
  - FF14
  - 空の軌跡 FC Evolution
  - 黎の軌跡II

## 使用するもの (1)
- AWS Organiztion
  - アプリケーション用のアカウントを作成するのに使う
    - 支払いをまとめることが目的
- github.com
  - コードのホスティング
  - GitHub Actions (CI/CD)

## 使用するもの (2)
- Serverless Application Model (CloudFormation)
  - 原則としてAWSの管理はこれ
    - 個人的にCDKが嫌い
      - `SAM > Terraform >> (越えられない壁) >> CDK`
  - デプロイ等はsam-cliを使う
- Terraform (optional)
  - SSM ParameterのSecureStringなどを定義するのに使う
    - CloudFormationではSecureStringを作成できない
  - Terraform Cloudをバックエンドとして使う
- docker-compose (optional)
  - テストでlocalstackなどを使う際など

## 大まかな流れ
1. AWS Organiztionで新しいアカウントを作る
   - 作成したら、普段アクセスするためのIAM Roleを作成する
1. GitHubでOrganizationを作成する
   - 作成しなくてもいいけど、後々の管理を楽にするため
1. 各種リポジトリを作成しつつ、実装する

## AWSを作成したらすること 
- 普段使い用のIAM Roleを作成する
  - 基本的にSwitch Roleを使用して複数のAWSアカウントを扱っているため
  - `AdministratorAccess`
- LambdaなどのQuotaを確認する
  - 新規作成したアカウントではQuotaがデフォルト値よりも小さいことがあるので確認が必要

## 作成するリポジトリ
## 作成するリポジトリ (1)
- prepare
  - CI/CDのために必要なリソースの作成をする
  - このリポジトリだけは手動でデプロイする
- base (optional)
  - Lambda LayerやDocker Imageを作成する
- secrets (optional)
  - 各種トークンなどシークレットをSSM Parameterに保存する
  - 各種トークンなどSecretをSSM Parameterに保存する
  - Terraformで管理する
- cloud
  - アプリケーションに必要なLambdaやその他リソースを作成する
- web (optional)
  - Webアプリのコードを置く      

index

  1. 自己紹介
  2. 使用するもの
  3. 大まかな流れ
  4. AWSアカウントを作成したらすること
  5. 作成するリポジトリ

自己紹介

  • 夏目 祐樹 (ナツメ ユウタ)
  • クラスメソッド株式会社
    • CX事業本部 Delivery部
    • サーバーレス エンジニア
  • 最近やってるゲーム
    • FF14
    • 空の軌跡 FC Evolution
    • 黎の軌跡II

使用するもの (1)

  • AWS Organiztion
    • アプリケーション用のアカウントを作成するのに使う
      • 支払いをまとめることが目的
  • github.com
    • コードのホスティング
    • GitHub Actions (CI/CD)

使用するもの (2)

  • Serverless Application Model (CloudFormation)
    • 原則としてAWSの管理はこれ
      • 個人的にCDKが嫌い
        • SAM > Terraform >> (越えられない壁) >> CDK
    • デプロイ等はsam-cliを使う
  • Terraform (optional)
    • SSM ParameterのSecureStringなどを定義するのに使う
      • CloudFormationではSecureStringを作成できない
    • Terraform Cloudをバックエンドとして使う
  • docker-compose (optional)
    • テストでlocalstackなどを使う際など

大まかな流れ

  1. AWS Organiztionで新しいアカウントを作る
    • 作成したら、普段アクセスするためのIAM Roleを作成する
  2. GitHubでOrganizationを作成する
    • 作成しなくてもいいけど、後々の管理を楽にするため
  3. 各種リポジトリを作成しつつ、実装する

AWSを作成したらすること

  • 普段使い用のIAM Roleを作成する
    • 基本的にSwitch Roleを使用して複数のAWSアカウントを扱っているため
    • AdministratorAccess
  • LambdaなどのQuotaを確認する
    • 新規作成したアカウントではQuotaがデフォルト値よりも小さいことがあるので確認が必要

作成するリポジトリ (1)

  • prepare
    • CI/CDのために必要なリソースの作成をする
    • このリポジトリだけは手動でデプロイする
  • base (optional)
    • Lambda LayerやDocker Imageを作成する
  • secrets (optional)
    • 各種トークンなどSecretをSSM Parameterに保存する
    • Terraformで管理する
  • cloud
    • アプリケーションに必要なLambdaやその他リソースを作成する
  • web (optional)
    • Webアプリのコードを置く