- 1. AWSアップデートクイズでクラウドの最新情報を楽しく学ぼう!(2023年12月~2024年3月)
- 2. Terraform、AWS DMSによるデータベース移行
- 3. Amazon SNS メール通知で日本語が文字化けした話
- 4. EC2 インスタンスタイプの変更
- 5. DBeaverからAmazon RDS for Db2にアクセスする
- 6. チームでスキルアップするためのAWS Team Jamの活用
- 7. 高可用性のアーキテクチャとは?(AWS)
- 8. Application ComposerでCfnテンプレートを表示してみた
- 9. 【備忘】EC2の概要
- 10. 自社を AWS セレクトティアサービスパートナーにするためにやったこと
- 11. DBeaverからRedshiftのエンドポイントを利用して接続してみた
- 12. 【AppStream 2.0】Display Nameという謎パラメータ
- 13. Auroraの保管時の暗号化を整理してみた
- 14. AL2023にyarnをansibleを使ってインストールしたい
- 15. IAM Identity Center – Microsoft Entra ID の SAML について
- 16. ソーラーパネル稼働状況取得(AWS shellcloud上でのpython実行)
- 17. [AWS] MFAを登録するまで他のリソースに触れないようにするポリシーを作成する
- 18. 【ElastiCache】キャッシュ戦略について
- 19. AWS 環境を超えてサブドメインを登録する
- 20. AmazonLinux2023にJenkinsをインストールする
AWSアップデートクイズでクラウドの最新情報を楽しく学ぼう!(2023年12月~2024年3月)
# はじめに
私は、社内のパブリッククラウド活用を推進するチームに所属しています。
チームに参加した当初、クラウドの知識が殆どなかったため、各サービスの仕様や使い方を熱心に学んでいました。また、プラットフォームでサービス認定という業務を担当していたこともあり、AWS のアップデートに触れる機会が多かったです。
現在、当チームに参加してから 5 年の月日が経ちました。以前よりもアップデートを追う習慣が薄まっており、私以外のメンバーも危機感を感じていました。そこで、当チームでは年始から AWS アップデートのクイズ大会を月次で開催しています。実践し始めて四半期が経過したので、本記事で当チームの自作クイズを公開します。
:::note warn
– 各クイズは、アップデート当時の情報を参考にしています。今後のアップデートで変わる可能性がある点にご注意ください。
– 各クイズの内容は新しいアップデートを扱っているため、AWS 認定試験に取り込まれていない可能性があります。試験対策とは別物として、お楽しみください。
:::# アップデートクイズ
新しい知識の波に乗り、12 問の
Terraform、AWS DMSによるデータベース移行
# はじめに
この技術記事では、Terraform、AWS DMS (Database Migration Service)を使用して、データベース移行を安全かつ効率的に実行する方法を説明します。Terraformを利用したAWS DMSは、安全かつ効率的なデータベース移行を実現し、コードによるバージョン管理と踏み台サーバーによるRDSインスタンスへの安全な接続、DMSレプリケーション機能による高可用性とスケーラビリティにより、時間と労力を大幅に削減します。
![aws-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/731268/0a192f9d-3192-b7e2-7ff7-993e481e6a89.png)
この技術記事で解説するコードは、以下の Github リポジトリで公開されています。
https://github.com/sugiyama404/practice_dms
また、以下の記事を参考にしました。
https://qiita.com/neruneruo/items
Amazon SNS メール通知で日本語が文字化けした話
# はじめに
Amazon SNS メール通知機能を使用した際、日本語が文字化けしました。
同じ事象に遭遇し困っている方の参考になれば幸いです。# 構成
1. CloudWatch Logs ロググループにサブスクリプションフィルタを設定し、文字列 “ERROR” を検知します。
1. Lambda 関数をトリガーし、SNS を使用してログの内容をメール通知します。Lambda 関数では Boto3 の[ SNS.Client.publish ](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sns/client/publish.html)を使用して SNS メール通知します。![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3516261/42305b74-57a4-98a7-5a19-dd4cd79cbe9a.png)
# 発生した事象
通知されたメール本文が以下のように文字
EC2 インスタンスタイプの変更
ec2のインスタンス変更する機会が時々あり、忘れないように忘備録
#### 1.インスタンスの停止
ec2の画面にアクセスに変更したいインスタンスを選択します
選択したら「インスタンスの状態」 > 「インスタンスの停止」でインスタンスを停止します
![スクリーンショット 2024-04-09 17.38.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276326/01635540-43af-396e-d675-dc2d98e5904d.png)
停止済みになる待ち待ちます
#### 2.インスタンスの変更
「アクション」 > 「インスタンスの設定」 > 「インスタンスタイプの変更」から変更を行います
![スクリーンショット 2024-04-09 17.41.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276326/38af56d7-af27-f5dc-0723-0146a24d5947.
DBeaverからAmazon RDS for Db2にアクセスする
当記事はOSSのDB Tool [DBeaver](https://dbeaver.io/)からDb2 on Cloudに接続する方法について説明します。
この検証はMac版で行っています。基本 AWSの公式ドキュメント「[DBeaver を使用して RDS for Db2 DB インスタンスに接続する](https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/db2-connecting-with-dbeaver.html)」と「ほぼ」同じですが、画面が日本語になっているもので説明しています。
DBeaver バージョン24.0.2で検証しています。
# 1. 接続情報の準備
DB接続用の
– userid
– password
– ホスト名(エンドポイント)
– ポート番号
– データベース名を準備してください。
ホスト名、ポート番号、データベース名の取得方法が不明の場合はこちらの[Amazon RDS for Db2: AWSでフルマネージドDb2 データベースを作ってみた!: 3.1 事前準備:
チームでスキルアップするためのAWS Team Jamの活用
# 概要
## Jamとは?
AWS JamはAWSより提供されるスキルアップのためのトレーニングです。
Jamでは実際の案件でありがちな構築作業やトラブルシューティングがラボ環境で再現されますので、実際に手を動かしながらこれらの課題(チャレンジ)を解決していくことになります。https://aws.amazon.com/jp/training/digital/aws-jam/
https://beta.jam.aws.com/v2/
Jamを実施する方法として個人で行うパターン、チームで行うパターンの2パターンがあり、どちらのパターンにおいても、AWS Skill Builderのポータルから利用することが出来ます。(Subscriptionが必要です)
また、AWS Summitやre:inventなどでも、Jamのイベントが開催されることがあります。 (以下は2023年のAWS Summit Tokyoでの実施案内)https://aws.amazon.com/jp/blogs/news/aws-summit-tokyo-2023-aws-jam
高可用性のアーキテクチャとは?(AWS)
## 初めに
可用性の高いアーキテクチャとは何かをまとめてみました。
皆様のご意見頂けたら幸いです。## 可用性とは?
**システムが正常に継続して動作し続ける能力**の事を言います。障害が起きてしまった場合、システムダウンしてしまったら困りますよね:fearful:
そちらを防ぐ為には、可用性の高いシステムを構築しないといけません!一般的な対策としては…
①サーバーの冗長化
②別サーバーへのフェイルオーバー
が挙げられます。## AWS上での対策としては
###### ①リリースを冗長化する
![スクリーンショット 2024-04-09 17.13.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3744656/36f0de73-0771-6fc9-41ad-06c03e3ce2b4.png)
→単一障害点(SPOF)を作らない。(障害が発生するとシステム全体が使用不能になる)###### ②地理的に離れた場所で冗長化
Application ComposerでCfnテンプレートを表示してみた
AWS の CloudFormation コンソールに Application Composer が組み込まれたので、既存のテンプレートを表示してみました。
テンプレートの詳細は記載しませんが、およそ以下のようなことを行っています。1. EventBridgeのScheduleRuleを使用して、定期的にCodeBuildのプロジェクトを起動する
2. CodeBuildのプロジェクトでは、以下をおこなう
2.1. Gitのリポジトリからソースコードを取得する
2.2. 静的ウェブサイトを生成する
2.3. S3にアップするS3では静的ウェブサイトをホストしていて、バケットポリシーに接続元として許可するIPアドレスを記載することで、社内ドキュメントとして参照しています。
## Application ComposerとCfnデザイナーで表示したところ
Application Composerの画面
![application_composer.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1
【備忘】EC2の概要
# はじめに
##### ~AWS学習アウトプット第4弾~
AWS未経験者の私が学習したことをアウトプットし、将来的にはSAA合格を目指します。今回は、**Amazon EC2** の基本的な内容をまとめます。
# 目次
・Amazon EC2 とは
・EC2の機能
①Amazonマシンイメージ(AMI)を選択
②インスタンスタイプ・インスタンスサイズを選択
③キーペアの選択・作成を選択・作成
④ネットワークを設定
⑤ストレージを設定
・おわりに
・参考
# Amazon EC2 とは
>Amazon Elastic Compute Cloud (Amazon EC2) は、Amazon Web Service (AWS) クラウドでオンデマンドのスケーラブルなコンピューティングキャパシティーを提供します。Amazon EC2 を使用することで、ハードウェアのコストを削減できます。これによりアプリケーションの開発とデプロイを迅速に行うことができます。Amazon EC2 を使用すると、必要な数 (またはそれ以下) の仮想サーバーの起動、セキュリティおよびネ
自社を AWS セレクトティアサービスパートナーにするためにやったこと
## はじめに
先日、弊社株式会社オーイーシーが AWS セレクトティアサービスパートナーに認定されました
https://www.oec.co.jp/news/detail.html?id=1234
認定までにやったことをまとめておきます
## AWS セレクトティアサービスパートナーとは
https://aws.amazon.com/jp/partners/services-tiers/
> AWS セレクトティアサービスパートナーは、トレーニングと認証を受けた人員とともに、カスタマーエクスペリエンスを提供するパートナーです。
AWS パートナーとして、以下に掲げる条件を満たした企業・組織が認定されます
– 知識の要件
– AWS Accreditation
– Technical 2名
– Buisiness 2名
– AWS Certification
– 基礎 2名
– テクニカル 2名
– 経験の要件
– ローンチ済みオポチュニティ(案件) 数: 3件
– 月間 AWS 利用料 (MRR): $1,500
–
DBeaverからRedshiftのエンドポイントを利用して接続してみた
#### 前提
ローカルにあるDBeaverから、踏み台サーバーを介してRedshiftのプライベートアドレスに接続するのは便利ですが、最近「再配置」という機能を利用し始めたため、少し困っています。再配置を行うと、パブリックアドレスとプライベートアドレスの両方が変更されます。
しかし、AWSの公式サイトを確認したところ、リロケーションをしてもエンドポイントは変わらないことがわかりました。#### エンドポイント配置
準備物:
Redshiftのエンドポイント(Redshiftクラスターの詳細画面ですぐ見付けます)
踏み台サーバのホスト・ポート・キーペアなどの情報
すでにインストールしたDBeaver#1 エンドポイント接続の配置
DBeaverを開いて、ツールバーではデータベースというタグをクリックして、新しい接続を選びます。サーチバーで「redshift」を検索して選びます。
![截屏2024-04-09 0.43.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3668444/8814
【AppStream 2.0】Display Nameという謎パラメータ
業務でAppStream 2.0を使用する機会があったのですが、
「スタック」「フリート」「Image Builder」というリソースの構築時、[Name]というパラメータとは別に[**Display Name**]というパラメータがあったためどこで使用されているか調べてみました。## 前提
### AppStream 2.0とは
クラウド上のアプリケーションをクライアントデバイスに配信するフルマネージドサービス。
WorkSpacesと似ている部分もありますが、違いと概要については以下のサイトがわかりやすいです。
[初心者向けAWS AppStream 2.0入門](https://qiita.com/Masayuki-Goto/items/8a8320fdfaf1058baf66)また、「スタック」「フリート」「Image Builder」については下記のBlack Beltの資料8ページに各用語の説明が端的にまとまっています。
[AWS Black Belt Online Seminar – Amazon AppStream 2.0](https://d1.awsstat
Auroraの保管時の暗号化を整理してみた
# 背景・目的
Aurora の保管時の暗号化について検討する機会があったので整理します。# まとめ
下記に特徴を整理します。|特徴 |説明|
|:–|:–|
| 暗号化の対象|・DBクラスタ
・自動バックアップ
・リードレプリカ
・スナップショット
・ログ|
| アルゴリズム|AES256|
| 暗号化キー|KMSを使用する。
KMSでは、マネージドキー、またはカスタマーマネージドキーが使用できる|
|インスタンス間の転送中の暗号化| 一部のインスタンスのみで対応可能
認証暗号化(AEA)アルゴリズムを使用する|# 概要
[Amazon Aurora リソースの暗号化](https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/Overview.Encryption.html)を元に整理します。> Amazon Aurora は Amazon Aurora DB クラスターを暗号化できます。保管時に暗号化されるデータには、DB クラスター、自動バックア
AL2023にyarnをansibleを使ってインストールしたい
こちらを参考に手順を作りました
https://chore-update–yarnpkg.netlify.app/en/docs/install#linux-tab
手順をplaybookに変換しているだけですが、こちらでうまく動作いたしました。
“`playbook.yaml
– name: yarn をインストールする手順
block:– name: node をインストール
ansible.builtin.shell:
cmd: “curl –silent –location https://rpm.nodesource.com/setup_20.x | sudo bash -”
become: yes– name: yarn のrpmパッケージをダウンロード
ansible.builtin.get_url:
url: https://dl.yarnpkg.com/rpm/yarn.repo
dest: /etc/yum.repos.d/yarn.repo
mode: ‘0
IAM Identity Center – Microsoft Entra ID の SAML について
# IAM Identity Center において外部 ID プロバイダーの Microsoft Entra ID を選択し SAML 認証がどのように機能するかまとめ
## ■構築手順の概要 (※1)
1. Microsoft Entra ID で AWS IAM Identity Center のエンタープライズアプリケーション、ユーザーを作成
2. IAM Identity Cente で許可セットや 1. で作成したユーザーに対応するユーザーを作成、許可セットをユーザーへ割り当て
3. Microsoft Entra ID の AWS IAM Identity Center エンタープライズアプリケーションと IAM アイデンティティセンターの外部 IdP 設定を使用して SAML 接続を設定
4. SCIM v2.0 プロトコルを使用して Microsoft Entra ID から IAM アイデンティティセンターへのユーザー情報の自動プロビジョニング (同期) を設定 ※3
:::note warn
重要 : ユーザー作成時、プロパティで [名]、[姓] に適当な値を
ソーラーパネル稼働状況取得(AWS shellcloud上でのpython実行)
前回、時前ラズパイで、ソーラーパネルの稼働状況をPythonで取得することができました。
# 自前ラズパイでの動作
自前ラズパイでの動作は、上手く言っていました。けど、サーバーレスで実行したいため、色々試行錯誤しています。# GAS上での動作
GASでは、上手くCRFSを取得できず、断念しました。# 今回はAWSで行きます。
これなら、サーバーレスで実行できます。
自前のラズパイ上での実行でもいいのですが、技術的好奇心からAWSの扉を叩きます。
また、以前作成したPythonのプログラムも基本的に動きます。
まずは、shellcloud上で、作業環境を構築します。### スクレイピング用
$ pip install requests
$ pip install beautifulsoup4### GAS用
$ pip install gspread
$ pip install oauth2clientと以前作ったプログラムをコピペで作ります。
当時とは、HTMLの構成が変わったようで、ログインこそできるものの、
スクレイピングが
[AWS] MFAを登録するまで他のリソースに触れないようにするポリシーを作成する
## この記事について
AWSはセキュリティの観点から、MFA (Multi-Factor Authentication)を設定することを推奨しています。2024年の半ばからルートユーザーはMFAが義務化されますが、個人的にはIAMユーザーについても出来るだけ設定するようにしたいです。この記事では、IAMユーザーに、MFAの登録を義務付ける方法を書きます。
## やりたいこと
MFAを登録するまでは、全リソースを触れなくしたいです。これには下記の2つの方法があります。
– ポリシーだけで設定する
[こちら](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/reference_policies_examples_iam_mfa-selfmanage.html)に公式のポリシー設定のサンプルがあります
– IAM Identity Centerでサインイン時に強制する
[こちら](https://docs.aws.amazon.com/ja_jp/singlesignon/latest/userguide/how-to-c
【ElastiCache】キャッシュ戦略について
# 概要
AWSが提供する代表的なキャッシュサービスである、ElastiCache。
効率的に使用するためのキャッシュ戦略について勉強したのでまとめてみます。# ElastiCacheの概要・特徴
– フルマネージド型のインメモリデータサービス、インメモリキャッシュを提供するサービス
– アプリケーションのパフォーマンスが向上させ、マイクロ秒単位の応答時間を実現
– 自動スケーリング機能を提供し負荷の変号に対しても柔軟に対応できる。また、データの暗号化アクセスコントロールなどのセキュリティ機能も豊富https://aws.amazon.com/jp/elasticache/features/
# キャッシュ戦略について
ElastiCacheを効率的に使用するための主な戦略として、以下の3つの方法が考えられる。
– 遅延読み込み
– 書き込みスルー
– TTLの追加# 遅延読み込み
### 遅延読み込みの概要
必要な時にのみキャッシュにデータをロードするキャッシュ戦略。
例として、ElasticCacheがアプリケーションとデータベースの間にある場合を考える。– アプ
AWS 環境を超えてサブドメインを登録する
## 概要
AWSの環境をまたいでサブドメインを登録する方法をメモ的にまとめる。
## 前提
今回の説明の前提を簡単にまとめる。
– AのAWS環境のRoute53で`miriwo.work`というドメインがホストゾーン登録されているものとする
– BのAWS環境のRoute53で`www.miriwo.work`というサブドメインを使いたいとする![work__Visual_Workspace_for_Innovation.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/41fc26bc-f8a1-b595-15e7-b10c6d07cce6.png)
## 方法
1. BのAWS環境にて`www.miriwo.work`のホストゾーンを登録する
1. `www.miriwo.work`のホストゾーンを登録するとNSレコードが含まれ、4個のネームサーバーの値が設定されるのでメモする
1. AのAWS環境にて`miriwo.work`のホストゾーンに下記の設定でレコードを作
AmazonLinux2023にJenkinsをインストールする
# 概要
これのAmazonLinux2023版です。https://qiita.com/tamorieeeen/items/15d90adeebbf8b408c78
AmazonLinux2→AmazonLinux2023に乗り換えるにあたってローカルにAmazonLinux2023(以下AL2023)を立てて検証中なのでEC2で立てたとき用にメモ。
# 環境
– Windows 11 Pro
– VirtualBox 7.0.12
– Amazon Linux 2023
– Operating System: Amazon Linux 2023.4.20240319
– Kernel: Linux 6.1.79-99.167.amzn2023.x86_64# 構築手順
## 1. JDKをインストールする
AL2023にはデフォルトでJavaは入っていないのでまずはJDKを入れます。https://qiita.com/tamorieeeen/items/13c7f8ea7c38a0146325
## 2. Jenkinsのリポジトリを追加
searchし