シングルAZでのVPC設計

Alibaba Cloudを用いて新しいシステムを設計する場合、どのような点に注意してアーキテクチャ構成を設計する必要があるのでしょうか？Alibaba Cloud上でシングルAZを用いたシステムの設計および構築方法と、構築の際に注意する点についてご紹介します。

#Alibaba Cloudの特徴とは？
Alibaba Cloudとは、中国国内で絶大な人気を誇るECサイトサービス「アリババ」のシステムを支えるクラウド基盤です。

Amazonが提供している「AWS（アマゾンウェブサービス）」、Microsoftの「Azure（マイクロソフトアジュール）」などと同じクラウドコンピューティングプラットフォームのひとつで、オンラインを経由してITリソースを利用することができます。

日本国内ではソフトバンクとアリババグループが設立した合弁企業、SBクラウドがサービスの提供を担当し、事業の展開と同時に日本国内にもデータセンタを開設しているのが特徴です。

システム基盤としてクラウドサービスを利用する場合、海外にデータを保管することができないなどの社内規定が導入時に問題とになることがありますが、Alibaba Cloudなら国内データセンタが利用できるため、このような規定を回避することができます。

また、セキュリティの高さと可用性の高さもAlibaba Cloudの特徴です。

Alibaba Cloudでは全ユーザがAnti-DDoSサービスを無償で利用することが可能なため、より安全に、低コストでDDoS攻撃に対処することができるでしょう。

可用性についても、1秒間に最大17万件を超えるAlibaba.comのトランザクションを問題なく処理しており、高負荷環境でも安定的な稼働を実現しています。

#Alibaba Cloudの導入と基本的なアーキテクチャ設計
Alibaba Cloudを用いたシステムを構築する場合、まずどのような目的でシステムを利用するかを考え、それに合ったアーキテクチャを設計しなければなりません。

そこで、はじめてAlibaba Cloudを利用するという方向けに、基本的なアーキテクチャ設計の流れをご説明していきます。

##システム要件に合ったVPCを設計する
Alibaba Cloudの導入にあたり、まず行わなければならないのがVPCの設計です。

VPCとは、クラウド内部で論理的に分離されたネットワークのことで、VPC内のリソースはパブリックIP等を設定しなければ他のVPCと直接通信を行うことができません。

このVPCはリージョン固有のリソースとなっており、例えば日本のデータセンタなら日本リージョン、香港なら香港リージョンといった形で表されます。

もし、システムを別個のリージョンにデプロイしたい場合にはリージョンごとにVPCを作成しなければなりませんので、設計の際には注意が必要です。

また、テスト環境と本番環境を分離しておきたいという場合にも、VPCを別個に作成しておくと良いでしょう。

環境を分離する場合に関しては、同一リージョン内に複数のVPCを作成することが可能ですので、複数のリージョンにVPCを構築する必要はありません。

##VPCの設計後AZの設計を行う
VPCはあくまでネットワーク環境になりますので、実際にシステムを構築する際にはVPC内部にシステムごとの領域を作成しなければなりません。

この領域のことをAZ（AvailabilityZone）と言い、それぞれ独立した電源とネットワークを備えた領域となっています。

実機環境で例えるなら、VPCはデータセンタそのもの、AZはデータセンタ内のサーバやネットワーク機器と考えると分かりやすいでしょう。

AZについては、一般的にゾーンと呼称されることが多いため、文章内ではゾーンと記載していきます。

Alibaba Cloudの場合、ゾーンについてもそれぞれ電源やネットワークが物理的に分離されているため、同一のVPC内にあるゾーンのひとつに物理的、システム的な障害が発生したとしても、別のゾーンには影響が及びません。

システムの冗長性、可用性を高める設計を行う場合には、VPC内に複数のゾーンを構築し、フェイルオーバーを組む形になりますが、このような構成のことを一般的にMulti-AZと言います。

逆に、VPC内にゾーンを複数配置せず、システムにつきひとつのゾーンで運用する場合はSingle-AZとなりますので、システム要件に合わせてゾーンの構成をMulti-AZにするかSingle-AZにするか決めておきましょう。

##Alibaba Cloudにおけるネットワーク構成について
Alibaba Cloud内の環境はVPCとそれに内包するゾーンによって構成されていますが、ネットワーク環境はどのような構成になっているのでしょうか？

まず、VPCについては、VRouterによってルーティングテーブルが設定されてます。

このVRouterについてはCIDR（クラスレスドメイン間ルーティング）を用いてIPアドレスの範囲を設定することができ、192.168.0.0/16および172.16.0.0/12、10.0.0.0/8のCIDRブロック、サブセットが利用可能です。

このCIDRブロックはVPC構築後に変更することができないため、設計時には使用するIPアドレスの数等を考慮した上でどのCIDRブロックを使用するか決めておきましょう。

ゾーンについてはVswitchによって切り分けられており、こちらについてもCIDRブロックを指定することができます。

使用可能なブロックサイズについては、/16から/29までの範囲となっており、VPCに用いたCIDRブロックと同一のサブネットも使用することが可能です。

