翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
前提条件
AWS を使用してセットアップする前に AWS CLI、Amazon S3 バケット、Amazon SNS トピック、および前提条件としてポリシーがアタッチされた IAM ロールを作成する必要があります。その後、を使用してのバケット、 AWS CLI トピック、およびロールを指定できます。 AWS Config次の手順に従って、 AWS Configの前提条件をセットアップします。
Amazon S3 バケットを作成する
アカウントに Amazon S3 バケットが既にあり、それを使用する場合は、このステップをスキップして Amazon SNS トピックを作成する に進んでください。
バケットを作成するには
Amazon S3 コンソール (https://console.aws.amazon.com/s3/
) を開きます。 -
[バケットの作成] を選択します。
-
[バケット名] に、バケットの DNS に準拠する名前を入力します。
バケット名には次の条件があります。
-
すべての Amazon S3 で一意にする。
-
3~63 文字で指定する。
-
大文字を含めないでください。
-
先頭の文字には小文字の英文字または数字を使用する。
バケットを作成したら、その名前を変更することはできません。バケット名は、Amazon S3 の既存のバケット名と重複しないように指定してください。バケットの命名ルールと変換の詳細については、「Amazon Simple Storage Service デベロッパーガイド」のバケットの制約と制限を参照してください。
重要
バケット名には機密情報を含めないでください。バケット名は、バケット内のオブジェクトを参照する URL に表示されます。
-
-
[Region] で、 AWS バケットを配置したいリージョンを選択します。
レイテンシーとコストを最小化するため、さらに規制条件に対応するために、最寄りのリージョンを選択します。明示的に別のリージョンに移動する場合を除き、特定のリージョンに保管されたオブジェクトは、そのリージョンから移動されることはありません。Amazon S3 AWS リージョンのリストについては、の「AWS サービスエンドポイント」を参照してください。Amazon Web Services 全般のリファレンス
-
ブロックパブリックアクセスのバケット設定 で、バケットに適用するパブリックアクセスブロック設定を選択します。
パブリックウェブサイトをホスティングする場合など、ユースケースでオフにする必要のある設定が 1 つ以上あることがわかっている場合を除いて、すべての設定を有効にしておくことをお勧めします。バケットに対して有効にしたパブリックアクセスブロック設定は、バケットに作成するすべてのアクセスポイントに対しても有効になります。パブリックアクセスのブロックの詳細については、「Amazon Simple Storage Service 開発者ガイド」の「Amazon S3 パブリックアクセスブロックの使用」を参照してください。
-
(オプション) S3 オブジェクトロックを有効にする場合:
-
[詳細設定] を選択し、表示されるメッセージを読みます。
重要
バケットに対する S3 オブジェクトロックは、バケットの作成時にのみ有効にできます。バケットに対してオブジェクトロックを有効にした場合、後で無効にすることはできません。バケットに対してオブジェクトロックを有効にすると、バージョニングも有効になります。バケットに対してオブジェクトロックを有効にした後、バケット内のオブジェクトを保護するには、オブジェクトロック設定を定義する必要があります。オブジェクトの保護の設定の詳細については、「Amazon S3 コンソールを使用した S3 オブジェクトロックの設定」を参照してください。
-
オブジェクトロックを有効にする場合は、テキストボックスに「enable」と入力し、[確認] を選択します。
S3 オブジェクトロック機能の詳細については、「Amazon Simple Storage Service 開発者ガイド」の「Amazon S3 オブジェクトロックを使用したオブジェクトのロック」を参照してください。
-
-
[バケットを作成] を選択します。
AWS SDK を使用してバケットを作成する場合は、クライアントを作成し、そのクライアントを使用してバケットを作成するリクエストを送信する必要があります。ベストプラクティスとして、クライアントとバケットを同じ AWS リージョンで作成する必要があります。クライアントまたはバケットの作成時にリージョンを指定しない場合、Amazon S3 ではデフォルトのリージョンである米国東部 (バージニア北部) が使用されます。
デュアルスタックのエンドポイントにアクセスするクライアントを作成するには、を指定する必要があります。 AWS リージョン詳細については、Amazon S3 デュアルスタックのエンドポイントを参照してください。使用可能なリストについては AWS リージョン、の「リージョンとエンドポイント」を参照してください。AWS 全般のリファレンス
クライアントを作成すると、リージョンはリージョン固有のエンドポイントにマッピングされます。クライアントは、このエンドポイントを使用して Amazon S3 と通信します。s3.
。リージョンがローンチされたのが 2019 年 3 月 20 日以降である場合は、クライアントとバケットは同じリージョン内にある必要があります。2019 年 3 月 20 日以前にローンチされたリージョンの場合は、米国東部 (バージニア北部) のリージョンでクライアントを使用することによりバケットを作成できます。詳細については、「レガシーエンドポイント」を参照してください。<region>
.amazonaws.com
AWS これらの SDK コード例は次のタスクを実行します。
-
AWS リージョンを明示的に指定してクライアントを作成する - この例では、クライアントは
s3.us-west-2.amazonaws.com
エンドポイントを使用して Amazon S3 と通信します。任意の AWS リージョンを指定できます。の一覧については AWS リージョン、『AWS ジェネラルリファレンス』の「リージョンとエンドポイント」を参照してください。 -
バケット名のみを指定してバケット作成リクエストを送信する - クライアントが Amazon S3 にリクエストを送信し、クライアントが作成されたリージョンにバケットを作成します。
-
バケットの場所情報を取得する - Amazon S3 が、バケットの場所情報を、そのバケットに関連付けられている場所のサブリソースに保存します。
AWS Command Line Interface (AWS CLI) を使用して S3 バケットを作成することもできます。詳細については、「AWS CLI コマンドリファレンス」の「create-bucket」を参照してください。
の詳細については AWS CLI、「What is the AWS Command Line Interface?」を参照してください。 『AWS Command Line Interface ユーザガイド』の。
注記
別のアカウントの Amazon S3 バケットを使用することもできますが、 AWS Configに対してアクセス許可を付与するバケットポリシーの作成が必要になる場合があります。Amazon S3 バケットへのアクセス許可を付与する方法については、AWS Config 配信チャネルの Amazon S3 バケットのアクセス許可 と Amazon SNS トピックを作成する を順に参照してください。
Amazon SNS トピックを作成する
アカウントに Amazon SNS トピックが既にあり、それを使用する場合は、このステップをスキップして「IAM ロールの作成」に進んでください。
Amazon SNS トピックを作成するには
Amazon SNS コンソール (https://console.aws.amazon.com/sns/v3/home
) を開きます。 -
次のいずれかを行います。
-
これまでにトピックを作成したことがない場合は、ホームページの Amazon SNS の説明をお読みください。 AWS アカウント
-
AWS アカウント 以前にトピックを作成したことがある場合は、ナビゲーションパネルで [Topics] を選択します。
-
-
[トピック] ページで、[トピックの作成] を選択します。
-
[サブスクリプションの作成] ページで [詳細] セクションで、以下を実行します。
-
[タイプ] で、トピックタイプ (標準またはFIFO) を選択します。
-
トピックの名前を入力します。FIFO トピックで、名前の末尾に .fifo を追加します。
-
(オプション) トピックの表示名を入力します。
-
(オプション) FIFO トピックで、[コンテンツベースのメッセージ重複排除] を選択して、デフォルトのメッセージの重複排除を有効にします。詳細については、「FIFO トピックのメッセージ重複除外」を参照してください。
-
-
(オプション) [暗号化] セクションを展開し、以下の操作を実行します。詳細については、「保管時の暗号化」を参照してください。
-
[暗号化の有効化] を選択します。
-
カスタマーマスターキー (CMK) を指定します。詳細については、重要な用語を参照してください。
CMK タイプごとに、[説明]、[アカウント]、および [CMK ARN] が表示されます。
重要
CMK の所有者ではない場合、または
kms:ListAliases
およびkms:DescribeKey
アクセス権限がないアカウントでログインしている場合、Amazon SNS コンソールで CMK に関する情報は表示できません。CMK の所有者に、これらのアクセス権限を付与するよう依頼します。詳細については、「AWS Key Management Service デベロッパーガイド」の「AWS KMS API アクセス権限: アクションとリソースのリファレンス」を参照してください。
-
Amazon SNS (デフォルト) エイリアス/AWS/SNS AWS 用のマネージド CMK がデフォルトで選択されています。
注記
以下に留意してください。
-
初めてを使用してトピックの AWS Management Console Amazon SNS AWS のマネージド CMK AWS KMS を指定すると、Amazon SNS AWS 用のマネージド CMK が作成されます。
-
または、SSE
Publish
が有効になっているトピックで初めてアクションを使用するときに、Amazon SNS AWS 用のマネージド CMK AWS KMS を作成します。
-
-
AWS アカウントからカスタム CMK を使用するには、カスタマーマスターキー (CMK) フィールドを選択し、リストからカスタム CMK を選択します。
注記
カスタム CMK の作成手順については、「AWS Key Management Service デベロッパーガイド」の「キーの作成」を参照してください。
-
AWS AWS 自分のアカウントまたは別のアカウントのカスタム CMK ARN を使用するには、それを [カスタマーマスターキー (CMK)] フィールドに入力します。
-
-
-
(オプション) デフォルトでは、トピックの所有者のみがトピックを発行またはサブスクライブできます。追加のアクセス許可を設定するには、[アクセスポリシー] セクションを展開します。詳細については、「Amazon SNS におけるアイデンティティとアクセス管理」および「Amazon SNS のアクセス制御のケース例」を参照してください。
注記
コンソールを使用してトピックを作成すると、デフォルトのポリシーでは
aws:SourceOwner
条件キーが使用されます。このキーはaws:SourceAccount
に類似しています。 -
(オプション) 失敗したメッセージ配信試行を Amazon SNS で再試行する方法を設定するには、[配信再試行ポリシー (HTTP/S)] セクションを展開します。詳細については、「Amazon SNS メッセージ配信の再試行」を参照してください。
-
(オプション) Amazon SNS がメッセージの配信を記録する方法を設定するには CloudWatch、[配信ステータスロギング] セクションを展開します。詳細については、「メッセージの配信ステータスの Amazon SNS アプリケーション属性を使用する」を参照してください。
-
(オプション) トピックにメタデータタグを追加するには、[タグ] セクションを展開し、[キー] と [値] (オプション) に入力し、[タグの追加] を選択します。詳細については、「Amazon SNS トピックのタグ付け」を参照してください。
-
[Create topic] (トピックの作成) を選択します。
トピックが作成され、
MyTopic
ページが表示されます。トピックの名前、ARN、(オプション) 表示名、およびトピックの所有者の AWS アカウント ID が [Details] (詳細) セクションに表示されます。
-
トピック ARN をクリップボードにコピーします。例:
arn:aws:sns:us-east-2:123456789012:MyTopic
E メールアドレスを Amazon SNS トピックにサブスクライブするには
Amazon SNS コンソール (https://console.aws.amazon.com/sns/v3/home
) を開きます。 -
左のナビゲーションペインで、[サブスクリプション] を選択します。
-
[サブスクリプション] ページで [サブスクリプションの作成] を選択します。
-
[サブスクリプションの作成] ページで [詳細] セクションで、以下を実行します。
-
[トピック ARN] は、トピックの Amazon リソースネーム (ARN) を選択します。
-
[プロトコル] でエンドポイントタイプを選択します。使用可能なエンドポイントタイプは次のとおりです。
-
注記
SNS FIFO トピックにサブスクライブするには、このオプションを選択します。
-
[エンドポイント] に、エンドポイント値 (E メールアドレスや Amazon SQS キューの ARN など) を入力します。
-
Firehose エンドポイントのみ:サブスクリプションロール ARN には、Firehose デリバリーストリームへの書き込み用に作成した IAM ロールの ARN を指定します。詳細については、「Firehose 配信ストリームを Amazon SNS トピックにサブスクライブするための前提条件」を参照してください。
-
(オプション) Firehose、Amazon SQS、HTTP/S の各エンドポイントでは、未加工のメッセージ配信を有効にすることもできます。詳細については、「Amazon SNS raw メッセージ配信」を参照してください。
-
(オプション) フィルターポリシーを設定するには、[サブスクリプションのフィルターポリシー] セクションを展開します。詳細については、「Amazon SNS サブスクリプションフィルターポリシー」を参照してください。
-
(オプション) サブスクリプションのデッドレターキューを設定するには、Redrive ポリシー (デッドレターキュー) を展開します。詳細については、「Amazon SNS デッドレターキュー (DLQ)」を参照してください。
-
[サブスクリプションの作成] を選択します。
コンソールがサブスクリプションを作成し、サブスクリプションの [詳細] ページを開きます。
-
AWS SDK を使用するには、認証情報を使用して設定する必要があります。詳細については、「AWS SDK とツールのリファレンスガイド」の「共有設定ファイルと認証情報ファイル」を参照してください。
次のコード例は、Amazon SNS トピックを作成する方法を示しています。
AWS Command Line Interface (AWS CLI) を使用して Amazon SNS トピックを作成することもできます。詳細については、AWS CLI コマンドリファレンスの「create-topic」を参照してください。
の詳細については AWS CLI、「What is the AWS Command Line Interface?」を参照してください。 『AWS Command Line Interface ユーザガイド』の。
注記
別のアカウントの Amazon SNS トピックを使用することもできますが、その場合は、 AWS Configに対するアクセス許可を付与するトピックポリシーの作成が必要になる場合があります。Amazon SNS トピックへのアクセス許可を付与する方法については、Amazon SNS トピックへのアクセス許可 と IAM ロールの作成 を順に参照してください。
IAM ロールの作成
IAM コンソールを使用して、Amazon S3 バケットへのアクセス、Amazon SNS トピックへのアクセス、 AWS Config およびサポートされているリソースの設定の詳細の取得を行うためのアクセス権限を付与する IAM ロールを作成できます。 AWS コンソールを使用して IAM ロールを作成すると、 AWS Config はロールに必要なアクセス許可を自動的に適用します。
注記
AWS Security Hub や AWS Control Tower AWS AWS Config などを使用するサービスを使用していて、 AWS Config ロールがすでに作成されている場合は、セットアップ時に使用する IAM ロールが、 AWS 他のサービスを期待どおりに実行し続けるために、 AWS Config AWS Config 作成済みのロールと同じ最小権限を保持していることを確認する必要があります。
たとえば、 AWS Control Tower に Amazon S3 AWS Config オブジェクトの読み取りを許可する IAM ロールがある場合は、セットアップ時に使用する IAM ロール内で同じ権限が付与されることを保証する必要があります。 AWS Configそうしないと、 AWS Control Tower の運用に支障をきたす可能性があります。
の IAM ロールの詳細については AWS Config、「AWS Identity and Access Management」を参照してください。
サービスのロールを作成するには AWS
AWS Management Console にサインインし、https://console.aws.amazon.com/iam/
にある IAM コンソールを開きます。 -
IAM コンソールのナビゲーションペインで、[ロール]、[ロールを作成] を選択します。
-
[Select trusted entity] (信頼されたエンティティの選択) で、[AWS のサービス] を選択します。
-
目的のユースケースを [ AWS Config構成]-[カスタマイズ可能]、[Config]- [Organizations]、[Config]、または [Config-コンフォーマンスパック] から選択します。[次へ] を選択します。
-
[Name, review, and create] (名前、確認、および作成) ページで、ロールの詳細を確認し、[Create Role] (ロールの作成) を選択します。
AWS SDK を使用するには、認証情報を使用して設定する必要があります。詳細については、「AWS SDK とツールのリファレンスガイド」の「共有設定ファイルと認証情報ファイル」を参照してください。
次のコード例は、IAM ロールを作成する方法を示しています。
AWS Command Line Interface (AWS CLI) を使用して IAM ロールを作成することもできます。詳細については、「AWS CLI コマンドリファレンス」の create-role を参照してください。その後、attach-role-policyコマンドを使用してポリシーをロールにアタッチできます。
の詳細については AWS CLI、「What is the AWS Command Line Interface?」を参照してください。 『AWS Command Line Interface ユーザガイド』の。