- 1. 「AWS Certificate Manager (ACM)」で発行した「パブリック証明書」を「お名前.com」でDNS検証する方法
- 2. 静的ウェブサイトをコードで一発デプロイ!AWS CDK を使って CI/CD パイプラインを構築する
- 3. 技術記事目次
- 4. CloudFormationを使ってAmplifyとCloudFrontを構築してNext.jsのアプリケーションを自動デプロイしよう!
- 5. QuickSightでフロアマップ上にバブル表記を行う方法
- 6. 【令和最新版】Cloud9にChromeとSelenium入れてスクレイピング環境構築
- 7. サーバーダウン調査報告書(2024/02/19)
- 8. トレーシングを原因調査の為だけに使うなんて、勿体ない!
- 9. AWS CLIとSSOでIAM Roleを切り替える設定手順
- 10. AWS SOA-C02合格体験記
- 11. API超入門!最速で使えるAPIを実装する
- 12. 【個人開発】ラーメン待ち時間シェアアプリ「ちゃくどん」を作ってみました【Rails, Hotwire, AWS, Docker, GitHubActions】
- 13. 【AWS】invalid JSON formatエラーの解決方法。imagedefinitions.jsonとimageDetail.jsonの違いとは
- 14. AWS SDK for Swiftを使って新しくフォルダ(のようなもの)を作り、その直下の階層にファイルをアップロードする
- 15. 【AWS】PrivateLinkにまつわるエトセトラ
- 16. CloudWatchAgentをインストールしてサーバーの監視を行う②(EC2への権限追加・SSMによるEC2への接続)
- 17. CloudWatchAgentをインストールしてサーバーの監視を行う①(VPCエンドポイント作成)
- 18. DynamoDBのTTL機能を試しました
- 19. 社内でAWSのモブコスト分析会を実施した〜AWSコスト削減 天下一武道会 観戦〜
- 20. AWS上のUbuntu 22.04でchronyの設定をする
「AWS Certificate Manager (ACM)」で発行した「パブリック証明書」を「お名前.com」でDNS検証する方法
# はじめに
既に「お名前.com」で契約済みのドメインに「AWS Certificate Manager (ACM)」で発行した「パブリック証明書」をDNS検証で紐付ける手順を説明します。# 「AWS Certificate Manager (ACM)」にて「パブリック証明書」を発行する手順
1. AWSコンソール画面のサービスメニュー(または検索ボックス)より「Certificate Manager」を選択します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3579417/93acfe49-3491-f51f-4cbb-ab1c38b876ca.png)1. 「AWS Certificate Manager (ACM)」画面の左メニュー「証明書をリクエスト」をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3579417/d4517506-fcce-186c-e
静的ウェブサイトをコードで一発デプロイ!AWS CDK を使って CI/CD パイプラインを構築する
# 要約
この記事を参照することで、以下のインフラストラクチャを AWS CDK のコードとして管理できます。
– S3 + CloudFront による静的ウェブサイトの配信
– Code シリーズによる CI/CD パイプライン
– ACM による証明書の管理
– Route53 による登録済みドメインとの紐付け# 静的ウェブサイトをデプロイするには
[このサイト](http://blog.usaneko-xlarge.com/madeit/howtodeploythissite.html)は AWS CDK でデプロイされており、 CodePipeline と GitHub の統合により、私の管理するプライベートリポジトリにコードがプッシュされると自動的にビルドが行われ、 S3 に静的ファイルが配置されることによって更新されます。
また、 CloudFront による配信や、Route53 による登録済みドメインとの紐づけも CDK によって行っています。
以下、このサイトを作成する手順について書いていきます。## 概要・アーキテクチャ図
### インフラ部分
以下のよう
技術記事目次
# パブリッククラウド関連
## AWS
### VPC・サブネット・踏み台サーバー作成
①[VPC・サブネット作成](https://qiita.com/tonkatsu_oishi/items/ee5d7f64a43ba7deb671)
②[踏み台Linuxサーバー構築](https://qiita.com/tonkatsu_oishi/items/aabddfa6b54f1a29d4af)
③[踏み台経由のSSH接続](https://qiita.com/tonkatsu_oishi/items/9ffdd560624f25dc7fa9)
④[Windowsnの踏み台サーバー作成](https://qiita.com/tonkatsu_oishi/items/80d86fa0145e37896147)
⑤[プライベートサブネット上のLinuxサーバーをWEBサーバー化しWindowサーバーから接続確認をする](https://qiita.com/tonkatsu_oishi/items/27bec9679b247a035757)### CloudWatchによる監視設定
①[
CloudFormationを使ってAmplifyとCloudFrontを構築してNext.jsのアプリケーションを自動デプロイしよう!
## 概要
CloudFormationを使ってAmplifyを構築する方法について解説します## 前提
– Next.jsのアプリケーションを作成済み
– Route53にドメインを設定済み## ディレクトリ構成
“`
tree
・
├── application # Next.jsのアプリケーションの格納先
└── templates
└── network
├── amplify.yml
└── cloudfront.yml
“`## 実装
– amplify.yml
– cloudfront.ymlを順番に実装します
また、今回はCloudFrontについて詳しく説明しないので詳細に知りたい方は以下の記事を参考にしてくださいhttps://qiita.com/shun198/items/312031d80455418d1e8d
https://qiita.com/shun198/items/c1da8451e80e6526025d
“`amplify.yml
AWSTemplateFormatVersion:
QuickSightでフロアマップ上にバブル表記を行う方法
フロアマップ上にバブル表記で売上などを可視化する方法をご紹介します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3694674/8e15382a-2de2-e811-b6d2-6df110acbb1b.png)
専用のビジュアルは存在しないため、フリーフォームを使用し画像の上に散布図を配置する方法で実装したいと思います。
※地図上に表示する場合は「地図上のポイント」というビジュアルを使うことで可視化することができます。## フロアマップの準備
フロアマップを画像形式で作成し、publicアクセス可能な場所へ配置します。
※QuickSightで画像を埋め込む場合、カスタムビジュアルコンテンツを使用する必要がありますが、publicアクセス可能なURLしか指定することができません。## データセットの準備
今回はサンプルとして下記のCSVを作成し、QuickSightへアップロードします。
“`csv
店舗名,座標X,座標Y,売上
店舗A,0,19,20
店舗B,0,12,4
【令和最新版】Cloud9にChromeとSelenium入れてスクレイピング環境構築
# はじめに
Cloud9にChromeとSeleniumを入れようと思ったときに、検索して出てくる記事が結構古かったりしたので今試した内容を記載します。# 注意
– AWSアカウントの作成とかは省略します
– 仮想環境化はしません
– Webdriver Managerはあえて使用しません# 手順
## Cloud9構築
1. Cloud9のコンソール→「環境を作成」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/177673/d99d43da-8bf5-2583-9eb9-e6156bf0d044.png)
1. 名前を入れ、他はデフォルトで「作成」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/177673/35c454d3-5d4f-5086-b87b-c2932b442192.png)
![image.png](https://qiita-image-store.s3.a
サーバーダウン調査報告書(2024/02/19)
# サーバーダウン調査報告書
## 目次
1. 今回使う用語
2. 前提
3. 原因
4. 何故サーバーが落ちた?
5. 再発防止策**今回使う用語**
– Fargate
– サーバーレスで、dockerコンテナを簡単かつ効率的にデプロイして、管理できるもの
– タスク
– dockerコンテナを実行するための単位
(laravelコンテナとnginxコンテナで1タスクみたいな感じ)
– タスク定義
– タスクを起動するための定義書
(CPUとかメモリとかdockerイメージ、アプリ内で使う環境変数とか)
– ECR
– dockerイメージを管理するレジストリ
(dockeer hubと同じ)
– パラメータストア
– 環境変数とか機密情報を管理するAWSのサービス**前提**
– 環境変数は全てパラメータストアで管理
– 検証環境のソースコードと本番環境のソースコードが一致していない
– 検証環境と本番環境では参照している環境変数名が異なる
– 検証では`AA`を使ってるが本番では`BB`を使ってるみたいな感じそうなってしまってい
トレーシングを原因調査の為だけに使うなんて、勿体ない!
# TL;DR
– トレーシングはデバッグの際にも使える様に環境を整えるべき
– トレーシングはサービスを構成するプログラムの理解に効果的に使える# はじめに
以前自分が体験した話ではありますが、業務範囲が大幅に増えた結果、
まったく知らない業務のソースコードだけを渡され、
読むのに大変苦労した経験があります。また、私は転職者であり、現職で既に実装済であるサービスについて、
その個々のプログラムの意味や繋がりを理解するのにも苦労しています。
細かい部分に関しては、未だに知らない部分もかなり多くある、と感じています。まだ理解が足りない、と思う事で感じる焦燥感は、実際に感じる部分がありますし、
逆に受け入れる側としては、物足りなさを感じている部分もきっとあると思います。::: note
自分は早くチームの一員になれる様にコードを読むし、
受け入れる側は早くそうなってもらいたいと期待するが、
そこに時間が掛かるとお互いに物足りなさを感じてしまいますよね。
:::まずは、そんな実体験の話をベースに、
この様な問題をどうやって解決出来るか、を提案させて頂きたいと思います。
AWS CLIとSSOでIAM Roleを切り替える設定手順
## はじめに
AWS CLIとAWS SSOを組み合わせて使用する際に、IAM Roleを切り替えて利用するケースがあります。
ここでは、その設定方法を備忘録として記載します。この記事を読む前提条件として、AWS CLI v2が既にインストールされていることを前提とします。
## 1. SSOでログインする
まず、以下のコマンドを使用してSSOでログインします。
“`
aws configure sso
“`ログイン成功後、`~/.aws/config`に以下のような設定が生成されます。
“`
[profile profile1]
sso_start_url = https://my-sso-portal.awsapps.com/start/
sso_region = us-east-1
sso_account_id = 123456789012
sso_role_name = readOnly
region = ap-northeast-1
output = json
“`## 2. スイッチしたいロールを登録する
次に、使用したいロールにスイッチす
AWS SOA-C02合格体験記
AWS SOA-C02に合格したので、アウトプットとして合格体験記を書きました。
これから受験される方のお役に立てればと思います。# 筆者について
– エンジニア3年目
– AWSを触り始めて1年半くらい
– AWS資格はSAA・DVA・SAPを取得済み# 使用した教材
– [AWS Certified SysOps Administrator – Associate 公式練習問題集](https://explore.skillbuilder.aws/learn/course/external/view/elearning/12555/aws-certified-sysops-administrator-associate-practice-question-set-soa-c02-japanese?syops=sec&sec=prep)(無料)
– AWS公式の20問の練習問題
– Udemyの「[【SOA-C02】AWS Certified SysOps Administrator – Associate 模擬試験](https://www.udemy.com/co
API超入門!最速で使えるAPIを実装する
# はじめに
こんにちは、ユーゴです。
最近、趣味でクラウドプラットフォームを遊んでいます。AWS, GCP, Azureなど色々と試しており、「こんなことができるのか、すげ〜」という感じです。
今回は、AWSを使用して、「とにかくAPIを自作してみたい!」という方に実装方法を紹介します。# 結論
1. 「**Lambda**」でバックエンドを作成
2. 「**API Gateway**」でエンドポイントを作成
これだけで、APIを実装できます。しかも、今回はGUI操作で完結します。# 対象読者
・**サーバーなんもワカランの人**
→ 今回は、サーバーレスで実装できます。AWS偉大。GASのデプロイと似たような感じです(GASでもAPIは作れるけど、APIのためのデプロイという感じではないので、APIを体系的に学習できない)・**APIはちょっと分かるの人**
→ 「Slack API 叩いてみたことはある」という感じで、なんとなくAPIがどういうものか分かっていれば十分です# 0. AWSアカウントを作成
今回は、APIを作成するために、AWSを使用して構築していき
【個人開発】ラーメン待ち時間シェアアプリ「ちゃくどん」を作ってみました【Rails, Hotwire, AWS, Docker, GitHubActions】
## はじめに
「[ちゃくどん](https://tyakudon.com)」というWebアプリをリリースしましたので紹介させてください!
私は非エンジニアで子供が3人いることもあり、制作期間10ヶ月とコツコツ開発してきました。制作アプリの解説に加えて、開発・運用していく過程においての学びや、失敗談についてもシェアできたらと思います。## ちゃくどんとは?
ざっくり説明すると、ラーメン店に並びはじめる「接続」から、ラーメンが提供される「着丼」までの待ち時間である「ちゃくどんレコード」を共有するアプリです。
|ちゃくどんレコードの計測・登録|ちゃくどんレコードの閲覧|
|:-:|:-:|
|![measure.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1754248/e6027e72-7c8a-5a88-594b-ad38306e4497.gif)|![レコード閲覧.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.co
【AWS】invalid JSON formatエラーの解決方法。imagedefinitions.jsonとimageDetail.jsonの違いとは
# 概要
`buildspec.yaml`の記述の仕方が問題でAWS CodeDeployにて以下のエラーになりました。
“`
最新のアクション実行メッセージ
The image definition file imagedefinitions.json contains invalid JSON format
“`![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2710373/5361e538-fa2c-5ccb-2fa4-3fcb78781f7d.png)
上記エラーを解決できたので紹介します。
## BEFORE
“`buildspec.yaml
## 略
post_build:
commands:
– echo Build completed on `date`
– echo Pushing the Docker image…
– docker push $AWS_ACCOUNT_ID.dkr.ecr.$AW
AWS SDK for Swiftを使って新しくフォルダ(のようなもの)を作り、その直下の階層にファイルをアップロードする
# 概要
AWS SDK for Swiftを使ってS3上に新規フォルダを作ろうとしたときにS3の概念をよく知らずにフォルダを作成しようとしていたため、ハマりかけました。
概念を踏まえて思いついて方法を試したら無事作れたので記事として残しておきます。なお、以下の項目についてはこの記事では触れません。
– プロジェクトに[SDK](https://github.com/awslabs/aws-sdk-swift)を追加する手順
– S3 Bucketの作成方法
– AWSのCredentialsの作成方法# 詳細
[Add folder in Amazon s3 bucket](https://stackoverflow.com/questions/6791257/add-folder-in-amazon-s3-bucket)
こちらのStackoverflowの回答に
>There are no folders in Amazon S3. It just that most of the S3 browser tools available show part of the
【AWS】PrivateLinkにまつわるエトセトラ
## はじめに
みなさん、AWS PrivateLinkは利用していますか?
私は業務で利用しているのですが、簡単に設定出来すぎてあまり深く理解していなかったのでこのタイミングでPrivateLinkの気になることを調べてみました。私の中にあった疑問を順番に調べていくという形式で、PrivateLinkの理解を深めていこうと思います。
想定読者は
– AWS PrivateLinkをチョット使ったことある
– AWS PrivateLinkをこれから使おうと思っている方々になります。では早速。
## PrivateLinkってVPCエンドポイントのことだっけ?
ちょっと違います。PrivateLinkはインターフェースVPCエンドポイントと同義だとよく思い込まれがちですが、実際には以下の2つをセットで「AWS PrivateLink」となります。
– インターフェースVPCエンドポイント(サービス利用側のVPC内で作成)
– VPCエンドポイントサービス(サービス提供側のVPC内で作成)![image.png](https://qiita-image-stor
CloudWatchAgentをインストールしてサーバーの監視を行う②(EC2への権限追加・SSMによるEC2への接続)
前回の記事にてCloudWatchAgentで使用するVPCエンドポイントの作成を行いました。
今回は、IAMロールを作成し、EC2に対してIAMロールをアタッチします。
EC2にIAMロールをアタッチ後、SSMにてEC2に接続できることを確認します。## 作業の流れ
[1.VPCへCloudWatchAgentに必要なVPCエンドポイントを作成する](https://qiita.com/tonkatsu_oishi/items/7c39f81fd4e3e2fbe91e)
[2.EC2を構築し、IAMロールをアタッチする(CloudWatchAgentとSSM権限の付与)](https://qiita.com/tonkatsu_oishi/items/1851eddb094a45f189be)←いまここ
[3.EC2に対してCloudWatchAgentをインストールする](https://qiita.com/tonkatsu_oishi/items/114ab3342bcd7ec48afe)
4.CloudWatchAgentのconfigファイルを設定し、CPU・メモリ・プロセ
CloudWatchAgentをインストールしてサーバーの監視を行う①(VPCエンドポイント作成)
案件でよくCloudWatchAgentの監視設定を行うため、Qiitaに手順をまとめておこうと思います。
下記の流れでCloudWatchAgentのインストール・監視設定を行っていきます。## 作業の流れ
[1.VPCへCloudWatchAgentに必要なVPCエンドポイントを作成する](https://qiita.com/tonkatsu_oishi/items/7c39f81fd4e3e2fbe91e)←いまここ
[2.EC2を構築し、IAMロールをアタッチする(CloudWatchAgentとSSM権限の付与)](https://qiita.com/tonkatsu_oishi/items/1851eddb094a45f189be)
[3.EC2に対してCloudWatchAgentをインストールする](https://qiita.com/tonkatsu_oishi/items/114ab3342bcd7ec48afe)
4.CloudWatchAgentのconfigファイルを設定し、CPU・メモリ・プロセスなどのメトリクスを取得する
5.SNSトピックの作成
6.
DynamoDBのTTL機能を試しました
# やりたいこと
DynamoDBのTTLの動作確認をしたい# やってみる!
まず、「2024-02-26 13:30:00」頃から作業スタート!テストテーブルを作成し、expiration項目を作り、画像のようにデータを入れる
expiration項目は、ただの項目名であり、自由に命名できるから、expirationじゃなくても大丈夫~
テーブル作成時に、デフォルトTTLがオフになってますが、後で「オン」に変更したいと思う
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3538617/9146fd6c-10e6-07d0-3090-8cac758f44c4.png)
expiration項目には、「有効期限」をUnixtime形式で格納し、後でTTLを「expiration項目」に紐づける
今回は試しに、「2024-02-26 14:00:00」を有効期限にする
データを永遠に残し続けたい場合、expiration項目には0を格納する
![image.png](
社内でAWSのモブコスト分析会を実施した〜AWSコスト削減 天下一武道会 観戦〜
# 社内でAWSのモブコスト分析会を実施した〜AWSコスト削減 天下一武道会 観戦〜
## 背景
[第1回 AWSコスト削減 天下一武道会](https://no1.connpass.com/event/305664/) でモブコスト分析というのが紹介されていたので、社内の月1開催のインフラ勉強会(※)の中で実施しました。
:::note info
※[ゆるやか成長スタートアップの小さなEnabling SRE的活動](https://qiita.com/myu_mx/items/8f9a56a464b3c409ac39)の記事で紹介しています
:::改めて開催に感謝するとともに、タイトルにネームバリューをもらいつつ敬意を払い観戦としました。(?)
該当スライド部分のリンク
来季にコスト削減を改めてやる必要はあり、ネタ出しにち
AWS上のUbuntu 22.04でchronyの設定をする
# 注意
小規模・個人利用のシステムにおける設定を記載しています。
中大規模システムの設定を予定している場合は別サイトも参考にしてください。# 設定
“`bash
systemctl status chrony
# -> chronyがインストールされていること、activeであることを確認
systemctl is-enabled chrony
# -> enabledであることを確認vi /etc/chrony/chrony.conf
# pool ~~の行をコメントアウトする
# コメントアウトしたpoolの下に「server 169.254.169.123 iburst minpoll 4 maxpoll 4」systemctl restart chrony
systemctl status chrony
# -> activeであることを確認chronyc sources | fgrep ‘^*’
# -> 169.254.169.123が表示されることを確認chronyc tracking
#Reference ID : 169.254.169