site/overrides/layouts/home.ja.html (520 lines of code) (raw):
{% extends "main.html" %}
<!-- Render hero under tabs -->
{% block tabs %}
{{ super() }}
<!-- Additional styles for landing page -->
<style>
/* Apply box shadow on smaller screens that don't display tabs */
@media only screen and (max-width: 1220px) {
.md-header {
box-shadow: 0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2);
transition: color 250ms,background-color 250ms,box-shadow 250ms;
}
}
/* Hide main content for now */
.md-content {
display: none;
}
/* Hide table of contents */
@media screen and (min-width: 60em) {
.md-sidebar--secondary {
display: none;
}
}
/* Hide navigation */
@media screen and (min-width: 76.25em) {
.md-sidebar--primary {
display: none;
}
}
/* Get started button */
.md-typeset .md-button--primary {
color: var(--md-primary-fg-color);
background-color: var(--md-primary-bg-color);
border-color: var(--md-primary-bg-color);
}
.md-typeset .md-button--primary:hover {
color: var(--md-primary-bg-color);
background-color: var(--md-primary-fg-color);
border-color: var(--md-primary-bg-color);
}
.tx-hero {
max-width: 700px;
display: flex;
padding: .4rem;
margin: 0 auto;
text-align: center;
}
.tx-hero h1 {
font-weight: 700;
font-size: 38px;
line-height: 46px;
color: rgb(38, 38, 38);
}
.tx-hero p {
color: rgb(92, 92, 92);
font-weight: 400;
font-size: 20px;
line-height: 32px;
}
.tx-hero__image {
max-width: 1000px;
min-width: 600px;
width: 100%;
height: auto;
margin: 0 auto;
display: flex;
align-items: stretch;
}
.tx-hero__image img {
width: 100%;
height: 100%;
min-width: 0;
}
/* Secondary content styles */
.secondary-section {
background: rgb(245, 245, 245) none repeat scroll 0% 0%;
border-top: 1px solid rgb(222, 222, 222);
border-bottom: 1px solid rgb(222, 222, 222)
}
@media screen and (max-width: 1012px) {
.secondary-section {
display: block;
}
}
.secondary-section .g {
position: relative;
margin-left: auto;
margin-right: auto;
padding: 0px 40px;
max-width: 1280px;
}
.secondary-section .g .section {
font-size: 18px;
font-weight: 400;
line-height: 30px;
letter-spacing: normal;
padding: 88px 0px 116px;
}
.secondary-section .g .section.follow {
padding-top: 0px;
}
.secondary-section .g .section .component-wrapper {
display: flex;
-moz-box-align: center;
align-items: center;
}
@media screen and (max-width: 1012px) {
.secondary-section .g .section .component-wrapper {
display: block;
}
}
.secondary-section .g .section .component-wrapper h3 {
color: rgb(38, 38, 38);
font-size: 36px;
font-weight: 700;
line-height: 46px;
letter-spacing: normal;
margin-bottom: 12px;
}
.secondary-section .g .section .component-wrapper h4 {
color: rgb(38, 38, 38);
}
.secondary-section .g .section .component-wrapper p {
color: rgb(92, 92, 92);
font-size: 18px;
font-weight: 400;
line-height: 30px;
letter-spacing: normal;
margin-bottom: 16px;
}
.secondary-section .g .section .component-wrapper .image-wrapper {
margin-bottom: 12px;
overflow: hidden;
border-radius: 8px;
margin-top: 48px;
border: 1px solid rgb(222, 222, 222);
box-shadow: rgba(202, 202, 202, 0.15) 0px 0px 0px 6px;
max-width: 600px;
width: 100%;
height: auto;
margin: 0 auto;
display: flex;
align-items: stretch;
}
.image-wrapper img {
width: 100%;
height: 100%;
min-width: 0;
}
.secondary-section .g .section .component-wrapper .first-column {
padding-right: 100px;
flex: 0 1 auto;
height: auto;
width: 50%;
}
@media screen and (max-width: 1012px) {
.secondary-section .g .section .component-wrapper .first-column {
padding-right: 0px;
width: 100%;
margin-bottom: 32px;
}
}
.secondary-section .g .section .component-wrapper .second-column {
flex: 0 1 auto;
height: auto;
width: 50%;
}
@media screen and (max-width: 1012px) {
.secondary-section .g .section .component-wrapper .second-column {
width: 100%;
margin-bottom: 32px;
}
}
.secondary-section .g .section .component-wrapper .responsive-grid {
display: grid;
width: 100%;
grid-template-columns: repeat(1, 1fr);
gap: 2rem;
}
@media screen and (min-width: 64rem) {
.secondary-section .g .section .component-wrapper .responsive-grid {
grid-template-columns: repeat(3, 1fr);
}
}
.secondary-section .g .section .component-wrapper .responsive-grid a.card-wrapper {
text-decoration: none;
transition: none;
background: none;
padding: 0;
}
.secondary-section .g .section .component-wrapper .responsive-grid .card {
position: relative;
background-color: #fff none repeat scroll 0% 0%;
padding: 1.5rem;
display: flex;
flex-direction: row;
-moz-box-align: center;
align-items: center;
height: 100%;
-moz-box-pack: start;
justify-content: flex-start;
box-shadow: rgba(0, 0, 0, 0.09) 0.3125rem 0.3125rem 0px -0.0625rem, rgba(0, 0, 0, 0.15) 0px 0.25rem 0.5rem 0px;
transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
}
.secondary-section .g .section .component-wrapper .responsive-grid .card:hover {
box-shadow: rgba(0, 0, 0, 0.2) 0.3125rem 0.3125rem 0px -0.0625rem, rgba(0, 0, 0, 0.26) 0px 0.25rem 0.5rem 0px;
}
@media screen and (min-width: 75rem) {
.secondary-section .g .section .component-wrapper .responsive-grid .card {
padding: 2rem 2.5rem;
}
}
@media screen and (min-width: 36rem) {
.secondary-section .g .section .component-wrapper .responsive-grid .card {
padding: 1rem 1.5rem;
}
}
.secondary-section .g .section .component-wrapper .responsive-grid .card .logo {
margin-right: 0.75rem;
width: 1.2rem;
min-width: 1.2rem;
}
.secondary-section .g .section .component-wrapper .responsive-grid .card .card-content {
display: flex;
flex: 1 1 0%;
flex-direction: column;
width: 100%;
}
.secondary-section .g .section .component-wrapper .responsive-grid .card .card-content h5 {
color: rgb(61, 61, 61);
margin: 0;
}
.secondary-section .g .section .component-wrapper .responsive-grid .card .card-content p {
margin-top: 0.25em;
margin-bottom: 0;
color: rgb(92, 92, 92);
font-size: 0.65rem;
font-weight: 300;
line-height: normal;
}
.secondary-section .g .section .component-wrapper .responsive-grid .card .card-content code {
background: rgba(0, 0, 0, 0.05) none repeat scroll 0% 0%;
padding: 2px 6px;
border-radius: 4px;
}
.component-wrapper span.em {
color: rgb(61, 61, 61);
}
.component-wrapper a {
transition: color 125ms;
color: rgb(61, 61, 61);
background: rgba(0, 0, 0, 0.05) none repeat scroll 0% 0%;
padding: 2px 6px;
margin: 0px 1px;
border-radius: 4px;
display: inline;
cursor: pointer;
font-weight: 600;
}
.component-wrapper a:hover {
color: var(--md-typeset-a-color);
background: var(--md-accent-fg-color--transparent);
}
</style>
<!-- Hero for landing page -->
<div class="md-container tx-hero">
<div class="md-grid md-typeset">
<div class="md-main__inner">
<div>
<h1>Your toolkit for containerized applications on AWS</h1>
<p><span style="display: inline-block;">オープンソースの</span><span style="display: inline-block;"> AWS Copilot CLI で、</span><span style="display: inline-block;">AWS App Runner、</span><span style="display: inline-block;">Amazon ECS、</span><span style="display: inline-block;">AWS Fargate を</span><span style="display: inline-block;">活用した</span><span style="display: inline-block;">プロダクションレディな</span><span style="display: inline-block;">コンテナアプリケーションの</span><span style="display: inline-block;"><span class="em">ビルド</span>、</span>
<span style="display: inline-block;"><span class="em">リリース</span>、</span><span style="display: inline-block;"><span class="em">運用</span>を</span><span style="display: inline-block;">かんたんに実現</span>しよう。
</p>
<a
href="docs/overview/"
title="Get Started"
class="md-button md-button--primary"
>
さっそく始めてみよう
<svg width="11" height="10" viewBox="0 0 11 10" fill="none" style="margin-left:2px"><path d="M1 5.16772H9.5M9.5 5.16772L6.5 1.66772M9.5 5.16772L6.5 8.66772" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg>
</a>
</div>
</div>
</div>
</div>
<div class="md-container">
<div class="tx-hero__image">
<img
src="{{config.site_url}}assets/images/screen.png"
alt=""
draggable="false"
>
</div>
</div>
<div class="md-container secondary-section">
<div class="g">
<!-- Architecture as building blocks -->
<div class="section">
<div class="component-wrapper">
<div class="first-column">
<h3>アーキテクチャから始めよう</h3>
<p>
Dockerfile から<span class="em">コマンド1つ</span>でクイックに AWS のベストプラクティスを適用したコンテナアプリケーションを展開してみましょう。
</p>
<p>
Copilot は AWS リソース群のモデリング手段ではなく、クラウド上のアーキテクチャとして良く知られた <a href="docs/concepts/services/#request-driven-web-service">Request-Driven Web Service</a>、
<a href="docs/concepts/services/#load-balanced-web-service">Load Balanced Web Service</a>、<a href="docs/concepts/services/#backend-service">Backend Service</a>、
<a href="docs/concepts/services/#worker-service">Worker Service</a>、
<a href="docs/concepts/jobs/">Scheduled Job</a> という選択肢を提供します。
Copilot がそれらに必要なインフラストラクチャを開発者に代わって構築することで、みなさんは AWS リソースの接続ではなくビジネスロジックの記述にフォーカスできます。
</p>
</div>
<div class="second-column">
<div class="image-wrapper">
<img
src="{{config.site_url}}assets/images/copilot-init.png"
alt=""
draggable="false"
>
</div>
</div>
</div>
<div class="component-wrapper" style="display: block;">
<h4>特徴</h4>
<!-- Arch as code -->
<div class="responsive-grid">
<a class="card-wrapper" href="docs/manifest/overview">
<div class="card">
<div class="logo">
<span class="twemoji">
{% include ".icons/octicons/file-code-24.svg" %}
</span>
</div>
<div class="card-content">
<h5>Manifest</h5>
<p>
あなたのサービスを "architecture-as-code" で表現
</p>
</div>
</div>
</a>
<!-- Networking -->
<a class="card-wrapper" href="docs/developing/svc-to-svc-communication">
<div class="card">
<div class="logo">
<span class="twemoji">
{% include ".icons/fontawesome/solid/network-wired.svg" %}
</span>
</div>
<div class="card-content">
<h5>ネットワーキング</h5>
<p>
サービス間通信を可能にするサービスディスカバリはデフォルトでセットアップ
</p>
</div>
</div>
</a>
<!-- Customize -->
<a class="card-wrapper" href="docs/developing/addons/modeling">
<div class="card">
<div class="logo">
<span class="twemoji">
{% include ".icons/fontawesome/solid/puzzle-piece.svg" %}
</span>
</div>
<div class="card-content">
<h5>Addon</h5>
<p>
あなたのサービスと、データベースやその他の AWS リソースのインテグレーション
</p>
</div>
</div>
</a>
</div>
</div>
</div>
<!-- Continuous delivery -->
<div class="section follow">
<div class="component-wrapper">
<div class="first-column">
<h3>継続的デリバリー</h3>
<p>
自動化されたリリースプロセスの用意のためにカスタムスクリプトで Copilot コマンドをつなぎ合わせる心配は不要です。
Copilot は複数の AWS アカウントやリージョンにまたがる複数の<a href="docs/concepts/environments/">環境</a>を作成・管理するためのコマンド、
あるいはコンテナイメージのビルドやデプロイ、そして自動テストを実行するための AWS CodePipeline <a href="docs/concepts/pipelines/">パイプライン</a>を
作成するコマンドを提供します。
</p>
</div>
<div class="second-column">
<div class="image-wrapper">
<img
src="{{config.site_url}}assets/images/copilot-env-init.png"
alt=""
draggable="false"
>
</div>
</div>
</div>
<div class="component-wrapper" style="display: block;">
<h4>特徴</h4>
<!-- Environments -->
<div class="responsive-grid">
<a class="card-wrapper" href="docs/commands/env-init/">
<div class="card">
<div class="logo">
<span class="twemoji">
{% include ".icons/octicons/square-24.svg" %}
</span>
</div>
<div class="card-content">
<h5>Environment</h5>
<p>
複数 AWS アカウントやリージョンへのデプロイとその管理を実現
</p>
</div>
</div>
</a>
<!-- Override -->
<a class="card-wrapper" href="docs/manifest/lb-web-service/#environments">
<div class="card">
<div class="logo">
<span class="twemoji">
{% include ".icons/octicons/pencil-24.svg" %}
</span>
</div>
<div class="card-content">
<h5>Environment 単位でのオーバーライド</h5>
<p>
Manifest で Environment 単位のサービス設定をコントロール
</p>
</div>
</div>
</a>
<!-- Customize -->
<a class="card-wrapper" href="docs/commands/pipeline-init/">
<div class="card">
<div class="logo">
<span class="twemoji">
{% include ".icons/aws/codepipeline-32.svg" %}
</span>
</div>
<div class="card-content">
<h5>リリース自動化</h5>
<p>
Copilot ビルトインコマンドで継続的デリバリを可能にするパイプラインを作成
</p>
</div>
</div>
</a>
</div>
</div>
</div>
<!-- Operations -->
<div class="section follow">
<div class="component-wrapper">
<div class="first-column">
<h3>運用はワークフローの一部</h3>
<p>
開発者にとってサービスをモデリング、構築、デプロイすることはアプリケーションライフサイクルの一部でしかありません。
Copilot はトラブルシューティングやデバッグといったワークフローもサポートします。
アプリケーション<a href="docs/commands/svc-logs/">ログの確認</a>や<a href="docs/commands/svc-exec">実行中のコンテナ内シェルへのアクセス</a>、<a href="docs/commands/svc-status/">ヘルスチェック状況の確認</a>を
あなたの使い慣れたターミナルから行いましょう。
</p>
</div>
<div class="second-column">
<div class="image-wrapper">
<img
src="{{config.site_url}}assets/images/copilot-svc-status.png"
alt=""
draggable="false"
>
</div>
</div>
</div>
<div class="component-wrapper" style="display: block;">
<h4>特徴</h4>
<!-- Tasks -->
<div class="responsive-grid">
<a class="card-wrapper" href="docs/commands/task-run/">
<div class="card">
<div class="logo">
<span class="twemoji">
{% include ".icons/aws/fargate-32.svg" %}
</span>
</div>
<div class="card-content">
<h5>タスクの実行</h5>
<p>
運用上必要な処理のための one-off タスクの実行
</p>
</div>
</div>
</a>
<a class="card-wrapper" href="docs/commands/svc-exec/">
<div class="card">
<div class="logo">
<span class="twemoji">
{% include ".icons/octicons/terminal-24.svg" %}
</span>
</div>
<div class="card-content">
<h5>Exec</h5>
<p>
AWS Fargate で実行するコンテナ内でのコマンド実行やシェルへのアクセス
</p>
</div>
</div>
</a>
<a class="card-wrapper" href="docs/commands/svc-status/">
<div class="card">
<div class="logo">
<span class="twemoji">
{% include ".icons/aws/cloudwatch-32.svg" %}
</span>
</div>
<div class="card-content">
<h5>監視</h5>
<p>
ログやアラームによるサービスやタスクの状況確認
</p>
</div>
</div>
</a>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
<!-- Content -->
{% block content %}{% endblock %}
<!-- Application footer -->
{% block footer %}
{{ super() }}
{% endblock %}