Slide 1

Slide 1 text

コープさっぽろでのAWS利活用 
 〜AWS All-in に向けての取り組みのご紹介〜 
 2023/7/25
 生活協同組合コープさっぽろ
 山﨑 奈緒美


Slide 2

Slide 2 text

AWS SAMURAI 2015 
 JAWS-UGアーキテクチャ専門支部 
 JAWS-UG情シス支部 
 生活協同組合コープさっぽろ 
 デジタル推進本部 システム企画部 
 インフラチーム
 山﨑 奈緒美 ご挨拶と自己紹介 大阪出身。
 就職で上京し、ソフトハウスでインフラエンジニア
 地図情報システム開発会社でひとり情シス
 旅行会社の情シス部門でクラウド担当
 2020年9月に東京から札幌へ移住し10月よりコープさっぽろへJOIN。
 AWSのことならなんでも担当。
 @nao_spon
 I ♡
 Route53 
 IAM
 Organizations 
 夏はロードバイク、冬はスノボしてます。仲間募集中!


Slide 3

Slide 3 text

生活協同組合コープさっぽろとAWS 


Slide 4

Slide 4 text

生活協同組合コープさっぽろについて 
 設立年月日
 1965年7月18日
 組合員数
 181万人(北海道総人口528万人の約34%) 
 出資金額
 776億円
 総事業高
 2,807億円
 職員数
 15,235名(契約職員・パートアルバイト含む) 
 店舗数
 107店舗
 移動販売車
 94台(133市町村)
 宅配物流センター
 37センター、11デポ、車両1,100台 
 配食工場
 6工場(札幌、函館、苫小牧、旭川、釧路、帯広) 
 生産工場
 7工場
 ※2020年3月現在


Slide 5

Slide 5 text

北海道で生きることを誇りと喜びにする 
 3つのつなぐ 
 福祉活動 文化教室 組合員活動 葬祭事業 旅行事業 物流事業 店舗事業 移動販売 宅配事業 配食・給食 食育 食品製造 共済事業 エネルギー 子育て支援 環境活動 リサイクル フードバンク 育英奨学金 と
 人
 人
 をつなぐ
 と
 人
 食
 をつなぐ
 と
 人
 未来
 をつなぐ


Slide 6

Slide 6 text

なぜコープさっぽろは 
 AWS All-inを目指すのか 
 コープさっぽろとAWS 


Slide 7

Slide 7 text

現在のAWS利用状況 
 総AWSアカウント数 334 オンプレ移行用AWSアカウント 147 新規システム用AWSアカウント 122 インフラ共通基盤用AWSアカウント 55 その他用AWSアカウント 10

Slide 8

Slide 8 text

長年の蓄積で負債の宝庫
 ● 古いOS
 ● 複雑なネットワーク
 ● 縦割りで乱立する基盤
 ● 高額なデータセンター代
 ● etc...
 コープさっぽろのシステムの今まで 


Slide 9

Slide 9 text

そうだ、AWSにしよう。 
 全部AWSに持ってったら ええやんけ! CIO 長谷川 秀樹

Slide 10

Slide 10 text

どのように利用するか 
 AWS利用設計 


Slide 11

Slide 11 text

AWS利用のグランドデザイン 
 最初から複数アカウントを運用する前提で全体を設計
 ● アカウントの分離
 ○ AWS Organizationsを使用して統制
 ● マネジメントコンソールへのログイン方法
 ○ IAM Identity CenterとGoogleWorkspaceをSSO連携
 ● ネットワーク設計
 ○ 想定アカウント数からアドレスレンジを確保
 ● AWS利用ガイドラインの作成


Slide 12

Slide 12 text

AWSアカウントの分離 
 ● システム単位で分離
 ○ 同じAWSアカウントに他システムを相乗りさせない
 ● 環境単位で分離
 ○ 開発・検証・本番でアカウントを分ける
 ○ オンプレ環境に開発と本番しかない場合は2環境
 ○ 開発ベンダー側でAWSに開発環境がある場合は本番のみ
 ● AWSアカウント命名規則
 ○ 環境名-事業ドメイン-システム名
 dev-deli-xxxx, prd-store-xxxx等


Slide 13

Slide 13 text

