Upgrade to Pro — share decks privately, control downloads, hide ads and more …

複数AWSアカウントに リソース構築する時 どうしてますか?

honma
May 20, 2023

複数AWSアカウントに リソース構築する時 どうしてますか?

AWS CDK Conference Japan 2023
2023/05/20

honma

May 20, 2023
Tweet

More Decks by honma

Other Decks in Technology

Transcript

  1. 久しぶりのオフライン登壇

    View Slide

  2. View Slide

  3. ブチアゲていこうZE☆

    View Slide

  4. 複数AWSアカウントに
    リソース構築する時
    どうしてますか?
    AWS CDK Conference Japan 2023
    2023/05/20

    View Slide

  5. まずあんた誰?

    View Slide

  6. 自己紹介
    本間 崇平
    アイレット株式会社 アジャイル事業部所属 開発エンジニア
    ホンマ シュウヘイ
    ● 2018年新卒入社(平成最後の新卒)
    ● エンジニアコメディアン (自称)
    ● ドローンなどのIoT系やってる
    ● アジャイル/スクラム開発してる
    2022・2023受賞歴↓
    AWS認定資格13個獲得↓

    View Slide

  7. 本日言いたいこと

    View Slide

  8. AWS CDKを使いこなし学び続けよ
    (※楽しみながら)

    View Slide

  9. お品書き
    1. はじめに
    2. タイトル回収
    3. 結論

    View Slide

  10. 1.はじめに

    View Slide

  11. ド新規でAWSリソースを作る案件があった

    View Slide

  12. 必要なAWS環境

    View Slide

  13. 採用時アーキテクチャ
    ● API系はserverless frameworkで管理
    ● フロントやDB系はAmplifyで管理
    ● バッチ処理やCI/CD、非機能まわり
    のリソースどうするか?

    View Slide

  14. 必要なAWSリソース
    これ以外も用意するリソースはまだあった...

    View Slide

  15. 入社歴が浅い人達ばかりで
    設計から構築含めて開発者でやる状況

    View Slide

  16. 誰がプロジェクトリーダーやるんだよ...

    View Slide

  17. 俺がヤる!!

    View Slide

  18. 何はともあれ
    4環境分のリソースをマネコンで用意するべ

    View Slide

  19. いざ作業!

    View Slide

  20. View Slide

  21. すっっっげぇ構築作業が大変(☝ ՞ਊ ՞)☝

    View Slide

  22. では、どうするべきか

    View Slide

  23. 2.タイトル回収

    View Slide

  24. 複数AWSアカウントに
    リソース構築する時
    どうしてますか?

    View Slide

  25. 選択肢は色々ある
    ● マネージメントコンソール
    ● CloudFormationでJSONかYAML
    ● AWS CLI
    ● AWS SDK
    ● TerraformやAnsibleなどの3rd party利用
    ● AWS CDK

    View Slide

  26. 今日はCDKのイベントでもあるので

    View Slide

  27. 1つの選択肢として
    CDK Pipelinesを活用せよ

    View Slide

  28. CDK Pipelinesとは?
    ● CodePipelinesを活用した継続的(CD)パイプライン
    ● ローカルからコマンドしてデプロイしなくて済む
    ● GithubやCodeCommitからコミットデプロイできる
    ● 使いまわしできるようにしておけば新規AWSアカウントにも流
    用可能
    ● デプロイに時間がかかる
    ● バージョン更新が早いため、保守メンテも早い

    View Slide

  29. 必要なAWS環境

    View Slide

  30. CDK Pipelinesを活用した実例

    View Slide

  31. CDK Pipelines使っていこうZE☆

    View Slide

  32. 使ったことあるよーって方(^o^)

    View Slide

  33. (・∀・)b イイネ!!

    View Slide

  34. 使ったことないよーって方(´・ω・`)

    View Slide

  35. 明日からやってみなはれ m9(・∀・)

    View Slide

  36. ここから実際に手順を説明

    View Slide

  37. 構築の流れ
    ● cdk initで雛形の作成(TypeScript, Pythonなど)
    ● コーディング
    ○ CDK用のCodePipelineスタック作成
    ○ 比較的作りやすいSQSやS3スタック作成
    ○ 1個以上のAWSリソースを定義しないとエラーになるので要注意
    ● cdk bootstrap
    ○ 初回時だけ、複数のAWSアカウントごとに実行
    ○ QA環境へbootstrapで作成したロールに、Dev環境のAssumeRoleを設定
    ○ bootstapで作成したIAMロールをkmsキーポリシーにも許可
    ● プッシュ or マージ
    ● cdk deploy

    View Slide

  38. パイプラインスタックでCodeCommit用意
    プロジェクトコードを格納するCodeCommitリポジトリ作成、npx cdk deploy

    View Slide

  39. これで土台が完了

    View Slide

  40. ステージ定義

    View Slide

  41. インフラリソース定義

    View Slide

  42. パイプラインの定義
    npm install aws-cdk-lib/pipelinesを実行しimportする

    View Slide

  43. ということで

    View Slide

  44. DEMO

    View Slide

  45. AWS構成

    View Slide

  46. 動画にて

    View Slide

  47. うおおおおお

    View Slide

  48. 3.結論

    View Slide

  49. 結論
    楽してAWS構築を済ませ
    開発に専念せよ

    View Slide

  50. リアルガチで

    View Slide

  51. 楽してAWS構築を済ませ、開発に専念せよ
    ● テンプレートのコードさせ用意してれば使いまわしできて次回も楽
    ● バージョンアップデートが早いため定期的にCheckしておく
    ● CDKは今回紹介できてない機能もまだまだあるので用途に応じて使う
    結論

    View Slide

  52. 今日の発表内容じゃわからないよー(*_*)
    他の言語の手順も知りたいよー(*_*)
    って方

    View Slide

  53. Don’t worry

    View Slide

  54. Workshopありますよ
    https://cdkworkshop.com/ja/

    View Slide

  55. CDK Pipelinesを活用することで
    構築作業が楽になる

    View Slide

  56. 最後に言いたいこと
    AWS CDKを使いこなし学び続けよ
    (※楽しみながら)

    View Slide

  57. 最高のCDK開発体験をしてみようZE☆

    View Slide


  58. View Slide