MAIL

平日9:00〜17:30 お問い合わせ

MENU

ブログ BLOG

2020/11/ 9 (Mon)

AWSソリューションアーキテクト、お仕事でガッツリAWSを触ってみた

AWSソリューションアーキテクト、お仕事でガッツリAWSを触ってみた
Tips

入社9年目、にくきうと申します。

ワタクシ、2017年にAWSの認定資格である
「ソリューションアーキテクトアソシエイト(SAA)」を取得したのですが、
その後、AWSをガッツリ触るお仕事はしてきませんでした。

この度、ご縁があってAWSを使ってシステムの設計から携わるお仕事に参画することが
できました。資格を持っている「だけ」の技術者だったワタクシ、参画したお仕事では
AWSの仕様にかなり苦しめられました。

以下、AWS初心者の方の参考になればと思い、「どんなことに苦労したか」
幾つか列記してみます。

または、AWS経験者の方には「あるある!」と思って笑っていただければ幸いです。

■今回のお客様の構成

    ※説明のため、実際のものから一部改変しています。
    ・本番環境とテスト環境とが存在する。
    ・インターネットからのHTTPアクセスは、ALB - EC2のWebサーバ - RDSのDBサーバ
     という流れ。
    ・WebサーバへのHTTPアクセスはALB経由のみ許可する。
    ・WebサーバへのSSHアクセスは、テスト環境に立てたEC2の踏み台サーバ経由のみ許可する。
     インターネットから各Webサーバに直接アクセスすることはできない。
阿古1.png

■困惑したこと

・使いもしないサブネットが必要
 本番環境はマルチAZ構成でサブネットは2つにしますが、テスト環境はサブネットを1つにする
 予定でした。
 しかし、ALBの配下とするサブネットとRDSを立てるサブネットは2つ以上を要求されます。
 RDSを「シングルAZ構成」で構築した場合であってもです! 
 そのため、テスト環境でもALBとRDSを立てるために、サブネットを2つ用意せざるを得ません
 でした。

阿古2.png

・RDSのリストアも面倒
 RDSをリストアする時は、別名で立てなきゃいけません。どういうことかと言う
 と「AAA」という名前でRDSを立てている場合、リストアによって「AAA」そのものを切り戻す
 のではなく、バックアップによって新しく別のRDSを立てる、ということになります。
 この時、RDSの名前は重複できないので、「BBB」という別名でRDSを立てる必要があります。
 「BBB」が起動したら、「AAA」を削除して、「BBB」の名前を「AAA」に変えて。。。
 これでやっとリストアが終わります。

・CloudFormationのテンプレートの書き方に慣れない
 CloudFormationも使ってみたものの、ルーティングの設定なんかは初めてだととっつき
 づらい!私がいわゆるインフラ屋で、いわゆる開発の経験がないから余計にとっつきづらく感じ
 るのかも知れませんが。。。

以下に例を挙げます。ルーティングの設定をjson形式で書くとしましょう。
ルーティングの設定なのですから、ルーティングテーブルを定義したらその中に具体的な設定を並べて書く。。。と思いますよね?

阿古3.png

ところがどっこい。具体的な設定は別に書くのです!
「Type」にご注目ください。「RouteTable」と「Route」は別物という扱いなわけです。

阿古4.png

「ルーティングに関する設定はどこ?」とCloudFormationのテンプレートを見た時に、
一か所見ればわかる、わけではないのですよ(RouteTableとRouteは、離して書いてもよいわけですから)。 セキュリティグループなんかも同様で、もう面倒臭いったら!

まだまだありますがこんなところで。大体は私の知見不足が原因ではあるのですが、
「こんなことができないの?」とか「これをやるためだけにこんなに手間をかけなきゃいけないの?」と感じる場面は多々ありました。

ま と め

実際に触れてみて、やはり技術というものは座学だけではダメで、
手を動かして覚えなければならないものなのだと痛感しました。いい勉強になりました。


                                  ==にくきう==