A DIPROTECH COMPANY • R&D Centers in Hanoi & Tokyo
🇻🇳VI🇬🇧EN🇯🇵JA
お問い合わせ
AIPRO Logo
AIPROA DIPROTECH COMPANY
サービス
AI-PRO – AIソリューション & 機械学習WEB-PRO – エンタープライズWebシステムAPP-PRO – モバイルアプリ iOS & AndroidAWSコンソールマニュアル
導入実績
AI – 人工知能ソリューションWEB – エンタープライズWEBシステムAPP – モバイルアプリケーション
対応領域パートナーシップ採用情報AIPROの強み
AWSコンソール インフラ構築ランブック

AWSコンソール マニュアル Web Application Baseline Manual

このランブックは、AWSコンソールで1つのWebアプリケーションのベースラインAWSインフラを構築します。リージョン: ap-northeast-1(アジアパシフィック - 東京)。

引き継ぎ準備完了度0%
0 of 9 completed
マニュアル目次

ターゲットアーキテクチャ

AWSコンソールにおける単一Webアプリケーションのベースラインインフラ構成。

コンポーネント設定内容
リージョンap-northeast-1 (アジアパシフィック - 東京)
コンピューティングパブリックサブネット内の1つのUbuntu Server 24.04 LTS EC2インスタンス
パブリックアクセスEC2に直接関連付けられたElastic IP。TCP 22, 80, 443のインバウンドを許可
データベースパブリックサブネット内のパブリックアクセス可能なAmazon RDS for PostgreSQL 16。TCP 5432を開放
オブジェクトストレージ1つのS3バケット。public/* のみ匿名読み取り可能
EメールAmazon SESで検証されたアイデンティティとSMTP資格情報
ロードバランサー本ベースラインには含まれません。複数インスタンスやマネージドTLS終端が必要な場合のみALBを追加してください。

作業開始前に決定する値

myapp-prod のような一貫したアプリケーション接頭辞を使用してください。

項目例 / 必須値
アプリケーション接頭辞<APP>
VPC CIDR<VPC_CIDR>
パブリックサブネットCIDR<PUBLIC_SUBNET_A_CIDR> , <PUBLIC_SUBNET_C_CIDR>
EC2インスタンスタイプ<EC2_INSTANCE_TYPE>
EBSルートボリュームサイズ<EBS_GIB> GiB
DBインスタンスクラスおよびストレージ<DB_INSTANCE_CLASS>, <DB_STORAGE_GIB> GiB initial, <DB_MAX_STORAGE_GIB> GiB maximum
データベース名<DB_NAME>
SSH接続元CIDR<SSH_SOURCE_CIDR> ; 0.0.0.0/0
一意のS3バケット名<GLOBALLY_UNIQUE_BUCKET_NAME>
SES送信ドメインまたはEメール<SENDING_IDENTITY>

必要なコンソール権限

作業を開始する前に、クライアントから提供されたIAMユーザーに以下の3つのインラインポリシーを付与します。これらは構築作業およびAWSコンソール表示に必要な権限をカバーします。<APP>-infrastructure-provisioning, <APP>-iam-provisioning, <APP>-ses-support-provisioning として作成します。<ACCOUNT_ID>、<APP>、<PROVISIONING_IAM_USER>、<GLOBALLY_UNIQUE_BUCKET_NAME> を先に置き換えてください。

<APP>-infrastructure-provisioning<APP>-iam-provisioning<APP>-ses-support-provisioning
プロビジョニングポリシーに関する重要な注意

これらは構築用ポリシーであり、アプリケーション用ポリシーではありません。ap-northeast-1でのリソース作成のみを許可します(IAMおよびS3などのグローバルサービスを除く)。一部の作成アクションはリソースレベルの権限をサポートしていないため、それらのリソースは * のままにする必要があります。引き継ぎ完了後に削除してください。

<APP>-infrastructure-provisioning.json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "cloudwatch:GetMetricData",
      "Resource": "*",
      "Condition": {
        "StringEquals": { "aws:RequestedRegion": "ap-northeast-1" }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:Describe*",
        "ec2:GetConsole*",
        "rds:Describe*",
        "rds:ListTagsForResource"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": { "aws:RequestedRegion": "ap-northeast-1" }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetAccountPublicAccessBlock",
        "s3:ListAllMyBuckets"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetBucket*",
        "s3:ListBucket"
      ],
      "Resource": "arn:aws:s3:::<GLOBALLY_UNIQUE_BUCKET_NAME>"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject"
      ],
      "Resource": "arn:aws:s3:::<GLOBALLY_UNIQUE_BUCKET_NAME>/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:CreateVpc",
        "ec2:ModifyVpcAttribute",
        "ec2:CreateSubnet",
        "ec2:ModifySubnetAttribute",
        "ec2:CreateInternetGateway",
        "ec2:AttachInternetGateway",
        "ec2:CreateRouteTable",
        "ec2:AssociateRouteTable",
        "ec2:CreateRoute",
        "ec2:CreateSecurityGroup",
        "ec2:AuthorizeSecurityGroupIngress",
        "ec2:AuthorizeSecurityGroupEgress",
        "ec2:CreateTags"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": { "aws:RequestedRegion": "ap-northeast-1" }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:CreateKeyPair",
        "ec2:RunInstances",
        "ec2:AllocateAddress",
        "ec2:AssociateAddress",
        "ec2:ModifyVolume",
        "ec2:StartInstances",
        "ec2:StopInstances",
        "ec2:RebootInstances",
        "ec2:CreateTags"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": { "aws:RequestedRegion": "ap-northeast-1" }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "kms:DescribeKey",
        "kms:ListAliases"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "kms:CreateGrant",
      "Resource": "arn:aws:kms:ap-northeast-1:<ACCOUNT_ID>:key/*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "kms:ViaService": [
            "ec2.ap-northeast-1.amazonaws.com",
            "rds.ap-northeast-1.amazonaws.com"
          ]
        },
        "Bool": { "kms:GrantIsForAWSResource": "true" }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "kms:DescribeKey",
        "kms:GenerateDataKeyWithoutPlaintext"
      ],
      "Resource": "arn:aws:kms:ap-northeast-1:<ACCOUNT_ID>:key/*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "kms:ViaService": [
            "ec2.ap-northeast-1.amazonaws.com",
            "rds.ap-northeast-1.amazonaws.com"
          ]
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "rds:CreateDBSubnetGroup",
        "rds:CreateDBParameterGroup",
        "rds:CreateDBInstance",
        "rds:ModifyDBParameterGroup",
        "rds:ModifyDBInstance",
        "rds:StartDBInstance",
        "rds:StopDBInstance",
        "rds:RebootDBInstance",
        "rds:AddTagsToResource"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": { "aws:RequestedRegion": "ap-northeast-1" }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:CreateBucket",
        "s3:PutBucketOwnershipControls",
        "s3:PutBucketVersioning",
        "s3:PutEncryptionConfiguration",
        "s3:PutBucketPublicAccessBlock",
        "s3:PutBucketPolicy",
        "s3:PutBucketCors"
      ],
      "Resource": [
        "arn:aws:s3:::<GLOBALLY_UNIQUE_BUCKET_NAME>",
        "arn:aws:s3:::<GLOBALLY_UNIQUE_BUCKET_NAME>/*"
      ]
    }
  ]
}

AWSマネージドポリシーによる代替案

上記のインラインポリシーの維持が1回限りのセットアップに対して過剰な場合、一時的に以下のAWSマネージドポリシーをアタッチできます:

手動ワークフロー対応するAWSマネージドポリシー
VPC、サブネット、ルートテーブル、セキュリティグループAmazonVPCFullAccess
キーペア、EC2インスタンス、EBS、Elastic IPAmazonEC2FullAccess
RDSサブネットグループ、パラメータグループ、データベースAmazonRDSFullAccess
S3バケット、ポリシー、暗号化、バージョニング、CORS、オブジェクト管理AmazonS3FullAccess
アプリケーションIAMユーザー/アクセスキーおよびSES SMTP IAMユーザーIAMFullAccess
IAM Access Analyzerによるポリシー検証IAMAccessAnalyzerFullAccess
RDSコンソールのメトリクスCloudWatchReadOnlyAccess
SESアイデンティティと本番アクセスリクエストAmazonSESFullAccess
SESクォータ引き上げおよびAWSサポートケース起票ServiceQuotasFullAccess , AWSSupportAccess

AdministratorAccessは便利な単一ポリシー代替案ですが、上記すべてを合わせたものより広い権限を持ちます。稼働中のアプリケーションに付与しないでください。引き渡し後にプロビジョニングユーザーからデタッチしてください。後で作成されるアプリケーションIAMユーザーは、以下に示すS3ポリシーのみを受け取ります。

インラインポリシーのKMS権限は、意図的にAWS管理ポリシーに置き換えられていません。アカウントがデフォルトのEBSおよびRDSキーの代わりにカスタマー管理KMSキーを必要とする場合、KMSキー管理者はKMSキーポリシーでこのユーザーも許可する必要があります。広範なKMS管理ポリシーをアタッチして補完しないでください。

RDS作成時に拡張モニタリングを有効にする場合は、Create new role を選択し、名前を `rds-monitoring-role` にします。信頼されたエンティティは `monitoring.rds.amazonaws.com` であり、`AmazonRDSEnhancedMonitoringRole` を使用する必要があります。IAMプロビジョニングポリシーは、その名前のロールのみを作成、読み取り、および渡し(pass)、そのAWS管理ポリシーのみをアタッチできます。

詳細権限マッピング

手動操作対応する作成/設定権限
VPC、サブネット、インターネットゲートウェイ、ルート、セキュリティグループec2:CreateVpc , CreateSubnet , CreateInternetGateway , AttachInternetGateway , CreateRouteTable , AssociateRouteTable , CreateRoute , CreateSecurityGroup 、インバウンド/アウトバウンド許可、および必要なVPC/サブネット変更とタグ
SSHキーペア、EC2インスタンス/EBS、Elastic IPec2:CreateKeyPair , RunInstances , AllocateAddress , AssociateAddress , EBSリサイズ用 ModifyVolume , StartInstances , StopInstances , RebootInstances 、およびタグ
暗号化されたEBSおよびRDSリソースコンソールでデフォルトキーを確認。東京のEC2またはRDS経由のみでのグラントおよびデータキーの使用
RDSサブネットグループ、パラメータグループ、データベースサブネットグループ、パラメータグループ、DBインスタンスの作成。ストレージサイズを含む変更、起動・停止・再起動、リソースタグの追加、および未存在時のみのRDSサービス連動ロールの作成
S3バケット、パブリックプレフィックスポリシー、CORS、オブジェクト管理s3:CreateBucket 、オブジェクト所有権、バージョニング、暗号化、パブリックアクセスブロック、バケットポリシー、CORS、および s3:GetObject , s3:PutObject , s3:DeleteObject
アプリケーションS3ユーザー/アクセスキーおよびSES SMTPユーザーS3/SMTPユーザーとアクセスキーの作成。 <APP>-s3-bucket-access のみを作成して <APP>-s3-user にアタッチ。 AWSSESSendingGroupDoNotRename のみを作成・設定し、生成されたSMTPユーザーのみをそのグループに追加
オプションのRDS拡張モニタリングロールIAMユーザー/グループ/ロールおよびマネージドポリシーの作成・一覧表示。 rds-monitoring-role のみの読み取り・パス、および AmazonRDSEnhancedMonitoringRole のみのアタッチ
RDSコンソールのメトリクス東京リージョンでの cloudwatch:GetMetricData
SES設定セット、アイデンティティ、DKIM、本番アクセスses:CreateConfigurationSet , CreateEmailIdentity , PutEmailIdentityDkimAttributes 、および PutAccountDetails
SESクォータ引き上げおよびサポートケース起票Service Quotasの読み取り/リクエスト操作。AWS Supportケースの作成、閲覧、返信
01

1. ネットワークの作成

  1. ap-northeast-1 で VPC を開き、[VPC を作成] を選択します。
  2. [VPC など] を選択し、以下の設定を使用します:
SettingValue
Name tag auto-generation<APP>
IPv4 CIDR block<VPC_CIDR>
Number of Availability Zones2
Number of public subnets2
Public subnet CIDRs<PUBLIC_SUBNET_A_CIDR> , <PUBLIC_SUBNET_C_CIDR>
Number of private subnets0
NAT gatewaysNone
VPC endpointsNone (do not create an S3 endpoint)
DNS optionsKeep Enable DNS hostnames and Enable DNS resolution selected
  1. VPCを作成します。各パブリックルートテーブルに Internet Gateway への 0.0.0.0/0 ルートがあることを確認します。
  2. サブネットで、パブリックサブネットを <APP>-public-a および <APP>-public-c に名前変更します。
  3. 両方のサブネットで [パブリック IPv4 アドレスの自動割り当て] が有効であることを確認します。

セキュリティグループの作成

  1. EC2 > セキュリティグループ > セキュリティグループの作成 を開きます。
  2. <APP>-ec2-sg を作成し、インバウンドルール(SSH 22, HTTP 80, HTTPS 443)を設定します。
TypeProtocolPortSource
SSHTCP22<SSH_SOURCE_CIDR>
HTTPTCP800.0.0.0/0 and ::/0
HTTPSTCP4430.0.0.0/0 and ::/0
  1. デフォルトのアウトバウンドルール(全許可)を維持します。
  2. <APP>-rds-sg を作成し、PostgreSQL (TCP 5432, ソース 0.0.0.0/0) のインバウンドルールを追加します。
Output Record

VPC ID、パブリックサブネットID、両方のセキュリティグループIDを記録します。

注: SSH や PostgreSQL を 0.0.0.0/0 に開放することは推奨されません。PostgreSQLルールはこのデータベースをインターネットに意図的に公開します。可能な限り固定IPに制限してください。
02

2. SSHキーペアの作成

  1. EC2 > キーペア で [キーペアを作成] を選択します。
  2. 名前を <APP>-ec2-key とし、ED25519 および .pem を選択して作成します。
  3. 秘密鍵をすぐにダウンロードし、所有者情報と復旧情報とともに承認されたシークレットストアに保存します。AWSは再ダウンロードできません。
Output Record

キーペア名と .pem ファイルの保存場所を記録します。コードリポジトリにコミットしたり、共有ストレージに置いたりしないでください。

03

3. EC2の起動とElastic IPの割り当て

  1. EC2 > インスタンス で [インスタンスを起動] を選択します。
  2. インスタンス名を <APP>-web-1 とします。
  3. Ubuntu Server 24.04 LTS を選択します。
  4. <EC2_INSTANCE_TYPE>、<APP>-ec2-key キーペア、VPC <APP>-vpc を選択します。
  5. パブリックサブネットを選択し、<APP>-ec2-sg を選択します。
  6. ルートEBSボリュームを <EBS_GIB> GiB (gp3, 暗号化有効) に設定して起動します。
  7. ステータスチェックが通過したら、インスタンスIDを記録します。
  8. EC2 > Elastic IP > Elastic IP アドレスの割り当て でIPを取得します。
  9. <APP>-web-1 に Elastic IP を関連付けます。
Output Record

インスタンスID、AZ、Elastic IP 割り当てID、IPアドレスを記録します。

注: Elastic IP は自動で割り当てられた一時的なパブリック IPv4 アドレスを置き換えます。未使用の Elastic IP は課金対象となります。一時的なパブリック IP を DNS やアプリケーションの設定に使用しないでください。
04

4. RDSでPostgreSQL 16を作成

DBサブネットグループの作成

  1. RDS > サブネットグループ で作成します。
  2. <APP>-db-subnets と命名し、2つのAZのパブリックサブネットを追加します。
  3. サブネットグループを作成します。

パラメータグループの作成

  1. RDS > パラメータグループ で作成します。
  2. PostgreSQL, postgres16 ファミリーを選択し、<APP>-postgres16-parameters と命名します。
  3. パラメータグループを作成します。
  4. 編集で rds.force_ssl を 0 に変更して保存します。PostgreSQL 16はこのパラメータをデフォルトで 1 に設定しています。0 に設定すると非SSL接続が許可されます。
注: 以下のデータベース作成時にこのパラメータグループを選択してください。これにより、初期化時に設定済みの rds.force_ssl 値が適用され、後からのDB変更と再起動を回避できます。アタッチ後にグループを変更する場合、静的パラメータの変更には再起動が必要です。パブリックデータベースで非SSL接続を許可すると、データベーストラフィックが傍受される危険性があります。具体的な互換性の要件がない限り、SSLを使用してください。

データベースの作成

  1. RDS > データベース > データベースの作成 を開きます。
  2. 標準作成、PostgreSQL、およびエンジンバージョン PostgreSQL 16 を選択します。
  3. 環境に応じたテンプレートを選択します。本番環境では、可用性の要件と予算が許す場合にのみマルチAZを有効にしてください。
  4. DBインスタンス識別子を <APP>-postgres16 に、マスターユーザー名を <DB_MASTER_USERNAME> に設定します。「パスワードを自動生成」を選択し、RDSに表示された生成済みマスターパスワードを承認されたシークレットストアにコピーします。このマニュアルやソース管理にパスワードを保存しないでください。
  5. DBインスタンスクラスを <DB_INSTANCE_CLASS> に設定します。ストレージで General Purpose SSD (gp3) を選択し、割り当てストレージを <DB_STORAGE_GIB> GiB に設定して、ストレージの暗号化を有効にします。ストレージの自動スケーリングを有効にし、予想される成長と予算に合わせて最大ストレージしきい値を <DB_MAX_STORAGE_GIB> GiB に設定します。
  6. 接続で、<APP>-vpc、<APP>-db-subnets、パブリックアクセス: あり、および既存のセキュリティグループ <APP>-rds-sg を選択します。デフォルトのセキュリティグループが自動的に追加された場合は削除します。
  7. 追加設定を展開し、DBパラメータグループとして <APP>-postgres16-parameters を選択します。アプリケーションで必要な場合は、最初のデータベース名を <DB_NAME> に設定します。
  8. 本番環境では自動バックアップと削除保護を有効にします。見積もりコストを確認し、データベースを作成します。
  9. 作成プロセスが終了し、DBインスタンスのステータスが利用可能になるまで待ちます。完了ページで「接続の詳細を表示」を選択し、エンドポイントとポートを記録します。完了ページを閉じてしまった場合は、DBインスタンスを開き、代わりに「接続とセキュリティ」タブを使用してください。
Output Record

DB識別子、エンドポイント、ポート 5432、DB名、マスターユーザー名を記録します。

Service Linked Role トラブルシューティング

IAMポリシーに iam:CreateServiceLinkedRole が許可されていることを確認してください。

注: RDSエンドポイントはTCP 5432でパブリックアクセス可能です。本番環境では接続元を制限してください。
05

5. S3バケットとアプリケーション資格情報の作成

バケットの作成

  1. S3 > バケット で作成します。
  2. 名前を <GLOBALLY_UNIQUE_BUCKET_NAME> とし、ap-northeast-1 を選択します。
  3. オブジェクト所有権を [ACL無効] に維持します。
  4. アップロードの復元が必要な場合はバージョニングを有効のままにします。デフォルト暗号化を有効にします。
  5. [ブロックパブリックアクセス設定] で、パブリックバケットポリシーを妨げる設定のみ解除します: [新しいパブリックバケットポリシーまたはアクセスポイントポリシーを介してバケットとオブジェクトへのパブリックアクセスをブロックする] と [任意のパブリックバケットポリシーまたはアクセスポイントポリシーを介したバケットとオブジェクトへのパブリックアクセスおよびクロスアカウントアクセスをブロックする]。
  6. public/ 配下のオブジェクトが公開されることを確認してバケットを作成します。アカウントレベルのブロックパブリックアクセスが妨げる場合は、アカウント管理者がその設定を変更するかプライベート代替案を使用する必要があります。

パブリックプレフィックスバケットポリシーの追加

  1. バケットの [アクセス許可] タブ > [バケットポリシー] > [編集] を開きます。
  2. <GLOBALLY_UNIQUE_BUCKET_NAME> を置き換えてこのポリシーを保存します:
S3 Public-Prefix Bucket Policy
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "PublicReadOnlyForPublicPrefix",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::<GLOBALLY_UNIQUE_BUCKET_NAME>/public/*"
    }
  ]
}

CORS ルールの追加

  1. バケットの [アクセス許可] タブ > [Cross-origin resource sharing (CORS)] > [編集] を開きます。
  2. この設定を保存します:
S3 CORS Configuration
[
  {
    "AllowedHeaders": ["*"],
    "AllowedMethods": ["GET", "PUT", "POST", "DELETE", "HEAD"],
    "AllowedOrigins": ["*"],
    "ExposeHeaders": [],
    "MaxAgeSeconds": 3000
  }
]

アプリケーションIAMユーザーの作成

  1. IAM > ユーザー > ユーザー作成 で <APP>-s3-user を作成します。
  2. マネジメントコンソールアクセスは無効にします。
  3. IAM > ポリシー > ポリシー作成 でJSONを入力します。
  4. バケット名を置き換え、<APP>-s3-bucket-access としてこのカスタマー管理ポリシーを作成します:
Application S3 Bucket IAM Policy
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ListThisBucketOnly",
      "Effect": "Allow",
      "Action": "s3:ListBucket",
      "Resource": "arn:aws:s3:::<GLOBALLY_UNIQUE_BUCKET_NAME>"
    },
    {
      "Sid": "ManageObjectsInThisBucketOnly",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject"
      ],
      "Resource": "arn:aws:s3:::<GLOBALLY_UNIQUE_BUCKET_NAME>/*"
    }
  ]
}
  1. <APP>-s3-user に戻り、[アクセス許可の追加] > [ポリシーを直接アタッチする] を選択し、<APP>-s3-bucket-access を選択してアクセス許可を追加します。
  2. ユーザーの [セキュリティ認証情報] タブ > [アクセスキーを作成] を開きます。求められた場合は [AWS の外部で実行されるアプリケーション] を選択し、確認を行ってキーを作成します。
  3. CSVをダウンロードするか、アクセスキーIDとシークレットアクセスキーを承認されたシークレットストアにコピーします。シークレットアクセスキーは一度のみ表示されます。
Output Record

バケット名、ARN、ユーザーARN、アクセスキーIDを記録します。シークレットキーはチケット、チャット、またはソース管理に記録または送信しないでください。

注: CORSルールはどのウェブサイトからもブラウザリクエストを許可します。CORSは認証ではありません。バケットポリシーが public/* の匿名読み取りを許可します。アプリケーションのドメインが確定したら、許可するオリジンリストを限定してください。
06

6. Amazon SESの設定

  1. ap-northeast-1 の Amazon SES > アイデンティティの作成 を開きます。
  2. [ドメイン] を選択して <SENDING_IDENTITY> を入力します。SESが示すDNS検証レコードをドメインのDNSプロバイダーに追加します。DKIMを有効にしてすべてのDKIM CNAMEレコードを追加します。
  3. アイデンティティのステータスが [検証済み] になるまで待ちます。送信ドメインを検証できない場合のみ、メールアドレス形式のアイデンティティが使用できます。
  4. SESで [アカウントダッシュボード] を開き、[本番環境アクセスのリクエスト] を選択します。実際の送信ユースケース、ウェブサイト、メールの種類、予想送信量、バウンス/苦情処理、オプトアウトプロセスを記入します。未検証の受信者への送信前に承認を待ちます。
  5. [SMTP設定] > [SMTP認証情報の作成] を開きます。IAMユーザーを <APP>-ses-smtp と命名し、作成してSMTPユーザー名とパスワードをダウンロードします。
Output Record

検証済みアイデンティティ、DNSレコード完了ステータス、SES本番アクセスステータス、ap-northeast-1のSMTPエンドポイント、SMTPユーザー名、SMTPパスワードのシークレットストア参照を記録します。

⚠️ 本番アクセス申請時の注意事項

AWS Supportがユースケースを明確に確認できるよう、実用的な場合は英語で本番アクセスリクエストを送信してください。承認は、申請言語だけでなく、送信ユースケース、コンプライアンス、バウンス/クレーム処理情報の品質と正当性によって異なります。SMTP資格情報はリージョン固有です。S3 IAMアクセスキーとは別に保管し、アクセス権のあるオペレーターがプロジェクトを離れる際にローテーションしてください。

最終引き継ぎチェックリスト

インフラ引き継ぎ前のインタラクティブ確認項目

全体の完了状況0% (0/9)
VPCと2つのパブリックサブネットが ap-northeast-1 に存在し、DBサブネットグループが両方を使用している。
EC2のステータスチェックが通過し、Elastic IPが割り当てられている。
EC2セキュリティグループで 22, 80, 443 のみが開放されている。
RDS PostgreSQL 16 がパブリックアクセス可能で、5432が許可されている。
RDSエンドポイントと資格情報がシークレットストアに安全に保存されている。
S3の public/ 以下のURLが匿名読み取り可能で、それ以外は読み取れない。
S3 IAMユーザーが割り当てられたバケットのみアクセスできる。
SESアイデンティティが検証済みで、SMTP資格情報が記録されている。
すべての秘密鍵、DBパスワード、アクセスキー、SMTPパスワードがシークレットストアにのみ存在する。
AWS エンタープライズ クラウドインフラ

AWS アーキテクチャの設計・自動化をご検討ですか?

AIPROのシニアCloud & DevOpsエンジニアが、高信頼・低コスト・高セキュリティなインフラを構築します。

クラウド無料相談を予約する
AIPRO Logo
AIPROA DIPROTECH COMPANY

AIPROは要件定義・企画コンサルティングから設計・開発、24時間365日の保守運用までワンストップで支援するシステム開発パートナーです。

ISO/IEC 27001情報セキュリティ & NDA準拠

法人番号: 0110336299 | R&Dセンター: ベトナム・ハノイ & 日本・東京

DIPROエコシステムの一員DIPRO-TECH

主要サービス

  • AI-PRO – AI開発 & システム統合
  • WEB-PRO – エンタープライズWebシステム
  • APP-PRO – クロスプラットフォームアプリ

ナビゲーション

  • 導入実績
  • 対応領域
  • パートナーシップ
  • 採用情報
  • AIPROの強み
  • お問い合わせ

お問い合わせ先

  • 本社: ベトナム、ハノイ市、カウザイ区、ジックボンハウ通り82番路地7番
  • ホットライン: 0367 690 812
  • メール: hr@aipro-vn.com

© 2026 AIPRO Enterprise Technology JSC. All rights reserved.

プライバシーポリシー•利用規約•マップ