翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon SNS から毎日の使用状況レポートにサブスクライブすることによって、SMS 配信をモニタリングできます。1 つ以上の SMS メッセージを送信する日ごとに、Amazon SNS は、指定した Amazon S3 バケットに CSV ファイルとして使用状況レポートを配信します。SMS 使用状況レポートが Amazon S3 バケットで利用可能になるまでに 24 時間かかります。
毎日の使用状況レポートの情報
使用状況レポートには、アカウントから正常に配信した各 SMS メッセージに関する以下の情報が含まれています。
このレポートには、オプトアウトした受取人に送信されるメッセージは含まれない点に注意してください。
-
メッセージの発行時間 (UTC)
-
メッセージ ID
-
送信先電話番号
-
メッセージタイプ
-
配信ステータス
-
メッセージの価格 (USD)
-
パート番号 (1 通のメッセージとして長すぎる場合、メッセージは複数のパートに分割されます)
-
パートの総数
注記
Amazon SNS がパート番号を受け取らなかった場合は、その値をゼロに設定します。
毎日の使用状況レポートにサブスクライブする
毎日の使用状況レポートにサブスクライブするには、適切なアクセス権限を持つ Amazon S3 バケットを作成する必要があります。
毎日の使用状況レポート用の Amazon S3 バケットを作成するには
-
SMS メッセージを送信 AWS アカウント する から、Amazon S3 コンソール
にサインインします。 -
[バケットの作成] を選択します。
-
[バケット名] には、アカウントと組織で一意の名前を入力することをお勧めします。例えば、パターン
<my-bucket-prefix>-<account_id>-<org-id>
を使用します。バケット名に関する規則と制限については、『Amazon Simple Storage Service ユーザーガイド』の「バケットの命名規則」を参照してください。
-
[Create] (作成) を選択します。
-
[すべてのバケット]テーブルでバケットを選択します。
-
[Permissions] セクションで、[バケットポリシー] を選択します。
-
[バケットポリシーエディター] ウィンドウで、Amazon SNS サービスプリンシパルをバケットに書き込むことを許可するポリシーを指定します。例については、バケットポリシーの例を参照してください。
サンプルポリシーを使用する場合は、
my-s3-bucket
をステップ 3 で選択したバケット名に置き換えてください。 -
[保存] を選択します。
毎日の使用状況レポートにサブスクライブするには
-
Amazon SNS コンソール
にサインインします。 -
ナビゲーションパネルで、[テキストメッセージング (SMS)] を選択します。
-
[テキストメッセージング (SMS)] ページの [テキストメッセージングの設定] セクションで、[編集] を選択します。
-
[テキストメッセージングの設定の編集] ページの [詳細] セクションで、[使用状況レポートに使用する Amazon S3 バケット名] を指定します。
-
[Save changes] (変更の保存) をクリックします。
バケットポリシーの例
以下のポリシーは、Amazon SNS サービスプリンシパルにs3:PutObject
、s3:GetBucketLocation
および s3:ListBucket
アクションの実行を許可します。
AWS は、アカウント内のリソースへのアクセスが許可されているサービスプリンシパルを持つすべてのサービス用のツールを提供します。Amazon S3 バケットポリシーステートメントのプリンシパルが混乱した代理攻撃の問題にある場合。バケットが毎日の使用状況レポートを受信できるリージョンとアカウントを制限するには、以下の例のように aws:SourceArn
を使用します。これらのレポートを生成できるリージョンを制限したくない場合は、aws:SourceAccount
を使用して、レポートを生成しているアカウントに基づいて制限します。リソースの ARN が不明の場合は、aws:SourceAccount
を使用してください。
Amazon S3 バケットを作成して、Amazon SNS から毎日の SMS 使用状況レポートを受信する際に、混乱した代理保護を含む次の例を使用します。
{
"Version": "2008-10-17",
"Statement": [{
"Sid": "AllowPutObject",
"Effect": "Allow",
"Principal": {
"Service": "sns.amazonaws.com"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
"Condition": {
"StringEquals": {
"aws:SourceAccount": "account_id
"
},
"ArnLike": {
"aws:SourceArn": "arn:aws:sns:region
:account_id
:*"
}
}
},
{
"Sid": "AllowGetBucketLocation",
"Effect": "Allow",
"Principal": {
"Service": "sns.amazonaws.com"
},
"Action": "s3:GetBucketLocation",
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
"Condition": {
"StringEquals": {
"aws:SourceAccount": "account_id
"
},
"ArnLike": {
"aws:SourceArn": "arn:aws:sns:region
:account_id
:*"
}
}
},
{
"Sid": "AllowListBucket",
"Effect": "Allow",
"Principal": {
"Service": "sns.amazonaws.com"
},
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
"Condition": {
"StringEquals": {
"aws:SourceAccount": "account_id
"
},
"ArnLike": {
"aws:SourceArn": "arn:aws:sns:region
:account_id
:*"
}
}
}
]
}
注記
Amazon S3 ポリシーの Condition
エレメントで指定される AWS アカウント に所有される Amazon S3 バケットに使用状況レポートを発行できます。別の AWS アカウント が所有する Amazon S3 バケットに使用状況レポートを発行するには、「別の から Amazon S3 オブジェクトをコピーする方法を教えてください AWS アカウント。
毎日の使用状況レポートの例
毎日の使用状況レポートにサブスクライブすると、Amazon SNS は毎日、以下の場所に使用状況データを使用して CSV ファイルを配置します。
<my-s3-bucket>
/SMSUsageReports/<region>
/YYYY
/MM
/DD
/00x
.csv.gz
各ファイルには、最大 50,000 のレコードを含めることができます。1 日のレコードがこの限度を超えると、Amazon SNS は複数のファイルを追加します。レポートの例を以下に示します。
PublishTimeUTC,MessageId,DestinationPhoneNumber,MessageType,DeliveryStatus,PriceInUSD,PartNumber,TotalParts
2016-05-10T03:00:29.476Z,96a298ac-1458-4825-a7eb-7330e0720b72,1XXX5550100,Promotional,Message has been accepted by phone carrier,0.90084,0,1
2016-05-10T03:00:29.561Z,1e29d394-d7f4-4dc9-996e-26412032c344,1XXX5550100,Promotional,Message has been accepted by phone carrier,0.34322,0,1
2016-05-10T03:00:30.769Z,98ba941c-afc7-4c51-ba2c-56c6570a6c08,1XXX5550100,Transactional,Message has been accepted by phone carrier,0.27815,0,1