0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWSのハンズオン学習「第2弾」AWS 基礎 Web アーキテクチャ:Private Subnet / ALB / NAT / S3 / VPC Endpoint 構成

0
Last updated at Posted at 2025-11-21

はじめに

こんにちは、Ryuです!
今回はAWS SAAの試験でも出てくるようなWebアーキテクチャ構成をAWS Workshops Studioで見つけたので実際に構築してみたいと思います。

今回構築するアーキテクチャは以下になります。
Screenshot 2025-11-20 at 11.33.12 AM.png

こちらのAWS Workshops Studioにて参考資料等直接確認できます。

アーキテクチャ概要

今回の構成では、AWS 上に Web アプリケーションの基礎的なネットワーク環境を構築しています。

まず 1 つの VPC を用意し、

パブリックサブネット ×2(AZ A / AZ B)

プライベートサブネット ×2(AZ A / AZ B)
という構成で、2 つの Availability Zone に跨る冗長なネットワークを作成しています。

プライベートサブネットに配置された EC2 Web サーバーは、直接インターネットに出られないため、
NAT Gateway 経由で必要な外部アクセスが行えるように構成しています。

ユーザーからのアクセスは
Internet Gateway → Application Load Balancer (ALB)
というルートを通り、ALB が Web サーバーへリクエストを転送します。
ALB と Web サーバーにはそれぞれ Security Group を設定し、
許可するポートと通信元を明確に制御しています。

Web サーバーで利用する静的コンテンツは Amazon S3 に保存しており、
S3 との通信は VPC Endpoint (Gateway Endpoint) を利用して、
インターネットを経由せず AWS 内部ネットワークで安全にアクセスできる構成になっています。

使用するサービス一覧

  • VPC

  • SGs

  • IAM

  • EC2

  • SSM

  • ALB

  • S3

  • ASG(オプション)

では実際に構築していきましょう!

VPC作成

まずはAWSのサービスを置くための土台となるVPCを構築していきます。

  • VPCと検索しアクセスします。
    Screenshot 2025-11-20 at 12.09.26 PM.png
  • VPCを作成をクリック。
    Screenshot 2025-11-20 at 12.11.13 PM.png
    VPCなどを選択しその他の設定を行っていきます。
  • 名前タグの自動生成ではVPCの名前を決めます。
  • IPv4CIDRブロックでは使用する範囲のIPアドレスを決めていくのですが今回はデフォルトにします。
  • IPv6はなし。
  • テナンシーはデフォルト。
  • AZは2つ必要なので2を選択。
    Screenshot 2025-11-20 at 12.18.40 PM.png
    下部にスクロールして。
  • パブリックサブネットを2つ。
  • プライベートサブネットを2つ。
  • 今回は各パブリックサブネットにNAT配置したいのでAZごとに1をNATゲートウェイで選択。
  • VPCエンドポイントではS3に静的コンテンツ配置するのでS3ゲートウェイを選択します。
  • その他DNS設定はデフォルトのままにします。
    Screenshot 2025-11-20 at 12.25.43 PM.png
    最後にVPCを作成を押してVPC作成はこれで以上になります、この後他のサービスを作成し配置できるようになります。

セキュリティグループ作成

次はALBとWebサーバーにアタッチするSGを作成します。
検索欄にEC2を検索してアクセスします。
Screenshot 2025-11-20 at 2.04.33 PM.png

左側の選択画面にてセキュリティグループをクリック、そして右上のセキュリティグループを作成を押します。
Screenshot 2025-11-20 at 2.07.50 PM.png

セキュリティグループの作成していきたいと思います。
まずはALB用のSGを作成していきます。

  • セキュリティグループの名前はハンズオン資料にあるLoad Balancer Security Groupを入力。
  • 説明欄もハンズオン資料にあるExternal Accessを入力。
  • VPCは先ほどさ作成したものを必ず選択する。
  • インバウンドルールでは入ってくる通信の許可をする設定です。今回は80番ポートのHTTPの通信全てを許可するため0.0.0.0/0をソースとして選択します。
  • 説明欄ではなぜこのポートを許可するのか簡単な説明を入れます、今回はハンズオンに事前に準備されているものを入力します。

