Name:
interface
Value:
Amplify has re-imagined the way frontend developers build fullstack applications. Develop and deploy without the hassle.
Gen1 DocsLegacy

Page updated Apr 24, 2026

既存のAWSリソースに接続する

Amplifyクライアントライブラリは、Amplifyバックエンドワークフローなしで独立して使用できます。CDK、Terraform、CloudFormation、またはAWSコンソールでAWSリソースをプロビジョニングした場合、Amplifyライブラリをそれらのリソースに直接接続できます。

これは、Amplifyのクライアントライブラリを認証、データ、ストレージなどに採用しながら、インフラストラクチャを完全に制御できることを意味します。

このアプローチを使用する場合

  • CDKTerraform、またはCloudFormationでAWSリソースがすでにプロビジョニングされている
  • Amplifyバックエンドワークフロー(ampx)を採用せずにAmplifyクライアントライブラリを使用したい
  • プラットフォームチームによって管理されている共有インフラストラクチャに接続する必要がある
  • テストまたは環境の切り替え用にプログラマティック制御が必要

その仕組み

独自のリソースでAmplifyクライアントライブラリを設定する方法は2つあります。

オプション1: 手動のamplify_outputs.json

プロジェクトにamplify_outputs.jsonファイルを作成し、リソースの設定を指定します。サポートされているすべてのフィールドについては、完全なamplify_outputs.json仕様を参照してください。

amplify_outputs.json
{
"version": "1",
"auth": {
"aws_region": "us-east-1",
"user_pool_id": "us-east-1_abc123",
"user_pool_client_id": "abcdef123456"
},
"storage": {
"aws_region": "us-east-1",
"bucket_name": "my-app-bucket"
}
}

次に、アプリでAmplifyを設定します:

import { Amplify } from 'aws-amplify';
import outputs from './amplify_outputs.json';
Amplify.configure(outputs);

オプション2: ResourcesConfigオブジェクトで直接Amplify.configure()を実行

JSONファイルなしで設定を直接渡します:

import { Amplify } from 'aws-amplify';
Amplify.configure({
Auth: {
Cognito: {
userPoolId: 'us-east-1_abc123',
userPoolClientId: 'abcdef123456',
identityPoolId: 'us-east-1:11111111-2222-3333-4444-555555555555',
loginWith: {
email: true
}
}
},
Storage: {
S3: {
bucket: 'my-app-bucket',
region: 'us-east-1'
}
}
});

Auth(Amazon Cognito)を設定する

既存のCognito User PoolおよびIdentity Poolに接続します。

Amplify.configure({
Auth: {
Cognito: {
userPoolId: 'us-east-1_abc123',
userPoolClientId: 'abcdef123456',
identityPoolId: 'us-east-1:11111111-2222-3333-4444-555555555555',
loginWith: {
email: true
},
signUpVerificationMethod: 'code',
userAttributes: {
email: { required: true }
},
allowGuestAccess: true,
passwordFormat: {
minLength: 8,
requireLowercase: true,
requireUppercase: true,
requireNumbers: true,
requireSpecialCharacters: true
}
}
}
});

Auth必須フィールド

