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

情シスがMA移行を乗り切るIaC。AWS CDKで楽できたあれこれを語りたい。

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

情シスがMA移行を乗り切るIaC。AWS CDKで楽できたあれこれを語りたい。

Avatar for SHINCHI, Takahiro

SHINCHI, Takahiro

December 15, 2023
Tweet

More Decks by SHINCHI, Takahiro

Other Decks in Technology

Transcript

  1. 2 自己紹介 • 情報システムグループ 情報システム室 コアシステムチーム(長い) ◦ 進地 崇裕(しんち たかひろ)

    • 仕事: 業務改善したり、営業支援したりな人 • 趣味: モンハン、尺八、ワンコと遊ぶ
  2. 8 AWS CDKの嬉しいところ 1. 5分で素のLambdaが作れる。 Role、EventBridgeのルールも簡単作成 2. コマンド一発でデプロイできる 3. バージョン管理できる。レビューもできる。

    4. CFnやServerless Frameworkは記述量が多くて 手が疲れる 5. 新しく↑の言語、記法を覚えなくてよろし。 学習コスト低い。採用しやすい。保守性向上。
  3. 12 カスタムAPIも爆速 API Gatewayと絡めてカスタムAPIの作成も 爆速でできた const lambdaIntegration = new LambdaIntegration(lambda);

    const apigw = new RestApi(this, "apigw", { restApiName: "apigw", deployOptions: { loggingLevel: MethodLoggingLevel.INFO, dataTraceEnabled: true, metricsEnabled: true, }, defaultCorsPreflightOptions: { allowOrigins: Cors.ALL_ORIGINS, allowMethods: Cors.ALL_METHODS, allowHeaders: Cors.DEFAULT_HEADERS, statusCode: 200, }, endpointTypes: [EndpointType.REGIONAL], cloudWatchRole: true });
  4. 13 Cognito連携も爆速 既存のCognitoユーザプールと繋いだりも 爆速でできた // 既存のユーザープールを使う const userPool = cognito.UserPool.fromUserPoolArn(

    this, 'ExistingUserPool', `arn:aws:cognito-idp:ap-northeast-1:${process.env.AWS_ACCOUNT_ID}:u serpool/${process.env.COGNITO_USER_POOL_ID}` ); // Cognitoのユーザープールにクライアントを追加 const userPoolClientName = 'companyAndContactLinkerUserPoolClient'; userPool.addClient(userPoolClientName, { userPoolClientName: userPoolClientName, authFlows: { userPassword: true }, });
  5. 14 まとめ AWS CDKで 1. Lambdaを爆速で用意できる 2. 学習コストを抑えて、保守性も向上できる 3. キータイピング量を抑えて腱鞘炎を回避できる

    環境構築とコーディングを爆速で終わらせて、要件整理、課題 整理、タスク整理、トラブルシューティング、会議などの重要な (楽しくない)仕事をバリバリこなしましょう