※安全な通信のためには本来 HTTPS を推奨しますが、このワークショップでは構成をシンプルにするため、SSL/TLS 証明書の設定までは行いません。HTTPS を使うには証明書が必要。その証明書を AWS が自動で用意・管理してくれるのがACMになります。

Screenshot 2025-11-20 at 2.14.40 PM.png

最後に下部スクロールしていくとタグを確認することができます。
タグはAWSのリソースに付けるメモみたいなもので、整理したりコスト管理に役立つものになります。

  • 今回はハンズオンに事前に準備されているものをコピペしていきます。

Screenshot 2025-11-20 at 2.28.53 PM.png

続けてWebサーバー用のSGをALB用で作った方法と同じ方法で作成していきます。
Screenshot 2025-11-20 at 7.09.41 PM.png

下部へスクロールして。
Screenshot 2025-11-20 at 7.10.38 PM.png

セキュリティグループを作成で完了です!

以上の設定で2つのセキュリティグループを作成することができました。

IAMロールの設定

Webサーバーがアクセスできる AWS リソースを必要最小限に絞るため、IAM で厳密に権限を設定します。

※IAM ポリシーで権限を作り、それを IAM ロールに付けます。
EC2 はこのロールを引き受けて許可された AWS リソースにアクセスできます。
インスタンスプロファイルは、そのロールを EC2 に付けるための仕組みです。
Screenshot 2025-11-20 at 2.54.54 PM.png

早速ロール作成をしていきます。まずはIAMを検索しアクセスします。
Screenshot 2025-11-20 at 2.57.09 PM.png

左側の選択肢を確認するとロールと確認できるのでそちらをクリック、そしてロールを作成を押します。
Screenshot 2025-11-20 at 3.00.26 PM.png

AWSのサービスを選択します。
※ポリシーやロールは自分で作成することもできますが、AWS にはあらかじめ用意されたテンプレートが多数あります。今回はその既存のロールを利用します。
Screenshot 2025-11-20 at 3.18.39 PM.png

下部にスクロールして、ユースケースをEC2を選択します。
加えて以下のEC2 Role for AWS Systems Managerを選択してください。

今回選択したロールのテンプレートはEC2にSSH接続しなくても、AWS の管理ツール(SSM)で操作できるようにするための権限セットになります。

以上の設定を終えましたら次へをクリックします。
Screenshot 2025-11-20 at 3.19.41 PM.png

タイプのところで確認できるようにこのロール自体AWSによって管理されているテンプレートのロールになります
今回の選択したロールにアタッチされているポリシーを確認し次へを押します。
ScreeScreenshot 2025-11-20 at 6.51.38 PM.png nshot 2025-11-20 at 3.29.27 PM.png

ロール名を記入していくのですがハンズオンに事前に準備してくれている名前をそのままコピペします。
説明の部分もそのままでAWSが準備してくれたものをそのまま使います。
Screenshot 2025-11-20 at 3.35.26 PM.png

下部にスクロールしていくと、ロールに付与されているポリシーがJSON形式で確認できます。
自作でポリシーを作成する場合JSON形式で作成していくことになります。
Screenshot 2025-11-20 at 3.37.23 PM.png

さらにスクロールして今回はタグ付けなしでそのままロール作成を押してロールの完成になります!
Screenshot 2025-11-20 at 3.38.59 PM.png

EC2作成

EC2インスタンス作成してWebサーバーを作っていきたいと思います。
まずはEC2と検索してアクセスします。
Screenshot 2025-11-20 at 6.50.17 PM.png

右側のインスタンスを起動をクリックします。
Screenshot 2025-11-20 at 6.53.18 PM.png

ではインスタンスの設定を行っていきます。

  • 名前ではわかりやすいサーバー名を入力します。
  • Amazonマシンイメージではそのままデフォルトの無料枠を使用するので何も設定は変更行いません。
    Screenshot 2025-11-20 at 6.56.31 PM.png

下部へスクロールします。

  • インスタンスタイプも変更を行わないで無料枠のすでに指定されているものを使用します。
  • キーペアに関してはキーペアなしを選択します。通常の構成では必ず使用する必要があるのですが今回直接SSH接続するのではなくSSM経由でEC2に入るハンズオンになっております。
    Screenshot 2025-11-20 at 6.58.23 PM.png