例えば、VPCが192.168.0.0/16のCIDRブロックを用いていたとしても、Vswitchで192.168.0.0/16を用いることができます。

もちろん、192.168.0.0/17から192.168.0.0/29までの間で選択することも可能ですので、システム要件に合わせて使用するCIDRブロックを選択してください。

#Alibaba CloudでSingle-AZ環境を構築する
それでは、実際にAlibaba CloudでSingle-AZ環境を構築してみましょう。
![WS000118.JPG](https://qiita-image-store.s3.amazonaws.com/0/251354/35049674-b2ac-4a94-7153-6231ae5dbec2.jpeg)

 
まずAlibaba Cloudのトップページからログインし、コンソールの[プロダクト]から「Virtual Private Cloud」を選択します。

![WS000119.JPG](https://qiita-image-store.s3.amazonaws.com/0/251354/fc767ad3-4230-48a1-a0fb-7462a6b1b40a.jpeg)


選択するとこのようなページが表示されますので、[今すぐ有効化]をクリックしてください。

![WS000122.JPG](https://qiita-image-store.s3.amazonaws.com/0/251354/cfbd4d72-6561-b8ec-a7f9-329544b70597.jpeg)


VPCの申し込みが完了したら、VPCのコンソールにログインし、左側のメニューから[VPC]をクリックします。

 ![WS000123.JPG](https://qiita-image-store.s3.amazonaws.com/0/251354/d97dfa0b-1241-c61d-839c-11d79d9636da.jpeg)


この時、ページ上部でリージョンを選択することができますので、お使いになりたいリージョンを選択してください。

日本リージョンを使用したい場合は、上記画像のように[Asia Pacific NE 1（Japan）]を選びます。

リージョンは基本的なサービスを利用する場合はどれを選んでも同じですが、一部サービスは中国内リージョンのみで利用可能となりますので、注意が必要です。

日本国内にお住まいで、日本国内向けのサービスを構築する場合なら、回線速度等を考慮して日本リージョンを選ぶと良いでしょう。


リージョンの選択が完了したらページ内右上にある[VPCの作成]をクリックすると、ダイアログが開き、必要な情報を記入するページが表示されます。

 ![WS000124.JPG](https://qiita-image-store.s3.amazonaws.com/0/251354/5ba115b0-e26a-2e36-277c-432c90b3ef21.jpeg)


記入する情報は、[VPC Name]がVPCの名前、[Description]がVPCの説明、[CIDR Block]がVPCで利用するIPアドレスの範囲です。

IPアドレスの範囲は上でご紹介しているとおり、192.168.0.0/16、172.16.0.0/12、10.0.0.0/8が対応していますが、システム要件上特別なIPアドレスが必要となる場合には、コンソールのサポートセンターからチケットを起票して問い合わせてみると良いでしょう。

これらの情報が記入できたら[VPCの作成]をクリックすればVPCが作成され、続いてVswitchの設定画面へと進みます。

##VPCにVswitchを設定する
VPCの初期設定では、VPC作成と同時にVswitchの設定を行っていく形になります。

[VPCの作成]をクリックすると、ダイアログが[Vswitchの作成]に切り替わりますので、必要な情報をこちらにも記入していきましょう。

 ![WS000127.JPG](https://qiita-image-store.s3.amazonaws.com/0/251354/16ec021d-7058-8eeb-d167-7131ace20e92.jpeg)


記入する内容は[名前]がゾーンの名称、[ゾーン]がどのゾーンに作成するかの選択、[CIDR]が使用するCIDRブロックの選択です。

CIDRブロックについてはVPCの作成時に設定したものと関連したものに設定しておきます。

今回はテスト環境の作成ということで、192.168.1.0/24のごく少数のIPアドレスに設定しました。

もっと多くのプライベートIPが必要となる場合には、192.168.0.0/16などを設定すると良いでしょう。

パラメータの記入が終わったらダイアログ下部の[Vswitchの作成]をクリックします。

 ![WS000125.JPG](https://qiita-image-store.s3.amazonaws.com/0/251354/8fd1d1ef-ae97-4025-92f2-4f75b258b5d4.jpeg)

もし、VPCを複数作成したい場合については、こちらの画面で[もう一度作成]を選べばVPCの初期設定画面が表示され、続けて作成を行うことが可能です。

このまま作成を完了する場合は[仕上げ]をクリックしてください。

![WS000002.JPG](https://qiita-image-store.s3.amazonaws.com/0/251354/ebe831fc-4bb2-04de-aeaa-8327414fa9ec.jpeg)


[仕上げ]を選ぶとVPCのコンソール画面が再度表示され、選んだリージョンのページに作成したVPCが表示されます。

これでSingle-AZ環境でのVPC作成は完了となります。

#VPCの設定変更や削除の方法について
VPCコンソールでは、VPCの作成以外にもVPCの削除や一部パラメータの修正等を行うことができます。

 ![WS000000.JPG](https://qiita-image-store.s3.amazonaws.com/0/251354/b352b93c-36a5-e738-d705-f119215c3b75.jpeg)


方法は、まずVPCコンソールにログインし、変更を行いたいVPCがあるリージョンを選択してください。

リージョンを選択すると、作成されているVPCが表示されますので、画面右側の[アクション]と書かれた項目から対象のVPCで実施したい作業を選択します。

こちらの項目からは、VPCの名称や説明の変更、VPCの削除、ゾーンに設定したVswitchの名称や説明の変更、VPCへのゾーンの追加が可能です。

まず、VPCの削除についてですが、こちらは項目から[削除]を選択し、確認画面で[確認]をクリックするだけとなります。

パスワードや認証などを行う必要はありませんので、手軽にVPCを削除することができますが、バックアップのない状態で削除してしまうと大変ですので、VPCの削除を行う際には間違えていないかよく確認した上で作業を実施してください。

続いて、[編集]項目についてですが、こちらは選択すると以下のダイアログが表示され、名前と説明を修正することができます。

![WS000003.JPG](https://qiita-image-store.s3.amazonaws.com/0/251354/df009880-4a3c-a167-09d9-36d4ca508d2b.jpeg)


VPCコンソールでは直接VPCの名称等を変更することができますが、[管理]メニューからも同様の作業を行うことができるため、急いで変更したいという場合以外はミスを防ぐためにも管理メニューから作業を行うと良いでしょう。

##VPC管理メニューの使用方法
VPCコンソールには、[削除]や[編集]と並んで[管理]という項目が用意されています。

この項目は対象となるVPCに対してさまざまな設定を行う管理メニューへのリンクで、管理メニューではVPCやゾーンの名称変更や削除、Vswitchの追加も可能です。

![WS000004.JPG](https://qiita-image-store.s3.amazonaws.com/0/251354/59ee85c5-cc8c-7b14-60a9-5e7291308319.jpeg)

コンソールから[管理]をクリックすると、まず[VPCの詳細]が表示され、VPCの基本的な情報が表示されます。

VPCの名称などを変更したい場合については、画面右上の[VPCの編集]をクリックしてください。

こちらをクリックすると、VPCコンソールから[編集]を選択した場合と同じダイアログが表示され、VPCの名称を変更することができます。

VRouterに関する設定については、画面左メニューの[VRouter]をクリックしてください。

 ![1.jpg](https://qiita-image-store.s3.amazonaws.com/0/251354/359ae1a3-4024-3fd8-07a0-113ba1cda93f.jpeg)

VRouterのメニューでは、基本的な情報およびルーティングリスト等が表示され、画面右上の[ルートエントリの追加]から別のルートエントリを追加することもできます。

最後にご紹介するのはVswitchの管理メニューです。

![WS000128.JPG](https://qiita-image-store.s3.amazonaws.com/0/251354/190fddd9-bfe0-22fd-5d61-d9f04df52106.jpeg)
 
画面左側のメニューから[Vswitch]を選択すると、ゾーンごとに設定されたVswitchを表示することができます。

こちらからはVswitch（ゾーン）の名称変更および削除、Vswitchの追加等を行うことが可能です。

Vswitchの名称変更および削除については、VPCコンソールからVPCの名称変更等を行う場合と同様に表右側の項目の[アクション]から[編集]または[削除]を選択し、表示されたダイアログに従って操作する形になります。

VPCの場合と同じく、こちらも確認ダイアログがあるだけの形となっていますので、誤操作には注意してください。

Vswitchを追加して新しいゾーンを作成する場合については、ページ右上にある[Vswitchの作成]をクリックします。

[Vswitchの作成]をクリックすると、VPCを作成した場合と同じVswitchの設定ダイアログが開きますので、必要な情報を記入した上で[OK]を選択してください。

![WS000129.JPG](https://qiita-image-store.s3.amazonaws.com/0/251354/0b226969-329a-ab00-4195-32161680ddfc.jpeg)
 
Vswitchを追加する際には、ひとつめのVswitchを作成する場合と同じく、CIDRブロックｃをVPCに設定したものと合わせる必要があります。

また、既に作成済みのVswitchと重複したものは割り当てることができませんので、新規に追加する際にはIPリソースについても確認しておきましょう。

![WS000130.JPG](https://qiita-image-store.s3.amazonaws.com/0/251354/10b7855c-5d7b-4436-b4a4-98c046497ad3.jpeg)


作成ダイアログで[OK]を押した際にCIDRブロックに問題がなければこのように新しいVswitchが作成され、一覧画面に新しいVswitchが表示されます。

もし、作成したにもかかわらず新しいVswitchが表示されなかった場合には、ページ右上の[更新]をクリックして確認してください。

[更新]をクリックしても新しいVswitchが追加されていなかったという場合には、作成が遅れている可能性がありますので、しばらく待ってから再度更新してみましょう。

時間をおいても作成できない場合については、システムのトラブルや環境の問題がある場合がありますので、コンソール右側のサポートセンターから問い合わせを行ってください。

VPCを実際に利用するためには、作成したゾーンにECSやSLB、RDSなどの設定を行わなければなりません。

そこで、次回以降の記事では実際に環境を構築する方法として、これらの設定方法についてご紹介していきたいと思います。