マネジメントコンソールへのログイン方法 
 ● IAM Identity Centerの利用
 ○ GoogleWorkspaceとSSO連携
 ● Permission setsによるアカウント操作権限の分離
 ○ Admin, Builders, Operatorsの3つにグループを分ける
 ○ Adminはインフラチーム
 ○ Buildersは開発者
 ○ Operatorsは運用担当者
 ■ Read権限+EC2の起動・停止・再起動
 ■ みんなが慣れてきたら操作可能な権限を増やす


Slide 14

Slide 14 text

ネットワーク設計 
 ● 最低利用VPC数を割り出す
 ○ 180システム×3環境=540
 ○ /11で1024個のVPCを作れる
 ● AWSアカウント間のネットワーク
 ○ AWS Transit Gatewayを利用
 ● AWSとオンプレ間のネットワーク
 ○ AWS Direct Connectを利用
 ○ Active×Active構成


Slide 15

Slide 15 text

VPCの構成 


Slide 16

Slide 16 text

NATGatewayについて 


Slide 17

Slide 17 text

AWS利用ガイドラインの作成 
 ● AWSアカウント発行申請方法
 ● インフラチームと他チームとの役割分担を明記
 ○ VPCやDNS等のネットワーク関連はインフラTが作成
 ● リソースの命名規則
 ● BuildersへのIAM User, Role作成権限抑制に関する注意事項
 ○ Permissions boundaryで制限
 ● セキュリティに関連する遵守事項
 ● サポート問い合わせ方法
 ● アーキテクチャレビューの実施


Slide 18

Slide 18 text

AWSアーキテクチャレビュー 
 ● インフラチームがレビュワー
 ● 内製開発分だけではなく外注で開発する場合も実施
 ● 構成がAWSのベストプラクティスになっているか
 ● リソースのサイズが過剰or過小すぎないか
 ● 共通で利用するために用意しているものを
 個別に作ろうとしていないか
 


Slide 19

Slide 19 text

移行対象を見極める 
 AWS移行 


Slide 20

Slide 20 text

負荷の軽そう なものから? 何から移行し始めるか 
 中身のわかるもの から? 壊れても大丈夫な ものから? お金のかからない ものから? 重要度の低い ものから?

Slide 21

Slide 21 text

負荷の軽そう なものから? 中身のわかるもの から? 壊れても大丈夫な ものから? お金のかからない ものから? 重要度の低い ものから? どうせ中身なんか完璧に把 握でけへんのやから、 早う全部コピーせんかい! 何から始めるか 
 CIO 長谷川 秀樹

Slide 22

Slide 22 text

Lift & Shift ではなく Lift to Shift 
 1つ1つの中身を把握し、作り変えるのは時間がかかる ● まずはLift(そのままコピーして持っていく:V2V/P2V)
 すべてAWSへLiftしたらクラウドネイティブな
 構成へShift ● FaaS/SaaSの活用 ● そもそも作らない選択も

Slide 23

Slide 23 text

システム/サーバーのリスト化 ● OSやミドルウェアなど条件を整理
 ○ 古いOSの把握
 ○ データベース
 ■ 腹持ちしているか
 ■ ライセンスは適切か
 ○ ハードウェアやアプリケーションの保守期限
 ■ 移行の優先順位決定に必要
 移行対象を把握する 


Slide 24

Slide 24 text

移行対象を見極める 
 ● 走りながら移行対象を変更していく
 ○ 利用終了できるシステムがあるのでは?
 ○ 他システムと統合できるシステムがあるのでは?
 ○ SaaSに置き換えられるシステムがあるのでは?
 
 事業部とのコミュニケーションも重要 


Slide 25

Slide 25 text

移行対象を見極める 
 ● AWS環境での構築対象となるのは赤字のリホストとリビルド
 ● リビルドについてはAWS移行と並行して各チームでの対応を開始
 ● これ以外にも潜んでいるシステムがある
 方式
 総数
 対象
 リホスト(AWS)
 118
 オンプレミスからAWSにリフトするシステム 
 リビルド
 41
 オンプレ環境を再構築や他システムへ統合するシステム 
 DC外
 31
 元々AWS環境やDC以外で稼働するシステム 
 廃止
 39
 利用終了や業務調整により廃止とするもの 
 合計
 229
 コープさっぽろシステム合計 