下部へさらにスクロールしネットワークの設定を行ってきます。

  • VPCでは今回作成したものを選択。
  • サブネットは4つ作成したうちのプライベートなものを1つ選択。
  • パブリックIPは使用しないので無効化。
    -セキュリティグループは今回SG編で作成したWebサーバー用のものを選択。
    Screenshot 2025-11-20 at 7.15.40 PM.png

下部へスクロールし高度な詳細を開いてIAM編で作成したIAMインスタンスプロファイルを選択します。

Screenshot 2025-11-20 at 7.18.42 PM.png

最後に高度な詳細の一番したへスクロールしてサーバー起動時にPHP関連を自動インストールさせたいので、Userdataでスクリプトを設定します。
スクリプトはハンズオン内の資料に添付してあるものを使用します。
Screenshot 2025-11-20 at 7.24.45 PM.png

そしてインスタンスを起動するをクリックしてEC2の作成はこれで以上になります!今回のハンズオンほぼ50%が完了しました、ハンズオンが楽しすぎて時間の進みが早く感じます笑

初期化中ではありますが起動できたのを確認できました。
Screenshot 2025-11-20 at 7.29.36 PM.png

SSMを使用して実際にEC2へアクセス

今回作成したインスタンスを選択して接続をクリックします。
Screenshot 2025-11-20 at 7.44.21 PM.png

接続方法をセッションマネージャーを選択して接続をクリックします。
Screenshot 2025-11-20 at 7.46.56 PM.png

簡単にインスタンスに接続できました!
Screenshot 2025-11-20 at 7.49.08 PM.png

ではハンズオン内に添付してあるコマンドを実行していきます。

echo -n 'Private IPv4 Address: ' && ifconfig enX0 | grep -i mask | awk '{print $2}'| cut -f2 -d: && \
echo -n 'Public IPv4 Address: ' && curl checkip.amazonaws.com

このコマンドはどんなコマンドかというとChatGPTに聞いたところ、「EC2内部のNICが持つプライベートIP」と「外部から見えるパブリックIP」を別々に取って表示する」コマンドになります。

コマンドをそのままコピペして実行したところ、パブリックIPは表示されたがプライベートのIPアドレスはエラーで確認できませんでした。

調べたところエラーの原因はenX0 というインターフェースがそもそも存在しない、だからifconfig enX0 が失敗してエラーがそのまま出ている。

解決策としてifconfigコマンドで実際のインターフェース名を確認し、enX0→ens5にコマンドを変更後に無事に解決できました。
Screenshot 2025-11-20 at 8.01.54 PM.png

プライベートIPがちゃんと表示されたので、SSH接続をしないで正しいインスタンスに入れていることを確認できました。
表示されているパブリックIPはNAT GatewayのElastic IPで、これのおかげでプライベートサブネット内のWebサーバーがインターネットと通信できています。

ALB作成

ALBを作成していきます!ALBも実はEC2のサービスないから確認することができます。EC2のサービスへアクセスしていただいて左側の選択肢から下部へスクロールするとロードバランサーを確認できるのでそちらをクリックしていきます。
Screenshot 2025-11-20 at 8.16.55 PM.png

続けてロードバランサーの作成をクリック。
Screenshot 2025-11-20 at 8.20.17 PM.png

今回はHTTP通信を使用するのでALBを選択します。
Screenshot 2025-11-20 at 8.22.13 PM.png

ALBの設定を行っていきます。

  • ロードバランサー名をわかりやすいものを入力。
  • 外部(インターネット)から直接アクセスさせるのでインターネット向けを選択。
  • ロードバランサーの IP アドレスタイプはIPv4を選択。
    Screenshot 2025-11-20 at 8.24.03 PM.png

ネットワークマッピング

  • 今回作成したVPCを選択。
  • IPプールはロードバランサーのパブリックIPv4を“自前のIPプール”から割り当てるものなので基本的んはなし。
  • アベイラビリティーゾーンとサブネットでは今回作成した2つのパブリックサブネットを選択。
    Screenshot 2025-11-20 at 8.50.52 PM.png

ALB用に作成したSGを選択します。
Screenshot 2025-11-20 at 8.53.30 PM.png

リスナーとルーティングでは実際にALBはALB は“どのサーバーにリクエストを送るか”を自分では判断できないのでターゲットグループを作成しそれをアタッチしていきます。

