iT邦幫忙

2026 iThome 鐵人賽

DAY 19
0
Software Development

使用 Serverless 架構設計廣告點擊系統 系列 第 19 篇

Day 19: 把 API 的 Data Source 從 DynamoDB 換成 Aurora PostgreSQL(中)

  • 分享至 

  • xImage
  •  

新架構設計

改用 PostgreSQL 當成資料儲存空間, Lambda 的部分需要修改,可透過 RDS Data API 存取 Aurora PostgreSQL 。

CloudFormation IAM 設定調整

原本的 Lambda IAM policy(DynamoDB), 設定了對 DynamoDB 的 CRUD 權限。

Policies:
  - PolicyName: DynamoDBAccess
    PolicyDocument:
      Statement:
        - Effect: Allow
          Action:
            - dynamodb:PutItem
            - dynamodb:UpdateItem
            - dynamodb:GetItem
            - dynamodb:Query
            - dynamodb:Scan
          Resource: !GetAtt AdClickTable.Arn

因為要資料庫帳密放在 Secrets Manager 和要使用 RDS Data API 存取 Aurora PostgreSQL ,所以需要加上下面的權限。

Policies:
  - PolicyName: RDSDataAPIAccess
    PolicyDocument:
      Statement:
        - Effect: Allow
          Action:
            - rds-data:ExecuteStatement
            - rds-data:BatchExecuteStatement
            - rds-data:BeginTransaction
            - rds-data:CommitTransaction
            - rds-data:RollbackTransaction
          Resource: !GetAtt AuroraCluster.DBClusterArn
  - PolicyName: SecretsManagerAccess
    PolicyDocument:
      Statement:
        - Effect: Allow
          Action:
            - secretsmanager:GetSecretValue
            - secretsmanager:DescribeSecret
          Resource: !Ref DBSecret

今天就先說權限如何調整,明天再來說程式碼和測試。


上一篇
Day 18: 把 API 的 Data Source 從 DynamoDB 換成 Aurora PostgreSQL(上)
下一篇
Day 20: 把 API 的 Data Source 從 DynamoDB 換成 Aurora PostgreSQL(下)
系列文
使用 Serverless 架構設計廣告點擊系統 共 21 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言