Slide 26

Slide 26 text

システムのSaaSへの置き換え 
 ● 承認ワークフロー → Kickflow
 ● 小口経費・交通費精算 → マネーフォワード クラウド経費
 ● 人事DB/給与明細 → SmartHR
 ● レシピサイト → note
 ● SlackとZapierとGoogleDriveの活用
 ○ システム部への業務依頼WEBシステムを置き換え
 


Slide 27

Slide 27 text

どうやって移行するか 
 AWS移行 


Slide 28

Slide 28 text

移行ツールの選定 
 ● Server Migration Service ● AWS Application Migration Service AWSへV2V/P2Vする選択肢
 ● ダウンタイムが少ない ● Direct Connect経由の移行が可能 ● 帯域制限が可能 ● 直接VPCにコピー可能
 → 以下の理由からAWS Application Migration Service を選定

Slide 29

Slide 29 text

● AWS Application Discovery Service
 通信状況をキャプチャしAWSに送信
 通信調査ツール ● 長年の運用で、どんな通信が行われているか把 握できない環境がある
 移行ツールの選定 


Slide 30

Slide 30 text

Active Directoryの移行 
 ● AWS Directory Service (AWS Managed Microsoft AD)
 ○ マネージドサービスのAD ○ OSレイヤーを気にせず運用できる 
 サーバーのみ使用で運用

Slide 31

Slide 31 text

ひたすらにコピー 
 単純コピーは簡単 とはいえ障害もある ● Oracle/SQLServerのライセンス ● クラスタ ● 古すぎるOS ○ AWS Application Migration Serviceが
 インストールできない ○ 諦めて載せ替えも 全コピー完了へ 向けて邁進中!

Slide 32

Slide 32 text

現在のAWS移行の状況 
 AWS移行 


Slide 33

Slide 33 text

脱オンプレ全体状況 
 ● AWS環境での構築対象となるのは赤字のリホストとリビルド
 ● リビルドについてはAWS移行と並行して各チームでの対応を開始
 ● これ以外にも潜んでいるシステムがある
 方式
 総数
 完了
 対象
 リホスト(AWS)
 118
 80
 オンプレミスからAWSにリフトするシステム 
 リビルド
 41
 13
 オンプレ環境を再構築や他システムへ統合するシステム 
 DC外
 31
 29
 元々AWS環境やIDC以外で稼働するシステム 
 廃止
 39
 27
 利用終了や業務調整により廃止とするもの 
 合計
 229
 149
 コープさっぽろシステム合計 


Slide 34

Slide 34 text

オンプレからの移行状況 
 オンプレ移行対象システム数
 118
 移行仕掛中システム数
 38
 本番移行済みシステム数
 80
 オンプレ移行対象サーバー数
 797
 AWS移行済みサーバー数
 267
 ※EC2 228台+RDS 39台 


Slide 35

Slide 35 text

オンプレからの移行状況 
 オンプレ移行対象システム数
 118
 移行仕掛中システム数
 38
 本番移行済みシステム数
 80
 オンプレ移行対象サーバー数
 797
 AWS移行済みサーバー数
 267
 ※EC2 228台+RDS 39台 
 移行完了まで 残38システム! 


Slide 36

Slide 36 text

コープさっぽろと内製開発 
 コープさっぽろと内製開発 


Slide 37

Slide 37 text

コープさっぽろのシステム部の今まで 
 ● 90%のシステムが開発ベンダーへ外注
 ● 他の事業部からは何をしているか良く分からない部署
 ● 開発ベンダーからの見積に対する精査ができない
 ● システム部から現場部門へ提案することがあまりなかった
 ● 現場部門からシステム部へ異動してきたメンバーが多い
 ● 業務システムのスペシャリスト≠IT技術のスペシャリスト


Slide 38

Slide 38 text

内製開発について 
 ● エンジニア採用を実施
 ○ PM、開発者、インフラエンジニア
 ● 内製エンジニア+外部委託エンジニアで開発
 ● 全てを内製開発するわけではない
 


Slide 39

Slide 39 text