まだターゲットグループは未作成なのでターゲットグループを作成するをクリックして作成していきます。
Screenshot 2025-11-20 at 8.55.31 PM.png

ではハンズオンの添付資料に添付してある通りに設定を行っていきます。

  • インスタンスを登録するのでインスタンスを選択。
  • ターゲットグループ名を入力します。
  • VPCは必ず今回作成したもの選択。
  • その他の設定はデフォルトで特に変更点はありません。
    Screenshot 2025-11-20 at 9.00.09 PM.png
    Screenshot 2025-11-20 at 9.03.54 PM.png
    タグ付けして次へをクリックします。
    Screenshot 2025-11-20 at 9.04.42 PM.png

最後にターゲットグループに登録するインスタンスを選択し、保留中として以下を含めるを押して次へを
クリックします。
Screenshot 2025-11-20 at 9.06.30 PM.png

このままターゲットグループの作成をクリックして作成完了です!
Screenshot 2025-11-20 at 9.09.24 PM.png

作成完了すると添付のような表示になります。
Screenshot 2025-11-20 at 9.14.52 PM.png

ターゲットグループができたのでALBの先ほどの設定に戻ります。
ALB設定のリスナーとルーティングにあるターゲットグループを選択します、これでALBはどのインスタンスに振り分けるかわかるようになります。
Screenshot 2025-11-20 at 9.36.06 PM.png

その他の設定はデフォルトのまませ一番したまでスクロールしロードバランサーの作成をクリックして作成完了です!
Screenshot 2025-11-20 at 9.36.43 PM.png

Webサーバーアクセスしてみよう!

Webサーバーへアクセスする前にターゲットグループでインスタンスの健康状態を確認します。
正常1が見えますね!これでアクセスできる状態だと確認できました。
Screenshot 2025-11-20 at 9.47.06 PM.png

ではロードバランサーにあるDNS名を使ってブラウザーでアクセスしていきます!
Screenshot 2025-11-20 at 9.49.35 PM.png

素晴らしい...アクセスできました!
Screenshot 2025-11-20 at 9.51.17 PM.png

S3作成

静的コンテンツを置くためのS3を作成します。
S3をまずは検索しアクセスします。
Screenshot 2025-11-20 at 9.58.03 PM.png

次にバケットを作成をクリックします。
Screenshot 2025-11-20 at 9.59.33 PM.png

汎用バを選択し、バケット名を入力していきます。
Screenshot 2025-11-20 at 10.00.58 PM.png
その他の設定はデフォルトのままにして、一番したまでスクロールしたらバケット作成をクリックします。
これでS3バケットの完成です!
Screenshot 2025-11-20 at 10.02.13 PM.png

コンテンツファイルをアップロードするので対象のバケットを選択しクリックします。
ScreScreenshot 2025-11-20 at 10.21.01 PM.png enshot 2025-11-20 at 10.03.48 PM.png

ハンズオン内にある添付資料をダウンロードしてそちらをアップロードしていきます。
Screenshot 2025-11-20 at 10.05.43 PM.png

アップロードが完了したのでWebサーバーから実際にS3バケットが確認できるか確認していきましょう。
Screenshot 2025-11-20 at 10.14.07 PM.png

エラーが起きてしまいました...
原因はなんなんでしょうか... そうEC2にS3へアクセスする権限を付けてないのが原因になります。
EC2のIAMロールにS3アクセス権限を追加すれば解決できるので権限を追加していきましょう!
Screenshot 2025-11-20 at 10.16.42 PM.png

IAMへアクセスし左側のロールをクリックしていきます。
Screenshot 2025-11-20 at 10.22.03 PM.png

対象のロールを選択クリックします。
Screenshot 2025-11-20 at 10.23.26 PM.png

ポリシーを追加したいのでポリシーをアタッチをクリックします。
Screenshot 2025-11-20 at 10.24.13 PM.png

Screenshot 2025-11-20 at 10.26.15 PM.png

S3をリードしたいだけなのでAmazonS3ReadOnlyAccessを検索して許可を追加します。
これでポリシーがアタッチされ他ので再度WebサーバーからS3アクセス可能かどうか確認していきます。
Screenshot 2025-11-20 at 10.26.49 PM.png

