

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AS2 設定のセットアップ
<a name="as2-example-tutorial"></a>

このチュートリアルでは、 を使用して Applicability Statement 2 (AS2) 設定をセットアップする方法について説明します AWS Transfer Family。ここで説明する手順を完了すると、AS2 対応サーバーが完成し、サンプルの取引相手からの AS2 メッセージを受け入れる準備が整います。また、サンプルの取引相手に AS2 メッセージを送信するために使用できるコネクタもあります。

**注記**  
サンプルセットアップの一部では、 AWS Command Line Interface () を使用しますAWS CLI。をまだインストールしていない場合は AWS CLI、「 *AWS Command Line Interface ユーザーガイド*[」の「 の最新バージョンのインストールまたは更新 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」を参照してください。



1. 自分用と取引相手用の証明書を作成します。使用できる既存の証明書がある場合は、このセクションをスキップできます。

   このプロセスは、「[ステップ 1: AS2 の証明書を作成する](#as2-create-certs)」で説明されています。

1. ステップ 1 で作成した証明書をインポートします。

   このプロセスは、「[ステップ 2: Transfer Family 証明書リソースとして証明書をインポートする](#as2-import-certs-example)」で説明されています。

1. 取引相手を設定するには、ローカルプロファイルとパートナープロファイルを作成します。

   このプロセスは、「[ステップ 3: 自分と取引相手のプロファイルを作成する](#as2-create-profiles-example)」で説明されています。

1. AS2 プロトコルを使用する AWS Transfer Family サーバーを作成します。オプションで、サーバーに Elastic IP アドレスを追加してインターネットに接続できるようにすることもできます。

   このプロセスは、「[ステップ 4: AS2 プロトコルを使用する Transfer Family サーバーを作成する](#as2-example-server)」で説明されています。
**注記**  
Transfer Family サーバーは、インバウンド転送専用に作成する必要があります。アウトバウンド転送のみを行う場合は、Transfer Family サーバーは必要ありません。

1. 自分と取引相手との間で契約を作成してください。

   このプロセスは、「[ステップ 5: 自分とパートナーとの間で契約を作成する](#as2-create-agreement-example)」で説明されています。
**注記**  
契約を作成する必要があるのはインバウンド転送の場合のみです。アウトバウンド転送のみを行う場合は、契約は必要ありません。

1. 自分と取引相手との間でコネクタを作成してください。

   このプロセスは、「[ステップ 6: 自分とパートナーとの間でコネクタを作成する](#as2-create-connector-example)」で説明されています。
**注記**  
コネクタはアウトバウンド転送専用に作成する必要があります。インバウンド転送のみを行う場合は、コネクタは必要ありません。

1. AS2 ファイル交換をテストします。

   このプロセスは、「[ステップ 7: Transfer Family を使用して AS2 経由でのファイル交換をテストする](#as2-test-config)」で説明されています。

このステップを完了したら、以下を実行できます。
+ Transfer Family `start-file-transfer` AWS Command Line Interface (AWS CLI) コマンドを使用して、リモート AS2-enabledパートナーサーバーにファイルを送信します。
+ 仮想プライベートクラウド (VPC) エンドポイントを介して、ポート 5080 にあるリモート AS2 対応パートナーサーバーからファイルを受信します。



## ステップ 1: AS2 の証明書を作成する
<a name="as2-create-certs"></a>

AS2 交換の両当事者には X.509 証明書が必要です。これらの証明書は好きな方法で作成できます。このトピックでは、コマンドラインから [OpenSSL](https://www.openssl.org/) を使用してルート証明書を作成し、下位証明書に署名する方法について説明します。両当事者はそれぞれ独自の証明書を生成する必要があります。

**注記**  
AS2 証明書のキー長は 2048 ビット以上、最大で 4096 ビットでなければなりません。

パートナーとファイルを転送する場合は、次の点に注意してください。
+ 証明書はプロファイルに添付できます。証明書にはパブリックキーまたはプライベートキーが含まれます。
+ 取引相手がパブリックキーを送り、自分のパブリックキーを彼らに送ります。
+ 取引相手はパブリックキーでメッセージを暗号化し、プライベートキーで署名します。逆に、パートナーのパブリックキーでメッセージを暗号化し、自分のプライベートキーで署名します。
**注記**  
キーを GUI で管理したい場合に使用できるオプションの 1 つは [http://portecle.sourceforge.net/](http://portecle.sourceforge.net/) です。

**証明書の例を生成するには**
**重要**  
**パートナーにプライベートキーを送らないでください。**この例では、一方の当事者用に自己署名パブリックキーとプライベートキーのセットを生成します。テスト目的で両方の取引相手として行動する場合は、これらの手順を繰り返して、取引相手ごとに 1 つずつ、合計 2 つのキーセットを生成できます。この場合、ルート認証機関 (CA) を 2 つ生成する必要はありません。

1. 次のコマンドを実行して、2048 ビット長のモジュラスで RSA プライベートキーを生成します。

   ```
   /usr/bin/openssl genrsa -out root-ca-key.pem 2048
   ```

1. 次のコマンドを実行して、`root-ca-key.pem` ファイルを使用して自己署名証明書を作成します。

   ```
   /usr/bin/openssl req \
   -x509 -new -nodes -sha256 \
   -days 1825 \
   -subj "/C=US/ST=MA/L=Boston/O=TransferFamilyCustomer/OU=IT-dept/CN=ROOTCA" \
   -key root-ca-key.pem \
   -out root-ca.pem
   ```

   `-subj` 引数は、次の値で構成されます。

     
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/transfer/latest/userguide/as2-example-tutorial.html)

1. ローカルプロファイル用の署名キーと暗号化キーを作成します。

   ```
   /usr/bin/openssl genrsa -out signing-key.pem 2048
   /usr/bin/openssl genrsa -out encryption-key.pem 2048
   ```
**注記**  
OpenAS2 など、一部の AS2 対応サーバーでは、署名と暗号化の両方に同じ証明書を使用する必要があります。この場合、両方の目的で同じプライベートキーと証明書をインポートできます。そのためには、前の 2 つのコマンドの代わりに次のコマンドを実行します。  

   ```
   /usr/bin/openssl genrsa -out signing-and-encryption-key.pem 2048
   ```

1. 次のコマンドを実行して、ルートキーに署名する証明書署名リクエスト (CSR) を作成します。

   ```
   /usr/bin/openssl req -new -key signing-key.pem -subj \
   "/C=US/ST=MA/L=Boston/O=TransferFamilyCustomer/OU=IT-dept/CN=Signer" -out signing-key-csr.pem
   ```

   ```
   /usr/bin/openssl req -new -key encryption-key.pem -subj \
   "/C=US/ST=MA/L=Boston/O=TransferFamilyCustomer/OU=IT-dept/CN=Encrypter" -out encryption-key-csr.pem
   ```

1. 次に、`signing-cert.conf` ファイルと `encryption-cert.conf` ファイルを作成する必要があります。
   + テキストエディタを使用して、`signing-cert.conf` ファイルを作成し、次の内容を記述します。

     ```
     authorityKeyIdentifier=keyid,issuer
     keyUsage = digitalSignature, nonRepudiation
     ```
   + テキストエディタを使用して、`encryption-cert.conf` ファイルを作成し、次の内容を記述します。

     ```
     authorityKeyIdentifier=keyid,issuer
     keyUsage = dataEncipherment
     ```

1. 最後に、以下のコマンドを実行して署名付き証明書を作成します。

   ```
   /usr/bin/openssl x509 -req -sha256 -CAcreateserial -days 1825 -in signing-key-csr.pem -out signing-cert.pem -CA \
   root-ca.pem -CAkey root-ca-key.pem -extfile signing-cert.conf
   ```

   ```
   /usr/bin/openssl x509 -req -sha256 -CAcreateserial -days 1825 -in encryption-key-csr.pem -out encryption-cert.pem \
   -CA root-ca.pem -CAkey root-ca-key.pem -extfile encryption-cert.conf
   ```

## ステップ 2: Transfer Family 証明書リソースとして証明書をインポートする
<a name="as2-import-certs-example"></a>

この手順では、 AWS CLIを使用して証明書をインポートする方法について説明します。代わりに Transfer Family コンソールを使用する場合は、[AS2 証明書のインポート](managing-as2-partners.md#configure-as2-certificate) を参照してください。

ステップ 1 で作成した署名用証明書と暗号化証明書をインポートするには、次の `import-certificate` コマンドを実行します。暗号化と署名に同じ証明書を使用している場合は、同じ証明書を 2 回インポートします (1 回目は `SIGNING` 用、もう 1 回は `ENCRYPTION` 用)。

**注記**  
 証明書とそのチェーンの両方を含むファイルがある場合は、 `certificate`パラメータのみを使用してそのファイルを `import-certificate` コマンドに提供できます。例えば、次のようになります。  

```
aws transfer import-certificate --usage ENCRYPTION --certificate file://combined-cert-and-chain-file.pem
```
`certificate` パラメータを使用して証明書とそのチェーンの両方をアップロードする場合は、 `certificate-chain`パラメータを使用しないでください。  
証明書とそのチェーンを組み合わせると、キーは従来の PEM 標準を使用してフォーマットされます。これには 64 文字ごとに改行「\$1n」が含まれます。保存された証明書は、アップロードした証明書と機能的に同等ですが、 を介した`DescribeCertificate`レスポンスにはこれらの改行文字が含まれるという唯一の違い AWS CLI があります。

```
aws transfer import-certificate --usage SIGNING --certificate file://signing-cert.pem \
            --private-key file://signing-key.pem --certificate-chain file://root-ca.pem
```

このコマンドは署名の `CertificateId` を返します。次のセクションでは、この証明書 ID を `my-signing-cert-id` と呼びます。

```
aws transfer import-certificate --usage ENCRYPTION --certificate file://encryption-cert.pem \
            --private-key file://encryption-key.pem --certificate-chain file://root-ca.pem
```

このコマンドは暗号化 `CertificateId` を返します。次のセクションでは、この証明書 ID を `my-encrypt-cert-id` と呼びます。

次に、次のコマンドを実行して、パートナーの暗号化証明書と署名用証明書をインポートします。

```
aws transfer import-certificate --usage ENCRYPTION --certificate file://partner-encryption-cert.pem \
--certificate-chain file://partner-root-ca.pem
```

このコマンドはパートナーの暗号化 `CertificateId` を返します。次のセクションでは、この証明書 ID を `partner-encrypt-cert-id` と呼びます。

```
aws transfer import-certificate --usage SIGNING --certificate file://partner-signing-cert.pem \
--certificate-chain file://partner-root-ca.pem
```

このコマンドはパートナーの署名 `CertificateId` を返します。次のセクションでは、この証明書 ID を `partner-signing-cert-id` と呼びます。

## ステップ 3: 自分と取引相手のプロファイルを作成する
<a name="as2-create-profiles-example"></a>

この手順では、 を使用して AS2 プロファイルを作成する方法について説明します AWS CLI。代わりに Transfer Family コンソールを使用する場合は、[AS2 プロファイルの作成](configure-as2-profile.md) を参照してください。

次のコマンドを実行してローカル AS2 プロファイルを作成します。このコマンドは、パブリックキーとプライベートキーを含む証明書を参照します。

```
aws transfer create-profile --as2-id MYCORP --profile-type LOCAL --certificate-ids \
my-signing-cert-id my-encrypt-cert-id
```

このコマンドはプロファイル ID を返します。次のセクションでは、この ID を `my-profile-id` と呼びます。

次のコマンドを実行して、パートナープロファイルを作成します。このコマンドは、パートナーのパブリックキー証明書のみを使用します。このコマンドを使用するには、`user input placeholders` を自身の情報 (パートナーの AS2 名や証明書 ID など) に置き換えます。

```
aws transfer create-profile --as2-id PARTNER-COMPANY --profile-type PARTNER --certificate-ids \
partner-signing-cert-id partner-encrypt-cert-id
```

このコマンドはパートナーのプロファイル ID を返します。次のセクションでは、この ID を `partner-profile-id` と呼びます。

**注記**  
前のコマンドでは、*MYCORP* を自分の組織の名前に置き換え、*PARTNER-COMPANY* を取引相手の組織の名前に置き換えます。

## ステップ 4: AS2 プロトコルを使用する Transfer Family サーバーを作成する
<a name="as2-example-server"></a>

この手順では、Transfer Family AWS CLIを使用して AS2 対応サーバーを作成する方法について説明します。

**注記**  
 サンプルステップの多くは、ファイルからパラメータを読み込むコマンドを使用しています。ファイルを使用してパラメータを読み込む方法について詳しくは、「[ファイルからパラメータをロードする方法](https://docs.aws.amazon.com//cli/latest/userguide/cli-usage-parameters-file.html)」を参照してください。

代わりにコンソールを使用する場合は、「[Transfer Family コンソールを使用して AS2 サーバーを作成する](create-as2-transfer-server.md#create-server-as2-console)」を参照してください。

SFTP または FTPS AWS Transfer Family サーバーの作成方法と同様に、 `create-server` AWS CLI コマンドの `--protocols AS2`パラメータを使用して AS2-enabledサーバーを作成します。現在、Transfer Family は VPC エンドポイントタイプと AS2 プロトコルの Amazon S3 ストレージのみをサポートしています。

`create-server` コマンドを使用して Transfer Family 用の AS2 対応サーバーを作成すると、VPC エンドポイントが自動的に作成されます。このエンドポイントは TCP ポート 5080 を公開し、AS2 メッセージを受け付けることができるようにします。

VPC エンドポイントをインターネット向けに公開する場合、Elastic IP アドレスを VPC エンドポイントに関連付けることができます。

この指示書を使用するには、次が必要です。
+ VPC の ID (例えば **vpc-abcdef01**)。
+ VPC サブネットの IDs (**subnet-abcdef01**、**subnet-subnet-abcdef01**、**subnet-021345ab** など）。
+ 取引相手からの TCP ポート 5080 への着信トラフィックを許可するセキュリティグループの 1 つ以上の ID (例えば、**sg-1234567890abcdef0** と **sg-abcdef01234567890**)。
+ (オプション) VPC エンドポイントに関連付けたい Elastic IP アドレス。
+ 取引相手が VPN 経由で VPC に接続されていない場合は、インターネットゲートウェイが必要です。詳細については、「*Amazon VPC ユーザーガイド*」の「[インターネットゲートウェイを使用してインターネットに接続する](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)」を参照してください。

**AS2 対応サーバーを作成するには**

1. 以下のコマンドを実行してください。`user input placeholder` を、ユーザー自身の情報に置き換えます。

   ```
   aws transfer create-server --endpoint-type VPC \
   --endpoint-details VpcId=vpc-abcdef01,SubnetIds=subnet-abcdef01,subnet-abcdef01,subnet-
   021345ab,SecurityGroupIds=sg-abcdef01234567890,sg-1234567890abcdef0 --protocols AS2 \
   --protocol-details As2Transports=HTTP
   ```

1. (オプション) VPC エンドポイントをパブリックにすることができます。Elastic IP アドレスは、`update-server` オペレーションを通じてのみ Transfer Family サーバーにアタッチできます。以下のコマンドはサーバーを停止し、Elastic IP アドレスで更新してから再起動します。

   ```
   aws transfer stop-server --server-id your-server-id
   ```

   ```
   aws transfer update-server --server-id your-server-id --endpoint-details \
   AddressAllocationIds=eipalloc-abcdef01234567890,eipalloc-1234567890abcdef0,eipalloc-abcd012345ccccccc
   ```

   ```
   aws transfer start-server --server-id your-server-id
   ```

   `start-server` コマンドは、サーバーのパブリック IP アドレスを含む DNS レコードを自動的に作成します。取引相手にサーバーへのアクセスを許可するには、次の情報を提供します。この場合、`your-region` は AWS リージョンのことを指します。

   `s-your-server-id.server.transfer.your-region.amazonaws.com`

   取引相手に提供する完全な URL は次のとおりです。

   `http://s-your-server-id.server.transfer.your-region.amazonaws.com:5080`

1. AS2 対応サーバーにアクセスできるかどうかをテストするには、以下のコマンドを使用します。VPC エンドポイントのプライベート DNS アドレスまたはパブリックエンドポイント (エンドポイントに Elastic IP アドレスを関連付けている場合) からサーバーにアクセスできることを確認します。

   サーバーが正しく設定されていれば、接続は成功します。ただし、有効な AS2 メッセージを送信していないため、HTTP ステータスコード 400 (Bad Request) のレスポンスが返されます。
   + パブリックエンドポイント (前のステップで Elastic IP アドレスを関連付けた場合) では、サーバー ID とリージョンを代入して以下のコマンドを実行します。

     ```
     curl -vv -X POST http://s-your-server-id.transfer.your-region.amazonaws.com:5080
     ```
   + VPC 内で接続している場合は、次のコマンドを実行して VPC エンドポイントのプライベート DNS 名を検索します。

     ```
     aws transfer describe-server --server-id s-your-server-id
     ```

     `describe-server` コマンドは、VPC エンドポイント ID を `VpcEndpointId` パラメータに返します。次のコマンドを実行するには、この値を使用します。

     ```
     aws ec2 describe-vpc-endpoints --vpc-endpoint-ids vpce-your-vpc-endpoint-id
     ```

     `describe-vpc-endpoints` コマンドは、複数の `DnsName` パラメータを含む `DNSEntries` 配列を返します。以下のコマンドでは、リージョン DNS 名 (アベイラビリティーゾーンを含まないもの) を使用します。

     ```
     curl -vv -X POST http://vpce-your-vpce.vpce-svc-your-vpce-svc.your-region.vpce.amazonaws.com:5080
     ```

     例えば、次のコマンドでは、前のコマンドのプレースホルダーのサンプル値が表示されます。

     ```
     curl -vv -X POST http://vpce-0123456789abcdefg-fghij123.vpce-svc-11111aaaa2222bbbb.us-east-1.vpce.amazonaws.com:5080
     ```

1. (オプション) ロギングロールを設定します。Transfer Family は、送受信されたメッセージのステータスを構造化された JSON 形式で Amazon CloudWatch Logs にログします。Transfer Family がアカウントの CloudWatch ログにアクセスできるようにするには、サーバーでログ記録ロールを設定する必要があります。

   を信頼する AWS Identity and Access Management (IAM) ロールを作成し`transfer.amazonaws.com`、 `AWSTransferLoggingAccess`管理ポリシーをアタッチします。詳細については、「[IAM ポリシーとロールを作成する](requirements-roles.md)」を参照してください。先ほど作成した IAM ロールの Amazon リソースネーム (ARN) を書き留め、次の `update-server` コマンドを実行して、サーバーに関連付けます。

   ```
   aws transfer update-server --server-id your-server-id --logging-role arn:aws:iam::your-account-id:role/logging-role-name
   ```
**注記**  
ログ記録ロールはオプションですが、メッセージのステータスを確認したり、設定上の問題をトラブルシューティングしたりできるように設定することを強くお勧めします。

## ステップ 5: 自分とパートナーとの間で契約を作成する
<a name="as2-create-agreement-example"></a>

ここでは、 AWS CLIを使用して AS2 契約を作成する方法を説明します。代わりに Transfer Family コンソールを使用する場合は、[AS2 契約を作成する](create-as2-transfer-server.md#as2-agreements) を参照してください。

契約には、2 つのプロファイル (ローカルとパートナー)、それらの証明書、および両者間のインバウンド AS2 転送を可能にするサーバー設定がまとめられています。次のコマンドを実行すると、項目を一覧表示できます。

```
aws transfer list-profiles --profile-type LOCAL
aws transfer list-profiles --profile-type PARTNER
aws transfer list-servers
```

このステップには、バケットへの、およびバケットからの読み取り/書き込みアクセス許可を持つ Amazon S3 バケットと IAM ロールが必要です。このロールを作成する手順は、Transfer Family の SFTP、FTP、FTPS プロトコルの場合と同じで、[IAM ポリシーとロールを作成する](requirements-roles.md) に記載されています。

契約を作成するには、次のアイテムが必要です。
+ AS2 ファイルを保存する Amazon S3 バケット名 (および指定されている場合はオブジェクトプレフィックス）。ファイルタイプごとに個別のディレクトリを指定することをお勧めします。
+ バケットへのアクセス権を持つ IAM ロールの ARN
+ Transfer Family サーバー ID
+ プロファイル ID とパートナーのプロファイル ID

次のコードを などのファイルに保存します`agreementDetails.json`。`user input placeholder` を、ユーザー自身の情報に置き換えます。

```
{
    "Description": "ExampleAgreementName",
    "ServerId": "your-server-id",
    "LocalProfileId": "your-profile-id",
    "PartnerProfileId": "your-partner-profile-id",
    "AccessRole": "arn:aws:iam::111111111111:role/TransferAS2AccessRole",
    "Status": "ACTIVE",    
    "PreserveFilename": "ENABLED",
    "EnforceMessageSigning": "ENABLED",
    "CustomDirectories": {
        "FailedFilesDirectory": "/amzn-s3-demo-destination-bucket/AS2-failed",
        "MdnFilesDirectory": "/amzn-s3-demo-destination-bucket/AS2-mdn",
        "PayloadFilesDirectory": "/amzn-s3-demo-destination-bucket/AS2-payload",
        "StatusFilesDirectory": "/amzn-s3-demo-destination-bucket/AS2-status",
        "TemporaryFilesDirectory": "/amzn-s3-demo-destination-bucket/AS2-temp"
    }
}
```

**注記**  
個別のディレクトリの代わりに 1 つのベースディレクトリを使用するには、前のコードから `CustomDirectories`行とその個別のディレクトリ行を削除し、代わりに次のパラメータを使用します。  
`"BaseDirectory": "/amzn-s3-demo-destination-bucket/AS2-inbox`"  
ベースディレクトリと個別のディレクトリパラメータの両方を使用しないと、コマンドは失敗します。

次に、以下のコマンドを実行します。

```
aws transfer create-agreement --cli-input-json file://agreementDetails.json
```

成功した場合、このコマンドは契約の ID を返します。その後、次のコマンドを使用して契約の詳細を表示できます。

```
aws transfer describe-agreement --agreement-id agreement-id --server-id your-server-id
```

## ステップ 6: 自分とパートナーとの間でコネクタを作成する
<a name="as2-create-connector-example"></a>

ここでは、 AWS CLIを使用して AS2 コネクタを作成する方法を説明します。代わりに Transfer Family コンソールを使用する場合は、[AS2 コネクタを設定する](configure-as2-connector.md) を参照してください。

`StartFileTransfer` API オペレーションを使用して、Amazon S3 に保存されているファイルをコネクタを使用して取引相手の AS2 エンドポイントに送信できます。次のコマンドを実行すると、先ほど作成したプロファイルを見つけることができます。

```
aws transfer list-profiles
```

コネクタを作成するときは、パートナーの AS2 サーバー URL を指定する必要があります。次の テキストを `testAS2Config.json` という名前のファイルにコピーします。

```
{
"Compression": "ZLIB",
"EncryptionAlgorithm": "AES256_CBC",
"LocalProfileId": "your-profile-id",
"MdnResponse": "SYNC",
"MdnSigningAlgorithm": "DEFAULT",
"MessageSubject": "Your Message Subject",
"PartnerProfileId": "partner-profile-id",
"PreserveContentType": "FALSE",
"SigningAlgorithm": "SHA256"
}
```

**注記**  
では`EncryptionAlgorithm`、アルゴリズムは弱い暗号化`DES_EDE3_CBC`アルゴリズムであるため、それを必要とするレガシークライアントをサポートする必要がある場合を除き、アルゴリズムを指定しないでください。

その後、次のコマンドを実行してコネクタを作成します。

```
aws transfer create-connector --url "http://partner-as2-server-url" \
--access-role your-IAM-role-for-bucket-access \
--logging-role arn:aws:iam::your-account-id:role/service-role/AWSTransferLoggingAccess \
--as2-config file:///path/to/testAS2Config.json
```

## ステップ 7: Transfer Family を使用して AS2 経由でのファイル交換をテストする
<a name="as2-test-config"></a>

### 取引相手からファイルを受け取ります
<a name="as2-receive-file"></a>

パブリック Elastic IP アドレスを VPC エンドポイントに関連付けた場合、Transfer Family はパブリック IP アドレスを含む DNS 名を自動的に作成します。サブドメインは AWS Transfer Family サーバー ID ( 形式) です`s-1234567890abcdef0`。以下の形式で、取引相手にサーバー URL を提供します。

```
http://s-1234567890abcdef0.server.transfer.us-east-1.amazonaws.com:5080
```

パブリック Elastic IP アドレスを VPC エンドポイントに関連付けていない場合は、ポート 5080 で取引相手からの HTTP POST 経由で AS2 メッセージを受け付ける VPC エンドポイントのホスト名を検索します。VPC エンドポイントの詳細情報を取得するには、次のコマンドを使用します。

```
aws transfer describe-server --server-id s-1234567890abcdef0
```

例えば、前のコマンドが VPC エンドポイント ID を `vpce-1234abcd5678efghi` と返すとします。次に、次のコマンドを使用して DNS 名を取得します。

```
aws ec2 describe-vpc-endpoints --vpc-endpoint-ids vpce-1234abcd5678efghi
```

このコマンドは、次のコマンドを実行するために必要な VPC エンドポイントのすべての詳細を返します。

DNS 名は `DnsEntries` 配列に一覧表示されます。VPC エンドポイントにアクセスするには、取引相手が VPC 内にいる必要があります (例えば、 AWS PrivateLink または VPN 経由)。以下の形式で、パートナーに VPC エンドポイント URL を提供します。

```
http://vpce-your-vpce-id.vpce-svc-your-vpce-svc-id.your-region.vpce.amazonaws.com:5080
```

例えば、次の URL では、前のコマンドのプレースホルダーのサンプル値が表示されます。

```
http://vpce-0123456789abcdefg-fghij123.vpce-svc-11111aaaa2222bbbb.us-east-1.vpce.amazonaws.com:5080
```

この例では、成功した転送は、[ステップ 5: 自分とパートナーとの間で契約を作成する](#as2-create-agreement-example) で指定した `base-directory` パラメータで指定された場所に保存されます。`myfile1.txt` および `myfile2.txt` という名前のファイルを正常に受信すると、ファイルは `/path-defined-in-the-agreement/processed/original_filename.messageId.original_extension` として保存されます。ここでは、ファイルは `/amzn-s3-demo-destination-bucket/AS2-inbox/processed/myfile1.messageId.txt` と `/amzn-s3-demo-destination-bucket/AS2-inbox/processed/myfile2.messageId.txt` として保存されます。

Transfer Family サーバーの作成時にログ記録ロールを設定した場合は、CloudWatch ログで AS2 メッセージのステータスを確認することもできます。

### 取引相手にファイルを送信します
<a name="as2-send-file"></a>

Transfer Family を使用して AS2 メッセージを送信するには、次の `start-file-transfer` AWS Command Line Interface (AWS CLI) コマンドに示すように、コネクタ ID とファイルへのパスを参照します。

```
aws transfer start-file-transfer --connector-id c-1234567890abcdef0 \
--send-file-paths "/amzn-s3-demo-source-bucket/myfile1.txt" "/amzn-s3-demo-source-bucket/myfile2.txt"
```

コネクタの詳細情報を取得するには、次のコマンドを実行しする：

```
aws transfer list-connectors
```

`list-connectors` コマンドは、コネクタのコネクタ ID、URL、Amazon リソースネーム (ARN) を返します。

特定のコネクタのプロパティを返すには、使用する ID を指定して以下のコマンドを実行します。

```
aws transfer describe-connector --connector-id your-connector-id
```

`describe-connector` コマンドは、URL、ロール、プロファイル、メッセージ処理通知 (MDN)、タグ、モニタリングメトリックなど、コネクタのすべてのプロパティを返します。

JSON と MDN ファイルを表示すると、パートナーがファイルを正常に受信したことを確認できます。これらのファイルには、[ファイル名と場所](send-as2-messages.md#file-names-as2) で説明されている規則に従って名前が付けられます。コネクタの作成時にログ記録ロールを設定した場合は、CloudWatch ログで AS2 メッセージのステータスを確認することもできます。