内製開発について 
 ● 現場研修を通じて業務を理解し、事業が自分ごとになる
 ● 「中の人」として現場業務の改善提案と実装を行う
 ● 開発を外注する場合でも見積が妥当かを判断できる
 ● システム部の取り組みを他部門へ発信する文化が生まれる
 ● 他部門からシステム部への相談が増えた


Slide 40

Slide 40 text

システム部の取り組みの発信 
 https://dx.sapporo.coop/ 


Slide 41

Slide 41 text

現場に溶ける 
 現場・現物・現実を知る 


Slide 42

Slide 42 text

現場研修について 
 ● 店舗研修3日間
 ○ 店長業務、畜産部門、農産部門、惣菜部門、食品部門
 ● 宅配研修1日間
 ● 食品工場研修1日間
 ● 移動販売車研修1日間
 ● 物流センター研修1日間


Slide 43

Slide 43 text

現場支援
 ● イベント運営
 ○ 海のクリーンアップ大作戦
 ○ 食べる大切フェスティバル
 ● 年末商戦店舗支援
 ○ クリスマス用オードブル調理
 ○ 大晦日用お寿司製造
 ○ みかんチェック
 ● 新店開店時支援
 ● 宅配雪害時応援対応


Slide 44

Slide 44 text

現場に行くことのメリット 
 ● 現場での業務を知ることができる
 ● 改善点を見つけられる(かもしれない)
 ● 現場の人たちと直接話ができる
 ● 現場の人たちと仲良くなれる
 ● バーターでPOC協力依頼ができる


Slide 45

Slide 45 text

内製開発とAWS 
 内製開発とAWS 


Slide 46

Slide 46 text

46 店舗アクティブ利用者 105万人 
 宅配アクティブ利用者 
 49万人 
 トドックアプリ 


Slide 47

Slide 47 text

ポイントシステム刷新 
 ポイント利用促進 アプリでポイントステージを確認 簡単にポイント利用可能

Slide 48

Slide 48 text

ポイントシステム刷新 


Slide 49

Slide 49 text

内製開発したもの 
 ● 宅配注文スマホアプリ
 ● 宅配注文WEBサイト
 ● 宅配注文API基盤
 ● 宅配申込み
 ● 電子組合員証
 ● ポイントシステム
 ● 給食システム
 ● 資源回収システム
 ● 共通認証基盤


Slide 50

Slide 50 text

サービス選定時に検討する順番 
 ● Lambdaでできるか ● コンテナでできるか ● それでもダメならEC2 
 コンピュート
 ● Auroraでできるか
 ● RDSでできるか
 ● それでもダメならEC2
 データベース


Slide 51

Slide 51 text

サービス選定時に検討する順番 
 スケールアウトしやすい構成になっているか ● なるべくCloud Nativeなマネージドサービスを使う ● 難しい場合はなるべく疎結合にする ● ワークロードでリソース分離する

Slide 52

Slide 52 text

リソース管理 
 Infrastructure as Code ● 環境設定記述書の代わりにできる
 ● 同じ or 似たような構成の場合に構築スピードが速くなる
 ● チームメンバーの特性によって宣言型、手続型を選べる
 ○ インフラチームの場合は宣言型のCloudFormation
 ○ アプリ開発者は手続型のCDK
 ● コードに "Why" を残せる
 ● GitHub ActionsやCircleCIと連携して自動デプロイができる


Slide 53

Slide 53 text

Observability - 可観測性 
 Application Performance Monitoring (APM) ● NewRelicを利用
 ● バックエンドのAPIやDBクエリのレスポンス状況がわかる
 ● インフラリソース、アプリケーションログと一緒に横串で見れる
 ● ボトルネック調査がしやすい


Slide 54

Slide 54 text

After AWS 
 After AWS 


Slide 55

Slide 55 text

After AWS 
 ● データセンターへ駆けつける回数が格段に減った
 ● システム単位でかかる費用がわかりやすくなった
 ● サーバーの再起動が怖くなくなった
 ● インフラのスペック問題が無くなった代わりにアプリ自体の
 性能問題が浮き彫りになるようになった
 ● インフラ構成のリファクタリングがしやすくなった
 ● POCをしやすくなった


Slide 56

Slide 56 text

No content

Slide 57

Slide 57 text

ありがとうございました 
 https://www.wantedly.com/companies/company_7505384