---
title: 'AWS Copilot v1.23: App Runner プライベートサービス, Aurora Serverless v2 など!'
twitter_title: 'AWS Copilot v1.23'
image: ''
image_alt: ''
image_width: '1051'
image_height: '747'
---
# AWS Copilot v1.23: App Runner プライベートサービス, Aurora Serverless v2 など!
投稿日: 2022 年 11 月 1 日
AWS Copilot コアチームは Copilot v1.23 リリースを発表します。
私たちのパブリックな[コミュニティチャット](https://gitter.im/aws/copilot-cli)は成長しており、オンラインでは 300 人以上、[GitHub](http://github.com/aws/copilot-cli/) では 2.5k 以上のスターを獲得しています。
AWS Copilot へご支援、ご支持いただいている皆様お一人お一人に感謝をいたします。
Copilot v1.23 では、いくつかの新機能と改良が施されています。
- **App Runner プライベートサービス**: App Runner でプライベートサービスの起動がサポートされました。Request-Driven Web Service Manifest に `http.private` を追加すると、App Runner プライベートサービスを作成できます。[詳細はこちらを確認してください。](#app-runner-private-services)
- **`storage init` で Aurora Serverless v2 をサポート**: [詳細はこちらを確認してください。](#support-aurora-serverless-v2-in-storage-init)
- **Environment Manifest における誤った `http` フィールドの移動(後方互換性あり!):** [詳細はこちらを確認してください。](#move-misplaced-http-fields-in-environment-manifest-backward-compatible)
- **ルートファイルシステムへのコンテナアクセスを読み取り専用に制限:** [詳細はこちらを確認してください。](../docs/manifest/lb-web-service.ja.md#storage-readonlyfs) ([#4062](https://github.com/aws/copilot-cli/pull/4062)).
- **ALB の HTTPS レイヤーに対する SSL ポリシーを設定します:** [詳細はこちらを確認してください。](../docs/manifest/environment.ja.md#http-public-sslpolicy) ([#4099](https://github.com/aws/copilot-cli/pull/4099)).
- **ALB に対する ソース IP によるアクセス制限**: [詳細はこちらを確認してください。](../docs/manifest/environment.ja.md#http-public-ingress-source-ips) ([#4103](https://github.com/aws/copilot-cli/pull/4103)).
???+ note "AWS Copilot とは?"
AWS Copilot CLI は AWS 上でプロダクションレディなコンテナ化されたアプリケーションのビルド、リリース、そして運用のためのツールです。
開発のスタートからステージング環境へのプッシュ、本番環境へのリリースまで、Copilot はアプリケーション開発ライフサイクル全体の管理を容易にします。
Copilot の基礎となるのは、 AWS CloudFormation です。CloudFormation により、インフラストラクチャを 1 回の操作でコードとしてプロビジョニングできます。
Copilot は、さまざまなタイプのマイクロサービスの作成と運用の為に、事前定義された CloudFormation テンプレートと、ユーザーフレンドリーなワークフローを提供します。
デプロイメントスクリプトを記述する代わりに、アプリケーションの開発に集中できます。
より詳細な AWS Copilot の紹介については、[Overview](../docs/concepts/overview.ja.md) を確認してください。
## App Runner プライベートサービス
Copilot を使って App Runner プライベートサービスを作成出来ます。Request-Driven Web Service の Manifest を更新し、
```yaml
http:
private: true
```
デプロイするだけです! その Service は、Copilot Envrionment 内の他の Service からのみ到達できます。
その舞台裏では、Copilot が Envrionment 内の全てのプライベートな Service で共有される APP Runnner の VPC エンドポイントを作成しています。
既存の App Runner VPC エンドポイントがある場合、Manifest に次の様な設定をして、インポート出来ます。
```yaml
http:
private:
endpoint: vpce-12345
```
デフォルトでは、プライベートサービスはインターネットにのみトラフィックを送る事ができます。
Environment 内にトラフィックを送りたい場合は、Manifest に [`network.vpc.placement: 'private'`](../docs/manifest/rd-web-service.ja.md#network-vpc-placement) と設定します。
## [`storage init`](../docs/commands/storage-init.ja.md)で Aurora Serverless v2 をサポート
[Aurora Serverless v2 は今年の初めに一般利用を開始](https://aws.amazon.com/about-aws/whats-new/2022/04/amazon-aurora-serverless-v2/)しており、
現在、Copilot のストレージオプションとしてサポートされています。
以前は、次のコマンドを実行し、
```console
$ copilot storage init --storage-type Aurora
```
v1 クラスター用の Addon テンプレートを作成しました。現在は、**このコマンドはデフォルトで v2 用のテンプレートを作成します。**
v1 テンプレートを作成したい場合、`copilot storage init --storage-type Aurora --serverless-version v1` というコマンドを実行します。
より詳しく知りたい場合は、[`storage init` のドキュメント](../docs/commands/storage-init.ja.md)を確認してください!
## Environment Manifest における誤った `http` フィールドの移動(後方互換性あり!)
[Copilot v1.23.0](https://github.com/aws/copilot-cli/releases/tag/v1.23.0) では、 Environment Manifest における `http` フィールド下の階層を修正しました。
### 何が修正されるのか、それは何故なのか?
[Copilot v1.20.0](../blogs/release-v120.ja.md)では、Environment Manifest をリリースし、infrastructure as code の利点を Environment にも取り込みました。当時の `http` フィールド階層は次の様な形です。
```yaml
name: test
type: Environment
http:
public:
security_groups:
ingress: # [Flaw 1]
restrict_to: # [Flaw 2]
cdn: true
private:
security_groups:
ingress: # [Flaw 1]
from_vpc: true # [Flaw 2]
```
この階層設計には、2 つの欠点があります。
1. **`security_groups` 下の `ingress` は曖昧。** 各セキュリティグループには、対応する ingress があります。複数のセキュリティグループの "ingress" が何を意味するのか不明です。*(ここでは、 Copilot がアプリケーションロードバランサーに適用するデフォルトのセキュリティグループを Ingress に設定する事を意味していました。)*
2. **`restrict_to` が冗長。** `http.public` 下の `ingress` は制限され、`http.private` 下の `ingress` は許可されることが明確に示唆されなければなりません。`from_vpc` の `"from"` も同様の冗長性の問題があります。
これらを修正することで、次の様な Envrionment Manifest になります。
```yaml
name: test
type: Environment
http:
public:
ingress:
cdn: true
private:
ingress:
vpc: true
```
### 私はどうすればいいですか?
短い答え: 現時点ではありません。
#### (推奨) 正しい階層に Manifest を修正する
既存の Manifest は動作し続けますが(これについては後述します)、 Manifest を修正された階層に更新することをお勧めします。 以下は、影響を受けるフィールドを更新する方法のスニペットです。
???+ note "正しい階層に Manifest を修正する"
=== "パブリック ALB に対する CDN"
```yaml
# If you have
http:
public:
security_groups:
ingress:
restrict_to:
cdn: true
# Then change it to
http:
public:
ingress:
cdn: true
```
=== "プライベート ALB に対する VPC ingress"
```yaml
# If you have
http:
private:
security_groups:
ingress:
from_vpc: true
# Then change it to
http:
private:
ingress:
vpc: true
```
#### 既存の Manifest は動作し続けます
Envrionment Manifest を正しい階層にすぐに修正しなくても大丈夫です。`http.public.security_groups.ingress`(不備のあるバージョン)と `http.public.ingress`(修正されたバージョン)の両方を含む Manifest に更新しない限り、既存の Manifest は動作し続けます。
例えば、 v1.23.0 のリリース前に、Manifest が次の様なものだったとします。
```yaml
# Flawed hierarchy but will keep working.
http:
public:
security_groups:
ingress:
restrict_to:
cdn: true
```
同じ Manifest は v1.23.0. 以後も動作し続けるでしょう。
しかし、ある時点で、次の様に Manifest を修正したとします。
```yaml
# Error! Both flawed hierarchy and corrected hierarchy are present.
http:
public:
security_groups:
ingress:
restrict_to:
cdn: true
ingress:
source_ips:
- 10.0.0.0/24
- 10.0.1.0/24
```
Copilot は、Manifest に、`http.public.security_groups.ingress`(不備のあるバージョン)と `http.public.ingress`(修正されたバージョン)の両方が存在することを検出します。エラーとなり、修正されたバージョンの `http.public.ingress` だけが存在する様に、Manifest を更新する様な提案が表示されます。
```yaml
# Same configuration but written in the corrected hierarchy.
http:
public:
ingress:
cdn: true
source_ips:
- 10.0.0.0/24
- 10.0.1.0/24
```
## 次は?
以下のリンクより、新しい Copilot CLI バージョンをダウンロードし、[GitHub](https://github.com/aws/copilot-cli/) や [コミュニティチャット](https://gitter.im/aws/copilot-cli)にフィードバックを残してください。
* [最新 CLI バージョン](../docs/getting-started/install.ja.md)のダウンロード
* [スタートガイド](../docs/getting-started/first-app-tutorial.ja.md)を試す
* [GitHub](https://github.com/aws/copilot-cli/releases/tag/v1.23.0) でリリースノートの全文を読む
今回のリリースの翻訳はソリューションアーキテクトの浅野が担当しました。