フィールド必須説明
awsRegionはいAWSリージョン(例:us-east-1
userPoolIdはいCognito User Pool ID
userPoolClientIdはいCognitoアプリクライアント ID
identityPoolIdいいえCognito Identity Pool ID(ゲストアクセスとIAMベースの認証に必要)
passwordPolicyいいえパスワード要件(最小長、文字型)
oauthいいえOAuth/Hosted UI設定(ソーシャルサインイン)
mfaConfigurationいいえMFAモード:NONEOPTIONAL、またはREQUIRED
mfaMethodsいいえMFAタイプ:SMSTOTP

Data(AWS AppSync)を設定する

既存のAppSync GraphQL APIに接続します。

amplify_outputs.json
{
"version": "1",
"data": {
"aws_region": "us-east-1",
"url": "https://abc123.appsync-api.us-east-1.amazonaws.com/graphql",
"api_key": "da2-abcdefghijklmno",
"default_authorization_type": "API_KEY",
"authorization_types": ["API_KEY"]
}
}
import { Amplify } from 'aws-amplify';
import outputs from './amplify_outputs.json';
Amplify.configure(outputs);

Data必須フィールド

フィールド必須説明
awsRegionはいAWSリージョン
urlはいAppSync GraphQLエンドポイントURL
defaultAuthorizationTypeはいデフォルト認可モード:API_KEYAMAZON_COGNITO_USER_POOLSAWS_IAM、またはOPENID_CONNECT
authorizationTypesはいサポートされているすべての認可モード
apiKeyいいえAPI_KEY認証を使用する場合は必須

Storage(Amazon S3)を設定する

既存のS3バケットに接続します。

Amplify.configure({
Auth: {
Cognito: {
userPoolId: 'us-east-1_abc123',
userPoolClientId: 'abcdef123456',
identityPoolId: 'us-east-1:11111111-2222-3333-4444-555555555555'
}
},
Storage: {
S3: {
bucket: 'my-app-bucket',
region: 'us-east-1'
}
}
});

ストレージは認可用にAuth(Cognito Identity Pool)を必要とします。常にStorageと一緒にAuthを設定してください。

Storage必須フィールド

フィールド必須説明
awsRegionはいAWSリージョン
bucketNameはいデフォルトのS3バケット名
bucketsいいえマルチバケットセットアップ用の追加の名前付きバケット

Analytics(Amazon Pinpoint)を設定する

既存のPinpointアプリケーションに接続します。

amplify_outputs.json
{
"version": "1",
"analytics": {
"amazon_pinpoint": {
"aws_region": "us-east-1",
"app_id": "abc123def456"
}
}
}

Geo(Amazon Location Service)を設定する

既存のLocation Serviceリソースに接続します。

amplify_outputs.json
{
"version": "1",
"geo": {
"aws_region": "us-east-1",
"maps": {
"items": {
"myMap": { "style": "VectorEsriStreets" }
},
"default": "myMap"
},
"search_indices": {
"items": ["myPlaceIndex"],
"default": "myPlaceIndex"
},
"geofence_collections": {
"items": ["myGeofenceCollection"],
"default": "myGeofenceCollection"
}
}
}

Notifications(プッシュ)を設定する

プッシュ通知用に既存のPinpointアプリケーションに接続します。

amplify_outputs.json
{
"version": "1",
"notifications": {
"aws_region": "us-east-1",
"amazon_pinpoint_app_id": "abc123def456",
"channels": ["APNS", "FCM", "IN_APP_MESSAGING"]
}
}

マルチカテゴリ設定

複数のサービスを一緒に設定できます。この例では、Auth、Data、およびStorageを単一の設定でセットアップしています。

Amplify.configure({
Auth: {
Cognito: {
userPoolId: 'us-east-1_abc123',
userPoolClientId: 'abcdef123456',
identityPoolId: 'us-east-1:11111111-2222-3333-4444-555555555555'
}
},
API: {
GraphQL: {
endpoint: 'https://abc123.appsync-api.us-east-1.amazonaws.com/graphql',
defaultAuthMode: 'userPool'
}
},
Storage: {
S3: {
bucket: 'my-app-bucket',
region: 'us-east-1'
}
}
});

環境固有の設定

環境ごとに個別のamplify_outputs.jsonファイルを保守できます:

import devOutputs from './amplify_outputs.dev.json';
import prodOutputs from './amplify_outputs.prod.json';
const outputs = process.env.NODE_ENV === 'production' ? prodOutputs : devOutputs;
Amplify.configure(outputs);

amplify_outputs.jsonスキーマリファレンス

サポートされているすべての設定フィールドの完全なスキーマについては、amplify_outputs.jsonリファレンスを参照してください。