Skip to content

Commit

Permalink
docs(ja): periodic update for v1.31 and v1.32 (#5510)
Browse files Browse the repository at this point in the history
docs(ja): periodic update for v1.31 and v1.32 (changes from 3a73f6e to 4259e64)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the Apache 2.0 License.
  • Loading branch information
otty246 authored Dec 1, 2023
1 parent f5ffae6 commit f847fef
Show file tree
Hide file tree
Showing 10 changed files with 219 additions and 9 deletions.
101 changes: 101 additions & 0 deletions site/content/blogs/release-v131.ja.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
---
title: 'AWS Copilot v1.31: NLB 設定の拡張、タスク失敗時のログの改善、`copilot deploy` の機能拡張'
twitter_title: 'AWS Copilot v1.31'
image: ''
image_alt: ''
image_width: '1051'
image_height: '747'
---

# AWS Copilot v1.31: NLB 設定の拡張、タスク失敗時のログの改善、`copilot deploy` の機能拡張

投稿日: 2023 年 10 月 5 日

AWS Copilot コアチームは Copilot v1.31 のリリースを発表します。

私たちのパブリックな[コミュニティチャット](https://app.gitter.im/#/room/#aws_copilot-cli:gitter.im)は成長しており、オンラインでは 500 人以上、[GitHub](http://github.com/aws/copilot-cli/) では 3k 以上のスターを獲得しています 🚀。
AWS Copilot へご支援、ご支持いただいている皆様お一人お一人に感謝をいたします。

Copilot v1.31 ではより柔軟で効率的な開発を支援する大きな機能強化が行われました:

- **NLB 設定の拡張**: Copilot が管理する [Network Load Balancer (NLB)](../docs/manifest/lb-web-service.ja.md#nlb) にセキュリティグループを追加可能になりました。また、NLB の設定で UDP プロトコルが指定可能になっています。詳細は、[こちらのセクション](#nlb-enhancements)をご参照ください。
- **タスク失敗時のログの改善**: Copilot では、デプロイ中にタスクが失敗した場合に、より詳細なログを提供するようになりました。これにより、トラブルシューティングが容易になります。
- **`copilot deploy` の機能拡張**: 複数のワークロードを一度にデプロイできるようになりました。また、`--all` オプションにより、すべてのローカルワークロードのデプロイも可能になっています。
- **静的サイトへ ACM 証明書のインポート**: 自己署名の ACM 証明書を、静的サイトへインポートできるようになりました。詳細は、[こちらのセクション](#importing-an-acm-certificate-for-your-static-site)をご参照ください。

??? note "AWS Copilot とは?"

AWS Copilot CLI は AWS 上でプロダクションレディなコンテナ化されたアプリケーションのビルド、リリース、そして運用のためのツールです。
開発のスタートからステージング環境へのプッシュ、本番環境へのリリースまで、Copilot はアプリケーション開発ライフサイクル全体の管理を容易にします。
Copilot の基礎となるのは、 AWS CloudFormation です。CloudFormation により、インフラストラクチャを 1 回の操作でコードとしてプロビジョニングできます。
Copilot は、さまざまなタイプのマイクロサービスの作成と運用の為に、事前定義された CloudFormation テンプレートと、ユーザーフレンドリーなワークフローを提供します。
デプロイメントスクリプトを記述する代わりに、アプリケーションの開発に集中できます。

より詳細な AWS Copilot の紹介については、[Overview](../docs/concepts/overview.ja.md) を確認してください。

<a id="nlb-enhancements"></a>

## NLB 設定の拡張
Copilot にて、NLB の設定で UDP プロトコルが指定可能になりました。NLB が使用するプロトコルは [nlb.port](https://aws.github.io/copilot-cli/docs/manifest/lb-web-service/#nlb-port) フィールドで指定します。
```
nlb:
port: 8080/udp
```

!!!info
NLB セキュリティグループは、NLB へのパブリックトラフィックをフィルタリングして、アプリケーションのセキュリティを強化できる AWS の新機能です。詳細については、[AWS ブログ](https://aws.amazon.com/blogs/containers/network-load-balancers-now-support-security-groups/)をご参照ください。Copilot でこの機能を利用するために、`NetworkLoadBalancer` および `TargetGroup` リソースを再作成する必要があります。Copilot v1.31 時点では、`udp` プロトコルを指定した場合のみ、`NetworkLoadBalancer` および `TargetGroup` リソースの再作成 (NLB へのセキュリティグループの紐付け) が行われます。ただし、Copilot v1.33 では、`udp` 以外のプロトコルに対してもこの変更が適用されます。すなわち、DNS エイリアスを利用していない場合、NLB のドメイン名が変更されます。DNS エイリアスを利用している場合、エイリアスはセキュリティグループが設定された新しい NLB を参照するようになります。

<a id="copilot-deploy-enhancements"></a>

## `copilot deploy` の機能拡張
`copilot deploy` で複数のワークロードを一度にデプロイできるようになりました。`--name` フラグで複数のワークロードを指定できます。新しい `--all` フラグを `--init-wkld` フラグを組み合わせて利用すると、すべてのローカルワークロードを初期してデプロイできます。また、Service 名を指定する際に "deployment order" タグを利用可能になりました。

たとえば、複数のワークロードを含む新しいリポジトリをクローンした場合、次のコマンドで環境とすべての Service を初期化できます。
```console
copilot deploy --init-env --deploy-env -e dev --all --init-wkld
```

別の例として、他の Service が公開するトピックをサブスクライブしている Worker Service がある場合、`--all` と組み合わせて名前と順序を指定できます。
```console
copilot deploy --all -n fe/1 -n worker/2
```
上記のコマンドでは、まず `fe` をデプロイした後、次に `worker` をデプロイした後に、ワークスペース内の残りの Service や Job がデプロイされます。

<a id="better-task-failure-logs"></a>

## タスク失敗時のログの改善
Copilot v1.31 以前のバージョンでは、ECS タスクが停止した原因を確認する場合、AWS マネジメントコンソールから、「ECS」->「サービス」->「停止済みのタスク」->「停止理由」にページ遷移して確認する必要がありました。

この機能拡張により、`copilot [noun] deploy` は CloudFormation のデプロイの進捗トラッカーの中に ECS タスクの停止理由を表示するようになりました。Copilot は、Load Balanced Web Service、Backend Service、Worker Service のデプロイ中に発生した、直近の 2 つのタスクの失敗を表示します。

```console
- An ECS service to run and maintain your tasks in the environment cluster
Deployments
Revision Rollout Desired Running Failed Pending
PRIMARY 11 [in progress] 1 0 1 0
ACTIVE 8 [completed] 1 1 0 0
Latest 2 stopped tasks
TaskId CurrentStatus DesiredStatus
6b1d6e32 DEPROVISIONING STOPPED
9802d212 STOPPED STOPPED
✘ Latest 2 tasks stopped reason
- [6b1d6e32,9802d212]: Essential container in task exited
Troubleshoot task stopped reason
1. You can run `copilot svc logs --previous` to see the logs of the last stopped task.
2. You can visit this article: https://repost.aws/knowledge-center/ecs-task-stopped.
```

<a id="importing-an-acm-certificate-for-your-static-site"></a>

## 静的サイトへ ACM 証明書のインポート
Copilot では、[Static Site の Manifest](../docs/manifest/static-site.ja.md) に新しいフィールド `http.certificate` が追加されました。`us-east-1` の検証済み ACM 証明書の ARN を次のように指定できます。

```yaml
http:
alias: example.com
certificate: "arn:aws:acm:us-east-1:1234567890:certificate/e5a6e114-b022-45b1-9339-38fbfd6db3e2"
```
`example.com` は、インポートする証明書のドメイン名または Subject Alternative Name (SAN) でなければならないことに注意してください。HTTPS トラフィックには、Copilot が管理する証明書の代わりに、インポートされた証明書が利用されます。
60 changes: 60 additions & 0 deletions site/content/blogs/release-v132.ja.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
---
title: 'AWS Copilot v1.32: `run local --proxy`、`run local --watch`、既存 ALB のインポートをサポート'
twitter_title: 'AWS Copilot v1.32'
image: ''
image_alt: ''
image_width: '1051'
image_height: '747'
---

# AWS Copilot v1.32: `run local --proxy``run local --watch`、既存 ALB のインポートをサポート

投稿日: 2023 年 11 月 9 日

AWS Copilot コアチームは Copilot v1.32 のリリースを発表します。

私たちのパブリックな[コミュニティチャット](https://app.gitter.im/#/room/#aws_copilot-cli:gitter.im)は成長しており、オンラインでは 500 人以上、[GitHub](http://github.com/aws/copilot-cli/) では 3,100 以上のスターを獲得しています 🚀。
AWS Copilot へご支援、ご支持いただいている皆様お一人お一人に感謝をいたします。

Copilot v1.32 ではより柔軟で効率的な開発を支援する大きな機能強化が行われました:

- **`copilot run local --proxy`**: ローカルコンテナから Environment の Services や RDS インスタンスへのアウトバウンドトラフィックをプロキシします。詳細は、[こちらのセクション](#proxy-with-copilot-run-local)をご参照ください。
- **`copilot run local --watch`**: コードに変更を加えた際に、コンテナを自動的にリビルドします。詳細は、[こちらのセクション](#watch-flag-for-copilot-run-local)をご参照ください。
- **ALB のインポート**: Load Balanced Web Service のフロントに、既存の ALB を利用できます。詳細は、[こちらのセクション](#imported-albs)をご参照ください。

??? note "AWS Copilot とは?"

AWS Copilot CLI は AWS 上でプロダクションレディなコンテナ化されたアプリケーションのビルド、リリース、そして運用のためのツールです。
開発のスタートからステージング環境へのプッシュ、本番環境へのリリースまで、Copilot はアプリケーション開発ライフサイクル全体の管理を容易にします。
Copilot の基礎となるのは、 AWS CloudFormation です。CloudFormation により、インフラストラクチャを 1 回の操作でコードとしてプロビジョニングできます。
Copilot は、さまざまなタイプのマイクロサービスの作成と運用の為に、事前定義された CloudFormation テンプレートと、ユーザーフレンドリーなワークフローを提供します。
デプロイメントスクリプトを記述する代わりに、アプリケーションの開発に集中できます。

より詳細な AWS Copilot の紹介については、[Overview](../docs/concepts/overview.ja.md) を確認してください。

<a id="proxy-with-copilot-run-local"></a>

## `copilot run local` のプロキシ機能
`copilot run local` の新しい `--proxy` フラグにより、ローカルコンテナが Environment にデプロイされた Service と通信できるようになりました。これにより、ローカル開発の体験が向上します。

たとえば、`users``orders` という 2 つの Service があり、どちらも [Service Connect](../docs/manifest/lb-web-service.ja.md#network-connect) を有効にしている Environment があるとします。さらに、`orders` にはデータを保存するために [RDS addon](../docs/developing/addons/workload.ja.md) がデプロイされているとします。`copilot run local --proxy --name orders` を実行することで、ローカルの `orders` コンテナは以下のコンポーネントと通信ができます:

- `users` Service: Service Connect URL を利用します (デフォルト: `http://users:<port>`)
- `orders` Service の RDS データベース: DB インスタンス URL (例: `app-env-orders-random-characters.us-west-2.rds.amazonaws.com:5432`) や、DB クラスター URL を利用します

<a id="watch-flag-for-copilot-run-local"></a>

## `copilot run local` の watch フラグ
`--watch` フラグを利用することで、ワークスペースを監視し、コードに変更を加えた際にコンテナを自動的にリビルドできます。これにより、継続的な開発が可能になります。`--watch` フラグを `--proxy` フラグと一緒に利用することで、アプリケーションをリビルドするたびにプロキシを設定する手間を省略できるため、非常に便利です。

<a id="imported-albs"></a>

## ALB のインポート
[Load Balanced Web Service の Manifest](../docs/manifest/lb-web-service.ja.md) で、新しいフィールド `http.alb` がサポートされました。Copilot が Environment 内に新しい Application Load Balancer を作成し、すべての Load Balanced Web Service 間で共有するのではなく、特定の Load Balanced Web Service (LBWS) 用に既存のインターネット向け ALB を指定することもできます。LBWS Manifest に、VPC に存在する既存の ALB の ARN または ALB 名を指定します:

```yaml
http:
alb: [name or ARN]
```
インポートされた ALB については、Copilot は証明書などの DNS 関連リソースを管理しません。
5 changes: 4 additions & 1 deletion site/content/docs/commands/run-local.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,17 @@ $ copilot run local [flags]

## フラグ
```
-a, --app string Name of the application. (default "playground")
-a, --app string Name of the application.
-e, --env string Name of the environment.
--env-var-override stringToString Optional. Override environment variables passed to containers.
Format: [container]:KEY=VALUE. Omit container name to apply to all containers. (default [])
-h, --help help for run
-n, --name string Name of the service or job.
--port-override list Optional. Override ports exposed by service. Format: <host port>:<service port>.
Example: --port-override 5000:80 binds localhost:5000 to the service's port 80. (default [])
--proxy Optional. Proxy outbound requests to your environment's VPC.
--proxy-network ipNet proxy-network (default 172.20.0.0/16)
--watch Optional. Watch changes to local files and restart containers when updated.
```

## 実行例
Expand Down
9 changes: 9 additions & 0 deletions site/content/docs/concepts/environments.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,15 @@ Load Balanced Web Service または、Manifest に `http` フィールドを記

Manifest で [`http`](../manifest/backend-service.ja.md#http)フィールドが設定された Backend Service が Environment 内にデプロイされる場合、内部 ALB が作成されます。HTTPS のエンドポイントを利用する場合は、`copilot env init` を実行する際に、[`--import-cert-arns`](../commands/env-init.ja.md#what-are-the-flags) フラグを使用してください。そして、 プライベートサブネットのみの VPC をインポートします。内部 ALB に関する詳細は[こちら](../developing/internal-albs.ja.md)を確認してください。

すでに VPC 内にインターネット向け ALB があり、Copilot が ALB を作成する代わりに既存の ALB を利用したい場合、Environment にデプロイする前に、Load Balanced Web Service の Manifest で既存の ALB の名前または ARN を指定してください。

```yaml
http:
alb: [name or ARN]
```
インポートされた ALB は、すべての Load Balanced Web Service 間で共有されるのではなく、既存の ALB をインポートした Service にのみ関連付けられます。
## Environment のカスタマイズ
既存の Environment リソースをインポートする、コマンドでフラグを使う、[Environment Manifest](../manifest/environment.ja.md) を変更するといった方法で、デフォルトの設定をすることができます。もし、現在設定可能なリソースよりも多くの種類のリソースをカスタマイズしたい場合は、お気軽にユースケースを添えた GitHub イシューを作成してください!
Expand Down
Loading

0 comments on commit f847fef

Please sign in to comment.