バケット名とリージョンを入力後にBrowseボタン押した結果無事に確認できることを確認できました。
Screenshot 2025-11-20 at 10.29.06 PM.png

Auto Scaling Group作成 (チャレンジ)

ハンズオンではASGはチャレンジ枠として自分で作成してみるオプションになっています。
ではAuto Scaling Groupとはなんでしょうか?
今回の“Private Subnetに1台だけEC2を置く構成は、壊れた瞬間にサービスが完全に停止してしまいます。
ASGはそのリスクをゼロにする仕組みであり、可用性・復旧力の基盤として必須であり単一障害点を排除するのに役立ちます。

実際に構築し挙動を確認して可用性と復旧力を確認していきましょう!

まずはEC2を検索しアクセスしていきます。
Screenshot 2025-11-21 at 9.27.28 AM.png

ASGを作成するためには起動テンプレートをまず作成する必要があるので、対象のインスタンスを選択して、右上のアクションからアクション→イメージとテンプレート→インスタンスからテンプレートを作成をクリックします。
Screenshot 2025-11-21 at 9.28.44 AM.png

起動テンプレート作成を行っていきます。

  • 起動テンプレート名をわかりやすものを命名します。
  • テンプレートバージョンの説明を入力。
    Screenshot 2025-11-21 at 9.38.49 AM.png

下部にスクロールしていき、AMIを選択するのですが今回は特に自作したものはないのでデフォルトのものをそのまま選択していきます。
※AMIとは?“ディスクのコピー(スナップショット)” と “OS の設計図” のこと。
Screenshot 2025-11-21 at 9.42.43 AM.png

下部へスクロールしインスタンスタイプもそのままになります。
キーペアも今回は作成していないのでなしになります。(SSMで接続する仕様になっているため)
Screenshot 2025-11-21 at 9.44.57 AM.png

ASGが複数AZにまたがってインスタンスを作るため、テンプレートのAZは無視されるためサブネットとAZの選択はデフォルトのままにします。
SGではWebサーバー用で作成したものを必ず選択します。
Screenshot 2025-11-21 at 9.48.16 AM.png

その他デフォルトのままで進んでいきます。
Screenshot 2025-11-21 at 9.49.41 AM.png

最後に高度な詳細を開いていただきIAMインスタンスプロフィールを今回作成したものを選択されているか確認します、さらに一番したの欄にあるユーザーデータもしっかり記述されているかチェックして問題なければ起動テンプレートを作成をクリックして完了になります!
Screenshot 2025-11-21 at 9.50.46 AM.png
Screenshot 2025-11-21 at 9.52.41 AM.png

これで起動テンプレート作成できましたので、次はASGを作成していきます。
EC2サービスへ戻っていただき左側の選択肢の一番したの欄へスクロールしていくとASGを確認できるのでクリックしていきます。
Screenshot 2025-11-21 at 10.02.12 AM.png
Auto Scalingグループを作成するをクリック。
Screenshot 2025-11-21 at 10.03.16 AM.png

ASGnのグループ名を入力し、今回作成した起動テンプレートを選択していきます。
そのまま下部へスクロールし次へをクリックします。
Screenshot 2025-11-21 at 10.04.58 AM.png

  • インスタンスの要件はデフォルトのままで下部へスクロールします。

  • ネットワークの部分では今回作成したVPCを選択して、AZとサブネット部分では作成したプラベートなサブネット2つを選択します。

  • AZのディストリビューションではではベストエフォートのバランシングを選択。
    ※バランシング= AZ間でインスタンス数を均等に保つこと。
    下部へスクロールし次へをクリックして進みます。
    Screenshot 2025-11-21 at 10.08.37 AM.png
    Screenshot 2025-11-21 at 10.09.55 AM.png

  • 既存のALBがあるので既存のロードバランサーにアタッチするを選択。

  • ターゲットグループも選択すする必要があるので今回作成したものをを選択。
    Screenshot 2025-11-21 at 10.20.35 AM.png

下部へスクロールしこれらの設定はデフォルトのまま進んでいきます。
Screenshot 2025-11-21 at 10.28.18 AM.png

  • ヘルスチェックの部分ではElastic Load Balancingのヘルスチェックをオンにします。

  • EC2のヘルスチェックは自動的に有効されているが、ELBのヘルスチェックをONにすることで、ASGは “アプリレベルの異常” に反応するようになります。
    -ヘルスチェックの猶予期間は短すぎるとインスタンス起動の無限ループになるので注意。
    次へをクリックし進みます。
    Screenshot 2025-11-21 at 10.28.59 AM.png

  • グループサイズを希望するキャパシティ2に設定します。
    これは何台常に起動している状態を保ちたいかを設定するものになります。

  • スケーリングではスケールアウトとスケールインする際のインスタンス起動する台数の範囲を指定できます。今回最小2、最大2で指定します。
    Screenshot 2025-11-21 at 10.41.30 AM.png

下部へスクロールしその他の接待はデフォルトのままで進んでいきます。
Screenshot 2025-11-21 at 10.44.45 AM.png

そのまま最後までスクロールし次へをクリックします。
Screenshot 2025-11-21 at 10.50.56 AM.png

SNS機能を使ってインスタンスを起動または削除されるたび指定したメールアドレスに通知できる機能もありますが今回は不要なので次へをクリックして進めていきます。
Screenshot 2025-11-21 at 10.53.06 AM.png

今回タグもなしで次へをクリック。
Screenshot 2025-11-21 at 10.54.47 AM.png

最後に確認画面に入るので問題なければ一番したまでスクロールしAuto Scaling グループを作成するをクリックして完了になります!
Screenshot 2025-11-21 at 10.55.22 AM.png

作成できたことを確認できました!
Screenshot 2025-11-21 at 10.57.02 AM.png

早速インスタンスが起動しているかどうか確認していきたいと思います。
なんと、2台インスタンスが起動していると想定していたのですが3台になっています笑

ASGについて調べると:ASGは自分が作ったEC2だけ台数を合わせる。最初からあった手動で作成したEC2は無視して残る。よって合計3台インスタンスが存在していることになる。
Screenshot 2025-11-21 at 11.02.58 AM.png

ASGで自動的にインスタンスを起動してくれるかどうか確認したいのでまずは手動で作成したインスタンスを削除します。

  • 見分け方はタグを確認しAutoScalingのタグがないインスタンスがASG管理外になりますのでそちらを選んで削除します。
  • インスタンスを終了をクリックします。
    Screenshot 2025-11-21 at 11.14.51 AM.png

終了を押して削除完了です。
Screenshot 2025-11-21 at 11.15.25 AM.png

インスタンス終了できたことを確認できたので、次のステップに移ります。
Screenshot 2025-11-21 at 11.22.38 AM.png

ASGがインスタンス数を2台に自動的に保ってくれるかどうか、2台あるうちに1台を手動で削除していきたいと思います。

先ほどのインスタンスを削除したようにもう一方を削除することができました、しばらく待っていると....
Screenshot 2025-11-21 at 11.24.51 AM.png

1台自動で立ち上がっていることを確認できました!Webサイトにも無事にアクセスできることを確認できました、
Screenshot 2025-11-21 at 11.25.54 AM.png

各インスタンスが別々のAZサブネットに配置しっかりされていることもできました。
Screenshot 2025-11-21 at 11.30.53 AM.png
Screenshot 2025-11-21 at 11.30.01 AM.png

今回のハンズオンはこれで終了になります!

終わりに

ハンズオンをやりながら記事を書くのは正直きつかったですが、
“理解した内容を言語化するプロセス” が一番記憶に残ることを痛感しました。
単に手順をなぞるだけでは気づけなかった部分も、記事化することで穴が見つかるし、
自分が曖昧に理解していた箇所もはっきり浮き上がってきました。

資格勉強で学んだ知識も、実際の AWS コンソールで手を動かすと
“この設定はここで効いてくるのか”
“このサービスはこう繋がるのか”
という具体的な理解に変わっていきます。
インプットだけでは腹落ちしなかった内容も、ハンズオンと記事化で一気に固まった感覚があります。

また、今回のハンズオンは日本語版がなく英語のみだったので、
作業しながら技術英語への耐性も自然に鍛えられた点は思わぬ収穫でした。

これからもどんどん色々なアーキテクチャをまずはハンズオンを通して構築挑戦していきたいと思います!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?